Normalisation unicode

Ce plugin permet de normaliser automatiquement les caractères unicode lors de la modification d’un champ, et éviter ainsi des problèmes d’affichage avec certaines polices.

Un peu de technique

La norme Unicode, qui a vocation de gérer l’ensemble des caractères produits par l’humanité, permet d’encoder certains caractères sous deux formes différentes :

  • forme composée : un caractère de base suivi de modifications. Par exemple le caractère é sera codé "caractère e (U+0065), suivi du caractère « accent aigu » (U+0301)" ;
  • forme unitaire : un seul caractère. Le caractère é est U+00E9.

Le type d’encodage adopté dépend souvent de la méthode de saisie. Par exemple, une personne avec un clavier francophone saisira directement U+00E9, alors qu’une personne avec un clavier anglophone placera souvent ses accents a posteriori et saisira U+0065U+0301.

Le problème est que certaines polices de caractères gèrent mal les caractères composites. Ainsi, en présence de la séquence U+0065U+0301, elle tenteront de mettre un accent au dessus d’un e, mais la place de l’accent pourra être graphiquement problématique, et ne pas correspondre à une vraie glyphe é.

La solution la plus sûr consiste à avoir le plus de fois possible la forme unitaire en appliquant une normalisation unicode NFC. Ce plugin permet d’automatiser cette normalisation.

Exemple de problème de présentation avec une é composite (Ubuntu webfont)
É correct (Ubuntu webfont)

Installation et utilisation du plugin

Pour s’installer, le plugin nécessite l’extension PHP intl, à demander le cas échéant à votre hébergeur, ou à installer vous même si vous avez le contrôle sur votre serveur.

Une fois installé, le plugin normalise automatiquement les caractères lors de l’enregistrement d’un champ. Vous n’avez donc rien à faire de plus.

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom