Связывание шрифтов в реестре - PullRequest
5 голосов
/ 02 декабря 2009

Несколько лет назад я создал приложение WinForms, которое было успешно развернуто. Следующая версия приложения должна поддерживать китайские и корейские символы. По эстетическим соображениям мой клиент хотел, чтобы весь текст в приложении отображался с семейством шрифтов Arial.

Однако Arial не поддерживает китайские и корейские символы. На большинстве платформ механизм Windows Uniscribe Font Fallback адекватно выбирает шрифт для отображения восточноазиатских символов. Но на английском Windows XP шрифт, который он выбирает, ужасен.

Я пытался решить эту проблему с помощью Font Linking . Это позволило бы мне указать, какой шрифт следует использовать, когда Arial не может отобразить символ. Это кажется очень элегантным решением.

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

У кого-нибудь есть опыт работы с добавленными ссылками на шрифты? Это сработало? Какие ситуации меня укусят позже?

Ответы [ 3 ]

4 голосов
/ 03 декабря 2009

Предложение «не поддерживается» в связанной статье говорит вам, что вы не можете позвонить в службу поддержки Microsoft и пожаловаться, потому что вы неправильно использовали Regedit.exe и испортили компьютер. В нем не сказано, что связывание шрифтов не поддерживается.

Вы не можете реально повлиять на другую программу, делая это. Связывание шрифтов не заменяет глифы, а только заменяет отсутствующие. Такая программа ранее не отображала текст правильно. Он покажет читаемый текст после того, как вы закончите. Они купят тебе очень хороший ужин и несколько танцующих девушек.

1 голос
/ 02 декабря 2009

Можно ли использовать шрифт Arial Unicode MS?

Это то, что я использую для отображения китайских шрифтов в диаграммах и PDF-файлах.

0 голосов
/ 11 декабря 2009

Итак, проблема в том, что вы хотите использовать один шрифт, если символы соответствуют некоторым критериям, и другой шрифт, если они не соответствуют, верно?

Итак, почему бы просто не написать код, который при обновлении текста проверяет критерии и устанавливает соответствующий шрифт? Это может быть немного занятой работой, но если это будет сделано повсюду, держу пари, вы можете заключить ее в пользовательский элемент управления.

Иногда гораздо проще просто выполнить работу, чем попытаться разобраться с кучей настроек системы. По общему признанию, не так весело, но с меньшей вероятностью вызывает проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...