2012-01-10 3 views
2

Я написал пользовательский элемент управления WPF, который использует Tahoma в качестве шрифта для отображения строк unicode, который отлично работает. Тем не менее, я заметил, что некоторые восточно-азиатские символы фактически отсутствуют в Tahoma, т. Е. Этот шрифт не поддерживает все обычные символы Unicode.Какой шрифт используется, если символ Unicode не найден в выбранном шрифте (Tahoma)?

Однако, когда я показываю строку, содержащую некоторые восточно-азиатские буквы, которые, как я полагаю, отсутствуют в Tahoma.ttf, символ отображается правильно в любом случае, вместо черного прямоугольника, который я ожидал получить за отсутствующий символ юникода ,

Итак, из любопытства: существует ли какой-либо механизм возврата, т. Е. Заменяет ли Windows 7 или C# WPF недостающие символы на резервный шрифт? Может ли кто-нибудь объяснить, как именно это работает, и какой шрифт фактически используется в качестве обратной ссылки?

ответ

2

Большое спасибо HB, с ключевым словом, я был в состоянии найти это действительно полезно Ressource от Microsoft, которая объясняет, как шрифт Запасной и шрифт Образцы работы:

http://msdn.microsoft.com/en-us/goglobal/bb688134

Вот хорошая цитата:

Пользователь, работающий под управлением Windows XP, выбирает шрифт Tahoma для ввода текста сначала на английском языке, затем на иврите, а затем в телугу. Поскольку Tahoma является шрифтом OpenType, он обеспечивает поддержку латинских и ивритских скриптов, но не содержит глифов Telugu. Uniscribe обнаруживает это отсутствие поддержки шрифтов и автоматически отображает скрипт Telugu, используя его резервный шрифт, который является Gautami.

+1

Благодарим за сообщение об этом - эта ссылка (и понятие о соединении шрифтов в частности) было очень полезно. – ShreevatsaR