Bonjour,
Je reviens donner quelques nouvelles :-)
Pour écrire en arabe dans des widgets Perl/Tk, il faut lui passer des chaînes codées en cp1256.
On obtient ceci :
http://cjoint.com/?1dktkLwmDZ4
Ce qui me convient parfaitement.
Un seul souci, pour générer des chaînes cp1256, c'est un véritable calvaire, je fais une usine à gaz :
- Sous XP avec NotePad j'enregistre un fichier en 'unicode' qui contient le texte arabe.
- Je passe sous Linux, avec Kwrite paramétré en 'unicode' j'ouvre le fichier, je fais un Copier. J'ouvre un fichier vierge sous Kwrite paramétré en 'cp1256', je fais un Coller et j'enregistre.
- Je repasse sous XP pour faire tourner ma petite appli, qui lit parfaitement le fichier encodé en cp1256.
Voici le contenu d'un fichier codé en cp1256 :
1
ÃóáÏøóÑúÓõ ÇáÃóúæøóáõ
ßóÊóÈó
ßóÊóÈó ÇáúßóÇÊöÈõ
Et j'insiste, qui s'affiche parfaitement.
A partir de là, il me semblait qu'un decode encode devrait suffire.
J'ai donc fais ceci :
#use encoding 'cp1256';
use Encode qw(encode decode);
$IN_Fic = "tata.unicode";
$OUT_Fic = "tutu.cp1256";
unless (open (IN,"<".$IN_Fic)) {
$t->insert("end", "ERREUR : Impossible d'ouvrir $IN_Fic\n");
return;
}
unless (open (OUT,">".$OUT_Fic)) {
$t->insert("end", "ERREUR : Impossible d'ouvrir $OUT_Fic\n");
return;
}
while ($LigIN = <IN>) {
print "$LigIN\n";
print OUT decode 'unicode', encode 'cp1256', $LigIN;
# print OUT $LigIN;
}
close $IN_Fic;
close $OUT_Fic;
Et voici ce que j'obtiens :
??1
#ND/QN1R3O 'D#NRHQNDO
CN*N(N
CN*N(N 'DRCN'*P(O
J'ai bien sûr essayé moult encode/decode,
et toutes les combinaisons du pakage ArabTex :
http://search.cpan.org/dist/Encode-Arabic/lib/Encode/Arabic.pm
Exemple :
#while ($line = <>) { # renders the ArabTeX notation for Arabic both in the ..
#
# print encode 'utf8', decode 'arabtex', $line; # .. Arabic script proper and the
# print encode 'utf8', decode 'arabtex-zdmg', $line; # .. Latin phonetic transcription
# }
Voila, voila,
Si vous ne venez pas à mon secours, je continuerai mon usine à gaz.
Mais avouez qu'une petite moulinette encode/decode serait préférable !
http://cjoint.com/?1dktkLwmDZ4
Représente la petite appli qui consiste à "jouer" le cours Assimil, les phrases avec ou sans la prononciation, en faisant varier les temporisations, la taille des caractères arabes, répétition d'une plage de cours...
Pour des problèmes de droits, je ne peux pas mettre en ligne ces cours.
mais voici le code source de l'appli :
http://cjoint.com/?1dktRZ9N6cs
Ce n'est pas un modèle du genre, mais çà peut servir.
Je peux bien sûr donner toutes les explications pour le découpage du son et la création des fichiers en arabe...
:-)