1

Существует проблема со скайпом на Linux. Если я изменю настройку локали на en_US.utf-8, китайские иероглифы будут плохо прорисованы (некоторые выделены жирным шрифтом, некоторые нет). Если я изменю настройку локали на zh_CN.utf-8, английский и китайский языки будут отображаться правильно. Настройки шрифта одинаковы.

Вот мои вопросы:
Q1: В чем различия между различными типами кодировки UTF-8 в настройках локали linux?
Q2: Как это может повлиять на отображение определенного языка?

1 ответ1

3

Q1: В чем различия между различными типами кодировки UTF-8 в настройках локали linux?

Абсолютно нет. Разница не вызвана кодировкой.

Q2: Как это может повлиять на отображение определенного языка?

Fontconfig, система конфигурации шрифтов Linux, использует язык и язык вашей системы в качестве подсказки при выборе лучшего шрифта для конкретного символа. (Например, в моей системе выбирается либо "IPAMincho", либо "Source Han Sans", в зависимости от локали. Я думаю, что это не помогает, что первый на самом деле помечен как «lang = en» в своих собственных метаданных, несмотря на то, что он не сделан для английского текста.

AFAIK, это необходимо, потому что сами глифы не предоставляют достаточно информации о том, на каком языке они находятся, и (из-за "Unicode Unicode") могут предоставлять разные визуализации для одного и того же глифа.

Вы можете установить переменную окружения FC_LANG="zh_CN" чтобы предоставить другую подсказку языкового стандарта специально для Fontconfig без изменения глобального языкового стандарта.

Вы также можете установить LC_CTYPE="zh_CN.UTF-8" для того же эффекта; это могло бы лучше вписаться в файлы конфигурации локали системы. (Обычно часть language_territory $ LC_CTYPE ни для чего не используется, поэтому fontconfig использует ее заново.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .