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
)