Follow

Coucou le fediverse et en particulier aux amateurs de typographie et tout ce qui s'en rapproche ! 👋
Je vais vous présenter un petit projet complètement inutile et débile, mais qui me tient à cœur en ce moment.
Il s'agit de Glyphus : roipoussiere.frama.io/glyphus/
L'idée est de créer un alphabet ultra-optimisé mais néanmoins joli, sous forme de glyphes.
Il est à un stade assez jeune, mais suffisant pour que vous compreniez le principe.
Par exemple l'image ci-dessous signifie "Hello Fediverse!"
1/3

Les glyphes sont générés à mesure que vous écrivez, de manière déterministe : un mot = un glyphe, un glyphe = un mot, et vous pouvez trouvez la signification de chaque glyphe à la main avec un peu d’entraînement.
Quand vous tapez une lettre, celle-ci est convertie dans un alphabet où chaque lettre est composée d'une colonne de 5 points (comme le braille mais sur un tableau de 1x5 cases au lieu de 2x3 cases) qui sont mises cote-à-cote de manière à former un gros tas de points pour chaque mot.
2/3

Ensuite, je relie les points voisins : ceux cote-à-cote, ceux en diagonale et ceux en "mouvement cavalier".
On a donc maintenant un graphe (pas forcément connexe).
Pour avoir un truc un peu plus esthétique qu'un gros tas de points reliés, je récupère pour chaque graphe l'arbre couvrant de poids minimal (en utilisant l'algo de Kruskal pour ceux qui connaissent).
fr.wikipedia.org/wiki/Arbre_co
Voilà, il y a encore plein de trucs à faire mais c'est un début. 😛
3/3

Et comme dirait Cyrano de Bergerac :
"Que dites-vous ?… C’est inutile ?… Je le sais !
Mais on ne se bat pas dans l’espoir du succès !
Non ! non, c’est bien plus beau lorsque c’est inutile !"

et un truc que vous pouvez facilement faire pour vous amuser, c'est écrire votre prénom ! 😁
Moi c'est

à noter que l'alphabet est uniquement optimisé pour la langue anglaise pour le moment.

@roipoussiere Mais du coup, le « é », il est vu comme un « e » ? Dans l'exemple avec ton prénom, j'ai l'impression qu'il est vu comme un « n » (les deux points du haut) 😕

Question : existe-t-il des cas ambigus ? Genre <point du haut> <point du haut et du bas> <point du bas>. Dans cet exemple, on se retrouverai avec une ligne verticale au milieu… et donc on ne saurait pas si les points intermédiaires doivent être compté 😕

@roipoussiere Ah non pardon, j'ai lu trop vite : il n'y a pas de conflit é / n dans ton prénom 😊 Mea culpa!

@roipoussiere Et j'ai compris le coup des ambiguïtés : comme on ne relie que les adjacents, diagonales, et cavalier, il n'y a pas d'ambiguïté 😊 On le voit bien en traduisant juste « g » par exemple. C'est bien pensé ! ☺️

@roipoussiere Ah, je n'avais pas tilté, mais on relie aussi les cavaliers selon l'horizontale ! Pour le coup, je trouve que ça peut géner la lecture : dans l'exemple « hello fedivers » plus haut, le deuxième « e » est traversé par une telle ligne : au lieu de n'avoir que le point du haut, on voit une ligne qui la traverse en bas… et il est assez difficile de voir qu'elle ne tombe pas « juste » sur un des cinq points et qu'il faut donc l'ignorer. 😕

Une suggestion : au lieu de dessiner des droites, dessiner les lignes cavalier comme des arcs de cercle. Ça sera tout aussi joli, et ça serait je pense plus simple à lire ☺️

@MartinShadok
je ne comprend trop ta première réflexion, mais pour le moment il faut savoir que c'est pas encore trop optimisé, j'ai prévu d'autres trucs pour ça.
Par exemple pour le moment l'algo de kruskal de renvoie qu'un seul arbre, alors qu'en fait dans pas mal de cas il y a plusieurs arbres couvrant minimum ex-aequo.
Je prévois de traiter chacun de ces arbres, et de les trier par élimination en gardant celui qui a le moins d'intersection et le moins de virages.

@MartinShadok
je prévois également de choisir un meilleur alphabet de base en le cherchant avec un algo génétique qui teste beaucoup, beaucoup d'alphabets sur des milliers d'itérations, en donnant des points aux alphabets en fonction de la complexité des glyphes en se basant sur les mots anglais les plus utilisés.

@roipoussiere On peut résumer ma première remarque en disant que j'ai beaucoup de mal à différencier « veos » et « vela » dans cet alphabet. En particulier, avant de lire la lettre finale (qui est bien différente : l'une est un plat et pas l'autre), j'ai beaucoup de mal à estimer la pente des lignes, et donc savoir si je lis « veo » ou « vel ». Si on ajoutait un moyen pour différencier une pente cavalier d'une pente diagonale (par exemple en dessinant les premières comme des courbes plutôt que des droitet), ça aiderait vachement, je pense 😊

@MartinShadok ah oui c'est intéressant ça.
Je vais voir si je peux prendre ça en compte quand j'implémenterai les courbes.
Ou alors faire varier la grosseur du trait en fonction de si c'est une pente diagonale ou en cavalier, un peu comme ce que fait dyslexiefont.com/en/typeface/

@roipoussiere Elle est trop bien cette police de caractères ! 😀 Je ne la connaissais pas. ☺️

@MartinShadok
pour l'instant, je ne gère par les lettres accentuées et elles sont affichées avec une police par défaut, comme tous les autres caractères non pris en charge.
Il n'existe pas à ma connaissance de cas ambigus, puisque quand il y a un saut tel que tu le décris, les points ne sont pas reliés.
Les points sont reliés uniquement s'ils sont cote-à-cote, en diagonale ou en mouvement cavalier (en forme de L), qui ne prêtent pas à confusion.

@MartinShadok d'ailleurs c'est pour cette raison que sur certains mots, il y a des points isolé sur les mots pas trop optimisés, comme dans "you".

@roipoussiere Oh, il est mignon « you » ! On dirait un émoticone 😊

Est-ce qu'il peut être difficile de savoir à qui relier la partie supérieure à la partie inférieure parfois ? Genre dans « Yooouhoouu », j'ai beaucoup de mal à compter le nombre de o. Là, on s'en fiche, mais est-ce qu'il pourrait y avoir des cas plus embêtants ?

@MartinShadok tu veux dire difficulté pour le lecteur ? 🤔
Tu as un exemple plus concret ?

@roipoussiere J'expérimente encore avec le générateur pour trouver des exemples 😊

@roipoussiere Un exemple : « oue » à comparer avec « eeoo ». On a dans les deux cas deux lignes horizontales (une en haut, une en bas), et on veut savoir si le début de l'une est à la verticale de la fin de l'autre ou après. Sur cet exemple, ça a l'air de bien se différencier, donc je suis confiant qu'il n'y a pas de problème 😊

@MartinShadok je suppose que tu voulais dire "oue et ooee".
C'est un bon exemple tout de même, c'est pas si évident à différencier.
Je vais voir comment améliorer ça.
Merci pour tes retours en tout cas, c'est très intéressant !

@MartinShadok ah ben le "you" justement moi je le considère comme raté, parce qu'il n'est pas en un seul morceau alors que c'est un mot courant. 🙂

@roipoussiere Ça défoooonce ! Tu sais s’il y a déjà eu des trucs similaires dans l’histoire de la typographie informatisée ? J’vais le partager sur Twitter demain. Dans 6 mois tu vas te retrouver à faire des talks dans des conférences pour expliquer ton bidule.

@meduz
Dans 4 mois en fait. 😛 je pense que je vais faire un conf. au @capitoledulibre pour présenter le projet. 😉

@meduz
Le truc que j'ai trouvé qui s'en rapproche le plus ce serait dotsies.org/ mais c'est quand même un peu différent.

@roipoussiere Ha ui, ça se rapproche dans la démarche. Cool !

@meduz
Merci pour ton message en tout cas, ça me fait plaisir ! 🤗

@roipoussiere

Sympa comme projet. Il va y avoir les accents à terme ?

@roipoussiere Je trouve ça génial, tu m'as motivé à me lever pour aller tester ça ! :-P

@roipoussiere "Ultra optimisé" oui mais sur quel critère? J'ai l'impression que c'est "idéogramme/mot avec le moins de traits possibles", mais c'est peut être plus subtil.

@tshirtman
c'est vrai que je n'ai pas précisé mais oui ta définition "idéogramme/mot avec le moins de traits possibles" correspond plutôt bien à l'idée que j'avais. 🙂

Sign in to participate in the conversation
Mastodon Tetaneutral.net

Instance de Mastodon, réseau social de micro-blogging libre et décentralisé hébregée par l'association Tetaneutral.net.