Почему японский текст отображается с китайскими глифами?

Кажется, это давняя проблема Ubuntu, я сталкивался с ней много лет назад, если я правильно помню.

У меня установлена ​​языковая поддержка как для китайского, так и для японского языков (и я хочу сохранить ее таким образом - хотя я знаю, что проблему можно "решить", удалив китайские шрифты, я экспериментировал с этим). Проблема в том, что японский текст отображается в виде китайских глифов. Не для каждого японского символа, но, вероятно, для тех, которые, по мнению системы, имеют соответствующий символ на китайском языке.

Это происходит во всех приложениях: libreoffice, браузерах, gedit, терминале и т. Д.

(Эта проблема не о методах ввода.)

Установленные шрифты:

Китайский (и японский)
шрифты-arphic-ukai
шрифт-arphic-ели
TTF-WQY-microhei
TTF-WQY-zenhei

японский язык
шрифты-Такао-готика
шрифты-Такао-Минчо
шрифты-Такао-pgothic

Другие, которые, кажется, поддерживают японский / китайский
шрифты дроид

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

Примеры: 誤り、直す (Буду загружать картинки.)

2 ответа

Решение

Это не проблема Ubuntu (или проблема с любой операционной системой), но проистекает из того, как разработан Unicode. Unicode использует унифицированную базу данных для символов CJK, которая называется Unihan. Символ (одна кодовая точка Unicode) может быть представлен разными символами в разных традициях письма.

Проблема глифа, используемого экраном / принтером / браузером для данного символа (кодовой точки), является результатом того, как разные шрифты отображают один и тот же символ Unicode на разные глифы.

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

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

Из Unicode FAQ:

Стандарт Unicode предназначен для кодирования символов, а не глифов...

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

Бывают случаи, когда встречаются единые символы, типичный китайский глиф и типичный японский глиф которых достаточно различимы, чтобы китайский глиф был незнаком для типичного японского читателя, например, U+76F4. Чтобы избежать проблем с читаемостью для японских читателей, рекомендуется использовать шрифт в японском стиле при представлении текста Unihan японским читателям.

Хань Унификация предназначена для сохранения разборчивости. Документы, как правило, могут быть просто отображены шрифтом, выбранным пользователем. Там, где необходимо провести различие в стиле (например, глифы в китайском стиле и в японском стиле в том же документе), соответствующие шрифты должны быть применены к конкретному тексту по мере необходимости.

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

Если кодировка UTF-8, приложения выберут первый шрифт, способный отображать этот символ. По умолчанию это идет в алфавитном порядке. Так что если у вас установлены как китайские, так и японские шрифты, вы можете получить глифы, которые вам не нужны.

Вы можете выбрать порядок, в котором приложения будут выбирать шрифты, отредактировав ~/.fonts.conf файл. Хотя, если вы поставите японцев перед китайцами, вы можете решить проблему.

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