Qual è la differenza pratica tra un "glifo" e un "personaggio"?


26

Ho visto questa domanda sulla proposta del sito Tipografia e mi ha infastidito il fatto che non sapessi la risposta. Avevo sempre trattato "glifo" e "carattere" come intercambiabili.


Dopo aver letto una spiegazione nella pagina Modello di codifica dei caratteri Unicode , la mia comprensione è approssimativamente questa:

  • I personaggi sono definiti dal loro significato nel linguaggio, glifi, dal loro aspetto . Quindi, la legatura per la combinazione estetica fi è un glifo, ma due caratteri.

Quindi, la mia convinzione è (per favore correggimi se sbaglio) che la differenza pratica sarebbe:

  • I parser di testo che non sono interessati all'estetica del testo leggeranno glifi come i loro rispettivi caratteri. Così:
    • Se dovessi copiare e incollare il testo contenente glifi in un editor di testo semplice, i glifi verrebbero convertiti nei rispettivi caratteri (un glifo di legatura diventerebbe fe i)
    • Qualsiasi sistema automatizzato ben fatto basato sull'analisi del testo (ad es. Crawler dei motori di ricerca, screen reader, correttori ortografici) interpreterebbe i glifi come i loro rispettivi caratteri.
    • Un personaggio può avere molti glifi o set di glifi. Voglio dire che un glifo può avere solo un personaggio, ma questo chiaramente non è corretto in quanto vi è un esempio sull'articolo collegato di 3 glifi e set di glifi che sembrano corrispondere a un personaggio e un set di caratteri. Non capisco come possa funzionare: sicuramente ciò significa che ci saranno incoerenze o ambiguità nel modo in cui questi glifi vengono interpretati, variando per interprete? (o varia in base alla lingua o al carattere?)
    • Mentre i browser dei glifi (ad esempio quello in Illustrator) contengono l'intero set di glifi di un font, le mappe dei caratteri (ad esempio la mappa dei caratteri di Windows) contengono solo caratteri, non glifi che sono più caratteri come le legature (qualcosa che non avevo notato prima)

Mi sento come se fossi quasi arrivato ma ho chiaramente frainteso qualcosa da qualche parte lungo la linea: non solo la cosa "Un glifo con più personaggi", ma anche copiare e incollare il comportamento con le legature non è esattamente quello che mi aspettavo:

  • Copia la legatura da Illustrator in questa casella di input: incolla come fi(due caratteri) come previsto.
  • Incolla nel codice HTML per esso ( fi) - viene visualizzato come legatura quando non in un blocco di codice (fi - che in questo font non assomiglia molto a una legatura, ma vedrai uno se provi a selezionare solo la metà di esso) e il codice in un blocco di codice ( fi), come previsto.
  • Copia e incolla la legatura non a blocchi di codice renderizzata nella casella di input: incolla il carattere della legatura e rende la legatura a prescindere dal fatto che sia in un blocco di codice o meno (fi e ). Allo stesso modo le parole che lo contengono: fi t mis fi ts ( fit misfits) incolla come fi t mis fi ts ( fit misfits). Forse dipende dal fatto che il luogo in cui viene incollato comprenda la codifica utilizzata?

Quanto è sbagliato la mia comprensione di questo? Qualcuno può darmi ragione: affermare una chiara definizione della differenza tra glifi e caratteri (se il mio è sbagliato o può essere migliorato) e fornire esempi più chiari / accurati del mio di ciò che ciò significa in pratica ?


2
Diventa molto più complicato quando hai script come l'arabo in cui hai la combinazione di personaggi.
Ripristina Monica - M. Schröder il

1
@ MartinSchröder +1 Sembra la frase iniziale di una risposta eccellente ... :)
user56reinstatemonica8

Risposte:


4

Glifi si riferiscono al modo in cui il testo viene reso, i personaggi a come viene interpretato. Quando si copia e incolla, l'applicazione di origine offre in genere una scelta di diversi formati. Il testo semplice decompone la legatura in f e i, il formato HTML può tradurlo nell'entità char che hai citato o anche scomporlo in f e i.

In generale la relazione tra caratteri e glifi è n: m. Nelle lingue Indici alcuni caratteri si dividono in due glifi che sono posizionati in diversi punti della parola. In latino la situazione più vicina a quella sarebbe rendere é come due glifi (e e ´). In arabo ogni personaggio ha glifi diversi a seconda della sua posizione all'interno di una parola: iniziale, centrale, finale o isolata.

