Come vengono sostituiti i caratteri sconosciuti?


14

Supponiamo di avere un documento di testo esterno che apro con uno strumento di modifica del testo che riconosce i caratteri (ad esempio LibreOffice Writer). In questo documento, potrebbero essere utilizzati alcuni tipi di carattere che non sono disponibili nella mia installazione di Ubuntu (ad esempio Garamond).

La domanda è: in che modo Ubuntu decide quale dei font installati deve sostituire il font sconosciuto? Legge qualche caratteristica del carattere e ne cerca una simile? Viene sempre utilizzato un carattere sostitutivo predefinito? Cerca nomi di font simili?

Oltre a ciò, vorrei sapere se posso in qualche modo modificare questo comportamento o impostare alias di font manuali per utilizzare automaticamente, ad esempio, il font gratuito EB-Garamont anziché il non- Garamont libero ?


Questa domanda è nata quando ho risposto alla domanda qui: superuser.com/a/945192/418736
Byte Commander

Risposte:


9

Penso che non sia deciso da Ubuntu ma dal programma (LibreOffice, OpenOffice ecc.). Non ho potuto vedere nulla di correlato a LibreOffice in sé, ma OpenOffice ha un bel wiki con alcuni dettagli su come funziona questo "Fallback dei caratteri". Potrebbe essere applicabile anche a LibreOffice, in generale.

Sto riproducendo alcune sezioni del wiki qui sotto per chiarire. È difficile spiegare meglio di ciò che è nel wiki , quindi è meglio leggerlo da lì:

Che cos'è Font Fallback in OpenOffice.org 2?

Font-Fallback interviene ogni volta che viene richiesto un font che non è installato sul sistema. (Non installato significa: non disponibile per OOo). OOo quindi tenta di utilizzare un carattere diverso da quelli che OOo conosce e che corrisponde a quello richiesto il più vicino possibile.

Come funziona Font Fallback?

Affinché il fallback dei caratteri produca risultati soddisfacenti, OOo deve in qualche modo conoscere le somiglianze dei caratteri. OOo deve sapere che può sostituire ad esempio Helvetica al posto di Arial , ma non Comic Sans . Questo compito non è così semplice come sembra, poiché esistono molti caratteri e OOo non può conoscerli tutti.

OOo utilizza diversi modi per trovare un sostituto adatto:

  • Informazioni sull'alias dei caratteri fornite dal sistema (ad es. Da un fonts.dir file )
  • Elenco hard-coded di caratteri di fallback, da VCL.xcu(provato prima)
  • Ortografia alternativa del nome del carattere
  • Attributi del carattere (ad esempio, ha caratteri CJK, è un carattere simbolo) o stile ( serif / non-serif , proporzionale / non proporzionale)

se anche tutto ciò non riesce:

  • usa un carattere predefinito

Non direttamente correlato ma questo documento TLDP è una buona lettura.

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.