# OpenType

OpenType è un formato di carattere tipografico vettoriale per computer, sviluppato da Microsoft Corporation e successivamente anche da Adobe. Il primo annuncio di questo formato comparve nel 1996 e il primo rilascio di un numero significativo di font si ebbe nel 2000-2001. Adobe ha completato la conversione della sua intera libreria di font in OpenType all'incirca alla fine del 2002.
OpenType è stato concepito dalle società Microsoft e Adobe quale successore dei loro preesistenti formati di carattere tipografico e che, sino ad allora, si contendevano i favori del mercato: TrueType (sviluppato dalla Apple e dalla Microsoft) e PostScript Type 1 (creato dalla Adobe). Essenzialmente, il nuovo formato si basa sulla struttura generale sfnt di un font TrueType, ma permette di avere sia i profili TrueType che quelli PostScript (sebbene siano contenuti nel formato CFF/Type 2).
OpenType ha molte caratteristiche rilevanti:
* la codifica del font è basata su Unicode e quindi si può utilizzare il font per qualsiasi lingua o per più lingue allo stesso tempo;
* i documenti che utilizzano questi font sono indipendenti dalla piattaforma (cross-platform) e possono essere utilizzati su sistemi Linux, Macintosh, Windows, Android, ecc.;
* ogni font OpenType può avere fino a 65536 glifi;
* i font possono contenere caratteristiche tipografiche avanzate, che permettono un corretto trattamento tipografico dei linguaggi complessi che non utilizzano i caratteri romani. Mentre per le lingue con alfabeti romani si possono ottenere effetti tipografici avanzati.
OpenType non è il primo tentativo di risolvere parte di questi problemi. Il formato di font GX Typography, di proprietà della Apple, assolve a questi stessi compiti ed esiste tuttora come Apple Advanced Typography o AAT. Comunque, OpenType ha avuto un successo commerciale maggiore rispetto a GX/AAT.

## Storia

Le origini di OpenType risalgono al tentativo di Microsoft di concedere in licenza la tecnologia di tipografia avanzata di Apple GX Typography all'inizio degli anni '90. Quei negoziati fallirono, motivando Microsoft ad andare avanti con la propria tecnologia, soprannominata "TrueType Open" nel 1994. Adobe si unì a Microsoft in questi sforzi nel 1996, aggiungendo il supporto per la tecnologia di struttura del glifo usata nei suoi font Type 1.
Microsoft e Adobe intendevano che questi sforzi sostituissero i formati di font TrueType di Apple e Type 1 (" PostScript ") di Adobe. Avendo bisogno di un formato di carattere più espressivo per gestire la tipografia fine e il comportamento complesso di molti dei sistemi di scrittura del mondo, le due società hanno combinato le tecnologie sottostanti di entrambi i formati e aggiunto nuove estensioni intese ad affrontare i limiti di tali formati. Il nome OpenType è stato scelto per le tecnologie combinate e la tecnologia è stata annunciata nello stesso anno.

### Open Font Format

Adobe e Microsoft hanno continuato a sviluppare e perfezionare OpenType nel decennio successivo. Poi, alla fine del 2005, OpenType ha iniziato la migrazione a uno standard aperto nell'ambito dell'International Organization for Standardization (ISO) all'interno del gruppo MPEG, che in precedenza (nel 2003) aveva adottato OpenType 1.4 come riferimento per MPEG-4. L'adozione del nuovo standard ha raggiunto l'approvazione formale nel marzo 2007 come standard ISO / IEC 14496-22 (MPEG-4 Part 22) denominato Open Font Format (OFF, da non confondere con Web Open Font Format). A volte è indicato anche come "Open Font Format Specification" (OFFS). Lo standard iniziale era tecnicamente equivalente alla specifica OpenType 1.4, con modifiche linguistiche appropriate per ISO. La seconda edizione di Open Font Format è stata pubblicata nel 2009 (ISO / IEC 14496-22: 2009) ed è stata dichiarata "tecnicamente equivalente" alla "specifica del formato di font OpenType". Da allora, il formato Open Font e la specifica OpenType hanno continuato a essere mantenuti sincronizzati. OFF è uno standard gratuito e pubblicamente disponibile.
Nel 2001 centinaia di caratteri OpenType erano sul mercato. Adobe ha terminato la conversione dell'intera libreria di font in OpenType verso la fine del 2002. All'inizio del 2005, erano disponibili circa 10.000 font OpenType, con la libreria Adobe che comprendeva circa un terzo del totale.

