Шрифт каннада на Android ICS

Я поддерживаю шрифты Тамил и Каннада в своем приложении. Я использую следующий код для установки шрифта TextViews, кнопок и т. д.

FONT_TAMIL = Typeface.createFromAsset(getAssets(), "fonts/tamil.ttf");
tvTitle.setTypeface(FONT_TAMIL);

FONT_KANNADA = Typeface.createFromAsset(getAssets(), "fonts/kannada.ttf");
tvTitle.setTypeface(FONT_KANNADA);

Я могу правильно отображать тамильские символы даже на GingerBread. Но я не могу показать шрифт каннада. Может ли кто-нибудь помочь мне найти, где я ошибаюсь?

Пример скриншота на тамильском языке. тамильский

Пример скриншота каннада.. Каннада

Спасибо, Картик


person Karthik Andhamil    schedule 09.05.2013    source источник
comment
в чем именно проблема? Вам нужно уточнить.   -  person Anup Cowkur    schedule 09.05.2013
comment
опубликуйте снимки экрана, которые дадут нам лучшее представление   -  person Raghunandan    schedule 09.05.2013
comment
У меня такая же проблема со шрифтом хинди. Лучший способ, который я нашел, просмотрев другие приложения в магазине игр, - это использовать изображения (растягивающиеся). Так как создание таких образов потребует времени. Я опубликовал свое приложение для более высоких версий Android и планирую выпустить его для более низких версий позже.   -  person Piyush-Ask Any Difference    schedule 09.05.2013
comment
@Anup и Raghunandan Пожалуйста, посмотрите скриншоты.   -  person Karthik Andhamil    schedule 09.05.2013
comment
@Sandeep Мое приложение долгое время поддерживает тамильский язык. Теперь я добавил каннада. Я думаю, что мне следует ограничить ICS для каннада, если я не найду решение.   -  person Karthik Andhamil    schedule 09.05.2013
comment
Поддержка шрифтов на старых андроидах очень плохая, лучшая стратегия — опубликовать ваше приложение для протестированных андроидов на данный момент и поработать над тем, чтобы сделать его совместимым со старыми версиями. Кстати, ваш шрифт каннада нормально отображается на желейных бобах?   -  person Piyush-Ask Any Difference    schedule 09.05.2013
comment
да. Это абсолютно нормально для JellyBean. Если это не работает на Gingerbread, это нормально. Но я хочу, чтобы он работал хотя бы на ICS.   -  person Karthik Andhamil    schedule 09.05.2013


Ответы (1)


Вы пытались заменить функцию replaceAll, чтобы заменить все символы Unicode на Ascii? Вы можете использовать инструмент «Карта символов» в Windows, чтобы получить эквивалентные символы ASCII для каждого из ваших символов каннада / тамильского языка.

1) Сначала вы устанавливаете шрифт Unicode и каннада на свой компьютер.

2) Затем откройте два окна инструмента карты символов. Выберите шрифт Unicode в первом окне и Ascii во втором.

3) В обоих окнах дважды щелкните нужные символы (один и тот же символ в обоих окнах). Таким образом, символ будет отображаться в текстовом поле. Скопируйте этот символ из обоих окон и добавьте их в функцию replaceAll.

Копирование всех символов и комбинаций символов занимает много времени. Но я не думаю, что есть другой способ правильно отображать юникод ниже версии ICS. Вам нужно его преобразовать. И, конечно, тяжелая работа приводит к успеху :)

person Basim Sherif    schedule 10.05.2013
comment
Не могли бы вы объяснить немного подробнее, как использовать инструмент карты символов? - person Karthik Andhamil; 11.05.2013
comment
Привет, я очень сожалею, что беспокою тебя, Басим. Пожалуйста, развейте это сомнение. Инструмент показывает символы каннада, когда я выбираю BRH каннада, но я думаю, что эти символы просто необработанные символы. Я знаю только тамильский. Так, например, инструменты показывают Оо (ஊ) и Ка (க), но не Ку (கூ). Но мне нужно заменить Koo некоторыми символами ASCII, я думаю. Ты понимаешь что я говорю? Пожалуйста, отправьте мне пинг-сообщение на бесконечный[email protected] - person Karthik Andhamil; 14.05.2013
comment
Для Koo попробуйте комбинации Ka и Oo. означает ka+Oo (без символа +). Тогда вы получите правильные комбинации символов для слова Koo. Аналогично для комбинации Kee попробуйте комбинацию Ka и Ee (Ka+Ee). Когда вы выбираете шрифт Unicode каннада, убедитесь, что он содержит все символы и комбинации. Если это не так, попробуйте другой шрифт Unicode каннада. - person Basim Sherif; 14.05.2013