Outils pour utilisateurs

Outils du site


public:spec_characters

Gestion des caractères Unicode

Certains composants XML de Java ne gèrent nativement que le premier plan principal Unicode, un ticket rend compte de la situation : http://forge.cbp.ens-lyon.fr/redmine/issues/1313.

Plutôt que d'abandonner un texte contenant des caractères situés en dehors du premier plan, une première stratégie consiste à remplacer ces caractères par un caractère équivalent acceptable indiquant un problème non traité et à continuer le traitement.

Algorithme

  • ouvrir le flux XML
  • déterminer l'encodage des caractères
  • ré-ouvrir le flux en caractères avec l'encodage en question
  • pour chaque caractère situé hors du premier plan
    • déterminer la classe Unicode du caractère
    • remplacer le caractère par un caractère du premier plan de classe équivalente et montrant (par sa forme visuelle usuelle) qu'il y a un problème
  • ré-ouvrir le flux XML
  • faire le traitement XML

Caractères candidats

a⍉b

  • BP : problème de l'interprétation “ensemble vide” qui ne convient pas bien.

a⏀b

a⎅b A⎅B

a◫b A◫B

a☒b A☒B

  • BP : ajouter à la liste des candidats un petit carré blanc, comme une case non cochée ? Visuellement ce serait moins lourd que les autres carrés. Sinon dans la série qui suit, les carrés avec 4 mini-caractères sont assez parlants (et moins encombrants que ceux à 6 mini-caractères).
  • SH : c'est en général utilisé par les logiciels pour exprimer une impossibilité de dessiner un caractère (pas dans la police), et que je préférais utiliser un autre visuel pour éviter l’ambiguïté (voir un conflit : un carré affiché par un composant qui ne trouve pas un glyphe donné combiné simultanément - eg dans la même chaîne - à un carré affiché par nous parce que le caractère ne fait pas partie du premier plan Unicode) car les traitements ne sont pas les mêmes :
    • dans le cas d'un caractère non affichable le caractère est bien là de façon sous-jacente et traité
    • dans le cas d'un caractère non traitable le caractère n'est plus le même, il est changé par un caractère traitable mais n'ayant plus la même valeur

Il me semble que les carrés avec une info en plus permettent de faire le lien avec le comportement habituel des carrés vides.

a⮽b A⮽B

a🗷b A🗷B

a🗵b A🗵B

a⌧b A⌧B

a⧇b

a⌼b

a⛞b

a⦚b

public/spec_characters.txt · Dernière modification : 23/06/2017 14:36 de benedicte.pincemin@ens-lyon.fr