#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... | |
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... |
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 35 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:
Reimplemented from OpenTypeLayoutEngine. |
|
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:
Reimplemented from OpenTypeLayoutEngine. |