Pergunta

Eu estou tentando mostrar algum texto no meu programa usando (digamos) do Windows GDI e alguns dos caracteres Unicode são exibidos como caixas? O que se passa?

Veja também: O que faz que significa quando o meu texto é apresentado como pontos de interrogação?

Foi útil?

Solução

Normalmente, isso significa que o caractere Unicode especificado não está disponível nessa fonte particular. Tente alterar fontes para um dos mais multinacionais, ele deve ir embora.

Outras dicas

(imagem t-shirt de http://www.cafepress.com/nucleartacos.163046834)

A imagem acima representa um modo de falha comum de sistemas de visualização de texto que não conseguem ter em conta toda a gama de caracteres Unicode. Em plataformas Windows, caracteres que não podem ser representados utilizando qualquer uma das fontes disponíveis são representados com um retângulo aberto.

No Windows, existem 2 problemas de exibição comuns que ocorrem ao tentar exibir caracteres Unicode:

  1. texto às vezes aparece como pontos de interrogação

    • Isto ocorre quando os dados Unicode é convertido para uma codificação de caracteres de 8 bits (ou tecnicamente caracteres multi-byte) geralmente através da página de códigos do sistema (mas outras páginas de código pode ser especificado nas chamadas de conversão). Se o conjunto de caracteres alvo de 8 bits não incluiu os caracteres necessários, quaisquer caracteres não representáveis ??no conjunto de caracteres alvo são convertidos em pontos de interrogação.
  2. texto às vezes aparece como caixas

    • Este é um problema com a fonte não ter o glpyh para um personagem particular. Caixas aparecem quando há uma incompatibilidade entre os caracteres Unicode no documento e as apoiadas pela fonte. Especificamente, as caixas de representar caracteres não suportados pelo fonte selecionada.

O negócio é que o texto que você está tentando exibição inclui caracteres que não são suportados na fonte que você está usando. O caráter caixa é o caractere de substituição padrão para texto Unicode que não tem um glifo na fonte.

No Windows, se você está tentando texto do visor em uma variedade de diferentes idiomas, use uma fonte como Arial Unicode MS - isso inclui glifos para uma vasta gama de diferentes idiomas. É um "mínimo denominador comum" font -. Glifos será geralmente lá, mas geralmente não tem caráter e alguns dos glifos vai parecer um pouco estranho ao lado do outro

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