Un "grapheme cluster" ? Merci UNICODE !

où l'on voit les caractères composés, les drapeaux nationaux et surtout les EMOJIs.

a marqué ce sujet comme résolu.

Tout le monde se secoue ! :D

J’ai commencé (mercredi 22 mai 2024 à 22h57) la rédaction d’un article au doux nom de « Un "grapheme cluster" ? Merci UNICODE ! » et j’ai pour objectif de proposer en validation un texte aux petits oignons. Je fais donc appel à votre bonté sans limites pour dénicher le moindre pépin, que ce soit à propos du fond ou de la forme. Vous pourrez consulter la bêta à votre guise à l’adresse suivante :

Merci !

+0 -0

Hello,

Globalement satisfait. Seul le "layout" m’a fait un peu tické (parce que ce sont plein de petites phrases, mais bon osef).

Dans les remarques:

  • Manque la définition d’UCS

  • L’écriture du français nécessite l’utilisation de d’accents et de la cédille. => + ligatures

  • De nombreux sites présentent des listes d’emijis ,

  • Le terme anglais est Zero-Width Joiner (ZDWJ) => Un D mais pas dans le titre de la sous-section

  • le langage ||Swift ||défini => définit

En outre:

Question débile, dans les langages où le sens d’écriture n’est pas de la gauche vers la droite. Qu’est-ce qui se passe ? Est-ce que les graphèmes sont construits de la même manière ?

Parler du crash d’Apple avec l’émoji corrompu ?

Hello,

Globalement satisfait. Seul le "layout" m’a fait un peu tické (parce que ce sont plein de petites phrases, mais bon osef).

Dans les remarques:

  • Manque la définition d’UCS

  • L’écriture du français nécessite l’utilisation de d’accents et de la cédille. => + ligatures

  • De nombreux sites présentent des listes d’emojis ,

  • Le terme anglais est Zero-Width Joiner (ZDWJ) => Un D mais pas dans le titre de la sous-section

  • le langage ||Swift ||défini => définit

En outre:

Question débile, dans les langages où le sens d’écriture n’est pas de la gauche vers la droite. Qu’est-ce qui se passe ? Est-ce que les graphèmes sont construits de la même manière ?

Parler du crash d’Apple avec l’émoji corrompu ?

Gawaboumga

Bonsoir,

Merci pour ta relecture attentive.

Je suis prêt à intégrer toute suggestion d’amélioration le cas échéant, c’est pour cela que j’ai fait une beta. Pour l’intro, j’ai voulu faire court.

J’ai intégré une définition de l’UCS, ainsi que la correction des typos "emoji", ZWJ et "défnit".
Concernant les ligatures en français, je ne connais que Œ/œ et Æ/æ qui ne sont pas des formes composées. Je vais signaler leur présence.

Pour les scripts droite->gauche, tu as des exemples en arabe sur la page https://fr.wikipedia.org/wiki/Liant_sans_chasse. Mais je ne sais pas te répondre précisément.
Il ya aussi des ligatures en hébreux qui ne donnent pas des caractères composés. En fait, j’ai l’impression que les diacritiques se placent à gauche du caractère impacté, quelque soit le script.

Je ne sais pas à quel crash tu fait référence. Je ne vais pas me lancer dans de l’Apple bashing, surtout que je pointe un défaut de leur langage Swift.

+1 -0

Salut,

