|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Поле ввода со встроенным шрифтом и поддержкой языков
Всем привет.
Air Приложение для Mac и Windows. Есть поле ввода, куда пользователи могут вбивать любое слово. Используется встроенный шрифт, который поддерживает только латиницу и кириллицу. Поэтому пользователи, например из Германии или Японии, не могут туда полноценно вбить слова, в которых присутствуют символы отличные из набора кириллицы и латиницы. Конено можно для этих полей использовать системный шрифт Arial, т.к. он предустановлен на всех этих ОС. Но хотелось бы совместить красивость из задуманного изначально дизайна с функциональностью. Есть статический метод hasGlyphs в классе Font: var plumbBold:Font = new PlumbBold(); // встроенный шрифт trace(plumbBold.hasGlyphs("arbeit")); // слово на немецком без специфических символов - TRUE trace(plumbBold.hasGlyphs("können")); // слово на немецком и символ с умляутом - FALSE trace(plumbBold.hasGlyphs("ёж")); // слово на русском - TRUE trace(plumbBold.hasGlyphs("にんげん")); // слово на японском - FALSE Проблема в том, что используя встроенный шрифт для поля пользователь изначально уже не может вбить символы отличные от Кириллицы/Латиницы. Поэтому hasGlyphs всегда будет говорить TRUE. Пока вижу решение, которое не очень нравится: 1. каждый раз, когда редактируют поле ввода (событие Event.CHANGE), переключаем на шрифт Arial 2. считываем текст из поля и проверяем через hasGlyphs для встроенного шрифта 3. если поддерживается - переключаем на встроенный; если нет - оставляем системный Arial Как правильней решить эту задачу? Заранее спасибо за помощь!
__________________
кто не отвечает, того garbage collector забирает Последний раз редактировалось djken; 23.07.2019 в 16:44. |
|
|||||
То, что сразу пришло в голову
1) Проверять системную локаль, и в зависимости от нее выбирать какой шрифт встраивать. 2) Собрать полноценный шрифт со всеми нужными языками, которые нужно поддерживать и вшить его. Я именно так делал. 3) Вынудить пользователей использовать английский, если их языка нет среди поддерживаемых
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
1) Думаю, не правильно привязывать шрифт отталкиваясь от локали - например, человек живущий в Германии может использовать иероглифы
2) Шрифт со всеми языками мира будет слишком тяжелый
__________________
кто не отвечает, того garbage collector забирает |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Правда, при удалении текста оно не отправляется, так что на change тоже придется подписываться (если входит в задачу).
__________________
Reality.getBounds(this); |
|
|||||
Цитата:
Цитата:
А на остальные, малоизвестные языки можно просто забить
__________________
Ко мне можно и нужно обращаться на ты) |
Часовой пояс GMT +4, время: 20:39. |
|
« Предыдущая тема | Следующая тема » |
Теги |
глифы , мультиязычность |
|
|