In che modo MS Word esegue il rendering di caratteri diversi?

-1

Il mio obiettivo principale è descritto qui .

In che modo Microsoft Word o Wordpad o altri software di modifica delle parole possono restituire caratteri quando questi tipi di caratteri sembrano non seguire le stesse regole?

Come vengono visualizzati glifi dei caratteri in base ai caratteri adiacenti (o talvolta anche più vicini)?

Ad esempio, guarda questo tipo di carattere (è gratuito). aprendolo usando font forge ho appreso che i codici da U + FE00 a U + FE87 sono assegnati ai glifi che fanno non rappresentano quei caratteri di punti codice. ancora quando digiti Word usando quel font e inserisci le sequenze di tasti per quei glifi, i glifi vengono renderizzati correttamente.

Note: These glyph represent characters that do not have specific keys on keyboard, but are different forms of other characters. for example "ﻟ" is initial form of "ل" so Word must have some instruction(built-in instructions or instructions stored in font file) to render the desired form instead of isolated form.

Un altro esempio è il carattere IranNastaliq (anche gratuito) che è un font molto popolare in farsi e il suo output è come la calligrafia fatta in farsi. quindi ha molti glifi per la combinazione di caratteri, ecc.

  1. In che modo vengono visualizzati da Word?
  2. Come posso imitarlo?
  3. Come posso leggere le istruzioni (se ce ne sono) all'interno del file font?
posta HKhoshdel 08.08.2018 - 08:26
fonte

2 risposte

0

Grazie alla risposta di Joeri ho scoperto che, insieme a molte altre cose, c'è una tabella in caratteri ttf chiamata GSUB. Nella tabella GSUB ci sono più sotto-tabelle. Queste tabelle forniscono informazioni a software come word in modo che possano scegliere i glifi appropriati a seconda di dove si trova il carattere nella parola e quale altro carattere è adiacente ad esso e così via.

Per l'utilizzo di questa tabella non sono riuscito a trovare un modo semplice, quindi ho usato fonttools per convertire i dati ttf in formato xml. all'interno dell'XML puoi vedere che la tabella GSUB ha alcune tabelle di ricerca. Per me i più interessanti sono quelli che corrispondono ai caratteri iniziali, mediali, finali e isolati (rispettivamente "init", "medi", "fina" e "isol"). Usandoli sono stato in grado di determinare il codice corretto del glifo desiderato. Sebbene il problema con i caratteri come W_japan sia stato risolto, per i caratteri come IranNastaliq ci sono molti dettagli (circa 300 sottotabella) per i quali è molto difficile.

    
risposta data 15.08.2018 - 14:49
fonte
2

Quei punti di codice sono sequenze di variazione , che combinano i segni che usi per selezionare la variante visiva del codice precedente punto, in modo che un singolo punto di codice possa avere più rappresentazioni visive. Questo è simile ai segni diacritici, ma invece di eseguire il rendering sopra al glifo del punto di codice precedente, specificano un glifo o una rappresentazione visiva diversi.

Il rendering di unicode è specificato nello standard unicode. Tutti i sistemi operativi o sistemi di rendering che implementano lo standard Unicode possono eseguire il rendering delle sequenze.

Nelle sequenze di variazioni dei caratteri sono supportate dalle tabelle di mappatura , che specificano come per mappare determinate sequenze di punti di codice agli indici all'interno della tabella dei caratteri dei glifi.

    
risposta data 08.08.2018 - 09:35
fonte

Leggi altre domande sui tag