diff options
Diffstat (limited to 'src/gui/text/qtextengine_p.h')
-rw-r--r-- | src/gui/text/qtextengine_p.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index ec7f7407b2..6d46231c67 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -96,6 +96,20 @@ typedef quint8 q_hb_bitfield; #endif typedef struct { + typedef enum { + NoJustification= 0, /* Justification can't be applied after this glyph */ + Arabic_Space = 1, /* This glyph represents a space inside arabic text */ + Character = 2, /* Inter-character justification point follows this glyph */ + Space = 4, /* This glyph represents a blank outside an Arabic run */ + Arabic_Normal = 7, /* Normal Middle-Of-Word glyph that connects to the right (begin) */ + Arabic_Waw = 8, /* Next character is final form of Waw/Ain/Qaf/Fa */ + Arabic_BaRa = 9, /* Next two chars are Ba + Ra/Ya/AlefMaksura */ + Arabic_Alef = 10, /* Next character is final form of Alef/Tah/Lam/Kaf/Gaf */ + Arabic_HaaDal = 11, /* Next character is final form of Haa/Dal/Taa Marbutah */ + Arabic_Seen = 12, /* Initial or Medial form Of Seen/Sad */ + Arabic_Kashida = 13 /* Kashida(U+640) in middle of word */ + } JustificationClass; + q_hb_bitfield justification :4; /* Justification class */ q_hb_bitfield clusterStart :1; /* First glyph of representation of cluster */ q_hb_bitfield mark :1; /* needs to be positioned around base char */ @@ -685,7 +699,7 @@ private: void setBoundary(int strPos) const; void addRequiredBoundaries() const; void shapeText(int item) const; - void shapeTextWithHarfbuzz(int item) const; + int shapeTextWithHarfbuzz(QScriptItem &si, const ushort *string, int itemLength, QFontEngine *fontEngine, bool kerningEnabled) const; void splitItem(int item, int pos) const; int endOfLine(int lineNum); |