La traduzione da caratteri a glifi è specifica per ogni applicazione e le caratteristiche tipografiche che supporta. Per il testo latino questa traduzione era semplice, ma i caratteri OpenType hanno introdotto funzionalità aggiuntive come legature, barre, forme alternative, maiuscole, ecc.

Per motivi pratici ti preoccupi solo dei glifi quando implementi il ​​modo in cui un'applicazione esegue il rendering del testo, oppure quando disegni un carattere o quando desideri applicare una funzione OpenType che sostituisce alcuni glifi con altri (ad es. Legature). Altrimenti i punti di codice Unicode sono tuoi amici.


Ciao user322483, benvenuto in GDSE e grazie per la tua risposta. In caso di domande, consulta il centro assistenza o esegui il ping di uno di noi in Graphic Design Chat quando la tua reputazione è sufficiente (20). Continua a contribuire e goditi il ​​sito!
Vincent,

1
Scrivi "In arabo ogni personaggio ha glifi diversi a seconda della sua posizione all'interno di una parola: iniziale, centrale, finale o isolata." <--- Non sarebbero personaggi diversi. L'inglese ha A e a, ma nel discorso informatico, A e a sono personaggi diversi. ogni glifo è mappato su un codice diverso. L'ebraico ha chaf e chaf finale (la lettera chaf alla fine di una parola, sembra diversa) e sono sicuro che è definito come un personaggio diverso nell'informatica.
barlop,

14

Non penso che la tua comprensione sia errata, stai solo vedendo sistemi che cercano di aiutare l'utente incollando ciò che pensa di voler. Poiché alcune legature ('fi', 'fl') sono abbastanza comuni al di fuori dei sistemi di composizione, il software riconosce che probabilmente l'utente non ha inserito quel glifo, piuttosto un'altra app ha trasformato i caratteri digitati.

In breve: il carattere si riferisce a un'unità linguistica. Glifo si riferisce a un'istanza progettata di tale unità, che si tratti di una variante maiuscola, minuscola, maiuscola, storica o stilistica.


Nel calcolo, A e a sono personaggi diversi. ASCII ha 128 caratteri e il termine carattere lì include A e a come caratteri distinti.
barlop

Gli ingegneri usano molte parole che non si allineano con i precedenti in altri settori. Il tuo è un buon esempio.
borghese il

chi ha inventato per primo il termine "carattere" e "glifo"? grafici o ingegneri informatici? avrei pensato che i computer fossero venuti prima della progettazione grafica. Ma potrebbe esserci un'industria della stampa che ha preceduto la progettazione grafica e discutibile ha preceduto i computer in qualche modo o ha preceduto i computer moderni. Immagino però che le persone che potrebbero rispondere meglio per quello che ora è il graphic design, sia l'industria della stampa, ma non c'è scambio di stack nell'industria della stampa. Ma sarebbe interessante sapere chi ha preso in prestito da chi e in che modo il termine Personaggio.
barlop

1
La tipografia è arrivata molto prima dell'ingegneria del software. Si prega di postare qui se intraprendi la ricerca e trovi le origini. La mia ipotesi è che sarà nel 17 ° secolo. Forse già dai primi tipografi a metà del XVI secolo.
borghese,

6

Ci sono un paio di risposte qui che danno buone informazioni su glifi vs personaggi, ma in realtà non affrontano la fonte della tua confusione riguardo alla copia e all'incollaggio.

Prima di tutto, la tua comprensione è fondamentalmente corretta:

I personaggi sono definiti dal loro significato nel linguaggio, glifi, dal loro aspetto . Quindi, la legatura per combinare esteticamente fi è un glifo, ma due caratteri.

Vale la pena sottolineare che l'elenco dei caratteri è definito dallo standard Unicode, pubblicato dall'Unicode Consortium, in quanto sono l'autorità per la codifica del testo in un formato leggibile dalla macchina. La definizione sopra è essenzialmente la linea guida primaria che i membri del Consorzio Unicode usano per determinare se qualche aggiunta proposta a Unicode sia o meno un carattere e quindi degno di inclusione, o un glifo e debba essere gestito dai renderer di font.

Ne parlo perché la confusione che hai provato sopra era dovuta al fatto che in Unicode esistono diversi caratteri di legatura (non glifi ). Ad esempio, U+FB01è il personaggio della legatura: http://unicode.org/charts/PDF/UFB00.pdf

