Китайские иероглифы отображаются жирным шрифтом
Silverlight отображает несколько китайских символов как полужирный в текстовом поле. В этом текстовом поле не задано семейство шрифтов. Пожалуйста, обратитесь к следующему скриншоту
На приведенном выше снимке экрана первый символ более жирный, чем другой. В одном из сообщений MSDN говорится, что это связано с проблемой семейства шрифтов и настройкой SimSun
семейство шрифтов должно решить проблему. Вот скриншот после применения семейства шрифтов.
Это похоже на настройку SimSun
на самом деле решает проблему. Но я не уверен, что это правильное решение, так как мое приложение позволяет вводить данные на любом языке, а не только на китайском. Поэтому я не хочу устанавливать семейство шрифтов на китайский шрифт.
Мне интересно, так как данные имеют кодировку Unicode (UTF16), движок рендеринга должен позаботиться о выборе правильного шрифта и правильно его отобразить?
Я ищу правильные способы решить эту проблему. Любые предложения будут полезны.
Использование Silverlight 3 с.NET3.5.
1 ответ
Проблема с описанием шрифта самого себя. Ваш шрифт по умолчанию, в зависимости от вашего компьютера, скорее всего, Arial, который может не очень хорошо отображать некоторые китайские иероглифы. SimSun- это шрифт, предназначенный для отрисовки китайских иероглифов, поэтому точно так же, как шрифты на основе латинского алфавита, как правило, хорошо отображают английский, SimSun делает символы Han более приятными.
В Википедии есть список шрифтов Unicode, предназначенных для интернационализированных текстовых полей, таких как ваши. Возможно, попробуйте несколько из них, пока не найдете тот, который соответствует вашим потребностям.