Ограничения поддержки Unicode в Swing - PullRequest
7 голосов
/ 21 июня 2010

Не так давно Я задал вопрос , пытаясь идентифицировать определенный символ Юникода для использования в графическом интерфейсе. У меня появился персонаж, которого я искал, но он не работал в графическом интерфейсе Swing, который я строил.

Итак, Сообщество, я задаю вам следующие вопросы:

Какие ограничения имеются в Swing / Java для поддержки Юникода? Существуют ли определенные подмножества Юникода, которые полностью поддерживаются, и от чего мне следует избегать при проектировании в будущем?

РЕДАКТИРОВАТЬ: После применения шрифта «Arial Unicode MS», как предложил Алан Мур, все, казалось, прояснилось. Кажется странным, что мне нужно было установить сторонний шрифт, чтобы все символы Юникода отображались.

Ответы [ 3 ]

5 голосов
/ 21 июня 2010

Обычно, когда глифы не отображаются должным образом в пользовательском интерфейсе, это потому, что вы используете шрифт, у которого этого глифа нет, а не потому, что есть проблема с поддержкой юникода в любом используемом вами наборе инструментов.Очень, ОЧЕНЬ немногие шрифты имеют все глифы - вам нужно убедиться, что вы выбрали шрифт, который имеет покрытие в нужных вам точках кода.

2 голосов
/ 21 июня 2010

См. Поддерживаемые шрифты Sun Java 6 для получения подробной информации об ограничениях логических шрифтов.Выбор Sun был, вероятно, из-за смеси прагматизма и лицензирования.Обратите внимание, что в документации сказано, что вы можете подготовить резервные шрифты , добавив их в каталог JRE lib/fonts/fallback.

0 голосов
/ 21 июня 2010

Java 1.6 должна иметь поддержку всех символов Unicode.У IIRC 1.5 не было методов для обработки символов UTF-16 с несколькими символами (новые API были добавлены в 1.6).

Символы из вопроса, который вы разместили, прекрасно отображаются в используемом мной редакторе Java.Убедитесь, что используемый вами шрифт поддерживает этот символ;встроенные шрифты JDK поддерживают множество символов, но определенно не все.Посмотрите на методы java.awt.Font.canDisplay ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...