sl@0: /* sl@0: * sl@0: * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved sl@0: * sl@0: */ sl@0: sl@0: #ifndef __CLASSDEFINITIONTABLES_H sl@0: #define __CLASSDEFINITIONTABLES_H sl@0: sl@0: /** sl@0: * \file sl@0: * \internal sl@0: */ sl@0: sl@0: #include "LETypes.h" sl@0: #include "OpenTypeTables.h" sl@0: sl@0: U_NAMESPACE_BEGIN sl@0: sl@0: struct ClassDefinitionTable sl@0: { sl@0: le_uint16 classFormat; sl@0: sl@0: le_int32 getGlyphClass(LEGlyphID glyphID) const; sl@0: le_bool hasGlyphClass(le_int32 glyphClass) const; sl@0: }; sl@0: sl@0: struct ClassDefFormat1Table : ClassDefinitionTable sl@0: { sl@0: TTGlyphID startGlyph; sl@0: le_uint16 glyphCount; sl@0: le_uint16 classValueArray[ANY_NUMBER]; sl@0: sl@0: le_int32 getGlyphClass(LEGlyphID glyphID) const; sl@0: le_bool hasGlyphClass(le_int32 glyphClass) const; sl@0: }; sl@0: sl@0: struct ClassRangeRecord sl@0: { sl@0: TTGlyphID start; sl@0: TTGlyphID end; sl@0: le_uint16 classValue; sl@0: }; sl@0: sl@0: struct ClassDefFormat2Table : ClassDefinitionTable sl@0: { sl@0: le_uint16 classRangeCount; sl@0: GlyphRangeRecord classRangeRecordArray[ANY_NUMBER]; sl@0: sl@0: le_int32 getGlyphClass(LEGlyphID glyphID) const; sl@0: le_bool hasGlyphClass(le_int32 glyphClass) const; sl@0: }; sl@0: sl@0: U_NAMESPACE_END sl@0: #endif