### Sequenze di variazioni Unicode

Unicode versione 3.2 (pubblicata nel 2002) ha introdotto i selettori di variazione come meccanismo di codifica per rappresentare particolari forme di glifo per i caratteri. Unicode, tuttavia, non ha specificato come le implementazioni di visualizzazione del testo dovrebbero supportare queste sequenze. Alla fine del 2007, le sequenze di variazioni per la raccolta Adobe-Japan1 sono state registrate nell'Unicode Ideographic Database portando alla reale necessità di una soluzione OpenType. Ciò ha portato allo sviluppo del formato sottotabella cmap 14, introdotto nella versione 1.5 di OpenType.

### Caratteri colorati

Unicode versione 6.0 ha introdotto le emoji codificate come caratteri in Unicode nell'ottobre 2010. Diverse aziende sono intervenute rapidamente per aggiungere il supporto per le emoji Unicode nei loro prodotti. Poiché le emoji Unicode sono gestite come testo e poiché il colore è un aspetto essenziale dell'esperienza emoji, ciò ha portato alla necessità di creare meccanismi per la visualizzazione di glifi multicolori.
Apple, Google e Microsoft hanno sviluppato in modo indipendente diverse soluzioni di font a colori da utilizzare in OS X / iOS, Android e Windows. OpenType / OFF aveva già il supporto per glifi bitmap monocromatici, quindi Google ha proposto di estendere OFF per consentire bitmap a colori. Questo è stato l'approccio adottato da Apple, anche se Apple ha rifiutato di partecipare all'estensione dello standard ISO. Di conseguenza, Apple ha aggiunto la tabella "sbix" al formato TrueType in OS X 10.7, mentre Google ha proposto l'aggiunta delle tabelle CBDT e CBLC su OFF.
Microsoft ha adottato un approccio diverso rispetto alle bitmap a colori. Notando la pratica esistente sul Web di stratificare glifi di colore diverso uno sopra l'altro per creare elementi multicolori come le icone, Microsoft ha proposto una nuova tabella COLR per mappare un glifo in un set di glifi che sono stratificati e una tabella CPAL per definire i colori.
Adobe ha proposto un altro approccio: aggiungere una nuova tabella "SVG" che può contenere glifi multicolori rappresentati utilizzando la grafica vettoriale scalabile.
Le proposte di Adobe, Microsoft e Google sono state tutte incorporate nella terza edizione di OFF (ISO / IEC 14496-22: 2015). Le nuove tabelle — CBDT, CBLC, COLR, CPAL, SVG — sono state aggiunte alla versione 1.7 di OpenType.
Mentre Microsoft originariamente supportava solo il formato di colore COLR / CPAL, il supporto per tutti i diversi formati di colore, incluso il formato "sbix" di Apple, è stato aggiunto a Microsoft Windows nell'aggiornamento dell'anniversario di Windows 10. La tabella "sbix" è stata successivamente aggiunta a OpenType nella versione 1.8.

### Collezioni OpenType

