[Solved]Support for japanese language in qt in an ARM environment

  • Hi,
    Myself a beginner in qt.I am trying to support japanese font(katakana) in qt using ttf file. I am inputting unicode and getting the japanese font out. I tried giving some unicode /0x30A1 as input(the unicode for katakana letter http://www.charbase.com/images/glyph/12449 ) which is small letter a in katakana.

    But what i get was some arbitrary japanese letter to each digit in the unicode...instead of the appropriate single unicode letter.
    #include <QtGui>

    int main(int argc, char** argv)
    QApplication app(argc, argv);
    QFile fontFile("katakana.ttf");
    if (!fontFile.open(QIODevice::ReadOnly)) {
    qCritical() << "failed to open font file";
    QByteArray fontData = fontFile.readAll();

    // Register font to the QFontDatabase /
    if (QFontDatabase::addApplicationFontFromData(fontData) == -1) {
        qCritical() << "failed to add a font";
    // Create font object and verify font family 
    QFont font3("Katakana", 25, QFont::Bold, true);
    QFontInfo fontInfo3(font3);
    qDebug() << "Expected:" <<  font3.family() << "Real:" << fontInfo3.family();
    // Produce GUI which uses loaded font 

    char strarry[22]={'0xE382A1','0xE382A2','0xE382A3','0xE382A4'};

    QLabel label3;


    return app.exec(&#41;;


    what is the correct way to input unicode of katakana ??
    Please help...

  • I can input katakana using below code.

    @char strarry[] = "\xE3\x82\xA1\xE3\x82\xA2\xE3\x82\xA3\xE3\x82\xA4";@

    You can use QChar(int).
    @QString text = QString::fromUtf8(strarry);
    text += QChar(0x3042);@

  • Hi takumiasaki
    Thanks for your response

    I tried the same in my code .But i am getting output as rectangles(parallelogram).What might have went wrong??

    I also have a doubt regarding the code snippet,
    text += QChar(0x3042);
    What is the significance of this...Plz help....

Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.