Comment fonctionne le choix aléatoire de caractères alternatifs dans les polices OpenType?

9

J'ai une question similaire à «Écrire du texte avec des variations de caractères» : je voudrais créer une police de style manuscrite décontractée, qui reproduit la variété naturelle entre les occurrences du même glyphe que l'on trouve dans le texte manuscrit. Les alternatives contextuelles sont bonnes, mais d'après ce que je comprends, elles sont surtout appropriées pour les lettres reliant ensemble que pour un script où toutes les lettres sont séparées par des espaces.

L'une des réponses à la question liée ci-dessus dit (c'est moi qui souligne):

Alors que vous n'auriez normalement que quelques lettres avec un substitut contextuel, il est théoriquement possible d'avoir plusieurs formulaires par lettre. Mais je ne crois pas que vous puissiez vraiment randomiser leur apparence, seulement les parcourir (donc, si vous aviez trois formes de 'a', elles seraient utilisées dans l'ordre et commenceraient à se répéter dans 'le chat noir assis sur le tapis' )

Eh bien, cela ne semble pas être vrai, car j'ai trouvé quelques mentions d'une fonctionnalité OpenType appelée randomize , qui peut apparemment le faire. Par exemple, sur cette page Web du package TeX :

Les polices originales de Knuth ont généré différentes formes au hasard. Ce n'est pas réellement possible dans une police OpenType; la police contient plutôt plusieurs variantes de chaque glyphe et utilise la fonction de randomisation OpenType pour sélectionner une variante pour chaque appel .

Donc: existe-t-il un mécanisme de sélection aléatoire des variantes de glyphes dans OpenType, et comment cela fonctionne-t-il? Un lien vers une documentation en ligne adéquate ou une citation de la spécification serait inestimable. Aussi: pensez-vous que cet objectif est logique, c'est-à-dire qu'il améliorerait considérablement la qualité du texte composé pour inclure plusieurs variantes de glyphes sélectionnés de manière aléatoire?

F'x
la source
Dans une récente discussion sur la liste de diffusion Opentype, il semblait que seul TeX prend en charge la randfonctionnalité (et peut-être certains navigateurs Web).
Rétablir Monica - M. Schröder
@ MartinSchröder avez-vous un lien vers cette discussion? cela ferait une bonne réponse
F'x
La liste est ici , l'archive est ici . Comme vous pouvez le voir, c'est assez fermé. :-(
Rétablir Monica - M. Schröder
Comment cela fonctionne, en termes simples, est mathématique. S'il existe dix variantes d'un glyphe, une fonction génère un nombre aléatoire compris entre un et dix et rend la variante correspondante. En termes de programmation, vous devriez regarder le code de ce script "Randomize".
Moscarda

Réponses:

2

Je crois que ce que vous décrivez est la fonction contextuelle des variantes de l'opentype. ( http://msdn.microsoft.com/en-us/library/ms745109.aspx )

Nick Shinn a un article vraiment intéressant sur la plupart des fonctionnalités disponibles en utilisant des alternatives contextuelles et comment il les a utilisées dans cinq polices qu'il a conçues. Duffy Script en particulier a été utilisé dans la façon dont vous décrivez. ( http://ilovetypography.com/2011/04/01/engaging-contextuality/ )

En y regardant de plus près, j'ai pu trouver cet article décrivant comment faire défiler vos glyphes lors d'utilisations ultérieures (qui sembleront généralement aléatoires): http://forums.adobe.com/message/1785905#1785905

Cela plonge au milieu. Je peux regarder plus loin si vous souhaitez quelque chose qui a un peu plus d'informations pour vous aider à démarrer ou si j'ai mal compris votre demande initiale.

Anne
la source
2

Je n'ai pas joué avec la fonction randomize mais j'ai obtenu de bons résultats avec une utilisation intensive des ligatures.

La plupart des variations dans l'écriture manuscrite sont liées au contexte: cela signifie que, cela suit, c'est la fin du mot, etc.

Il existe également la légendaire police Beowolf de LettError. Ce type de programmation n'est pas destiné au développeur de type moyen.

** MISE À JOUR **

Toujours pas de réponse? Je pensais qu'un programmeur intelligent aurait résolu cela pour vous maintenant. Eh bien, permettez-moi d'ajouter un peu plus d'informations sur la piscine.

Les seules vraies expériences de randomisation que je connaisse (comme Beowolf mentionné ci-dessus) ont été faites avec PostScript. Si vous êtes prêt à vous éloigner d'OpenType, Luc Devroye a rédigé un document (PDF) qui se penche sur la programmation d'une solution PostScript Type 3 dans ce problème. Il a également une liste de choses liées à la question des polices aléatoires pour référence.

Comme pour tout type de texte, il y a quelque temps , une discussion sur ce sujet sur Typophile . Dans ce fil il y a 8 ans, Thomas Phinney a fait cette déclaration qui, je crois, est toujours vraie (la spécification OpenType n'a pas beaucoup changé à ma connaissance):

Sûr. En supposant que vous vouliez que cela fonctionne dans certaines applications existantes, vous avez un choix sans intérêt dans la mesure où chaque approche est très limitée dans la façon / où elle fonctionne:

  • OpenType (contextuel, WYSIWYG, actuellement uniquement pris en charge par les applications d'Adobe, tout périphérique de sortie, plus facile à coder mais cela ne dit pas grand-chose, utilisez FontLab ou peut-être DTL FontMaster pour le faire)

  • AAT (contextuel, WYSIWYG, Mac uniquement, actuellement uniquement pris en charge par une poignée d'applications, tout périphérique de sortie, des éléments contextuels difficiles à coder, utilisez les outils de ligne de commande d'Apple pour compiler les fonctionnalités dans une police préexistante)

  • Type 1 (vrai aléatoire, non WYSIWYG, fonctionnera dans de nombreuses applications mais pas dans les applications Adobe les plus récentes, ne fonctionnera qu'avec les périphériques de sortie PostScript, vous devrez probablement être un programmeur pour le coder)

en civil
la source
Oui, les ligatures permettent des variations, mais ce n'est pas la même chose que la randomisation… Merci pour le lien lié à Beowolf, je n'étais pas au courant de cette police. C'est cool!
F'x
Si vous voulez vraiment capturer le sentiment d'écriture, il semble que vous deviez d'abord identifier les options de ligature à partir desquelles une sélection aléatoire peut être effectuée. La combinaison des deux serait un bel exploit de conception de caractères. Jetez un œil au travail de Sudtipos: Adios Script, Affair et surtout Business Penmanship viennent à l'esprit -> sudtipos.com/fonts/99
civil