Almeno dalla versione 1.4, la specifica OpenType supportava le "Collezioni TrueType", una caratteristica del formato che consente di memorizzare più caratteri in un unico file. Un tale formato è utile per distribuire un intero carattere tipografico (famiglia di caratteri) in un solo file.
Combinando i caratteri correlati in un unico file, le tabelle dei caratteri identiche possono essere condivise, consentendo così un'archiviazione più efficiente. Inoltre, i singoli caratteri hanno un limite di numero di glifi di 65.535 glifi e un file Collection fornisce un meccanismo di "modalità gap" per superare questo limite in un singolo file di caratteri. (Tuttavia, ogni carattere all'interno della raccolta ha ancora il limite di 65.535). Un file di raccolta TrueType normalmente ha un'estensione di file ".ttc".
Tuttavia, la specifica descriveva solo i file di raccolta utilizzati insieme ai glifi rappresentati come contorni TrueType o come bitmap. Esisteva il potenziale per fornire gli stessi vantaggi di archiviazione e conteggio deglifi ai caratteri che utilizzano glifi in formato CFF (estensione.otf). Ma le specifiche non lo consentivano esplicitamente.
Nel 2014, Adobe ha annunciato la creazione di OpenType Collections (OTC), un file di font Collection che combina font che utilizzano glifi in formato CFF. Ciò ha fornito notevoli vantaggi di archiviazione per i caratteri CJK che Adobe e Google stavano sviluppando congiuntamente. Ad esempio, i caratteri Noto CJK OTC sono circa 10 MB più piccoli della somma dei quattro OTF separati di cui è composto. L'uso di una raccolta consentiva anche di combinare un numero molto elevato di glifi in un singolo file, come sarebbe necessario per un carattere pan-CJK.
Il supporto esplicito per le raccolte con glifi in formato CFF è stato incorporato nella specifica OpenType nella versione 1.8. Per riflettere questa applicabilità più inclusiva, è stato adottato il termine "OpenType Collection", che sostituisce "TrueType Collection".

### Variazioni dei caratteri OpenType

Il 14 settembre 2016, Microsoft ha annunciato il rilascio di OpenType versione 1.8. Questo annuncio è stato fatto insieme ad Adobe, Apple e Google alla conferenza ATypI a Varsavia. OpenType versione 1.8 ha introdotto "OpenType Font Variations", che aggiunge meccanismi che consentono a un singolo font di supportare molte variazioni di design. I caratteri che utilizzano questi meccanismi sono comunemente chiamati "caratteri variabili OpenType ".
OpenType Font Variations reintroduce le tecniche precedentemente sviluppate da Apple in TrueType GX e da Adobe nei font Multiple Master. L'idea comune di questi formati è che un singolo carattere include dati per descrivere più varianti di un contorno di glifo (a volte indicato come "master") e che al momento della visualizzazione del testo, il rasterizzatore del carattere è in grado di interpolare o "fondere" queste variazioni per derivare una gamma continua di variazioni aggiuntive del profilo.
Il concetto di font completamente parametrici era stato esplorato in modo più generale da Donald E. Knuth nel sistema METAFONT, introdotto nel 1978. Quel sistema e i suoi successori non furono mai ampiamente adottati da progettisti di caratteri professionisti o sistemi software commerciali. I formati TrueType GX e Multiple Master, i predecessori diretti di OpenType Font Variations, furono introdotti negli anni '90, ma non furono neanche ampiamente adottati. Adobe ha successivamente abbandonato il supporto per il formato Multiple Master. Ciò ha portato a chiedersi se una reintroduzione di una tecnologia simile potrebbe avere successo. Nel 2016, tuttavia, il panorama del settore è cambiato sotto diversi aspetti. In particolare, l'emergere di caratteri Web e di dispositivi mobili aveva creato interesse per il responsive design e nella ricerca di modi per fornire più varianti di tipo in un formato efficiente in termini di dimensioni.
"Font Variations" è integrato in OpenType 1.8 in modo completo, consentendo di utilizzare la maggior parte delle funzionalità esistenti in precedenza in combinazione con le variazioni. In particolare, le variazioni sono supportate sia per i contorni dei glifi TrueType o CFF, per i suggerimenti TrueType e anche per i meccanismi di layout OpenType. Le uniche parti di OpenType per le quali le variazioni non sono supportate ma potrebbero essere potenzialmente utili sono la tabella SVG per i glifi dei colori e la tabella MATH per il layout delle formule matematiche. OpenType 1.8 utilizzava tabelle originariamente definite da Apple per TrueType GX (le tabelle avar, cvar, fvar e gvar). Ha inoltre introdotto diverse nuove tabelle, inclusa una nuova tabella per la versione 2 del formato CFF (CFF2) e altre nuove tabelle o aggiunte a tabelle esistenti per integrare variazioni in altre parti del formato del carattere (HVAR, MVAR, Tabelle STAT e VVAR; aggiunte alle tabelle BASE, GDEF e dei nomi).

