Китайские иероглифы отображаются жирным шрифтом

Silverlight отображает несколько китайских символов как полужирный в текстовом поле. В этом текстовом поле не задано семейство шрифтов. Пожалуйста, обратитесь к следующему скриншоту

Китайский иероглиф, выделенный жирным шрифтом

На приведенном выше снимке экрана первый символ более жирный, чем другой. В одном из сообщений MSDN говорится, что это связано с проблемой семейства шрифтов и настройкой SimSun семейство шрифтов должно решить проблему. Вот скриншот после применения семейства шрифтов.

Семейство шрифтов Simsun исправляет это

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

Мне интересно, так как данные имеют кодировку Unicode (UTF16), движок рендеринга должен позаботиться о выборе правильного шрифта и правильно его отобразить?

Я ищу правильные способы решить эту проблему. Любые предложения будут полезны.

Использование Silverlight 3 с.NET3.5.

1 ответ

Решение

Проблема с описанием шрифта самого себя. Ваш шрифт по умолчанию, в зависимости от вашего компьютера, скорее всего, Arial, который может не очень хорошо отображать некоторые китайские иероглифы. SimSun- это шрифт, предназначенный для отрисовки китайских иероглифов, поэтому точно так же, как шрифты на основе латинского алфавита, как правило, хорошо отображают английский, SimSun делает символы Han более приятными.

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

http://en.wikipedia.org/wiki/Unicode_typeface

Другие вопросы по тегам