Avere caratteri di legatura in Unicode non è proprio nello spirito della definizione sopra per quali tipi di cose dovrebbero essere inclusi nello standard Unicode come personaggi, poiché le legature non hanno davvero un significato indipendente dalla composizione di altri due caratteri. Le persone Unicode ne sono naturalmente consapevoli e le FAQ Unicode sulle legature ammettono altrettanto:

Le legature esistenti esistono essenzialmente per compatibilità e round-trip con set di caratteri non Unicode. Il loro uso è scoraggiato.

L'esistenza di questo personaggio è in definitiva la fonte della tua confusione.

Nel software correttamente implementato, la copia del testo dovrebbe sempre copiare i caratteri specificati, non i glifi , ed è esattamente quello che sta succedendo nei tuoi tre esempi.

1) Nel primo esempio, hai digitato fe iin Illustrator, che ha reso un unico glifo della legatura . Quando hai selezionato e copiato quel glifo renderizzato, Illustrator ha copiato correttamente i caratteri f( U+0066) e i( U+0069) negli appunti.

2) Nel secondo esempio, hai digitato il codice HTML per il carattere della legatura ( &#64257) nella casella di input e hai ottenuto correttamente il glifo della legatura che rappresenta il carattere della legatura (. Poiché il carattere sottostante è in realtà il carattere di legatura oscuro e relativamente inutile che ho citato sopra, selezionando quel glifo copierà un singolo carattere U+FB01.

3) Nel terzo esempio, stai copiando il carattere di legatura reso U+FB01che è stato reso nella parte 2, che verrà sempre incollato come quel personaggio. La tua principale confusione sembra riguardare la differenza tra codici entità e caratteri HTML, in particolare per quanto riguarda il modo in cui vengono visualizzati dentro e fuori i blocchi di codice.

Il codice entità HTML &#64257;è una stringa di 8 caratteri distinti. Il renderer HTML del tuo browser web sostituisce quegli 8 caratteri U+0026 U+0023 U+0036 U+0032 U+0035 U+0037 U+0023con il singolo carattere Unicode U+FB01, che quindi esegue il rendering in modo appropriato. Tuttavia, il <code>tag in HTML disabilita questo comportamento, lasciando quegli 8 caratteri così come sono.

Quando copi da HTML renderizzato, copi i caratteri renderizzati (che sono diversi dai glifi renderizzati ). Pertanto, quando copi l'entità HTML renderizzata, il singolo U+FB01carattere viene copiato negli appunti.

Quando si incolla U+FB01nuovamente il carattere nell'HTML, non è necessario effettuare alcuna sostituzione, il che significa che il carattere viene visualizzato come una legatura indipendentemente dal fatto che rientri o meno in un <code>blocco.


1

I personaggi sono ciò che viene archiviato in file di testo, elaborato da applicazioni e spostato, mentre i glifi è la loro rappresentazione visiva.

Per avere un'immagine chiara, vediamo cosa succede quando un'applicazione tenta di eseguire il rendering di una stringa di testo sullo schermo (in modo leggermente semplificato):

  • L'applicazione legge prima la stringa di testo, ovvero la stringa di caratteri archiviata sul disco o in memoria.
  • Lo invierebbe quindi a un motore di layout del testo, tra le altre proprietà come il carattere desiderato, la lingua del testo e così via:
    • Il motore di layout del testo fondamentalmente apre il file del font, gli chiede il glifo corrispondente a ciascun carattere e fa una certa sostituzione del glifo (come sostituire il glifo con fe icon il glifo della legatura di fi) e il posizionamento (come la crenatura).
    • Alla fine il motore di layout ha una sequenza di glifi, le loro posizioni l'una rispetto all'altra e una mappatura tra caratteri di input e glifi di output. Il carattere da mappare glifi è tale che sa che i primi due caratteri nella parola filecorrispondono a due il primo glifo (la filegatura), il 3o carattere al 2o glifo e il 4o carattere al 3o glifo.
  • Una libreria di rendering grafico viene quindi utilizzata per "disegnare" quei glifi sullo schermo usando le forme del font.
  • Quando l'utente seleziona "glifi" sullo schermo, l'applicazione consulterà quindi il glifo sulla mappatura del testo fornita dal motore di layout per trovare quale parte del testo di input corrisponde a ciò che l'utente sta selezionando e inviare quel testo agli appunti quando il l'utente lo copia.
  • Lo stesso accade quando l'utente inserisce il cursore nel mezzo del testo e inizia a digitare, la mappatura determina dove nel testo di input inserire i nuovi caratteri e il testo di aggiornamento viene inviato al motore di layout per l'elaborazione, il ridisegno e così via.
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.