Logo Search packages:      
Sourcecode: icu version File versions  Download package

KhmerOpenTypeLayoutEngine Class Reference

#include <KhmerLayoutEngine.h>

Inheritance diagram for KhmerOpenTypeLayoutEngine:

OpenTypeLayoutEngine LayoutEngine UObject UMemory

List of all members.


Detailed Description

This class implements OpenType layout for Khmer OpenType fonts, as specified by Microsoft in "Creating and Supporting OpenType Fonts for Khmer Scripts" (http://www.microsoft.com/typography/otspec/indicot/default.htm) TODO: change url

This class overrides the characterProcessing method to do Khmer character processing and reordering (See the MS spec. for more details)

For internal use only.

Definition at line 39 of file KhmerLayoutEngine.h.


Public Member Functions

void getCharIndices (le_int32 charIndices[], le_int32 indexBase, LEErrorCode &success) const
void getCharIndices (le_int32 charIndices[], LEErrorCode &success) const
virtual UClassID getDynamicClassID () const
le_int32 getGlyphCount () const
void getGlyphPosition (le_int32 glyphIndex, float &x, float &y, LEErrorCode &success) const
void getGlyphPositions (float positions[], LEErrorCode &success) const
virtual void getGlyphs (le_uint32 glyphs[], le_uint32 extraBits, LEErrorCode &success) const
void getGlyphs (LEGlyphID glyphs[], LEErrorCode &success) const
 KhmerOpenTypeLayoutEngine (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, le_int32 typoFlags, LEErrorCode &success)
 KhmerOpenTypeLayoutEngine (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, le_int32 typoFlags, const GlyphSubstitutionTableHeader *gsubTable, LEErrorCode &success)
virtual le_int32 layoutChars (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, float x, float y, LEErrorCode &success)
virtual ~KhmerOpenTypeLayoutEngine ()

Static Public Member Functions

static LETag getLangSysTag (le_int32 languageCode)
static LETag getScriptTag (le_int32 scriptCode)
static UClassID getStaticClassID ()
static LETag getV2ScriptTag (le_int32 scriptCode)
static LayoutEnginelayoutEngineFactory (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, le_int32 typo_flags, LEErrorCode &success)
static LayoutEnginelayoutEngineFactory (const LEFontInstance *fontInstance, le_int32 scriptCode, le_int32 languageCode, LEErrorCode &success)
static void U_EXPORT2 operator delete (void *, void *) U_NO_THROW
static void U_EXPORT2 operator delete (void *p) U_NO_THROW
static void U_EXPORT2 operator delete[] (void *p) U_NO_THROW
static void *U_EXPORT2 operator new (size_t, void *ptr) U_NO_THROW
static void *U_EXPORT2 operator new (size_t size) U_NO_THROW
static void *U_EXPORT2 operator new[] (size_t size) U_NO_THROW

Static Public Attributes

static const LETag languageTags []

Protected Member Functions

virtual void adjustGlyphPositions (const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual le_int32 characterProcessing (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, LEUnicode *&outChars, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual le_int32 computeGlyphs (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual const void * getFontTable (LETag tableTag) const
virtual le_int32 glyphPostProcessing (LEGlyphStorage &tempGlyphStorage, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual le_int32 glyphProcessing (const LEUnicode chars[], le_int32 offset, le_int32 count, le_int32 max, le_bool rightToLeft, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual le_int32 glyphSubstitution (le_int32 count, le_int32 max, le_bool rightToLeft, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual void mapCharsToGlyphs (const LEUnicode chars[], le_int32 offset, le_int32 count, le_bool reverse, le_bool mirror, LEGlyphStorage &glyphStorage, LEErrorCode &success)
virtual void positionGlyphs (LEGlyphStorage &glyphStorage, float x, float y, LEErrorCode &success)
virtual void reset ()

Static Protected Member Functions

static void adjustMarkGlyphs (const LEUnicode chars[], le_int32 charCount, le_bool reverse, LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success)
static void adjustMarkGlyphs (LEGlyphStorage &glyphStorage, LEGlyphFilter *markFilter, LEErrorCode &success)

Protected Attributes

const FeatureMap * fFeatureMap
le_int32 fFeatureMapCount
FeatureMask fFeatureMask
le_bool fFeatureOrder
le_bool fFilterZeroWidth
const LEFontInstancefFontInstance
const GlyphDefinitionTableHeader * fGDEFTable
LEGlyphStoragefGlyphStorage
const GlyphPositioningTableHeader * fGPOSTable
const
GlyphSubstitutionTableHeader * 
fGSUBTable
LETag fLangSysTag
le_int32 fLanguageCode
le_int32 fScriptCode
LETag fScriptTag
LETag fScriptTagV2
LEGlyphFilterfSubstitutionFilter
le_int32 fTypoFlags

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index