#include <ArabicLayoutEngine.h>
Inheritance diagram for ArabicOpenTypeLayoutEngine::
Public Methods | |
ArabicOpenTypeLayoutEngine (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, const GlyphSubstitutionTableHeader *gsubTable) | |
This is the main constructor. More... | |
ArabicOpenTypeLayoutEngine (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode) | |
This constructor is used when the font requires a "canned" GSUB table which can't be known until after this constructor has been invoked. More... | |
virtual | ~ArabicOpenTypeLayoutEngine () |
The destructor, virtual for correct polymorphic invocation. More... | |
virtual UClassID | getDynamicClassID () const |
ICU "poor man's RTTI", returns a UClassID for the actual class. More... | |
Static Public Methods | |
UClassID | getStaticClassID () |
ICU "poor man's RTTI", returns a UClassID for this class. More... | |
Protected Methods | |
virtual le_int32 | characterProcessing (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, LEUnicode *&outChars, le_int32 *&charIndices, const LETag **&featureTags, LEErrorCode &success) |
This method does Arabic OpenType character processing. More... | |
virtual void | adjustGlyphPositions (const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse, LEGlyphID glyphs[], le_int32 glyphCount, float positions[], LEErrorCode &success) |
This method applies the GPOS table if it is present, otherwise it ensures that all vowel and accent glyphs have a zero advance width by calling the adjustMarkGlyphs method. More... | |
Static Private Attributes | |
const char | fgClassID |
The address of this static class variable serves as this class's ID for ICU "poor man's RTTI". More... |
It overrides the characerProcessing method to assign the correct OpenType feature tags for the Arabic contextual forms. It also overrides the adjustGlyphPositions method to guarantee that all vowel and accent glyphs have zero advance width.
Definition at line 32 of file ArabicLayoutEngine.h.
|
This is the main constructor. It constructs an instance of ArabicOpenTypeLayoutEngine for a particular font, script and language. It takes the GSUB table as a parameter since LayoutEngine::layoutEngineFactory has to read the GSUB table to know that it has an Indic OpenType font.
|
|
This constructor is used when the font requires a "canned" GSUB table which can't be known until after this constructor has been invoked.
|
|
The destructor, virtual for correct polymorphic invocation.
|
|
This method applies the GPOS table if it is present, otherwise it ensures that all vowel and accent glyphs have a zero advance width by calling the adjustMarkGlyphs method. If the font contains a GDEF table, that is used to identify voewls and accents. Otherwise the character codes are used.
|
|
This method does Arabic OpenType character processing. It assigns the OpenType feature tags to the characters to generate the correct contextual forms and ligatures. Input parameters:
|
|
ICU "poor man's RTTI", returns a UClassID for the actual class.
Reimplemented from OpenTypeLayoutEngine. Definition at line 82 of file ArabicLayoutEngine.h. |
|
ICU "poor man's RTTI", returns a UClassID for this class.
Reimplemented from OpenTypeLayoutEngine. Definition at line 89 of file ArabicLayoutEngine.h. |
|
The address of this static class variable serves as this class's ID for ICU "poor man's RTTI".
Reimplemented from OpenTypeLayoutEngine. Definition at line 142 of file ArabicLayoutEngine.h. |