1. #21
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    En passant par le code unicode, peut-être que ça fonctionne mieux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    use Tk;
     
    my $fenetre_principale = MainWindow->new( -title => 'Text' );
    my $widget_texte = $fenetre_principale->Text( )->pack( );
    $widget_texte->insert('end', "1 : Ligne 1 : exemple\n");
    $widget_texte->insert('end', "2 : Ligne 2 : exemple\n");
     
    $widget_texte->tagConfigure('gras',
    	-font => '{Traditional Arabic} 24 {bold}', 
      -justify => 'right',
    );
    $widget_texte->insert('end', "\x{FE94}\x{FEF4}\x{FE91}\x{FEAE}\x{FECC}\x{FEDF}\x{FE8D}\x{FE94}\x{FEE4}\x{FEE0}\x{FEDC}\x{FEDF}\x{FE8D}", 'gras');
    # affiche le tout
    print 'Tout : ',$widget_texte->get('1.0', 'end');  # affiche tout
     
    my $bouton_selection = $fenetre_principale->Button( 
      -text => 'affichez selection',
      -command => sub {
        print $widget_texte->getSelected,"\n";
      },  
    )->pack();
     
     
    MainLoop;

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  2. #22
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Oui là c'est parfait, la chaîne est correctement cadrée et n'est pas modifiée lorsqu'on clique dessus !

    Mais dans un scrolled, est-ce que ça fonctionne ?
    Car dans une Listbox c'est déjà correct en utf8...

  3. #23
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    J'ai répondu un peu vite.
    J'ai inclus la chaine dans un scrolled et c'est CORRECT !!!

    Bon reste à trouver l'éditeur qui permet de sauvegarder en unicode, ou faire une conversion...

    Déjà MERCI

  4. #24
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Faut plutôt chercher comment convertir l'arabe en unicode hexa

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  5. #25
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Effectivement

    j'ai fait un essai avec des chaines sauvegardées en unicode avec Notepad :

  6. #26
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Voici un autre code où j'essaye d'afficher le code source de la page de Debian arabe : http://www.debian.org/index.ar.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    use Tk;
    use utf8; 
    use Encode;
     
    use LWP::UserAgent;
    my $ua = LWP::UserAgent->new;
    my $req = HTTP::Request->new(POST => 'http://www.debian.org/index.ar.html');
    my $res = $ua->request($req);
    my $fenetre_principale = MainWindow->new( -title => 'Text - arabe' );
    my $widget_texte = $fenetre_principale->Scrolled('Text', 
      -scrollbars => 'se',
      -wrap => 'none',
    )->pack( qw/ -expand 1 -fill both / );
    $widget_texte->insert('end', "1 : Ligne 1 : exemple\n");
    $widget_texte->insert('end', "2 : Ligne 2 : exemple\n");
     
    $widget_texte->tagConfigure('gras',
    	-font => '{Traditional Arabic} 18 {bold}', 
      #-justify => 'right',
    );
     
    if ($res->is_success) {
      $widget_texte->insert('end', decode( 'utf-8', $res->content), 'gras');
    }
     
    MainLoop;
    Je ne comprends pas l'arabe mais je suis septique au rendu car le texte arabe ne semble pas correspondre à celui de la page. non ?

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  7. #27
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Citation Envoyé par dmganges Voir le message
    Effectivement

    j'ai fait un essai avec des chaines sauvegardées en unicode avec Notepad :

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  8. #28
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Non même pas comme disent les gamins !!!

    en plus quand on clique dans les chaînes elles sont désorganisées :
    Vois là où il y a le curseur clavier y a foutoir

  9. #29
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    ce qui est bizarre, c'est que nous n'avons pas le même affichage.
    Dans l'image à gauche, c'est chez toi, à droite chez moi. Moi le clic ne perturbe rien, mais l'arabe affiché me semble incorrect et toi c'est l'inverse.

    Je suis sous XP, je testerai ce soir sous Vista.
    Images attachées Images attachées  

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  10. #30
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Effectivement chez moi les phrases sont correctes mais si on clique dessus c'est pas bon.

    Chez toi vu que les caractères sont tous séparés, il n'y a pas désorganisation de la phrase.

    C'est un pot de pue !

    N'y passe pas la nuit !!!
    Encore une fois : seulement si tu as du temps et MERCI !!!

  11. #31
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Je viens de tester sous un Vista et l'affichage est correct. Et j'ai le comportement que tu décris au clic bouton.

    Voici un premier code qui bloque le clic, mais pas sur le code arabe, c'est presque drôle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    use Tk;
    use Tk::ROText;
    use utf8; 
    use Encode;
     
    use LWP::UserAgent;
    my $ua = LWP::UserAgent->new;
    my $req = HTTP::Request->new(POST => 'http://www.debian.org/index.ar.html');
    my $res = $ua->request($req);
    my $fenetre_principale = MainWindow->new( -title => 'Text - arabe' );
    my $widget_texte = $fenetre_principale->Scrolled('ROText', 
      -scrollbars => 'se',
      -wrap => 'none',
      -takefocus => 0,
      -relief => 'flat',
    )->pack( qw/ -expand 1 -fill both / );
    $widget_texte->insert('end', "1 : Ligne 1 : exemple\n");
    $widget_texte->insert('end', "2 : Ligne 2 : exemple\n");
     
    $widget_texte->tagConfigure('gras',
    	-font => '{Traditional Arabic} 18 {bold}', 
      #-justify => 'right',
    );
     
    if ($res->is_success) {
      $widget_texte->insert('end', decode( 'utf-8', $res->content), 'gras');
    }
    $widget_texte->bindtags(['all']);
    $widget_texte->configure( -state => 'disabled' );
     
    MainLoop;

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  12. #32
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut



    Pas presque, totalement drôle !
    Il vaut mieux en rire en effet, surtout ne te prend pas la tête...

    C'est pas très sympa de ma part, mais ça me rassure un peu, je commençais à douter du neurone qu'il me reste !

    sur les fichiers encodés unicode, dans l'interface SUPER, j'ai essayé '<:encoding(unicode)' '<:encoding(UTF-8)' '<:encoding(cp1256)'

    Histoire de rire à y être !
    Ben c'est à pleurer Kikif comme ils disent

  13. #33
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Salut !

    J'ai le pourquoi !
    Pour afficher des caractères complexes arabes, chinois... le scrolled à visiblement besoin de caractères codés sur 4 digits (au moins?) comme dans ta chaîne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$texte->insert('end', "\x{FE94}\x{FEF4}\x{FE91}\x{FEAE}\x{FECC}\x{FEDF}\x{FE8D}\x{FE94}\x{FEE4}\x{FEE0}\x{FEDC}\x{FEDF}\x{FE8D}", 'gras');
    Ceux que l'on a dans les fichiers se trouvent être codés sur 3 digits, ça suffit pour afficher mais pas pour être cohérent :
    Ce qu'on envoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte->insert('end', "\x{feff}\x{645}\x{64e}\x{627}\x{630}\x{64e}\x{627}\x{20}", 'gras');
    En ajoutant n'importe où un zéro dans chaque caractère, quitte à obtenir n'importe quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $texte->insert('end', "\x{feff}\x{6405}\x{640e}\x{6207}\x{6300}\x{640e}\x{6207}\x{20}", 'gras');
    Mais pour le coup on a du chinois insécable !
    Reste à trouver comment OBTENIR, puis CONVERTIR chaque caractère sur 4 digits... quitte à insérer dans le scrolled caractère par caractère...

    Brut de fonderie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    #!/usr/bin/perl
    #
    #	Nouv
    #
    use warnings;
    use strict;
    use utf8;
    use Encode;
    #use encoding 'utf8';
    use Tk;
     
    my ( $nom_fic, $t, $Ligne, $line, @lettre, @chars, $digit, $texte, $info ) = ();
     
    my $Wm = MainWindow->new;
    $nom_fic  = "./LLc_08/P_04.utf8";
     
    # Crée les widgets nécessaires
    my $cadre =$Wm->Frame->pack(
    	-side => 'top',
    	-fill => 'x');
     
    $cadre->Button(
    	-text => "Fin", -command => sub { exit; }
    )->pack(-side => 'right');
     
    $cadre->Button(
    	-text => "Charger", -command => \&lire_fic
    )->pack(-side => 'right', -anchor => 'e');
     
    $cadre->Label(
    	-textvariable =>\$info,
    	-relief => 'ridge'
    )->pack(-side => 'bottom', -fill => 'x');
     
    $texte = $Wm->Scrolled("Text"
    )->pack(-side => 'bottom', -fill => 'both', -expand => 1);
     
    $texte->tagConfigure('gras',
    	-font => "{Simplified Arabic} 16 {bold}", -justify => 'right',);
     
     
    MainLoop;
     
     
    # Lire
    sub lire_fic {
    	my	$info = "Chargement du fichier '$nom_fic";
    	#my 	$texte->delete("1.0", "end");
    	open FIC, '<:encoding(UTF-8)', $nom_fic or $t->insert('end', "ERREUR : Impossible d'ouvrir $nom_fic\n"), return;
    	#open FIC, '<:encoding(unicode)', $nom_fic or $t->insert('end', "ERREUR : Impossible d'ouvrir $nom_fic\n"), return;
     
    	while (<FIC>) {
    		$line = $_ ;
    		$texte->insert("end", $line ,'gras');
    		$texte->insert("end","\n");
     
    		@lettre = split(//, $line);
    		foreach (@lettre) {
    			$texte->insert("end", $_ ,'gras');
    			$digit = $_;
    			#print "$digit \n"; 
    			#printf '<%#x>' $digit;
    			printf ("%lx", $digit);
    		}
    		$texte->insert("end","\n");
     
    		$texte->insert('end', "\x{FE94}\x{FEF4}\x{FE91}\x{FEAE}\x{FECC}\x{FEDF}\x{FE8D}\x{FE94}\x{FEE4}\x{FEE0}\x{FEDC}\x{FEDF}\x{FE8D}", 'gras');
    		$texte->insert("end","\n", 'gras');
    		$texte->insert('end', "\x{feff}\x{645}\x{64e}\x{627}\x{630}\x{64e}\x{627}\x{20}", 'gras');
    		#$texte->insert("end","\n", 'gras');
    		$texte->insert("end","NB sur 3 digit SECCABLES !\n", 'gras');
    		$texte->insert("end","\n", 'gras');
    		$texte->insert('end', "\x{feff}\x{6405}\x{640e}\x{6207}\x{6300}\x{640e}\x{6207}\x{20}", 'gras');
    		$texte->insert("end","sur 4 digit INsécables !!! ", 'gras');
    		$texte->insert("end","\n");
    	}
    	close (FIC);
    }

  14. #34
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    SOUS XP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    use Tk;
    use Tk::ROText;
    use utf8; 
    use Encode;
     
    use LWP::UserAgent;
    my $ua = LWP::UserAgent->new;
    my $req = HTTP::Request->new(POST => 'http://www.debian.org/index.ar.html');
    my $res = $ua->request($req);
    my $fenetre_principale = MainWindow->new( -title => 'Text - arabe' );
    my $widget_texte = $fenetre_principale->Scrolled('ROText', 
      -scrollbars => 'se',
      -wrap => 'none',
      -takefocus => 0,
      -relief => 'flat',
    )->pack( qw/ -expand 1 -fill both / );
    $widget_texte->insert('end', "1 : Ligne 1 : exemple\n");
    $widget_texte->insert('end', "2 : Ligne 2 : exemple\n");
     
    $widget_texte->tagConfigure('gras',
    	-font => '{Traditional Arabic} 18 {bold}', 
      #-justify => 'right',
    );
     
    		$widget_texte->insert('end', "\x{FE94}\x{FEF4}\x{FE91}\x{FEAE}\x{FECC}\x{FEDF}\x{FE8D}\x{FE94}\x{FEE4}\x{FEE0}\x{FEDC}\x{FEDF}\x{FE8D}", 'gras');
    		$widget_texte->insert("end","\n", 'gras');
    		$widget_texte->insert('end', "\x{feff}\x{645}\x{64e}\x{627}\x{630}\x{64e}\x{627}\x{20}", 'gras');
    		$widget_texte->insert("end","NB sur 3 digit SECCABLES !\n", 'gras');
    		$widget_texte->insert("end","\n", 'gras');
    		$widget_texte->insert('end', "\x{feff}\x{6405}\x{640e}\x{6207}\x{6300}\x{640e}\x{6207}\x{20}", 'gras');
    		$widget_texte->insert("end","sur 4 digit INsécables !!! ", 'gras');
    		$widget_texte->insert("end","\n");
     
    if ($res->is_success) {
     # $widget_texte->insert('end', decode( 'utf-8', $res->content), 'gras');
    }
    $widget_texte->bindtags(['all']);
    $widget_texte->configure( -state => 'disabled' );
     
    MainLoop;
    Sous Windows 2008 R2


    Donc ton raisonnement avec les digits est OK. On avance, on avance !
    Images attachées Images attachées   

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  15. #35
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Bon abandonne ! en plus sous XP il écrit en caractères séparés et inverse la chaîne !!!

    SUPER VU la 2ème miniature !

  16. #36
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Citation Envoyé par dmganges Voir le message
    Bon abandonne ! en plus sous XP il écrit en caractères séparés et inverse la chaîne !!!
    Bah non, sous XP l'affichage est bon si on est en 4 digits. ton raisonnement de 4 digits par caractères est bon.

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  17. #37
    Membre Expert Avatar de dmganges
    Homme Profil pro
    Administrateur Unix / Oracle retraité
    Inscrit en
    septembre 2011
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur Unix / Oracle retraité
    Secteur : Service public

    Informations forums :
    Inscription : septembre 2011
    Messages : 1 150
    Points : 1 584
    Points
    1 584

    Par défaut

    Oui j'avais pas vu la 2ème miniature !

  18. #38
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Images attachées Images attachées  

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

  19. #39
    Rédactrice/Modératrice

    Avatar de stoyak
    Inscrit en
    juin 2005
    Messages
    405
    Détails du profil
    Informations forums :
    Inscription : juin 2005
    Messages : 405
    Points : 1 414
    Points
    1 414

    Par défaut

    Et voici le résultat sous Mac OS Lion !
    Images attachées Images attachées  
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

  20. #40
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    avril 2004
    Messages
    17 479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 17 479
    Points : 491 946
    Points
    491 946

    Par défaut

    Merci stoyak.

    Pouvez vous tester ce code chez vous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    #!/usr/bin/perl
    use strict;
    use warnings;
     
    use Tk;
    use Tk::ROText;
    use utf8; 
    use Encode;
     
    use LWP::UserAgent;
    my $ua = LWP::UserAgent->new;
    my $req = HTTP::Request->new(POST => 'http://www.debian.org/index.ar.html');
    my $res = $ua->request($req);
    my $fenetre_principale = MainWindow->new( -title => 'Text - arabe' );
    my $widget_texte = $fenetre_principale->Scrolled('ROText', 
      -scrollbars => 'se',
      -wrap => 'none',
      -takefocus => 0,
      -relief => 'flat',
    )->pack( qw/ -expand 1 -fill both / );
    $widget_texte->insert('end', "1 : Ligne 1 : exemple\n");
    $widget_texte->insert('end', "2 : Ligne 2 : exemple\n");
     
    $widget_texte->tagConfigure('gras', -font => '{Traditional Arabic} 18 {bold}', );
    $widget_texte->tagConfigure('big', -font => '{Traditional Arabic} 30 {bold}', -justify => 'center' );
     
    $widget_texte->insert('end', "\x{FE94}\x{FEF4}\x{FE91}\x{FEAE}\x{FECC}\x{FEDF}\x{FE8D}\x{FE94}\x{FEE4}\x{FEE0}\x{FEDC}\x{FEDF}\x{FE8D} sur 4 digit => OK\n", 'gras');
    $widget_texte->insert('end', "\x{feff}\x{645}\x{64e}\x{627}\x{630}\x{64e}\x{627}\x{20} sur 3 digit SECCABLES donc pourri\n", 'gras');
    $widget_texte->insert('end', "\x{feff}\x{6405}\x{640e}\x{6207}\x{6300}\x{640e}\x{6207}\x{20} sur 4 digit => OK\n\n", 'gras');
     
    my $smiley = "SMILEY : \x{263a}";
    $widget_texte->insert("end",$smiley, 'big');
     
    if ($res->is_success) {
     # $widget_texte->insert('end', decode( 'utf-8', $res->content), 'gras');
    }
    $widget_texte->bindtags(['all']);
    $widget_texte->configure( -state => 'disabled' );
     
    MainLoop;

    Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo