Nous n'étions plus habitués à progresser rapidement sur l'interface Acam Winter pour Linux. C'est pourtant ce à quoi nous avons eu droit aujourd'hui. Les touches "mortes" Tout d'abord, nous rencontrions des problèmes de clavier avec les "touches mortes" (dead keys) permettant de taper des lettres accentuées, qui n'étaient pas gérées par X11. Mais nous avons pu trouver, sur le site du consortium Unicode, un fichier texte contenant l'intégralité du jeu de caractères, avec, pour chaque code, son nom en clair. Nous avons pu écrire un programme jetable (en Perl), qui analyse ce texte, et reconstitue les caractères précomposés en fonction des deux touches entrées. Par exemple, si l'utilisateur entre le caractère "^", il sera traduit par le code 0302 CIRCUMFLEX ACCENT Ensuite, s'il entre un petit "e", il correspondra au code 0065 LATIN SMALL LETTER E Or, dans la même table unicode, on a un caractère 00EA LATIN SMALL LETTER E WITH CIRCUMFLEX Par analyse des noms des caractères, nous avons donc pu établir une table de correspondance complète entre les couples accent-lettre, et la lettre accentuée correspondante. Les Alt-codes Pour obtenir des caractères n'étant pas disponibles sur le clavier, sur Windows (et repris depuis sur d'autres systèmes), on peut appuyer sur Alt et entrer le code numérique du caractère. Nous avons géré cela, en permettant l'entrée numérique par Alt-code de tous les caractères Unicode. Par exemple, on pourra entrer Alt 234 pour obtenir un ê, ou Alt 0EA (le 0 de départ indiquant qu'il s'agit d'une entrée en hexadécimal) pour obtenir le même caractère. En effet, la plupart des tables Unicode sont fournies en hexadécimal, et il sera donc possible d'entrer directement des codes dans cette base. Harmony Assistant Acam Winter étant suffisamment fonctionnel, nous avons alors recompilé la version Linux d'Harmony Assistant avec cette bibliothèque. Après quelques ajustements d'options de compilation, nous avons obtenu ceci : L'application utilisant le nouveau système d'interface est donc quasi-fonctionnelle. Quelques détails restent à régler. Entre autres : 1- Les curseurs souris dessinés par nos soins. Les fonctions X11 pour gérer cela sont assez difficiles à maitriser. 2- Quelques touches clavier (Page up/Page Down, Suppr...) ne sont pas bien gérées 3- Le bouton droit de la souris et sa molette ne sont pas correctement pris en compte 4- Toute la partie impression est à reprendre en utilisant un export PostScript et CUPS. Mais tout cela attendra la semaine prochaine. Bon week-end à tous, et joyeuses Pâques ! |