Pergunta

Eu estou trabalhando em sistemas embarcados, com o próprio sistema de janelas e biblioteca de renderização. Antes de um dia, quando eu instalei o Ubuntu, para minha surpresa, ele tem renderização subpixel LCD. Realmente parece legal para tê-lo no meu dispositivo. Porque é muito legível.

Atualmente eu pedir determinado glifo no FreeType, freetype me dá um buffer de memória com valores de alfa, com isso, não é possível ter renderização subpixel. O que eu tenho é fonte antialiazed normal. Como em subpixel - tornando deixou mais de pixel de fonte é anti-aliazed com vermelho e Rightmost com Blue (Assumindo tela é RGB).

Existe algum método com o qual freetype pode me dar informações que se pixel atual é para a esquerda ou direita ou centerone?

Obrigado, Ensolarado.

Foi útil?

Solução

freetype pode fazê-lo

Outras dicas

Como salienta, o ambiente de trabalho que você está usando (GNOME, KDE, qualquer que seja) pode implementar isso. A configuração para isso varia de acordo com o ambiente.

Quanto à forma de fazê-lo em seu próprio código, você pode usar as mesmas rotinas o gerenciador de janelas faz (GTK + no GNOME, Qt no KDE, etc.), ou você pode usar uma biblioteca separada como FreeType ou SDL_ttf . Antialiasing - o termo genérico para isso, como o ClearType é um algoritmo específico patenteada para Microsoft -. Geralmente é opcional nestas bibliotecas, desativada por padrão para a velocidade

Eu acho que libcairo está no fundo da maioria das aplicações GTK no Ubuntu que antialiasing. Eu acho que se a renderização subpixel é feito especificamente para uma tela de LCD é algo que os escolhe de usuário, não o autor do aplicativo. Os controles de usuário-lo através do "Fontes" guia "Preferências de aparência" em Sistema -> Preferências -> Aparência (que pode ser executado manualmente, como o binário "gnome-appearance-properties") e clicar no botão "suavização de subpixel (LCDs) "opção.

Talvez haja uma maneira que um aplicativo pode substituir essa configuração para si? Não sei por que eles querem, no entanto, uma vez que um aplicativo não controla o tipo de exibição o usuário está usando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top