Mi rendo conto che non so sostanzialmente nulla sul modo in cui i font vengono renderizzati sul mio computer.
Da quello che posso osservare, il rendering dei font è generalmente realizzato in modo coerente in tutto il sistema. Ad esempio, le impostazioni di suggerimento sui font subpixel che configuro nel mio pannello di controllo DE hanno influenza sul testo che appare sui bordi delle finestre, nel mio browser, nel mio editor di testo e così via. (Dovrei osservare che alcune applicazioni Java mostrano una differenza notevole, quindi suppongo stiano utilizzando un meccanismo di rendering dei font diverso).
Ciò che ottengo da quanto sopra è che probabilmente tutte le applicazioni che richiedono il rendering dei caratteri fanno uso di una libreria di OS (o DE).
D'altra parte, i browser di solito gestiscono il proprio rendering tramite un motore di rendering, che si occupa del posizionamento di vari elementi, incluso il testo, in base a regole di flusso specifiche.
Non sono sicuro di come questi due fatti siano compatibili. Immagino che il browser dovrebbe chiedere al sistema operativo di disegnare un glifo in una determinata posizione, ma come può gestire il flusso del testo senza sapere in anticipo quanto spazio occuperà il glifo? Esistono chiamate separate per determinare le dimensioni dei glifi, in modo che il browser possa gestire il flusso come se i caratteri fossero piccole caselle che verranno successivamente compilate dal sistema operativo? (Anche se questo non si prende cura del kerning). O il sistema operativo è responsabile del disegno di un'intera area di testo, incluso il flusso del testo? Il sistema operativo restituisce l'icona di rendering come bitmap e lo lascia all'applicazione per disegnarlo sullo schermo?