3 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
7 #ifndef __CLASSDEFINITIONTABLES_H
8 #define __CLASSDEFINITIONTABLES_H
16 #include "OpenTypeTables.h"
20 struct ClassDefinitionTable
22 le_uint16 classFormat;
24 le_int32 getGlyphClass(const LETableReference &base, LEGlyphID glyphID, LEErrorCode &success) const;
25 le_bool hasGlyphClass(const LETableReference &base, le_int32 glyphClass, LEErrorCode &success) const;
27 le_int32 getGlyphClass(LEGlyphID glyphID) const {
28 LETableReference base((const le_uint8*)this);
29 LEErrorCode ignored = LE_NO_ERROR;
30 return getGlyphClass(base,glyphID,ignored);
33 le_bool hasGlyphClass(le_int32 glyphClass) const {
34 LETableReference base((const le_uint8*)this);
35 LEErrorCode ignored = LE_NO_ERROR;
36 return hasGlyphClass(base,glyphClass,ignored);
40 struct ClassDefFormat1Table : ClassDefinitionTable
44 le_uint16 classValueArray[ANY_NUMBER];
46 le_int32 getGlyphClass(const LETableReference &base, LEGlyphID glyphID, LEErrorCode &success) const;
47 le_bool hasGlyphClass(const LETableReference &base, le_int32 glyphClass, LEErrorCode &success) const;
49 LE_VAR_ARRAY(ClassDefFormat1Table, classValueArray)
52 struct ClassRangeRecord
59 struct ClassDefFormat2Table : ClassDefinitionTable
61 le_uint16 classRangeCount;
62 GlyphRangeRecord classRangeRecordArray[ANY_NUMBER];
64 le_int32 getGlyphClass(const LETableReference &base, LEGlyphID glyphID, LEErrorCode &success) const;
65 le_bool hasGlyphClass(const LETableReference &base, le_int32 glyphClass, LEErrorCode &success) const;
67 LE_VAR_ARRAY(ClassDefFormat2Table, classRangeRecordArray)