J2ME Тамильский (UniCode) символьный дисплей

Я пробовал разными способами печатать тамильский символ в приложении J2ME , значение юникода которого U0BB5.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.*;

/**
 * @author arun kumar non ascii
 */
public class SampleMidlet extends MIDlet {

    Display display;
    Form form = null;
    String ms = null;
    NewClass obj;

    public void startApp() {
        display = Display.getDisplay(this);
        form = new Form("Unicode Test");
        byte[] b = new byte[2];
        b[0] = 0x0b;
        b[1] = (byte) 0xb5;
        try {
            form.append("type0" + "வ");
            form.append("type1" + new String(b, "UTF-16"));
            form.append("type2" + new StringItem("", "\u0bb5").getText());
            form.append("type3" + "\u0bb5");
            form.append("type4" + new StringBuffer("\u0bb5"));
            form.append("type5" + new StringBuffer().append((char) Integer.parseInt("2997", 10)));
            form.append("type6" + ((char) Integer.parseInt("0bb5", 16)));

            char[] text = new char[]{'\u0bb5'};
            form.append(new String(text));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        display.setCurrent(form);

    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

но все время он показывает только белое поле, как показано. OnMicroEmultor

где, как и в эмуляторе Netbeans, также отображается то же самое, я нацелен на конфигурацию для CLDC 1.1 и MIDP 2.0. Как отобразить этот символ без использования файла Bitmap font (Image) этого символа?


person arun kumar non ascii    schedule 28.02.2013    source источник


Ответы (2)


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

Эта ссылка объясняет, как изменить шрифты в эмуляторе: http://www.devarticles.com/c/a/Java/J2ME-and-Unicode/1/

person David Lavender    schedule 28.02.2013
comment
Конечно, он не может отобразить этого персонажа. Мой вопрос в том, как отобразить его на мобильном телефоне. - person arun kumar non ascii; 28.02.2013
comment
добавили ссылку для ответа. Не уверен, как вы добавляете новые шрифты в телефон, но это должно работать с эмулятором. - person David Lavender; 28.02.2013
comment
Я уже наткнулся на эту ссылку, она работает для японского языка, арабский на эмуляторе не для тамильского, но, хотя тамильский язык является юникодом, почему он не поддерживается. Вам не кажется, что код там такой же - person arun kumar non ascii; 28.02.2013
comment
Почему голосование против? Кажется немного резковатым. Проблема со шрифтами, и они не упоминались в вопросе. - person David Lavender; 28.02.2013
comment
вопрос касается отображения символа Юникода, шрифта или визуального глифа, которые связаны с вопросом, - person arun kumar non ascii; 28.02.2013
comment
@arun Я понятия не имею, как вы ожидаете отображения символа без визуального глифа. - person R. Martinho Fernandes; 28.02.2013
comment
я сказал что-нибудь без визуального символа? мне просто нужно отобразить символ любым возможным способом. - person arun kumar non ascii; 28.02.2013
comment
Насколько мне сказали, J2ME поддерживает только подмножество символов Юникода. Так что тамильский язык вполне может не получить поддержки. Когда / если вы видите тамильский язык в приложениях / играх, они, скорее всего, созданы с использованием растровых шрифтов. Это означает, что файл PNG, содержащий все символы + некоторый код для визуализации String с использованием этих символов. Кодировать не так уж и сложно. К сожалению, я не думаю, что вы можете использовать растровый шрифт в приложении высокого уровня (имеется в виду тот, который использует формы). Я думаю, вам нужно использовать Canvas / GameCanvas при использовании растровых шрифтов. - person mr_lou; 01.03.2013

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

person arun kumar non ascii    schedule 11.10.2013