1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/*
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru *
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#ifndef __CLASSDEFINITIONTABLES_H
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define __CLASSDEFINITIONTABLES_H
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/**
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \file
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * \internal
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru */
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "LETypes.h"
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "OpenTypeTables.h"
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_BEGIN
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct ClassDefinitionTable
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_uint16 classFormat;
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_int32  getGlyphClass(LEGlyphID glyphID) const;
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_bool   hasGlyphClass(le_int32 glyphClass) const;
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct ClassDefFormat1Table : ClassDefinitionTable
29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TTGlyphID  startGlyph;
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_uint16  glyphCount;
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_uint16  classValueArray[ANY_NUMBER];
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_int32 getGlyphClass(LEGlyphID glyphID) const;
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_bool  hasGlyphClass(le_int32 glyphClass) const;
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct ClassRangeRecord
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TTGlyphID start;
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TTGlyphID end;
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_uint16 classValue;
43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querustruct ClassDefFormat2Table : ClassDefinitionTable
46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_uint16        classRangeCount;
48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    GlyphRangeRecord classRangeRecordArray[ANY_NUMBER];
49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_int32 getGlyphClass(LEGlyphID glyphID) const;
51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    le_bool hasGlyphClass(le_int32 glyphClass) const;
52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruU_NAMESPACE_END
55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#endif
56