#include <IndicLayoutEngine.h>
Inheritance diagram for IndicOpenTypeLayoutEngine::
Public Methods | |
IndicOpenTypeLayoutEngine (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, const GlyphSubstitutionTableHeader *gsubTable) | |
This is the main constructor. More... | |
IndicOpenTypeLayoutEngine (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 | ~IndicOpenTypeLayoutEngine () |
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 Indic OpenType character processing. More... | |
virtual le_int32 | glyphProcessing (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, const LETag **&featureTags, LEGlyphID *&glyphs, le_int32 *&charIndices, LEErrorCode &success) |
This method does character to glyph mapping, applies the GSUB table and applies any post GSUB fixups for left matras. More... | |
Private Attributes | |
MPreFixups * | fMPreFixups |
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... |
This class overrides the characterProcessing method to do Indic character processing and reordering, and the glyphProcessing method to implement post-GSUB processing for left matras. (See the MS spec. for more details)
Definition at line 39 of file IndicLayoutEngine.h.
|
This is the main constructor. It constructs an instance of IndicOpenTypeLayoutEngine 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 does Indic OpenType character processing. It assigns the OpenType feature tags to the characters, and may generate output characters which have been reordered. For some Indic scripts, it may also split some vowels, resulting in more output characters than input characters. Input parameters:
|
|
ICU "poor man's RTTI", returns a UClassID for the actual class.
Reimplemented from OpenTypeLayoutEngine. Definition at line 89 of file IndicLayoutEngine.h. |
|
ICU "poor man's RTTI", returns a UClassID for this class.
Reimplemented from OpenTypeLayoutEngine. Definition at line 96 of file IndicLayoutEngine.h. |
|
This method does character to glyph mapping, applies the GSUB table and applies any post GSUB fixups for left matras. It calls OpenTypeLayoutEngine::glyphProcessing to do the character to glyph mapping, and apply the GSUB table. Note that in the case of "canned" GSUB tables, the output glyph indices may be "fake" glyph indices that need to be converted to "real" glyph indices by the glyphPostProcessing method. Input parameters:
|
|
Definition at line 166 of file IndicLayoutEngine.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 164 of file IndicLayoutEngine.h. |