Японские иероглифы на Android выглядят как китайцы

ПРЕАМБУЛА: начиная с API 17 (Android 4.2), есть методTextView.setTextLocale() это явно решает эту проблему для TextViews и производных классов. Назначить японский язык (Locale.JAPAN), а символы Unihan будут выглядеть японскими.

У меня есть приложение на Android, которое отображает японский текст в WebViews и TextViews. Есть некоторые китайские иероглифы (кандзи), которые по соглашению выглядят по-разному в Китае и в Японии, но имеют одинаковую кодовую точку Unicode. Обычно браузер полагается наlang тег, чтобы выбрать правильный глиф. На Android все они по умолчанию имеют свои китайские фигуры, а я хочу японские фигуры.

Проблема хорошо объяснена вэта статья, Эта статья также служит прекрасной иллюстрацией проблемы - при просмотре на Android (до 2.2) все символы в «Примерах языковых символов» выглядят одинаково, как и на китайском.

С помощьюlang="ja" атрибут не помогает. Переключение всей локали системы на японский также не помогает.

Мне интересно о телефонах Android, которые продаются в Японии. Выглядят ли такие персонажи, как 直, Chinese, Chinese в китайском стиле? Я предполагаю, что нет.

Итак, вопросы: существуют ли официальные локализованные изображения Android? Могу ли я получить один для запуска на эмуляторе? Является ли шрифт DroidSansFallback по-прежнему единственным шрифтом с поддержкой CJK? И если да, то такой же, как на ванильном Android США?

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

РЕДАКТИРОВАТЬ: находится DroidSansJapanese.ttf, установить его на эмуляторе, скопировав в / system / fonts, перезапустить. Не имеет значения внешний вид статьи Unihan. Даже область подсказок при вводе текста на японском языке (что должно быть лучше) отображается так, как если бы он был на китайском.

Как мне узнать имя гарнитуры DroidSansJapanese.ttf? У меня такое ощущение, что это все еще Droid Sans, такой же, как во встроенном шрифте DroidSansFallback. Но если они содержат одинаковую гарнитуру, что определяет, какой из них должен иметь приоритет? Казалось бы - система локали, но, видимо, нет. Шрифты в Android устанавливаются только путем копирования, верно?

Ответы на вопрос(3)

Ваш ответ на вопрос