## Descrizione

OpenType utilizza la struttura sfnt generale di un font TrueType, ma aggiunge diverse opzioni smartfont che migliorano le capacità tipografiche e di supporto della lingua del font.
* I contorni TrueType utilizzano curve di Bézier quadratiche.
* I contorni CFF utilizzano curve di Bézier cubiche.
I dati della struttura del glifo in un carattere OpenType possono essere in uno dei due formati: contorni in formato TrueType in una tabella "glyf" o contorni in formato Compact Font Format (CFF) in una tabella "CFF". (Il nome della tabella "CFF" è lungo quattro caratteri e termina con uno spazio.) I dati della struttura CFF si basano sul formato del carattere Tipo 2 del linguaggio PostScript. Tuttavia, la specifica OpenType (precedente alla 1.8) non supporta l'utilizzo di profili PostScript in un file di font TrueType Collection. Dopo la versione 1.8, entrambi i formati sono supportati nella rinominata "OpenType Collection".
Per molti scopi, come il layout, non importa quale sia il formato dei dati della struttura, ma per alcuni scopi, come la rasterizzazione, è significativo. Lo standard OpenType non specifica il formato dei dati di struttura: piuttosto, si adatta a uno qualsiasi dei numerosi standard esistenti. A volte termini come "OpenType (PostScript flavour)" (= "Type 1 OpenType", "OpenType CFF") o "OpenType (TrueType flavour)" vengono utilizzati per indicare il formato di struttura contenuto in un particolare file di font OpenType.
OpenType ha diverse caratteristiche distintive:
* Ospita la codifica dei caratteri Unicode (così come altre), in modo che possa supportare qualsiasi script di scrittura (o più script contemporaneamente).
* Può contenere fino a 65.536 glifi.
* Funzionalità di "layout" tipografiche avanzate che prescrivono il posizionamento e la sostituzione dei glifi renderizzati. Le caratteristiche di sostituzione includono le legature; le funzioni di posizionamento includono crenatura, posizionamento dei segni e specifica della linea di base.
* File di font multipiattaforma, che possono essere utilizzati senza modifiche su sistemi Mac OS, Microsoft Windows e Unix / Linux.
* Se non vengono aggiunti glifi aggiuntivi o funzionalità tipografiche estese, i caratteri OpenType CFF possono essere notevolmente più piccoli delle loro controparti di tipo 1.

### Tipografia avanzata

