La descrizione e le interpretazioni dei punti e delle curve dei caratteri TrueType


8

Recentemente è stata posta una domanda su un altro forum che mi ha fatto ripensare la mia comprensione dei formati vettoriali. I caratteri TrueType sono in formato vettoriale e - avevo pensato in precedenza - che se un editor vettoriale li presentasse per la modifica, presenterebbe solo i punti descritti nella forma originale del carattere e, se ci sono curve, presenterebbe solo le maniglie appropriate quei punti.

Non vedo come un pacchetto software ( glifi ) possa interpretare un in Arial come 20 punti e un altro (Illustrator) interpretarlo come 37 punti quando convertito in contorni o espanso. Non ho glifi a portata di mano, ma posso confermare che Illustrator ha presentato 37 punti quando ho provato me stesso. Il poster originale ha fornito le illustrazioni di entrambi i risultati come segue:

La a di Arial in Glyphs :

La parola arial nello stesso carattere in Illustrator (concentrarsi sui punti nella lettera a vs la stessa in Glyphs ):

Comprendo il concetto di base dei file di immagini vettoriali; che i dati sono una serie di coordinate per punti e altre informazioni che dettagliano matematicamente la quantità di curva (o mancanza di) tra punti. Quello che non capisco sono due cose:

  1. I dati in un carattere TrueType non sono descritti in modo tale da poter essere letteralmente tradotti in una forma modificabile in Illustrator quando delineati? Perché Illustrator ha aggiunto punti aggiuntivi? O il formato TrueType non è affatto descritto usando i punti (non vedo come)?

  2. Glifi sembra dimostrare che è possibile descrivere alcune curve in un numero limitato di punti. Perché un software di fama come Illustrator ha bisogno di più punti per descrivere la stessa curva? Lo vedrei come una traduzione scadente e immagino che anche la maggior parte degli utenti si aspetterebbe questo. Questo si sovrappone un po 'alla domanda uno, quindi forse una sola risposta copre entrambi.


Potete per favore includere un link alla discussione precedente (e fonte delle immagini, IIUC)?
Wrzlprmft

Temo che il post originale sia stato un disastro e sia stato formulato attorno alla questione del malware / virus che causa questo problema (e non era un forum di progettazione grafica, quindi le persone stavano intrattenendo questa idea senza molto merito nella discussione). Non mi sono avventurato, ma mi ha portato a meditare sulla domanda che ho posto qui.
biscuitstack il

Una nota: la tua immagine di arial in Illustrator mostra 37 punti di ancoraggio per la lettera a, non 36. Inoltre, ottengo quelli che sembrano esattamente gli stessi (37) nodi di CorelDRAW come sono mostrati nell'esempio di Illustrator, quindi qualunque conversione Illustrator sta facendo è probabilmente lo stesso in Corel (e quindi non del tutto arbitrario).
1006a

@ 1006a Sono impressionato che tu abbia impiegato del tempo per verificarlo! Interessante che CorelDRAW corrisponda a Illustrator . Non mi aspetto che nessuno di loro aggiunga punti arbitrariamente (e penso di poter vedere un modello in cui si aggiungono ancore di punto medio se la linea si piega oltre un certo angolo) ma non sono ancora sicuro del perché.
biscuitstack il

1
Heh, beh, all'inizio non ho contato, ho solo provato la conversione in CorelDraw e ho notato che diceva 37 nodi; quindi non sono riuscito a vedere dove differiva dall'immagine, quindi ovviamente ho dovuto contare ;-). Penso a queste domande e risposte su SO "I glifi TrueType Font sono fatti di Bezier quadratico. Perché più di un punto off-curve consecutivo compaiono nel contorno glifo?" sembra utile per la domanda da dove potrebbero provenire i punti "extra" (anche le risorse collegate nella risposta).
1006a

Risposte:


4

Anche se non posso confermarlo (ho controllato il manuale di Glyphs e la Guida / Tutorial online), sembra che l'app Glyphs converta automaticamente i contorni TrueType in contorni PostScript (ricordiamo che i contorni TT sono 2 ° ordine, i contorni PS sono 3 ° ordine. OTF può contenere contorni TT o PS, mentre TTF può contenere contorni TT).

Se stai importando il carattere tipografico Arial (che sono quasi sicuro sia un file TTF) significa che stai importando contorni TT, quindi glifi si converte in contorni PS. Quindi, meno punti. Ecco Arial.ttf convertito in contorni PS in FontLab VI (29 nodi):

