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