Il supporto tipografico avanzato per i linguaggi di scrittura latina è apparso per la prima volta in applicazioni Adobe come Adobe InDesign, Adobe Photoshop e Adobe Illustrator. QuarkXPress 6.5 e versioni precedenti non erano compatibili con Unicode. Quindi il testo in queste versioni di QuarkXPress che contiene qualcosa di diverso dai caratteri WinANSI / MacRoman non verrà visualizzato correttamente in un font OpenType (né in altri formati di font Unicode, se è per questo). Tuttavia, in QuarkXPress 7, Quark offriva un supporto simile a quello di Adobe. CorelDRAW di Corel ha introdotto il supporto per le funzionalità tipografiche OpenType nella versione X6. Mellel, un word processor Mac OS X di Redlers, rivendica la parità nelle caratteristiche tipografiche con InDesign, ma estende anche il supporto agli script da destra a sinistra; così fa il Classical Text Editor, un word processor specializzato sviluppato presso l'Accademia austriaca delle scienze.
A partire dal 2009, i più diffusi elaboratori di testi per Microsoft Windows non supportavano le funzionalità di tipografia OpenType avanzate. Le funzionalità di tipografia avanzate sono implementate solo nel software di desktop publishing di fascia alta. Il motore di testo di Windows Presentation Foundation, che è un'implementazione di codice gestito di OpenType, è la prima API di Microsoft Windows a esporre le funzionalità OpenType agli sviluppatori di software, supportando i caratteri OpenType TrueType e OpenType CFF (Compact Font Format). Supporta funzionalità tipografiche avanzate come legature, numeri vecchio stile, varianti swash, frazioni, apice e pedice, lettere maiuscole, sostituzione dei glifi, linee di base multiple, forme di caratteri alternative contestuali e stilistiche, crenatura, giustificazione a livello di riga, caratteri ruby ecc. applicazioni WPF ottengono automaticamente il supporto per le funzioni tipografiche avanzate. Le legature OpenType sono accessibili in Microsoft Office Word 2010.
Windows 7 ha introdotto DirectWrite, un'API DirectX nativa con accelerazione hardware per il rendering del testo con supporto per testo multiformato, caratteri di contorno indipendenti dalla risoluzione, ClearType, funzionalità tipografiche OpenType avanzate, testo Unicode completo, supporto di layout e lingua e API di rendering di glifi di basso livello.
Su Mac OS X, le applicazioni che supportano AAT in esecuzione su Mac OS X 10.4 e versioni successive, inclusi TextEdit e Keynote, ottengono un notevole supporto OpenType. Il supporto di Apple per OpenType in Mac OS X 10.4 includeva le funzionalità tipografiche più avanzate necessarie per i linguaggi di scrittura latina, come maiuscoletto, figure in vecchio stile e vari tipi di legature, ma non supportava ancora le alternative contestuali, le forme posizionali né il riordino dei glifi come gestito dalla libreria Uniscribe di Microsoft su Windows. Pertanto, Mac OS X 10.4 non offriva il supporto per gli script arabi o indiani tramite OpenType (sebbene tali script siano completamente supportati dai caratteri AAT esistenti). Mac OS X 10.5ha migliorato il supporto per OpenType e supporta i caratteri OpenType arabi. Gradualmente, il supporto della tipografia OpenType è migliorato sulle versioni più recenti di Mac OS X (ad esempio, Mac OS X 10.10 può gestire sostituzioni di glifi contestuali molto migliori).
Bitstream Panorama, un motore di layout di riga e composizione di testo di Bitstream Inc., fornisce supporto OpenType completo per caratteri asiatici compatti e standard, arabo, ebraico, indiano, tailandese e oltre 50 altre lingue in tutto il mondo. L'applicazione supporta le tabelle OpenType chiave necessarie per il layout di linea, come BASE, definizione dei glifi (GDEF), posizionamento dei glifi (GPOS) e sostituzione dei glifi (GSUB). Panorama offre anche un supporto completo per funzioni tipografiche avanzate, come legature, ornati, maiuscoletto, ornamenti, ordinali, superiori, vecchio stile, crenatura, frazioni, ecc.
Negli ambienti di software libero come Linux, il rendering OpenType è fornito dal progetto FreeType, incluso nelle implementazioni gratuite del sistema X Window come X.org. La gestione complessa del testo è fornita da pango (chiamando HarfBuzz) o da Qt. I sistemi XeTeX e LuaTeX consentono ai documenti TeX di utilizzare i caratteri OpenType, insieme alla maggior parte delle loro caratteristiche tipografiche. La versione Linux di LibreOffice 4.1 e successive supporta molte funzionalità tipografiche OpenType, poiché ha iniziato a utilizzare la libreria di modellazione del testo HarfBuzz più sofisticata.

## OpenType Feature File

Come passaggio nella creazione di un carattere, le proprietà del carattere OpenType (diverse dal contorno) possono essere definite utilizzando testo leggibile dall'uomo salvato nel formato OpenType Feature File di Adobe. I file Feature OpenType hanno generalmente un nome che termina con un'estensione fea. Questi file possono essere compilati nel contenitore di caratteri binari (.ttfo.otf) utilizzando Adobe Font Development Kit per OpenType (AFDKO), FontLab, FontForge, Glyphs, DTL OTMaster, RoboFont e FontTools.

