Что это значит, когда мой текст отображается в виде полей?

StackOverflow https://stackoverflow.com/questions/217228

  •  03-07-2019
  •  | 
  •  

Вопрос

Я пытаюсь отобразить некоторый текст в своей программе, используя (скажем) Windows GDI, и некоторые символы Unicode отображаются в виде полей?Что случилось?

Смотрите также: Что это значит, когда мой текст отображается в виде вопросительных знаков?

Это было полезно?

Решение

Обычно это означает, что указанный символ Unicode недоступен в этом конкретном шрифте. Попробуйте сменить один из многонациональных шрифтов, он должен исчезнуть.

Другие советы

В Windows есть 2 распространенные проблемы с отображением, которые возникают при попытке отобразить символы Юникода:

  1. текст иногда отображается в виде вопросительных знаков

    • Это происходит, когда данные в Юникоде преобразуются в 8-битную кодировку набора символов (или технически многобайтовые символы), обычно через системную кодовую страницу (но в вызовах преобразования могут быть указаны и другие кодовые страницы).Если целевой 8-разрядный набор символов не включает необходимые символы, любые символы, не представленные в целевом наборе символов, преобразуются в вопросительные знаки.
  2. текст иногда отображается в виде полей

    • Это проблема со шрифтом, не имеющим glpyh для определенного символа.Поля отображаются при несоответствии символов Юникода в документе символам, поддерживаемым шрифтом.В частности, поля представляют символы, не поддерживаемые выбранным шрифтом.

Дело в том, что текст, который вы пытаетесь отобразить, содержит символы, которые не поддерживаются используемым шрифтом. Символ коробки является символом замены по умолчанию для текста Unicode, у которого нет шрифта в шрифте.

В Windows, если вы пытаетесь отобразить текст на разных языках, используйте шрифт, например Arial Unicode MS - это включает в себя глифы для огромного количества разных языков. Это «наименьший общий знаменатель»; шрифт - глифы, как правило, будут там, но обычно в них не хватает символов, и некоторые из глифов будут выглядеть немного странно рядом друг с другом.

scroll top