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