Important: Please read the Qt Code of Conduct -

Access ligature Glyphs and Unicodes

  • Hi,

    I am developing an application that uses Arabic fonts, and also I would like to have access to the Unicode of the rendered text.

    In details:

    1. I am giving the Unicodes of the desired Arabic char/letters to display (0x0628 for instance).
    2. I create a QString, on which I append every QChar(unicode) created previously (for instance let's say I gave 0x0628 and 0x0628 as Unicodes).
    3. I render the QString thanks to a QLabel on which I set the font to arabic (QLabel::setFont(QFont("Arabic")). The string is rendered as a unique ligature glyph (since I gave two 0x0628). But if I try to get the Unicode of the rendered text (I use QString::toUcs4() ) I receive back two 0x0628 Unicodes, instead of the Unicode of the effectively rendered Glyph (which should be around 0xFCxx, as pointed out in the presentation forms)

    How can I access the Unicode of the rendered text, in the case of ligature Glyphs? I tried to look at QGlyphRun and QRawFont but I still haven't found the right functions to call.

    Thanks in advance.

Log in to reply