
Le premier jeu de données de confusables police par police au monde : quels caractères Unicode se ressemblent, mesuré à partir des contours de 322 polices à la taille à laquelle les gens les lisent. CC BY, utilisé dans les vérifications des noms d'extensions de Mozilla.
Le premier jeu de données de confusables police par police au monde. Quels caractères Unicode ressemblent à quels autres, mesuré à partir des contours des polices plutôt que des pixels. La version actuelle, 2026.09.26, compare chaque lettre et chaque chiffre que chacune des 322 polices dessine, à la taille et à la position sur la ligne de base que chaque glyphe a dans un texte courant. Les sosies des lettres et chiffres ASCII sont ensuite vérifiés en contexte : placés entre d'autres lettres dans des polices courantes, à la taille à laquelle on les lit, et comparés à des paires que tout le monde accepte comme identiques, telles que 0 et O.
addons.mozilla.org utilise des caractères issus de confusable-vision pour vérifier les noms d'extensions à la recherche de sosies, crédité dans le code source de Mozilla ; voir Utilisé par.

src/olympia/amo/confusables.py, pull requests #24468, #24541, #24612 et #24665 (février à mars 2026).data/confusables_supplement.tsv, data/confusables_vision.tsv.docs/hkb.md).Ces projets ont tiré leurs données des sorties de confusable-vision de février et mars 2026.
Discuté sur Hacker News : J'ai rendu 1 418 confusables sur 230 polices et Confusables.txt et NFKC sont en désaccord sur 31 caractères.
La version 2026.09.26 en chiffres :
Les données sont publiées sous forme de version numérotée dans data/release/2026.09.26/ (CC-BY-4.0). namespace-guard et d0ma1n sont construits dessus.
La version 2 (2026.09.24, et 2026.09.25 pour les données de TLD) ne comparait que les paires et les polices que les exécutions précédentes avaient comparées. Un audit des glyphes identiques a révélé qu'elle avait détecté 637 des 2 654 cas où une police dessine deux caractères avec le même glyphe. La version 3 corrige cela et ajoute trois choses :
Les chiffres de mars 2026 (249 976 paires de caractères uniques et 2 524 275 paires de bigrammes sur 245 polices) provenaient de mesures qui ignoraient la taille et la ligne de base. Ils sont remplacés ; les fichiers de ces exécutions restent dans data/output/ pour référence.
RaySpace projette des rayons parallèles à travers le contour de chaque glyphe selon 36 angles, 50 rayons chacun, et enregistre cinq choses par rayon : combien de fois il croise le contour, où, à quel angle, quelle distance il parcourt à travers l'encre à chaque fois (son ping, la largeur du trait le long du rayon), et l'écart le plus large entre les traits. Chaque glyphe est mesuré deux fois : dans sa propre boîte, pour la forme, et dans un cadre fixe sur la ligne de base, de sorte que la taille et la position comptent. Deux caractères sont identiques dans une police lorsque la distance de forme est inférieure à 0,5 et la distance ancrée sur la ligne de base inférieure à 0,2. La comparaison s'exécute en Rust (native/cv-pairs), sur tous les cœurs.