Largeur caractères identiques
Salut,
Je souhaites savoir si il existe un moyen d'obtenir une largeur identique pour chaque caractère d'un texte un peu comme le fait la police Monospace mais avec n'importe quelle police.
Par exemple, un W est plus large qu'un I. Je souhaites que les deux aient la même largeur.
Sachant que je cherche à influer sur la largeur d'un caractère et pas sur l'espacement entre chaque caractère (ici avec NSKernAttribute).
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Utilise une font non-proportionnelle.
https://fr.wikipedia.org/wiki/Chasse_(typographie)
- étirer le I (horreur !)
- ajouter des blancs autour du I. Le problème est alors qu'on confond ces blancs avec des espaces.
Bref, utilise une police à largeur fixe comme le suggère Draken (il en existe des belles), ou trouve une autre solution.
Alors comme ça sans plus de recherche je dirai qu'il faut chercher du coÌ‚teÌ de NSLayoutManager et drawGlyphsForGlyphRange et arranger le dessin des lettres à ta sauce. Je ne sais pas ce que ça va donner au niveau du layout qui pour le coup ne sera plus le même.
Donc ça devrait être possible mais va falloir mettre les mains dans cambouis jusqu'à l'épaule (a priori hein, y'a peut-être une technique que je ne connais pas et qui est plus simple).
Edit: Comme dit Céroce ça sera super moche...
Ok merci tout le monde.
Du coup mine de rien notre cerveau s'y est habitué (et c'est logique car machinalement quand on écrit à la main on fait aussi du Kerning, on ne cherche pas à ce que chaque "i" ait exactement toujours la même largeur, il sera plus proche s'il est après un "t" qu'après un "w" car il va bien dans la continuité du "t", etc).
Ce qui fait que si on lit un texte, écrit avec une police non-monospace, qui n'a juste pas de Kerning (= chaque lettre à une largeur différente des autres mais tous les "w" ont la même largeur si pas de kerning) ça nous parait déjà bizarre à la base car moins naturel. Alors j'imagine même pas si on utilise ce genre de police pour faire de la largeur fixe et étirer les espaces entre les glyphes, ça va faire super chelou si la police n'a pas été désignée pour ça !
En effet. J'ai changé de stratégie et c'est mieux comme ça. Après les espaces blancs ajoutés à un caractère sont pas inutiles dans certains cas précis je pense même si dans mon cas à moi ça ne fait pas son effet.