È possibile progettare un carattere in modo che i caratteri dipendano dai caratteri precedenti all'interno di una parola digitata?


13

Mi sto imbarcando in un progetto per progettare il mio carattere per un progetto personale che assomiglierà alla mia calligrafia. Ho letto alcune buone guide per avere una visione ampia di ciò che ci vorrà per raggiungere questo obiettivo, questo è stato particolarmente buono che ho trovato.

Non riesco a trovare da nessuna parte che suggerisca che è possibile fare quello che vorrei; si può fare in modo che una lettera all'interno di un carattere abbia aspetti diversi a seconda di quali lettere la precedono?

Il mio obiettivo sarebbe quello di rendere le lettere collegate come fanno nella mia scrittura a mano, ma per farlo cambio la loro forma mentre scrivo per connettermi l'una con l'altra in base alla lettera che ho scritto prima di un'altra. È possibile programmare un font affinché ogni lettera si adatti in base a quella precedentemente digitata?


3
Non so nulla delle tecniche coinvolte nei personaggi alternativi, ma un punto di riferimento che potrebbe essere interessante per la ricerca è il carattere tipografico Sigmund Freud. È stato progettato per cambiare a seconda della materia digitata. Questo è un buon articolo e menziona qualcosa chiamato Polyalphabetic Substitution che potrebbe essere quello che stai dopo aver smashingmagazine.com/2014/06/…
johnp

Questo è un materiale eccellente che aiuta molto con il mio obiettivo! Grazie per aver condiviso. È interessante vedere più della tecnica coinvolta, potresti voler includere le informazioni del tuo commento in una risposta in modo che ottenga maggiore visibilità quando qualcun altro visualizza questo post.
Fiztban,

Risposte:


15

Si, puoi farlo. Lo fai attraverso una funzione OpenType chiamata Contextual Alternates (calt).

Codice d'esempio:

feature calt { 
    lookup calt1 { 
       sub a' b  by a.ss01 ; 
       } calt1; 
    }

Fondamentalmente, dici il carattere: sostituisci a + b con a.ss01 + b

Questa è una buona panoramica delle funzionalità di sostituzione OpenType .


Grazie per l'aiuto. L'articolo è davvero interessante e utile in quanto mostra come iniziare a raggiungere questo obiettivo. Se hai altre fonti che conosci, ti sarei davvero grato se le aggiungessi alla tua risposta. Buon Natale / Buone Feste a te.
Fiztban,

10

Sì, questo può essere fatto. Esistono diversi standard di font intelligenti, vale a dire AAT, Graphite e OpenType, che consentono di farlo. Quest'ultimo sembra essere quello successivo.

Ecco un esempio che ho creato usando tali tecniche. Nota come la lettera s viene visualizzata in modo diverso in base alla lettera precedente e seguente:

Esempio per una funzione contestuale

Il modo in cui esattamente raggiungi il tuo obiettivo dipende dai tuoi dettagli, ma quasi sicuramente vuoi lavorare con classi di ricerca e moduli contestuali.


Grazie per la tua risposta, è esattamente quello che stavo cercando e se richiede una certa programmazione non solo posso programmarlo per avere alternative basate su una ricerca, ma posso anche provare ad includere alcune variazioni casuali in quanto la scrittura a mano non è mai perfetta. Ma questa è un'altra parte del progetto. Vorrei contrassegnare questa come risposta, ma la risposta di seguito includeva anche un metodo per iniziare, quindi sono propenso ad accettarla, potresti ampliare la tua in modo da poterla accettare per favore?
Fiztban,

E buone feste / buon Natale a te!
Fiztban,

3
Non so molto di METAFONT (il motore di font creato dall'autore di TeX Donald E. Knuth), ma sono abbastanza sicuro che possa farlo anche.
Jörg W Mittag,

Interessante, lo cercherò sicuramente!
Fiztban,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.