fr.comp.normes.unicode
[Top] [All Lists]

Re: Saisie clavier

Subject: Re: Saisie clavier
From: "Antoine Leca"
Date: Tue, 18 Oct 2005 17:54:55 +0200
Newsgroups: fr.comp.normes.unicode
baloo wrote:
> Je developpe en ce moment une police (OpenType) de caractères arabes
> Unicode .
> Je peine à résoudre un problème (qui n'a peut-être rien à voir avec
> Unicode ?):
> => Est-il possible , moyennant  l'écriture d'un driver clavier idoine
> [avec MSKLC par ex] , de passer, avec une combinaison de touches,
> d'une partie à une autre de la MEME fonte ?
> En pratique : je voudrais pouvoir "tromper" le système pour qu'il
> applique OU non certaines fonctionnalités spécifiques à l'écriture
> arabe (init, medi, fina)

Voyons cela...

<COUPLET sententieux="un peu">
Tromper le système, en soi, ce n'est déjà pas une bonne idée. En gros, tu es
sûr d'être à la merci de la moindre évolution du dit système... Et
évidemment, un tel truc ne marchera que pour toi, impossible de l'utiliser
dasn un document destiné à quelqu'un d'autre, vu que les autres ont des
chances d'utiliser un autre système, qui peut-être ne sera pas trompé (ou
pas de la même façon).
</COUPLET>

Si ce que tu veux faire, c'est seulement forcer telle ou telle forme
(initiale, finale etc) alors que le contexte voudrait une autre forme, il
faut que tu insères les caractères de contrôle liant (ZWJ) ou antiliant
(ZWNJ) pour forcer ou ignorer la formation de ligature. C'est expliqué en
détail dans le bouquin Unicode, chapitre 14 en français
(http://hapax.qc.ca/pdf/Chapitre-14.pdf, p. 374 ss.) ou 15 en anglais
(http://www.unicode.org/versions/Unicode4.0.0/ch15.pdf, p. 389 ss.) Il n'est
pas besoin de tromper qui que ce soit pour faire cela (et c'est tant mieux).

Ensuite, la manière de rentrer ces caractères spéciaux au clavier, c'est un
détail que je laisse résoudre avec le fournisseur de ton système. En gros,
chaque système est différent à ce niveau, en particulier cela dépend des
pilotes de clavier nationaux...


Si c'est plus compliqué que cela, merci de fournir un exemple détaillé (avec
les codes de caractères par exemple).


Antoine


<Prev in Thread] Current Thread [Next in Thread>