## Layout tag

I tag OpenType Layout sono stringhe di caratteri a 4 byte che identificano gli script, i sistemi linguistici, le caratteristiche e le linee di base in un font OpenType Layout. Il registro dei tag Layout di Microsoft stabilisce le convenzioni per la denominazione e l'utilizzo di questi tag. Le feature OpenType vengono create utilizzando i tag nella creazione di script di feature che descrivono come i caratteri devono essere manipolati per creare la feature desiderata. Questi script di funzionalità possono essere creati e incorporati nei caratteri OpenType da editor di caratteri avanzati come FontLab Studio, AsiaFont Studio e FontForge.
Il supporto del sistema operativo e dell'applicazione per i tag di layout varia notevolmente.

### Tag script

I tag di script identificano gli script (sistemi di scrittura) rappresentati in un carattere OpenType. Ogni tag corrisponde a intervalli di codici di caratteri contigui in Unicode. Un tag script può essere composto da 4 o meno lettere minuscole, ad esempio arabper l'alfabeto arabo, cyrlper l'alfabeto cirillico e latnper l'alfabeto latino. Il tag script math, aggiunto da Microsoft per Cambria Math, è stato aggiunto alla specifica.

### Tag del sistema linguistico

I tag del sistema linguistico identificano i sistemi linguistici supportati in un carattere OpenType. Gli esempi includono ARAper l'arabo, ESPper la spagnola, HYEper armeno, ecc In generale, i codici non sono gli stessi ISO 639-2 codici.

### Feature tags

Viene fornito un elenco di funzionalità OpenType con descrizioni estese di funzionalità tipografiche.

### Tag di base

I tag della linea di base hanno un significato specifico quando vengono utilizzati nella direzione di scrittura orizzontale (utilizzata nella tabella HorizAxis della tabella "BASE"), nella direzione di scrittura verticale (utilizzata nella tabella VertAxis della tabella "BASE") o in entrambe.
Tag e assi della linea di base nei caratteri OpenType :
| Tag di base | HorizAxis | VertAxis |
| 'hang' | linea orizzontale da cui i sillabogrammi sembrano pendere nella scrittura tibetana | La stessa linea in modalità di scrittura verticale tibetana. |
| 'icfb' | Linea di base del bordo inferiore della faccia del carattere ideografico. | Carattere ideografico rivolto verso il bordo sinistro della linea di base. |
| 'icft' | Linea di base del bordo superiore della faccia del carattere ideografico. | Carattere ideografico rivolto verso il bordo destro della linea di base. |
| 'ideo' | Linea di base ideografica del bordo inferiore della casella em. | Linea di base ideografica del bordo sinistro della casella em. |
| 'idtp' | Linea di base ideografica del bordo superiore della casella em. | Linea di base ideografica del bordo destro della casella em. |
| 'math' | La linea di base su cui sono centrati i caratteri matematici. | La linea di base su cui i caratteri matematici sono centrati in modalità di scrittura verticale. |
| 'romn' | La linea di base utilizzata da semplici alfabeti come latino, cirillico e greco. | La linea di base alfabetica per i caratteri ruotati di 90 gradi in senso orario per la modalità di scrittura verticale. |

### Matematica

