Perché aggiungere punti extrema durante la progettazione di caratteri?


9

È apparentemente importante aggiungere punti di ancoraggio agli estremi orizzontale e verticale dei percorsi quando si progettano glifi di un font. La maggior parte degli editor di font ha funzioni per aggiungerli e ti darà un errore se li ometti.

Ma a volte è più facile e più naturale disegnare percorsi come questo:

inserisci qui la descrizione dell'immagine

Notare i vari angoli e la mancanza di punti sulla maggior parte degli estremi.

Quello che segue è un percorso migliore, ma se stai iniziando con qualcosa come la prima immagine, arrivare a questo significa un passo in più nel processo (a volte dover ripercorrere l'originale):

inserisci qui la descrizione dell'immagine

Quindi perché dobbiamo anche aggiungere punti extrema e quali problemi pratici affronterò se non lo facessi?

Risposte:


7

Come già accennato, extrema è necessario per il rendering dei caratteri e in particolare per i suggerimenti.

Per capirlo, diamo una prima occhiata a ciò che accade grossolanamente quando si autointroduce un glifo con extrema come ancore (verde) in una griglia di pixel regolare¹: per rendere un carattere gradevole e nitido, i tratti verticali e orizzontali dovrebbero cadere esattamente nella griglia di pixel. Un glifo collocato in modo arbitrario di solito non soddisfa questo criterio, e quindi il renderer lo distorce leggermente a tal fine, cioè spostando gli estremi, poiché definiscono i tratti verticali e orizzontali:

illustrazione della parte cruciale del processo di suggerimento

Questo processo richiede congetture da parte del renderer, motivo per cui il designer può definire un mucchio di cose (gambi marcati, valori blu) che aiutano il renderer in questo processo. Si noti che questo è solo uno dei primi passi e ci sono molte cose da fare dopo, che non è necessario occuparci di questa domanda.

Supponiamo ora che non solo abbiamo usato extrema per definire il glifo, ma anche alcune ancore diagonali nel mezzo. Quindi queste ancore dovrebbero essere spostate gradualmente quando vengono spostati gli estremi, il che richiede ancora congetture, ma a differenza dello spostamento degli estremi, il progettista dei font non può fare molto per aiutare a causa della complessità della situazione. Pertanto, spostare questo surplus di ancore è una notevole fonte di errore, in particolare se gli ancoraggi sono vicini all'estremità.

Finalmente possiamo tornare alla domanda e considerare cosa succede se non definiamo ancore all'estremità. In questo caso, il renderer deve determinare automaticamente gli estremi (cosa che può fare facilmente) prima di spostare loro e tutti gli altri ancoraggi con esso. Dal momento che ciò che sceglieresti naturalmente come un'ancora è vicino all'estremo per molti tipi di caratteri tipografici, questo comporta il rischio di cattive congetture a causa dei motivi sopra elaborati.

Riassumendo un po 'quanto sopra: Extrema gioca comunque un ruolo cruciale durante il rendering e quindi è meglio se il tuo glifo è costruito su di loro in modo che il renderer non debba indovinare.

Citazioni

Dal brevetto US 7068276 B2 - Metodi e sistemi per suggerire i caratteri :

L'approccio algoritmico descritto di seguito tenta di abbinare i nodi espliciti sulla curva utilizzando funzioni come la direzione del contorno e la presenza di estremi.

Dal wiki di FontForge sul suggerimento :

I contorni devono avere la giusta direzione, altrimenti l'aggancio alle zone blu è compromesso. Meno punti formano la forma (accurata), meglio è. Ma le curve accennate con gli steli H / V dovrebbero avere punti agli estremi, altrimenti non si spezzeranno. Non è elegante se un tale punto è "implicito".


¹ non è molto diverso per il suggerimento subpixel
², che è una grande semplificazione poiché il posizionamento dei glifi con il suggerimento è più complesso; ma è sufficiente per questo esempio


3

Ecco tre motivi per cui "punti in extrema" è il metodo preferito quando si lavora con curve di Bezier. In effetti, lavorando in particolare sul lettering, l'ho visto descritto come essenziale :

  1. Migliora (fortemente) l'authinting e l'interpretazione PostScript . Effettivamente l'impostazione dei punti su extrema è uno dei primi passi quando si imposta il suggerimento manuale.
  2. Molto più facile modificare la forma in un secondo momento . Modificare le curve in un secondo momento è molto più semplice con i punti in extrema. Spostare i punti negli estremi tende a mantenere belle le curve con il minimo sforzo aggiuntivo.
  3. Meno punti nel complesso . I punti Extremum tendono anche a ottenere le stesse forme con meno punti aggiuntivi ... il che si traduce anche in file di dimensioni inferiori.

Per questi motivi, molti programmi di progettazione di software per font dispongono di strumenti per evidenziare e fissare punti non al massimo e minimo (extrema).

Detto questo, ho lavorato a lungo per definire tutti i miei punti in extrema, e non ci sono mai riuscito, ma non mi considero un Ninja di Bezier!


Ricevo il suggerimento, anche se la mia lettura delle specifiche mi fa credere che sia un problema di arrotondamento simmetrico. In notizie non correlate si dovrebbero evitare i punti di flesso. Tuttavia non ottengo le altre 2 ragioni. Sono spesso citati ma comunque. Se questo fosse vero, gli oggetti ruotati hanno maniglie di bezier ottimali diverse che sembrano non vere dato che l'oggetto è costante a tutti gli orientamenti. Quindi questi punti sono davvero difetti negli strumenti di creazione e / o difetti nel cervello umano.
joojaa,

Se scegli 2 e 3, preferiresti utilizzare i punti di flesso e possibilmente i punti di curvatura più alta (vedi questa mia risposta ). (CC @joojaa)
Wrzlprmft

@Wrzlprmft sì, sono d'accordo, dato che i punti di flesso sono globali nella forma. Anche i motori dei caratteri non amano davvero le curve che si riflettono, quindi uccide 2 uccelli contemporaneamente.
joojaa,
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.