Discussion:
Saisie clavier
(trop ancien pour répondre)
baloo
2005-10-18 13:36:49 UTC
Permalink
Bonjour;
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)

Merci pour vos idées.
Antoine Leca
2005-10-18 15:54:55 UTC
Permalink
Post by baloo
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
=> 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
baloo
2005-10-18 19:07:38 UTC
Permalink
Post by Antoine Leca
<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...
En effet; c'est d'une logique implacable.Et ma façon d'exposer le pb est
signe de débutant.
Post by Antoine Leca
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>
Oui bien sùr .
Post by Antoine Leca
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).
Cependant, le caractère ( ZWNJ) ne "trompe"-t-il pas le système en somme ?
Post by Antoine Leca
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...
D'accord. Mais pour le moment je me contente de Windows xp comme OS
Post by Antoine Leca
Si c'est plus compliqué que cela, merci de fournir un exemple détaillé (avec
les codes de caractères par exemple).
Très concrètement, la fonte que je développe n'est rien d'autre , par
défaut, qu'une fonte comme les autres , avec ses 'isol', 'init' , 'medi' et
'fina'
Sauf que je souhaite pouvoir inhiber ces 3 dernières formes "à la demande",
à l'aide d'une 'fonction' clavier (combinaison de touches par ex) pour
isoler les carctères arabes 'à la latine' !
Il est vrai que c'est une réforme de l'écriture arabe qui a été déjà
proposée sans succès .
La réticence des conservateurs arabes est surtout de nature rétrograde ! Ils
tiennent à leur script.
Comme si le script et par conséquent la calligraphie allaient disparaitre

Tout ça est un peu lyrique.
Il n'empêche que les pages Web , quel que soit la police arabe utilisée,
restent presque toutes difficilement lisibles.

J'ai déjà construit une fonte 'normale' , mais aussi expérimenté la même
fonte pour isoler les lettres en jouant du caractère U+200C
Je continue à la tripoter sous FontLab et Fontforge.
Je sais que j'aurai bien d'autres pb à résoudre.

Merci Antoine pour ton aide

Hicham
Vincent Ramos
2005-10-18 21:21:38 UTC
Permalink
Post by baloo
Cependant, le caractère ( ZWNJ) ne "trompe"-t-il pas le système en somme ?
Non, puisque son comportement normal est d'indiquer au moteur de rendu
qu'il ne doit pas lier avec la lettre qui suit. Ce n'est pas une
rustine : c'est officiel et défini ainsi dans la norme Unicode.
Antoine Leca
2005-10-19 13:49:37 UTC
Permalink
Post by baloo
Cependant, le caractère ( ZWNJ) ne "trompe"-t-il pas le système en somme ?
Au départ, oui. Mais comme beaucoup de gens avait besoin de tromper, on a
normalisé la tromperie, et elle est devenue partie intégrante et officielle
de la norme.

:-)

La différence est mince, mais c'est toujours comme cela que s'élaborent les
normes (au sens large).
Post by baloo
Post by Antoine Leca
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...
D'accord. Mais pour le moment je me contente de Windows xp comme OS
Bien. Ici, avec mon clavier espagnol, je n'ai pas de problème pour entrer
les Ñ ou les · (dont tu te moques éperdument), mais par contre pour les
lettres arabes c'est un poil plus complexe...
Post by baloo
Très concrètement, la fonte que je développe n'est rien d'autre , par
défaut, qu'une fonte comme les autres , avec ses 'isol', 'init' ,
'medi' et 'fina'
Sauf que je souhaite pouvoir inhiber ces 3 dernières formes "à la
demande", à l'aide d'une 'fonction' clavier (combinaison de touches
par ex) pour isoler les carctères arabes 'à la latine' !
Aucun souci, utilise les antiliants.

Mais si tu veux seulement inhiber l'utilisation des ligatures cursives et
que c'est toi qui définis la fonte, le plus simple et de loin c'est de ne
pas incorporer dedans les formes cursives (et de mettre pour les formes de
compatibilité U+Fxxx les séquences correspondantes de formes 'isol') !


Antoine

Loading...