Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb de configuration avec scim

5 réponses
Avatar
Michel
Bonjour

Soit un PC sous Ubuntu 6.10 avec le JDK Sun provenant du dépôt Ubuntu
(sun-java5-jdk).

Tout marchait bien, et en particulier, la saisie de
caractères avec touche morte (âë) dans les applications java
fonctionnait.

Après installation de scim et anthy pour saisir du
japonais, la saisie du japonais et celle du français (touche morte
inclue) fonctionnent bien partout (console, OpenOffice, Firefox...), sauf
dans les applications java.

Dans toutes les application java, non seulement il n'est pas possible de
changer de mode (par Ctrl+espace), mais en plus, la touche morte n'est
plus prise en compte.

Dans mes recherches, je n'ai trouvé qu'un remède de sorcier pour ce
problème dans un forum du site de SCIM (modifier une variable
d'environnement), remède qui n'a pas marché chez moi (et j'aurais été
assez surpris que ça règle le problème, mais bon).

Tout se passe comme si les applications java (la JVM) n'étaient pas
"abonnées/connectées" au service de saisie par scim+anthy (la fenêtre
d'état de scim disparaît dès qu'une application java a le focus, et
réapparait quand une autre application prend le focus); et comme si elles
utilisaient maintenant un autre mode de saisie que le mode d'origine
(genre saisie anglais/US, qui ne connait pas la touche morte, et
qui serait utilisé comme mode de repli ?). Ce ne sont que des
conjectures, parce que je ne sais absolument pas comment se passent les
saisies au niveau du système, ni surtout à quel niveau la JVM vient se
greffer dessus.

Là, je suis sec. Qui aurait une piste ? Merci.

Michel

5 réponses

Avatar
TestMan
Bonjour

Soit un PC sous Ubuntu 6.10 avec le JDK Sun provenant du dépôt Ubuntu
(sun-java5-jdk).

Tout marchait bien, et en particulier, la saisie de
caractères avec touche morte (âë) dans les applications java
fonctionnait.

Après installation de scim et anthy pour saisir du
japonais, la saisie du japonais et celle du français (touche morte
inclue) fonctionnent bien partout (console, OpenOffice, Firefox...), sauf
dans les applications java.

Dans toutes les application java, non seulement il n'est pas possible de
changer de mode (par Ctrl+espace), mais en plus, la touche morte n'est
plus prise en compte.

Dans mes recherches, je n'ai trouvé qu'un remède de sorcier pour ce
problème dans un forum du site de SCIM (modifier une variable
d'environnement), remède qui n'a pas marché chez moi (et j'aurais été
assez surpris que ça règle le problème, mais bon).

Tout se passe comme si les applications java (la JVM) n'étaient pas
"abonnées/connectées" au service de saisie par scim+anthy (la fenêtre
d'état de scim disparaît dès qu'une application java a le focus, et
réapparait quand une autre application prend le focus); et comme si elles
utilisaient maintenant un autre mode de saisie que le mode d'origine
(genre saisie anglais/US, qui ne connait pas la touche morte, et
qui serait utilisé comme mode de repli ?). Ce ne sont que des
conjectures, parce que je ne sais absolument pas comment se passent les
saisies au niveau du système, ni surtout à quel niveau la JVM vient se
greffer dessus.

Là, je suis sec. Qui aurait une piste ? Merci.

Michel
Bonsoir,


Je ne connait pas SCIM, mais s'il envoit bien le codepoint correct à
l'OS (parametres à vérifier) et que l'OS le transmet bien à la VM (ce
dont on ne peut pas douter), et que tu disposes bien d'une police
unicode configurée gérant la plage utilisée (à vérifier) ... alors ça
devrait marcher.

Donnes des nouvelles en fonction de tes avancées ...

A+
TM

Avatar
Michel
Le Tue, 26 Dec 2006 18:06:22 +0100, TestMan a écrit :

Je ne connait pas SCIM, mais s'il envoit bien le codepoint correct à
l'OS (parametres à vérifier) et que l'OS le transmet bien à la VM (ce
dont on ne peut pas douter), et que tu disposes bien d'une police
unicode configurée gérant la plage utilisée (à vérifier) ... alors ça
devrait marcher.

Donnes des nouvelles en fonction de tes avancées ...


Bonsoir,

Malheureusement, pas grand chose de neuf.

Les applis Java utilisées marchent en Unicode (mode natif pour Ubuntu) et
elles fonctionnent correctement (à part la saisie). En particulier
l'affichage est correct, ce qui élimine les problèmes de police. Je peux
entrer dans les applis Java (JTextField ou JTextArea) les caractères que
je ne peux pas saisir directement (ê ou caractères japonais) en faisant
un copier/coller depuis une appli plus coopérative (gnome-terminal,
OpenOffice...), et ils sont correctement affichés/enregistrés/relus.

Ces applis ont déjà fonctionné complètement avec la
précédente version d'Ubuntu.

Dans ma configuration précédente :
- c'était la version précédente de Ubuntu
- le JDK venait du site de Sun, alors qu'il est maintenant disponible
directement dans les dépôts Ubuntu (donc à priori mieux intégré, mais
bon...)
- la méthode de saisie était UIM, alors que la nouvelle version
Ubuntu semble privilégier SCIM. Je ne suis pas arriver à faire
fonctionner UIM dans cette nouvelle configuration.

Je ne sais pas ce qu'est un codepoint, ni comment le vérifier.

J'imagine que les méthodes de saisie comme uim ou scim sont assez lourdes
: on tape en caractères romains des syllabes; ces syllabes sont
converties immédiatement en caractères hiraganas; sur demande, on
utilise ensuite un dictionnaire pour convertir le mot introduit en kanjis;
et quand valide ce mot, les caractères unicodes des hiraganas et des kanjis
sont pris en compte par l'appli.

J'ai remarqué une chose (qui n'a sans doute aucun rapport, mais au
cas où...) lorsque j'utilise une console (gnome-terminal) : quand on fait
un clic droit sur la fenêtre, on peut choisir la méthode de saisie.

Si je choisis "cedilla" qui semble la méthode par défaut, les touches
mortes sont bien traitées.

Si je choisis "scim", les touches mortes sont bien traitées, et je peux
en plus saisir correctement en japonais.

Si je choisis "méthode de saisie X", les touches mortes sont mal gérées
(par exemple, l'accent circonflexe est affiché seul avant la lettre).

La situation me donne l'impression que la JVM utilise une des méthodes de
saisie (X ou une autre) qui n'est pas scim, et je ne sais comment lui
indiquer d'en changer.

A+

Michel

Avatar
TestMan
Bonsoir,


Je ne connait pas SCIM, mais s'il envoit bien le codepoint correct à
l'OS (parametres à vérifier) et que l'OS le transmet bien à la VM (ce
dont on ne peut pas douter), et que tu disposes bien d'une police
unicode configurée gérant la plage utilisée (à vérifier) ... alors ça
devrait marcher.

Donnes des nouvelles en fonction de tes avancées ...


Bonsoir,

Malheureusement, pas grand chose de neuf.

Les applis Java utilisées marchent en Unicode (mode natif pour Ubuntu) et
elles fonctionnent correctement (à part la saisie). En particulier
l'affichage est correct, ce qui élimine les problèmes de police. Je peux
entrer dans les applis Java (JTextField ou JTextArea) les caractères que
je ne peux pas saisir directement (ê ou caractères japonais) en faisant
un copier/coller depuis une appli plus coopérative (gnome-terminal,
OpenOffice...), et ils sont correctement affichés/enregistrés/relus.

Ces applis ont déjà fonctionné complètement avec la
précédente version d'Ubuntu.

Dans ma configuration précédente :
- c'était la version précédente de Ubuntu
- le JDK venait du site de Sun, alors qu'il est maintenant disponible
directement dans les dépôts Ubuntu (donc à priori mieux intégré, mais
bon...)
- la méthode de saisie était UIM, alors que la nouvelle version
Ubuntu semble privilégier SCIM. Je ne suis pas arriver à faire
fonctionner UIM dans cette nouvelle configuration.



As-tu regardé si le cas été recensé par les developpeurs SCIM ?
(leur site reste HS de mon coté, je n'ai pas pû faire de petite verif ...)

En attendant essayes de mettre le tout dernier JDK 1.6 dessus "au cas
où" (si ce n'est pas déjà fait).

Je ne sais pas ce qu'est un codepoint, ni comment le vérifier.


Le codepoint c'est assimilable à l'index dans la table unicode du
"caractère" ... enfin, en gros, car pour le reste il faut penser aux
ligatures, paires de remplacements, ... bref, unicode c'est simple sauf
quand ça se complique ;-)

Un vieil article t'éclairera plus que moi :
http://weblogs.java.net/blog/joconner/archive/2004/04/unicode_40_supp.html

J'imagine que les méthodes de saisie comme uim ou scim sont assez lourdes
: on tape en caractères romains des syllabes; ces syllabes sont
converties immédiatement en caractères hiraganas; sur demande, on
utilise ensuite un dictionnaire pour convertir le mot introduit en kanjis;
et quand valide ce mot, les caractères unicodes des hiraganas et des kanjis
sont pris en compte par l'appli.

J'ai remarqué une chose (qui n'a sans doute aucun rapport, mais au
cas où...) lorsque j'utilise une console (gnome-terminal) : quand on fait
un clic droit sur la fenêtre, on peut choisir la méthode de saisie.

Si je choisis "cedilla" qui semble la méthode par défaut, les touches
mortes sont bien traitées.

Si je choisis "scim", les touches mortes sont bien traitées, et je peux
en plus saisir correctement en japonais.

Si je choisis "méthode de saisie X", les touches mortes sont mal gérées
(par exemple, l'accent circonflexe est affiché seul avant la lettre).

La situation me donne l'impression que la JVM utilise une des méthodes de
saisie (X ou une autre) qui n'est pas scim, et je ne sais comment lui
indiquer d'en changer.



Si la solution de saisie implémentée par SCIM est vraiment "compatible"
avec tous les logiciels (et ne nécessite pas de code spécifique), alors
ton problème ne peut être qu'une histoire de configuration. Sinon, il se
peut qu'il faille à SCIM un peu de "colle", et peut être y a-t-il
maintenant incomatibilité entre cete colle et la VM distribuée par
Ubuntu ... pure spéculation, et seul les developpeurs de SCIM pourront
t'aider, je le crain.

A++
TM


Avatar
Michel
Le Wed, 27 Dec 2006 17:22:25 +0100, TestMan a écrit :

En attendant essayes de mettre le tout dernier JDK 1.6 dessus "au cas
où" (si ce n'est pas déjà fait).


Bonsoir

La situation dépassait mon niveau de compétence, et j'avais assez
perdu de temps. J'ai abandonné et je suis revenu à la version Ubuntu qui
avait marché, avec la méthode de saisie UIM et avec le JDK de Sun, et au
final, cela fonctionne "suffisamment".

Les applis Java que je n'ai pas écrites comme Jedit permettent la saisie
du japonais, mais affichent des pavés -> Pb de fontes logiques.

Mais comme les applis que j'ai codées fonctionnent correctement (touches
mortes, et saisie/affichage du japonais), je me prendrai la tête le plus
tard possible avec les font.properties et la modification des fontes
logiques.

Merci pour vos conseils, et bonne fin d'année.

Michel

Avatar
Michel
Le Thu, 28 Dec 2006 16:29:13 +0100, Michel a écrit :

Les applis Java que je n'ai pas écrites comme Jedit permettent la saisie
du japonais, mais affichent des pavés -> Pb de fontes logiques.


Bonjour,

Juste pour dire que tout fonctionne sans avoir eu à se prendre la tête
grâce à une solution élégante, trouvée ici (URL à recoller) :
http://jira.jboss.com/jira/browse/JBINSTALL-131;jsessionid FFB0AC35D93A1C8F7C7A44E55CB4B1AB?page=history

Elle permet d'ajouter facilement une fonte qui sera utilisée par
défaut, sans avoir à toucher aux fichiers de configuration.

Cela permet de faire fonctionner les applets (Cf le post "Installation
fontes japonaises") et aussi les applis Java telles que NetBeans ou Jedit.

Bonne fin d'année

Michel