421a4ee31b
X-SVN-Rev: 3439
90 lines
1.9 KiB
C
90 lines
1.9 KiB
C
/*
|
|
* @(#)GlyphDefinitionTables.h 1.5 00/03/15
|
|
*
|
|
* (C) Copyright IBM Corp. 1998, 1999, 2000, 2001 - All Rights Reserved
|
|
*
|
|
*/
|
|
|
|
#ifndef __GLYPHDEFINITIONTABLES_H
|
|
#define __GLYPHDEFINITIONTABLES_H
|
|
|
|
#include "LETypes.h"
|
|
#include "OpenTypeTables.h"
|
|
#include "ClassDefinitionTables.h"
|
|
|
|
typedef ClassDefinitionTable GlyphClassDefinitionTable;
|
|
|
|
enum GlyphClassDefinitions
|
|
{
|
|
gcdNoGlyphClass = 0,
|
|
gcdSimpleGlyph = 1,
|
|
gcdLigatureGlyph = 2,
|
|
gcdMarkGlyph = 3,
|
|
gcdComponentGlyph = 4
|
|
};
|
|
|
|
struct AttachmentListTable
|
|
{
|
|
Offset coverageTableOffset;
|
|
le_uint16 glyphCount;
|
|
Offset attachPointTableOffsetArray[ANY_NUMBER];
|
|
};
|
|
|
|
struct AttachPointTable
|
|
{
|
|
le_uint16 pointCount;
|
|
le_uint16 pointIndexArray[ANY_NUMBER];
|
|
};
|
|
|
|
struct LigatureCaretListTable
|
|
{
|
|
Offset coverageTableOffset;
|
|
le_uint16 ligGlyphCount;
|
|
Offset ligGlyphTableOffsetArray[ANY_NUMBER];
|
|
};
|
|
|
|
struct LigatureGlyphTable
|
|
{
|
|
le_uint16 caretCount;
|
|
Offset caretValueTableOffsetArray[ANY_NUMBER];
|
|
};
|
|
|
|
struct CaretValueTable
|
|
{
|
|
le_uint16 caretValueFormat;
|
|
};
|
|
|
|
struct CaretValueFormat1Table : CaretValueTable
|
|
{
|
|
le_int16 coordinate;
|
|
};
|
|
|
|
struct CaretValueFormat2Table : CaretValueTable
|
|
{
|
|
le_uint16 caretValuePoint;
|
|
};
|
|
|
|
struct CaretValueFormat3Table : CaretValueTable
|
|
{
|
|
le_int16 coordinate;
|
|
Offset deviceTableOffset;
|
|
};
|
|
|
|
typedef ClassDefinitionTable MarkAttachClassDefinitionTable;
|
|
|
|
struct GlyphDefinitionTableHeader
|
|
{
|
|
fixed32 version;
|
|
Offset glyphClassDefOffset;
|
|
Offset attachListOffset;
|
|
Offset ligCaretListOffset;
|
|
Offset MarkAttachClassDefOffset;
|
|
|
|
const GlyphClassDefinitionTable *getGlyphClassDefinitionTable() const;
|
|
const AttachmentListTable *getAttachmentListTable()const ;
|
|
const LigatureCaretListTable *getLigatureCaretListTable() const;
|
|
const MarkAttachClassDefinitionTable *getMarkAttachClassDefinitionTable() const;
|
|
};
|
|
|
|
#endif
|