Voici mes remarques au fil de la lecture :

  • Il faudrait définir « glyphe » et « graphème »
  • « Un en particulier, un emoji est souvent un groupe de graphèmes » est globalement faux, sauf pour les emojis représentant des personnes ou des drapeaux.
  • C’est « Unicode » et pas « UNICODE » (source : https://home.unicode.org/about-unicode/)
  • Je ne sais pas si c’est toujours le cas, mais pendant longtemps, MacOS utilisait systématiquement le codage sur 2 points de code pour tous les accents. Je te laisse imaginer le bazar quand tu as un fichier avec un nom contenant ce type de caractères partagé avec d’autres OS (par exemple dans Git).
  • « L’utilisation de caractères composés en coréen pose la question du critère de délitation des syllabes. En effet, il y a entre 2 et 4 composants pour les syllabes. » J’ai compris ça parce que j’ai les bases en coréen, mais sans plus d’explications je pense que c’est plutôt hermétique.
  • « Afghanistan » et pas « AFGHANISTAN »
  • Il faudrait donner un exemple visuel pour les drapeaux
  • « emoji » et pas « EMOJI »
  • Évite les acronymes dans les titres (exemple : « LSC / ZWJ »), surtout s’ils ne sont pas encore définis.
  • Avis très personnel : je monterais toute la liste des modificateurs dans l’autre sens : signification -> code au lieu de code -> signification comme aujourd’hui
  • U+2640 est mieux traduit en « signe féminin » que « signe femelle » (qui semble être une traduction littérale de l’anglais)
  • À quoi sert le « U+FE0F Sélecteur de variante-16 » ?!
  • La partie sur la difficulté de gérer tout ça dans les langages informatiques mériterait une section dédiée et plus claire.
  • Il manque une conclusion (qui devrait être un résumé de l’article).

Pour moi tu tiens un sujet intéressant, mais avec encore pas mal de travail pour clarifier et étoffer ton propos ; en particulier tu manipules beaucoup de notions peu définies.

Bonsoir,

Merci pour cet article/tutoriel.

Quelques remarques et questions, à chaud et en désordre:

Le titre du tuto n’est pas très évocateur. Perso ça m’a suffi pour avoir une petite idée de quoi tu allais parler, mais à mon avis ce n’est pas forcément évident pour tout le monde.

Tu utilises parfois des acronymes avant de les définir. P.ex. LSC/ZWJ.

Quelle est la différence entre grapheme, glyphe, symbole ? Voire compléter avec caractère et codet pour être complet.

Pourquoi le ZWJ est utilisé à certains endroits et pas dans d’autres ? Par exemple, il n’y en a pas avant le symbole qui définit la couleur de peau, mais il y en a entre la personne, son métier et son sexe. Comment sait-on dans quel cas on doit l’utiliser et dans cas non ? Pourquoi la règle a-t-elle été fixée ainsi ?

Est-ce que l’ordre est important ? Si j’écris "Adulte" + ZWJ + "Informaticien", e’st-ce que c’est la même chose que "Informaticien" + ZWJ + "Adulte" ?

Tu n’expliques pas vraiment pourquoi déterminer ce qui constitue un élément affichable unique/atomique est un problème / pourquoi c’est, semble-t-il, si compliqué. Ce qui est pourtant, d’après le titre, le point de départ de ton tuto.

Dans le cas où on a le choix, quelle est l’utilité/intérêt d’écrire une lettre accentuée sous sa forme décomposée "e" naturel puis "accent aigü" plutôt que dans sa forme composée habituelle "é" ? Pourquoi les deux existent ? Est-ce que la raison de la coexistance est seulement historique ?

Par extension, ça pourrait être intéressant de parler des différentes formes, parce qu’apparament il y en a 4, de ce que j’en comprends: NFC, NFD, NFKC, NFKD. Quelles sont les différences et lesquelles faut-il utiliser quand ?

Plutôt que quelques indications en vrac, pourquoi ne pas écrire un chapitre ou une section dédiée à la façon de gérer proprement unicode et les emojis dans différents langages, ou de mettre des liens vers des tutoriels qui en parlent déjà ? Ca fait un peu HS/bizarre de les mettre là où tu les as mises et d’en parler si rapidement, alors que ça peut vraiment valoir le coup de développer. Le sujet de la gestion des strings unicode et en particulier des emojis est plutôt mal connu en général. Certaines personnes peuvent certainement t’aider pour compléter dans des langages que tu connais mal. JE pense par exemple à Spacefox qui, si je me souviens bien, a déjà parlé de ce sujet en Java, dans son tutoriel sur l’internationalisation, ou peut-être ailleurs.

Petite appartée sur l’accessibilité: les lecteurs d’écran commencent à interpréter les emojis. Certains reconnaissent les séquences p.ex. "Poignée de mains, peau claire, peau foncée" ou "Informaticienne", tandis que d’autres les rendent toujours sous forme décomposée, p.ex. "Main vers la droite, peau claire, main vers la gauche, peau foncée" ou "Adulte, informaticien, symbole femelle".

Par contre les variantes décomposées des lettres accentuées n’ont pas l’air d’être reconnues, et ça peut donc être un grave problème d’accessibilité. Par exemple, pour le "é" décomposé, Jaws me lit "e" pui rien, en marquant une pause. Si cette séquence s’était trouvée au milieu d’un mot, le mot serait devenu inintelligible (p.ex. "général" serait devenu "je. ne. ral" ou pire, quelque chose du genre "je imprononçAble ne imprononçAble ral").

A noter que j’ai le même problème avec les césures virtuelle, ou en tout cas certaines formes (parce que je crois qu’il y en a plusieurs différentes). Ajoutées automatiquement par certains logiciels/CMS, elles rendent des sites/documents entiers complètement illisibles.

Merci pour tes réponses et éclaircissements.

+1 -0

Salut,

Voici mes remarques au fil de la lecture :

  • Il faudrait définir « glyphe » et « graphème »
  • « Un en particulier, un emoji est souvent un groupe de graphèmes » est globalement faux, sauf pour les emojis représentant des personnes ou des drapeaux.
  • C’est « Unicode » et pas « UNICODE » (source : https://home.unicode.org/about-unicode/)
  • Je ne sais pas si c’est toujours le cas, mais pendant longtemps, MacOS utilisait systématiquement le codage sur 2 points de code pour tous les accents. Je te laisse imaginer le bazar quand tu as un fichier avec un nom contenant ce type de caractères partagé avec d’autres OS (par exemple dans Git).
  • « L’utilisation de caractères composés en coréen pose la question du critère de délitation des syllabes. En effet, il y a entre 2 et 4 composants pour les syllabes. » J’ai compris ça parce que j’ai les bases en coréen, mais sans plus d’explications je pense que c’est plutôt hermétique.
  • « Afghanistan » et pas « AFGHANISTAN »
  • Il faudrait donner un exemple visuel pour les drapeaux
  • « emoji » et pas « EMOJI »
  • Évite les acronymes dans les titres (exemple : « LSC / ZWJ »), surtout s’ils ne sont pas encore définis.
  • Avis très personnel : je monterais toute la liste des modificateurs dans l’autre sens : signification -> code au lieu de code -> signification comme aujourd’hui
  • U+2640 est mieux traduit en « signe féminin » que « signe femelle » (qui semble être une traduction littérale de l’anglais)
  • À quoi sert le « U+FE0F Sélecteur de variante-16 » ?!
  • La partie sur la difficulté de gérer tout ça dans les langages informatiques mériterait une section dédiée et plus claire.
  • Il manque une conclusion (qui devrait être un résumé de l’article).

Pour moi tu tiens un sujet intéressant, mais avec encore pas mal de travail pour clarifier et étoffer ton propos ; en particulier tu manipules beaucoup de notions peu définies.

SpaceFox

Merci pour ta contribution. Je vais prendre en compte presque toutes tes remarques dans la prochaine révision.
Pour Avis très personnel : je monterais toute la liste des modificateurs dans l’autre sens : signification -> code au lieu de code -> signification comme aujourd’hui ma présentation a l’avantage de présenter les code justifiés à gauche.
Pour U+2640 est mieux traduit en « signe féminin » que « signe femelle » (qui semble être une traduction littérale de l’anglais) , j’ai utilisé le libellé de la version française de la norme ISO.
Pour Il manque une conclusion (qui devrait être un résumé de l’article) J’ai rédigé une conclusion qui décrit quelques difficultés d’implémentation.

Je prépare une nouvelle mouture :magicien:

+0 -0

Bonsoir,

Merci pour cet article/tutoriel.

Quelques remarques et questions, à chaud et en désordre:

Le titre du tuto n’est pas très évocateur. Perso ça m’a suffi pour avoir une petite idée de quoi tu allais parler, mais à mon avis ce n’est pas forcément évident pour tout le monde.

Tu utilises parfois des acronymes avant de les définir. P.ex. LSC/ZWJ.

Quelle est la différence entre grapheme, glyphe, symbole ? Voire compléter avec caractère et codet pour être complet.

Pourquoi le ZWJ est utilisé à certains endroits et pas dans d’autres ? Par exemple, il n’y en a pas avant le symbole qui définit la couleur de peau, mais il y en a entre la personne, son métier et son sexe. Comment sait-on dans quel cas on doit l’utiliser et dans cas non ? Pourquoi la règle a-t-elle été fixée ainsi ?

Est-ce que l’ordre est important ? Si j’écris "Adulte" + ZWJ + "Informaticien", e’st-ce que c’est la même chose que "Informaticien" + ZWJ + "Adulte" ?

Tu n’expliques pas vraiment pourquoi déterminer ce qui constitue un élément affichable unique/atomique est un problème / pourquoi c’est, semble-t-il, si compliqué. Ce qui est pourtant, d’après le titre, le point de départ de ton tuto.

Dans le cas où on a le choix, quelle est l’utilité/intérêt d’écrire une lettre accentuée sous sa forme décomposée "e" naturel puis "accent aigü" plutôt que dans sa forme composée habituelle "é" ? Pourquoi les deux existent ? Est-ce que la raison de la coexistance est seulement historique ?

Par extension, ça pourrait être intéressant de parler des différentes formes, parce qu’apparament il y en a 4, de ce que j’en comprends: NFC, NFD, NFKC, NFKD. Quelles sont les différences et lesquelles faut-il utiliser quand ?

Plutôt que quelques indications en vrac, pourquoi ne pas écrire un chapitre ou une section dédiée à la façon de gérer proprement unicode et les emojis dans différents langages, ou de mettre des liens vers des tutoriels qui en parlent déjà ? Ca fait un peu HS/bizarre de les mettre là où tu les as mises et d’en parler si rapidement, alors que ça peut vraiment valoir le coup de développer. Le sujet de la gestion des strings unicode et en particulier des emojis est plutôt mal connu en général. Certaines personnes peuvent certainement t’aider pour compléter dans des langages que tu connais mal. JE pense par exemple à Spacefox qui, si je me souviens bien, a déjà parlé de ce sujet en Java, dans son tutoriel sur l’internationalisation, ou peut-être ailleurs.

Petite appartée sur l’accessibilité: les lecteurs d’écran commencent à interpréter les emojis. Certains reconnaissent les séquences p.ex. "Poignée de mains, peau claire, peau foncée" ou "Informaticienne", tandis que d’autres les rendent toujours sous forme décomposée, p.ex. "Main vers la droite, peau claire, main vers la gauche, peau foncée" ou "Adulte, informaticien, symbole femelle".

Par contre les variantes décomposées des lettres accentuées n’ont pas l’air d’être reconnues, et ça peut donc être un grave problème d’accessibilité. Par exemple, pour le "é" décomposé, Jaws me lit "e" pui rien, en marquant une pause. Si cette séquence s’était trouvée au milieu d’un mot, le mot serait devenu inintelligible (p.ex. "général" serait devenu "je. ne. ral" ou pire, quelque chose du genre "je imprononçAble ne imprononçAble ral").

A noter que j’ai le même problème avec les césures virtuelle, ou en tout cas certaines formes (parce que je crois qu’il y en a plusieurs différentes). Ajoutées automatiquement par certains logiciels/CMS, elles rendent des sites/documents entiers complètement illisibles.

Merci pour tes réponses et éclaircissements.

QuentinC

Merci pour ta réaction

Concernant tes remarques sur ce que j’ai rédigé, je prépare une nouvelle mouture qui devrait être plus satisfaisante.
J’ai eu du mal à imaginer un titre qui ne soit pas trop long. N’hésite pas à en proposer un autre.
La norme Unicode veut préserver l’existant et garder une compatibilité avec les anciennes versions. C’est d’ailleurs un problème pour les drapeaux nationaux, car le norme ISO qui sert de cadre ne garantit pas la stabilité des codes pays qui sont décidés par l’ONU.
La conséquence de cette volonté de garantir la compatibilité avec les anciennes versions, c’est qu’on se retrouve avec un manque d’homogénéité.
Donc, Unicode va traîner indéfinie ment les formes composées, les usages farfelus et autres truc étranges.

Je ne peux pas te donner de meilleures réponse dans l’état actuel de mes connaissances.

+0 -0

La conséquence de cette volonté de garantir la compatibilité avec les anciennes versions, c’est qu’on se retrouve avec un manque d’homogénéité. Donc, Unicode va traîner indéfinie ment les formes composées, les usages farfelus et autres truc étranges.

Je ne peux pas te donner de meilleures réponse dans l’état actuel de mes connaissances.

Merci déjà pour cette réponse sur les formes décomposées. Pas sûr qu’il en existe vraiment une meilleure.

C’est bien ce que je pensais: en gros résumé, la raison est essentiellement historique, et ça n’a plus aucun intérêt aujourd’hui.

Donc c’est bien de savoir que ça existe, mais il ne faut plus utiliser.

Il reste mes autres questions, en particulier celle du pourquoi le ZWJ dans certains cas et pas dans d’autres, et celle à propos de l’ordre.

Une autre question que j’ai à propos d’unicode est, à quoi servent les caractères latins définis avec diverses polices / attributs ? Pour quel usage ils étaient prévus à la base ? Y a-t-il des endrois où on s’en sert légitimement (j’en ai encore jamais vu) ?

JE parle de ces caractères qui ont été détournés pour écrire du gras, de l’italique ou des faux titres sur les plate-formes où ils ne sont pas permis, et qui rendent aussi des articles totalement illisibles pour les lecteurs d’écran, par exemple sur LinkedIn.

Merci.

+0 -0

Il reste mes autres questions, en particulier celle du pourquoi le ZWJ dans certains cas et pas dans d’autres, et celle à propos de l’ordre.

Une autre question que j’ai à propos d’unicode est, à quoi servent les caractères latins définis avec diverses polices / attributs ? Pour quel usage ils étaient prévus à la base ? Y a-t-il des endrois où on s’en sert légitimement (j’en ai encore jamais vu) ?

JE parle de ces caractères qui ont été détournés pour écrire du gras, de l’italique ou des faux titres sur les plate-formes où ils ne sont pas permis, et qui rendent aussi des articles totalement illisibles pour les lecteurs d’écran, par exemple sur LinkedIn.

Merci.

QuentinC

Pour l’usage de ZWJ , pourquoi il en faut pour les chevelures mains pas pour les couleurs de peau, je pense que c’est assez arbitraire.

Je pense que tu parles des Mathematical Alphanumeric Symbols U+1D400..U+1D7FF.
Ils sont normalement utilisés pour l’expression de formules mathématiques.

Voir à ce sujet : https://yaytext.com/fr/blog/lettres-unicode-math%C3%A9matiques/
qui sera en partie illisible avec Jaws.

Dans le même style, tu as le Gras de tableau noir

+0 -0

Hello,

Voici des remarques issues de ma dernière relecture:

"ce que contient la machine" c’est une drôle d’expression, j’aurais plutôt plutôt cherché du côté de "stocker"

  • peut être aussi codé e (U+0065) - ||◌́ ||(U+0301)
  • La langue écrite coréenne est phonétique. In y a des
  • Quand il s’est agit de normaliser ce qui existatit de part et d’autre
  • Le sélecteur de variante sert à indiquer que la représentation ne doit pas être standard. L’utilité et la nécessité de cet élément ne saute pas aux yeux.

Je ne comprends pas la première phrase, est-ce une manière d’exprimer que la représentation par défaut est "générique" / "non genrée" ? La seconde phrase me paraît hors sujet.

  • le langage ||Swift || définit un caractères

  • U+2640 est mieux traduit en « signe féminin » que « signe femelle »

Majuscule dans le titre: "Les émojis"

Il est vrai qu’il est mentionné la couleur de cheveux mais qu’aucun exemple n’est montré par la suite.

Plusieurs remarques de @QuentinC n’ont pas été résolues alors qu’elles me paraissent fort pertinentes.

"ce que contient la machine" c’est une drôle d’expression, j’aurais plutôt plutôt cherché du côté de "stocker"
Je vais écrire" ce qu’il y a dans la machine"

  • peut être aussi codé e (U+0065) - ||◌́ ||(U+0301)
    Je ne vois pas ce qui ne va pas
  • La langue écrite coréenne est phonétique. In y a des
  • Quand il s’est agit de normaliser ce qui existatit de part et d’autre
    Typos à corriger
  • Le sélecteur de variante sert à indiquer que la représentation ne doit pas être standard. L’utilité et la nécessité de cet élément ne saute pas aux yeux. Je ne comprends pas la première phrase, est-ce une manière d’exprimer que la représentation par défaut est "générique" / "non genrée" ? La seconde phrase me paraît hors sujet.
    Je vais écrire : "Le sélecteur de variante sert à indiquer qu’il faut une présentation spéciale"
  • le langage ||Swift || définit un caractères
    typo à corriger

  • U+2640 est mieux traduit en « signe féminin » que « signe femelle »
    Comme indiqué, j’utilise le vocabulaire de la norme ISO. En dehors de l’espèce humaine, ce signe est également utilisé en botanique et en zoologie, domaines pour lesquels le mot 'féminin" ne convient pas.

Majuscule dans le titre: "Les émojis"
typo à corriger

Il est vrai qu’il est mentionné la couleur de cheveux mais qu’aucun exemple n’est montré par la suite.
Exact. Je vais produire un exemple.

Plusieurs remarques de @QuentinC n’ont pas été résolues alors qu’elles me paraissent fort pertinentes.
Peux tu détailler ? Je vais changer le titre, et proposer :
"On voit un seul caractère, mais la machine en contient plusieurs"

Source:Gawaboumga

Merci pour tes contributions. Je fais une nouvelle bêta.

+0 -0

Hello,

Pour moi, c’est bon.

Voici juste mes dernières remarques:

  • Concerna nt Unicode, le principe de compatibilité ascendante interdit de supprimer quoi que ce soit aux codes nationaux / régionaux déjà présents.

  • Une majuscule pour chaque titre (cf. les emojis)

  • Les emojis de base sont dans l(UCS

  • de la norme ISO 10646 , tels qu’ils

  • Pour pallier les difficultés liées => aux

  • Malheureusement, SWIFT ne prévoit pas un mode => Swift comme dans le reste

Gawa

Oyez oyez les agrumes !

Je vous annonce avec plaisir la ré-ouverture de la bêta du contenu « On voit un seul caractère, mais la machine en contient plusieurs » ! Je vous souhaite une agréable lecture à l’adresse suivante :

Merci pour votre participation.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte