libvte manipulação de fontes unicode

4

Estou tentando exibir um texto ANSI que contém caracteres da área de uso particular do Unicode . Eu tenho duas fontes que contêm esses caracteres. A primeira é uma fonte PCF (bitmap), e a segunda é uma fonte TTF, gerada a partir da primeira e contendo exatamente o mesmo conjunto de glifos.

A fonte PCF está disponível no Debian e no Ubuntu no pacote "tv-fonts" e é chamada de "teletext". As versões do TTF estão disponíveis aqui .

Eu exibo esse arquivo de texto configurando meu terminal para usar uma das minhas fontes e, em seguida, arquivo .

Isso produz resultados diferentes em terminais diferentes:

O Xterm só pode usar fontes PCF. Com xterm -fg white -bg black -fn teletext , vejo a saída correta:

OTerminatorpodeusarfontesPCFeTTF.ComafontePCF,asaídaestácorreta:

MasseeudisseraoterminadorparausarumafonteTTF,asaídacontémumcaractereinesperadoapósograndelogotipo"BBC":

O personagem em questão é , unicode 0xee20. É um espaço vazio nas fontes PCF e TTF.

Ao usar o terminal xfce4, os resultados são os mesmos. Terminator e Xfce4-terminal usam ambos libvte.

Então, minha pergunta:

  • Por que o libvte está exibindo o glifo errado?
  • Por que se comporta de maneira diferente entre o TTF e o PCF? (Lembre-se de que ambas as fontes contêm um conjunto idêntico de glifos).

Atualização: parece que isso não está realmente relacionado ao VTE, mas ao Gtk e possivelmente ao próprio X11. Os mesmos resultados podem ser vistos ao definir a fonte em um editor de texto, como o mouse (que usa o GtkSourceView).

    
por ali1234 10.02.2016 / 02:28

1 resposta

1

Na verdade, xterm (e xfd ) podem usar fontes TrueType, usando a opção -fa . Com este último, você pode ver que 0xee20 está faltando na fonte:

Dadoque,oxtermmostrariaumglifoausente(porqueeleusaapenasumafonte).Ovteprovávelestáfazendoomesmoporquenenhumadasfontesdefallbackqueelepodeestarusandotemessecódigoparticularusoprivado.

Paracomparação,aquiestáumacapturadetelacomxfdexibindoafontePCF(quetemoglifo):

Seasfontessão"idênticas" depende de como elas foram criadas (e mantidas). Vejo 7 glifos ausentes na captura de tela da fonte TrueType e nenhum na fonte PCF.

    
por 25.07.2016 / 11:28