This method does character to glyph mapping. The default implementation uses the font instance to do the mapping. It will allocate the glyph and character index arrays if they're not already allocated. If it allocates the character index array, it will fill it it. This method supports right to left text with the ability to store the glyphs in reverse order, and by supporting character mirroring, which will replace a character which has a left and right form, such as parens, with the opposite form before mapping it to a glyph index. Input parameters:
For internal use only.
Reimplemented in UnicodeArabicOpenTypeLayoutEngine. Definition at line 464 of file LayoutEngine.cpp. References LEGlyphStorage::allocateGlyphArray(), LayoutEngine::fFilterZeroWidth, LayoutEngine::fFontInstance, LE_FAILURE, LEFontInstance::mapCharsToGlyphs(), and TRUE. Referenced by ThaiLayoutEngine::computeGlyphs(), LayoutEngine::computeGlyphs(), GXLayoutEngine::computeGlyphs(), UnicodeArabicOpenTypeLayoutEngine::glyphPostProcessing(), and OpenTypeLayoutEngine::glyphProcessing(). { if (LE_FAILURE(success)) { return; } glyphStorage.allocateGlyphArray(count, reverse, success); DefaultCharMapper charMapper(TRUE, mirror); fFontInstance->mapCharsToGlyphs(chars, offset, count, reverse, &charMapper, fFilterZeroWidth, glyphStorage); }
|