Profilo PS Arial

Se apri lo stesso carattere preservando i contorni TT (in questo esempio, aperto in FontLab Studio 5), otterrai 37 nodi (ricorda, c'è un nodo implicito tra punti di controllo successivi):

Profilo Arial TT

In Illustrator, il tipo è molto probabilmente gestito da un motore di tipo che conserva il formato dei contorni e i punti quadratici sono appena tradotti nel comando Crea contorno (prova a creare il contorno del proiettile, un cerchio: creerà 8 nodi, coerenti con il formato quadratico adiacente ...) Quindi, vengono creati più punti. Qui, nell'illustratore CS6:

inserisci qui la descrizione dell'immagine

Stessi 37 nodi.

Modifica : BTW, rispondendo alla domanda: glifi "semplifica" la curva TT usando Bezier Degree Elevation , ovvero convertendo il profilo TT in PS.


1
No, infatti, è possibile ridurre i contorni quadratici a contorni cubici senza perdere precisione. Significa che glifi mantiene la precisione, ma modifica il formato. Illustrator, d'altra parte, lo sta sovraccaricando poiché, per ogni nodo quadratico, sta creando un nodo cubico (controlla il contorno creato, ogni nodo ha due punti di controllo, quindi è cubico). Presenta una precisione non necessaria, ma almeno è computazionalmente veloce ed esatto. A proposito, viceversa (convertire i cubi in quadratici, o i contorni PS in contorni TT) perde precisione.
Pepe Ochoa,

1
Forse ho sopravvalutato l'affermazione riguardante Illustrator : that preserves the outlines formatcome suggerire che glifi non stessero preservando il contorno e ho tratto la conclusione che la conversione dei glifi era leggermente meno fedele. Tornerò ora al mio presupposto originale (che comunque aveva più senso). Grazie.
biscuitstack il

1
Se Illustrator è eccessivo e aggiunge dettagli superflui, e glifi semplifica la curva originale, entrambi suggerirebbero che nessuno dei due risultati è una rappresentazione fedele. Se fossi l'artista originale che ha dovuto posizionare intenzionalmente i punti di ancoraggio per disegnare ogni forma del personaggio e trascinare le maniglie per controllare le curve - quale traduzione riconoscerei come avente le proprietà originali del mio disegno? Avrei pensato Glyphs, dalla nostra discussione sopra, ma il termine semplificato mi ha gettato di nuovo. O stai suggerendo che gli algoritmi di Bezier sono semplificati e non la densità dei punti di ancoraggio?
biscuitstack il

1
Ecco perché uso le virgolette per semplificare . Cito il wiki (che cita un libro nel rif. 15): "Una curva di Bézier di grado n può essere convertita in una curva di Bézier di grado n + 1 con la stessa forma ". Trasformando i contorni TT (2 ° grado) in contorni PS (3 ° grado), non si perde il design originale - matematicamente parlando. Se si tenta di tornare da PS a TT, allora si potrebbe perdere alcune informazioni. Ora, ci sono anche molti fattori che possono introdurre distorsioni: la rappresentazione interna delle forme, errori di arrotondamento, ecc.
Pepe Ochoa,

1
Continua: alcuni editor utilizzano le coordinate decimali per i nodi / punti, quindi esportano le coordinate intere arrotondate, che influiscono sulla forma esatta delle curve. Suggerisco di utilizzare gli strumenti per modificare i caratteri nel loro formato originale, se si desidera preservare la fedeltà. Altrimenti, la mia preferenza è quella di utilizzare sempre contorni PS. (Anche se TT contorni consentono di utilizzare alcune procedure hinting malvagi: PI immagino che saranno utili quando si lavora con dispositivi molto bassa risoluzione ...!)
Pepe Ochoa

11

TrueType utilizza curve di Bézier quadratiche, mentre la maggior parte degli altri programmi vettoriali (inclusi glifi e Illustrator) usano curve di Bézier cubiche. Puoi vedere che il tuo esempio di Glifi non usa curve quadratiche di Bézier poiché le maniglie delle ancore adiacenti non si collegano.

Ora, le curve quadratiche di Bézier sono un caso speciale di curve cubiche di Bézier¹ e quindi la conversione dalla prima alla seconda è semplice e la mia ipotesi dal tuo esempio è che i Glifi utilizzino una conversione così semplice. Per ragioni che vanno oltre me, Illustrator converte le curve quadratiche di Bézier in curve cubiche in un modo diverso che utilizza più ancore².


¹ proprio come ogni quadrato è anche un rettangolo, ogni cerchio è un'ellisse, e così via
² ecco un'osservazione più dettagliata dello stesso fenomeno in un forum tedesco


Non ero a conoscenza della distinzione tra varie curve più bezier, grazie per quello. Se stai suggerendo che le curve di Bezier quadratiche sono (più o meno) un sottoinsieme di curve di Bezier cubiche, si pone ancora la domanda sul motivo per cui l'illustratore sta inserendo punti non necessari (nel senso che glifi hanno dimostrato) piuttosto che fornire una conversione letterale come può. La tua spiegazione delle curve di Bezier da quadratico a cubo suggerirebbe che è molto improbabile che glifi riducano la quantità di punti che, a sua volta, suggerirebbero che l'illustratore ne stia effettivamente aggiungendo altri. Non provato, ovviamente.
biscuitstack il

3
pone ancora la domanda sul perché l'illustratore stia inserendo punti non necessari (nel senso che glifi hanno dimostrato) piuttosto che fornire una conversione il più letterale possibile. - come ho detto, la ragione di ciò è al di là di me. Tutto quello che posso dire è che questo fenomeno (Illustrator che aggiunge ulteriori ancore) è stato osservato in precedenza.
Wrzlprmft

Quella particolare domanda di follow-up era ampiamente destinata a chiunque leggesse, anche se capisco perché l'hai interpretato come diretto a te @Wrzlprmft. Ci scusiamo per la confusione e grazie per il contributo finora.
biscuitstack il

1
@joojaa: potrebbe essere più robusto dividere la curva nel punto di flesso. - Le curve quadratiche di Bézier non possono avere punti di flesso all'esterno delle ancore. Pertanto loro e i loro equivalenti cubici vengono automaticamente divisi nei punti di flesso. - Inoltre, se ti aspetti una degenerazione o simile in determinati casi quando esegui una conversione, di solito puoi anche prevedere quando ciò accadrà, quindi non devi cambiarlo continuamente. Infine, molti altri software sembrano fare bene con la semplice conversione da quadratica a cubica.
Wrzlprmft

-2

È possibile modificare la quantità di punti di controllo a causa della violazione dei diritti d'autore? Se corrispondesse esattamente al numero di punti, sarebbe illegale?

Sono la 758a copia registrata di Illustrator negli Stati Uniti v1.0, che allora non potevo fare i caratteri di contorno. Il primo giorno del rilascio di Adobe ha venduto meno di 1000 copie, il secondo giorno ha venduto circa 16.000 copie.

Solo il mio contributo, puoi sempre semplificare il percorso per aggiungere o rimuovere punti.

Allora ho usato anche Fontographer e creare un carattere perfetto con tutti i personaggi non è facile. mi ci sono voluti più di 45 giorni per avvicinarmi ma non è mai stato perfetto.


Questa è in realtà una ragione abbastanza ragionevole, ma se ipotizziamo quindi immagino che sia una specie di residuo dell'elaborazione di numeri interi
joojaa,

3
Perché sarebbe una violazione del copyright quando il formato è chiaro (curve di Bezier quadratiche) e dovrebbe essere possibile riprodurlo facilmente? A parte questo, non sono sicuro che il resto della storia sulla versione di Illustrator e Fontographer sia collegato a TrueType.
Andrew T.,

Inoltre, se modificare il numero di punti di controllo è sufficiente per evitare problemi di copyright, la pixelizzazione farebbe lo stesso. Ne dubito sinceramente. (CC @joojaa)
Wrzlprmft

@Wrzlprmft Nessun copyright non è la ragione, rendendo più difficile la copia delle curve. Adobe aveva il monopolio del motore dei caratteri. Quindi, non permettendo alle persone di accedere ai dati sottostanti, la vita diventa più difficile per i copiatori di font. Questo punto è discutibile oggi, ma di nuovo l'illustratore è incredibilmente vecchio
joojaa,

1
@AndrewT. sì, forse il copyright è un'idea sbagliata, ma la copia è leggermente ostacolata, il raddoppio delle curve rende più difficile la manipolazione del carattere.
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.