Una serie di tabelle che rispecchiano relativamente da vicino le metriche dei caratteri matematici TeX è stata aggiunta da Microsoft inizialmente a Cambria Math per supportare il loro nuovo motore di editing e rendering matematico in Office 2007 e versioni successive. Questa estensione è stata aggiunta allo standard ISO (ISO / IEC CD 14496-22 terza edizione) nell'aprile 2014. Ulteriori dettagli (sull'utilizzo) sono disponibili nel rapporto tecnico Unicode 25 e nota 28. Alcune delle nuove caratteristiche tecniche (non presenti in TeX), come "cut-in" (che consente la crenatura di pedici e apici rispetto alle loro basi) e stretch stack sono stati brevettati da Microsoft. Windows 8 supporta la matematica OpenType al di fuori delle applicazioni di MS Office tramite il componente RichEdit 8.0.
Oltre ai prodotti Microsoft, XeTeX e LuaTeX hanno anche un certo livello di supporto per queste tabelle; il supporto è più limitato in XeTeX perché utilizza il tradizionale motore di rendering matematico TeX (quindi non può utilizzare completamente alcune delle nuove funzionalità nella matematica OpenType che estendono TeX), mentre LuaTeX adotta un approccio più flessibile cambiando alcuni degli interni della matematica di TeX rendering; nelle parole di Ulrik Vieth (2009): "Più precisamente, mentre XeTeX fornisce solo l'accesso ai parametri OpenType come \ fontdimens aggiuntivi, LuaTeX utilizza una struttura dati interna basata sul set combinato di parametri OpenType e TeX, rendendo possibile fornire valori mancanti che non sono supportati né nei caratteri matematici OpenType né nei caratteri matematici TeX tradizionali." Nel 2013, XeTeX ha anche ottenuto il supporto per i cut-in.
Il motore di rendering Gecko utilizzato dal browser web Firefox supporta anche alcune caratteristiche matematiche OpenType nella sua implementazione MathML.
A partire dal 2010, il set di caratteri che supportava la matematica OpenType era piuttosto limitato. Oltre a Cambria Math, erano disponibili tre font gratuiti: Asana-Math, Neo Euler e XITS. Più recentemente i font Latin Modern e TeX Gyre (una " LM-ization " dei font PostScript standard) hanno anche guadagnato il supporto per la matematica OpenType. Nel 2014 il numero di caratteri matematici OpenType è ancora piuttosto limitato. Un elenco più aggiornato è mantenuto sul sito web di Mozilla.

### Colore

L'emergere di emoji Unicode ha creato la necessità di formati TrueType e OpenType per supportare i glifi dei colori. Apple ha aggiunto un'estensione di colore in Mac OS X Lion (e anche in iOS 4+). I caratteri sono stati estesi con immagini PNG colorate all'interno della tabella sbix. Google ha utilizzato un'estensione simile con immagini bitmap a colori incorporate contenute in una coppia di tabelle, le tabelle CBDT e CBLC. La versione di Google è implementata in FreeType 2.5.
In Windows 8.1 Microsoft ha anche aggiunto il supporto del colore ai caratteri, implementato per la prima volta nel carattere Emoji dell'interfaccia utente Segoe. L'implementazione di Microsoft, tuttavia, si basa interamente sulla grafica vettoriale: due nuove tabelle OpenType sono state aggiunte nell'implementazione di Microsoft: la tabella COLR consente glifi stratificati e il CPAL ("Tavolozza dei colori") definisce effettivamente i colori per i livelli. L'approccio multistrato consente un'implementazione compatibile con le versioni precedenti oltre a variare il rendering a seconda del contesto del colore che circonda i glifi. Secondo Adam Twardoch: "Al TypeCon [2013], Greg Hitchcock ha chiarito i ruoli previsti delle tavolozze: la prima tavolozza viene utilizzata per impostazione predefinita per le situazioni di colore "scuro su chiaro", mentre la seconda tavolozza è destinata all'uso in situazioni "chiaro su scuro". Tavolozze aggiuntive dovrebbero essere selezionabili dall'utente."
Mozilla e Adobe hanno sviluppato una diversa estensione basata su vettori aggiungendo documenti SVG incorporati (che supportano il colore ma anche le animazioni) nella tabella SVG. La tabella SVG consentiva anche di utilizzare le tavolozze dei colori definite nella tabella CPAL. Il supporto è stato implementato per la prima volta in Firefox 26.
Adobe, Mozilla, Google e Microsoft hanno presentato ciascuna le proprie estensioni di colore per la standardizzazione secondo ISO / IEC 14496-22. Le nuove tabelle per ognuna di queste sono state poi aggiunte in OpenType versione 1.7. La tabella sbix di Apple era originariamente supportata solo nei caratteri AAT, ma è stata successivamente aggiunta nella versione 1.8 di OpenType. Microsoft Windows 10 Anniversary Update è stato il primo sistema operativo a supportare tutte e quattro le estensioni dei caratteri a colori e Microsoft Edge è stato il primo browser a farlo.
In OpenType versione 1.8.3, la specifica per la tabella SVG è stata rivista per essere più vincolata, fornendo maggiore chiarezza per le implementazioni e una migliore interoperabilità. Apple supporta le specifiche riviste in Safari 12, iOS12 e macOS 10.14. Anche l'implementazione in Microsoft Windows è conforme a questa revisione.

