Percebo que não sei essencialmente nada sobre como as fontes são renderizadas no meu computador.
Pelo que pude observar, a renderização da fonte geralmente é feita de maneira consistente em todo o sistema. Por exemplo, as configurações de dicas de fonte do subpixel que eu configuro no meu painel de controle do DE influenciam o texto que aparece nas bordas da janela, no meu navegador, no meu editor de texto e assim por diante. (Devo observar que alguns aplicativos Java mostram uma diferença notável, então acho que eles estão usando um mecanismo de renderização de fonte diferente).
O que eu recebo do exposto acima é que provavelmente todos os aplicativos que precisam de renderização de fonte usam alguma biblioteca de todo o SO (ou DE).
Por outro lado, os navegadores geralmente gerenciam sua própria renderização por meio de um mecanismo de renderização, que cuida do posicionamento de vários itens - incluindo texto - de acordo com regras de fluxo específicas.
Não tenho certeza de como esses dois fatos são compatíveis. Eu diria que o navegador teria que pedir ao sistema operacional para desenhar um glifo em uma determinada posição, mas como ele pode gerenciar o fluxo de texto sem saber de antemão quanto espaço o glifo precisará? Existem chamadas separadas para determinar os tamanhos dos glifos, para que o navegador possa gerenciar o fluxo como se os caracteres fossem pequenas caixas que são posteriormente preenchidas pelo sistema operacional? (Embora isso não cuide do kerning). Ou o SO é responsável por desenhar uma área de texto inteira, incluindo o fluxo de texto? O sistema operacional retorna o glifo renderizado como um bitmap e o deixa para o aplicativo desenhá-lo na tela?