IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Perl Discussion :

affichage de l'arabe + perl tk


Sujet :

Interfaces Graphiques Perl

  1. #1
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 43
    Points
    43
    Par défaut affichage de l'arabe + perl tk
    bjr,

    Pourquoi l'affichage d'un texte arabe dans un Scrolled est illisible !!

    Mon code est :
    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
     
     
        #!/usr/bin/perl
        use warnings;
        use strict;
        use Tk;
        use utf8;
        use encoding 'utf8';
        use Encode;
     
     
        # Programme principal
        # Création de la fenêtre
        my $fenetre = new MainWindow(
                         -title      => "Premi\x{c3}\x{a8}re fen\x{c3}\x{aa}tre Tk",
     
                        );
        # Affichage d'un texte
        my $label_accueil = $fenetre->Label(
                            -text       => 'Affichage de larabe',
                            -background => 'white',
                           )->pack(qw/ -pady 5 /);
        my $widget_texte = $fenetre->Scrolled(
                              'Text',
                              -scrollbars => 'osoe',
                              -background => '#F3EFFF',
                             )->pack(qw/ -fill both -expand 1 -padx 5 -pady 10 /);
        $widget_texte->configure(-font => [-family => '{Simplified Arabic}']);
     
        my $bouton = $fenetre->Button(
                          -text    => 'Ouvrir un fichier',
                          -command => [ \&ouvrir_fichier, $fenetre, $widget_texte ],
                         )->pack(qw/ -pady 2 /);
        MainLoop;
        sub ouvrir_fichier {
         my ( $fenetre, $widget_text ) = @_;
         my $filetypes = [ [ 'Text Files', '.txt' ], [ 'All files', '*' ] ];
         my $fichier = $fenetre->getOpenFile(
                              -filetypes  => $filetypes,
     
                              -initialdir => ".",
                             );
         # Gestion des nom de fichiers encodés (avec accents)
         my $OS = lc($^O);
         if ( $OS eq 'mswin32' and defined $fichier ) {
           $fichier = encode( 'iso-8859-1', $fichier );
         }
         # Lecture du fichier et affichage dans le widget Texte
         open my $fh, '<:encoding(UTF-8)', $fichier or die "Impossible de lire le fichier $fichier\n";
         while ( <$fh> ) {
           s/^\x{ef}\x{bb}\x{bf}//;  #au cas ou une BOM
           $widget_texte->insert( 'end', $_ );
           # Rafraichir le widget
           $widget_texte->update();
           # Voir la dernière ligne
           #$widget_text->see('end');
         }
         close $fh;
        }
    Le resultat est :
    Images attachées Images attachées  

  2. #2
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Bonjour rimenis,
    Je réponds à ton MP sur le forum.

    D'abord, je n'avais pas répondu car le réponse était dans mon message précédent
    Bon je n'ai peut-être pas suffisamment détaillé !

    1 - Ton programme fonctionne, j'ai juste augmenté la taille des caractères pour l'image rimenis_0.jpg
    Vérifie ton fichier en entrée, je joins les miens .txt UTF8 NO BOM.

    2 - L'informatique ayant été inventé par des occidentaux pour des occidentaux, les alphabets complexes qui comportent notamment des caractères à échappement nul sont rarement pris en compte correctement, du moins avec les outils conçus avant l'an 2000 en gros !
    Des foutoirs similaires sont observables en Word 2000 (après je ne sais pas), Ultraedit version de 2013... à ce jour je n'ai trouvé que le bloc note de Windows qui ne se comporte pas trop mal... et encore c'est une galère pour faire un copier/coller ou pour positionner un point d'exclamation ou d'interrogation...

    Si tu dois diffuser ton application, Perl/Tk n'est pas la bonne solution, tu n'arriveras pas à afficher de l'arabe dans un scrolled text voir la longue discussion
    Pour de l'affichage uniquement on obtient de vrais bons résultats en HTML...
    Prospecte auprès d'informaticiens véritablement arabophones, qui pourront mieux que moi t'orienter vers des outils adaptés, s'il en existe...

    En résumé, en arabe dans un scrolled text :
    - Le texte s'il est cadré à droite, comme il se doit, il est décalé vers la gauche d'autant de caractères qu'il y à de diacritiques dans la phrase !
    Si tu affichais du texte SANS diacritique se phénomène serait résolu !

    - Cependant lorsqu'on clique avec la souris dans un scrolled text qui contient de l'arabe, avec ou sans diacritiques, le texte est complètement désorganisé et donc illisible.

    Perso j'ai développé un petit outil pour apprendre l'arabe, je ne le diffuse pas, je fais attention de ne pas cliquer sur le texte, je cadre au centre pour ne pas trop voir les décalages...

    Sur les images jointes tu pourras te faire une idée des dégâts !

    Bon courage !

  3. #3
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 43
    Points
    43
    Par défaut
    bonjour,

    Si tu affichais du texte SANS diacritique se phénomène serait résolu !
    comment ???

  4. #4
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    - Le texte s'il est cadré à droite, comme il se doit, il est décalé vers la gauche d'autant de caractères qu'il y à de diacritiques dans la phrase !
    Si tu affichais du texte SANS diacritique se phénomène serait résolu !

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut

  6. #6
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 43
    Points
    43
    Par défaut
    djibril , j sais ps pkoi tu ri !!!!

  7. #7
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 818
    Points : 499 183
    Points
    499 183
    Par défaut
    Il faut arrêter de prendre le mou rimenis. Le smiley est pour dmangage. De plus, ça fait plusieurs postes qu'il détaille pour t'expliquer et te donner une éventuelle solution si tu n'utilises pas de diacritique. Il ne peut pas être plus clair.

    Merci de lire ce qu'il écrit !

  8. #8
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 128
    Points : 43
    Points
    43
    Par défaut perl tk
    merci pour le conseil

  9. #9
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Bonjour rimenis,
    Je comprends ta déception, je suis passé par là...
    Mais j'ai trouvé tellement de possibilités dans Tk que ma crainte était de tomber sur d'autres impossibilités avec d'autres interfaces... et mes besoins perso étaient somme toute très petits.
    Probablement que la prise en compte correcte de l'arabe en Tk remettrait trop en cause l'existant... c'est une chose qui arrive en informatique.
    Je viens de passer 3 mois à développer une extension pour Firefox, en m'efforçant de prendre en compte tous les alphabets UTF-8... et là, début novembre avec l'arrivée de la 25.0 il me faudrait passer des jours, voire des semaines pour mettre mon module à niveau... J'ai choisi la solution de facilité, conserver une version 24.0... en attendant un repreneur... d'ailleurs si le cœur t'en dit...

    Si tu trouves une solution, merci d'avance de nous en faire profiter, c'est çà l'esprit forum.
    On y dépose ses problèmes, d'autres plein de bonne volonté font part de leurs expériences...
    Malgré mon ignorance en arabe et en TK, je me suis lancé... Il y a probablement des remarques et des solutions plus pertinentes...
    De temps en temps on y rigole même !
    Ce n'est pas moi qui m'en plaindrait !
    Un brin de bonne humeur, sur cette planète où la souffrance est sans limite, ne fait que mettre en lumière la force et la détermination de l'humanité.

Discussions similaires

  1. Affichage de l'arabe en Forms6i
    Par aissch dans le forum Forms
    Réponses: 3
    Dernier message: 22/03/2009, 14h15
  2. Réponses: 1
    Dernier message: 12/12/2007, 11h57
  3. [WD11]affichage de l'arabe
    Par judor31 dans le forum WinDev
    Réponses: 3
    Dernier message: 11/11/2007, 16h31
  4. Affichage de l'arabe avec PHP
    Par chikha dans le forum Langage
    Réponses: 10
    Dernier message: 23/07/2007, 16h12
  5. Affichage d'un tableau perl dans une page HTML
    Par Jim_Nastiq dans le forum Web
    Réponses: 7
    Dernier message: 13/04/2006, 12h27

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