## SING gaiji solution

Nel 2005, Adobe ha distribuito una nuova tecnologia nel pacchetto di applicazioni Creative Suite che offre una soluzione per " gaiji " (外 字, giapponese per "carattere esterno"). Gli script di scrittura ideografica come il cinese e il giapponese non hanno raccolte fisse di caratteri. Usano comunemente migliaia di glifi e decine di migliaia meno comunemente. Non tutti i glifi mai inventati e usati nella letteratura dell'Asia orientale sono stati addirittura catalogati. Un tipo di carattere tipico potrebbe contenere da 8.000 a 15.000 glifi più comunemente usati. Di tanto in tanto, però, un autore ha bisogno di un glifo non presente nel carattere scelto. Questi personaggi scomparsi sono conosciuti in Giappone come gaiji e spesso interrompono il lavoro.
Un altro aspetto del problema del gaiji è quello dei glifi varianti per certi personaggi. Spesso alcuni caratteri sono stati scritti in modo diverso nel corso del tempo. Non è insolito per toponimi o cognomi personali utilizzare una forma storica di un personaggio. Pertanto è possibile che un utente finale che utilizza caratteri standard non sia in grado di scrivere correttamente il proprio nome o il nome del luogo in cui vive.
Sono stati escogitati diversi modi per affrontare il gaiji. Le soluzioni che li trattano come caratteri di solito assegnano loro valori Unicode arbitrari nelle aree di utilizzo privato (PUA). Tali caratteri non possono essere utilizzati al di fuori dell'ambiente in cui è nota l'associazione dell'Unicode privato alla forma del glifo. I documenti basati su di essi non sono portabili. Altre installazioni trattano gaiji come grafica. Questo può essere complicato perché il layout e la composizione del testo non possono essere applicati alla grafica. Non possono essere cercati. Spesso il loro rendering sembra diverso dai caratteri circostanti perché il meccanismo per il rendering della grafica di solito è diverso dal meccanismo per il rendering dei glifi dai caratteri.
La tecnologia SING (Smart INdependent Glyphlets) che ha fatto il suo debutto con Adobe Creative Suite 2 consente la creazione di glifi, ciascuno confezionato come un font autonomo, dopo una moda. Un glifo così confezionato è chiamato glifo. Il formato, che Adobe ha reso pubblico, è basato su OpenType. Il pacchetto è costituito dalla struttura del glifo in formato TrueType o CFF (profili in stile PostScript); tabelle OpenType standard che dichiarano le metriche e il comportamento del glifo nella composizione; e metadati, informazioni aggiuntive incluse per identificare il glifo, la sua proprietà e forse la pronuncia o la categorizzazione linguistica. Glyphlet SING possono essere creati utilizzando Fontlab applicazione SigMaker3 s'.
La specifica SING afferma che i glifi devono viaggiare con il documento in cui vengono utilizzati. In questo modo i documenti sono portabili, non lasciando alcun pericolo di caratteri nel documento che non possono essere visualizzati. Poiché i glifi sono essenzialmente caratteri OpenType, i macchinari dei caratteri standard possono renderli. La specifica SING descrive anche un formato XML che include tutti i dati necessari per la ricostituzione del glifo in forma binaria. Un tipico glifo potrebbe richiedere da uno a due kilobyte per essere rappresentato.