#include <ArabicLayoutEngine.h>
Inheritance diagram for ArabicOpenTypeLayoutEngine:
Public Methods | |
ArabicOpenTypeLayoutEngine (LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, GlyphSubstitutionTableHeader *gsubTable) | |
This is the main constructor. More... | |
ArabicOpenTypeLayoutEngine (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. | |
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) |
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[]) |
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... |
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 28 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.
Reimplemented from OpenTypeLayoutEngine. Reimplemented in UnicodeArabicOpenTypeLayoutEngine. |
|
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:
Reimplemented from OpenTypeLayoutEngine. |