Pourquoi les applications ne comptent pas toujours les mêmes caractères et mots

Un même texte collé dans 2 formulaires peut donner des comptes différents. Avant de supprimer des mots pour respecter une limite, vérifiez ce qui est mesuré : caractères visibles, unités de stockage ou mots. Ce ne sont pas des mesures équivalentes.

Un caractère visible peut avoir plusieurs composants

Unicode peut représenter un caractère perçu par le lecteur avec une lettre et une marque combinante. Les groupes de graphèmes approchent ces unités visibles ; un décompte de points de code ou d’unités de stockage peut différer. Certaines suites d’émojis présentent le même type de distinction.

Références: Unicode Standard Annex #29 — Text Segmentation

Une espace ne définit pas universellement un mot

La segmentation des mots dépend de la langue et de la ponctuation. Certaines langues ne séparent pas les mots par des espaces comme l’anglais et peuvent nécessiter des règles ou dictionnaires supplémentaires. Découper aux espaces ne suffit pas comme définition universelle.

Références: Unicode Standard Annex #29 — Text Segmentation

Ne nettoyez que ce que vous voulez modifier

Supprimer des espaces superflues peut aider un paragraphe, mais détruire l’alignement d’un tableau ou du code. Retirer les diacritiques change des détails linguistiques ; ne le faites pas automatiquement sur une citation ou un nom à conserver exactement.

Le changement de casse concerne les écritures qui distinguent majuscules et minuscules. Ce n’est pas une correction de l’orthographe arabe. Travaillez sur une copie et comparez les lignes modifiées.

  • Pour respecter la limite d’une autre plateforme, son compteur reste la référence finale.
  • Distinguez les mots des caractères, avec et sans espaces.
  • Le nombre de mots ne donne pas un temps de lecture exact ; la difficulté et le lecteur comptent aussi.

Un petit exemple de comptes différents

Le é visible peut être stocké comme 1 point de code ou comme e suivi d’un accent aigu combinant. La seconde représentation contient 2 points de code malgré son apparence similaire.

L’arabe بَ comporte aussi une lettre et un signe vocalique. Compter les unités perçues par le lecteur n’est pas compter les unités stockées. Ne supprimez pas un signe uniquement pour faire coïncider les compteurs.

Autres outils utiles

Références