Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

GlyphDefinitionTables.h

Go to the documentation of this file.
00001 /*
00002  * @(#)GlyphDefinitionTables.h  1.5 00/03/15
00003  *
00004  * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved
00005  *
00006  */
00007 
00008 #ifndef __GLYPHDEFINITIONTABLES_H
00009 #define __GLYPHDEFINITIONTABLES_H
00010 
00011 #include "LETypes.h"
00012 #include "OpenTypeTables.h"
00013 #include "ClassDefinitionTables.h"
00014 
00015 typedef ClassDefinitionTable GlyphClassDefinitionTable;
00016 
00017 enum GlyphClassDefinitions
00018 {
00019     gcdNoGlyphClass     = 0,
00020     gcdSimpleGlyph      = 1,
00021     gcdLigatureGlyph    = 2,
00022     gcdMarkGlyph        = 3,
00023     gcdComponentGlyph   = 4
00024 };
00025 
00026 struct AttachmentListTable
00027 {
00028     Offset  coverageTableOffset;
00029     le_uint16  glyphCount;
00030     Offset  attachPointTableOffsetArray[ANY_NUMBER];
00031 };
00032 
00033 struct AttachPointTable
00034 {
00035     le_uint16  pointCount;
00036     le_uint16  pointIndexArray[ANY_NUMBER];
00037 };
00038 
00039 struct LigatureCaretListTable
00040 {
00041     Offset  coverageTableOffset;
00042     le_uint16  ligGlyphCount;
00043     Offset  ligGlyphTableOffsetArray[ANY_NUMBER];
00044 };
00045 
00046 struct LigatureGlyphTable
00047 {
00048     le_uint16  caretCount;
00049     Offset  caretValueTableOffsetArray[ANY_NUMBER];
00050 };
00051 
00052 struct CaretValueTable
00053 {
00054     le_uint16  caretValueFormat;
00055 };
00056 
00057 struct CaretValueFormat1Table : CaretValueTable
00058 {
00059     le_int16   coordinate;
00060 };
00061 
00062 struct CaretValueFormat2Table : CaretValueTable
00063 {
00064     le_uint16  caretValuePoint;
00065 };
00066 
00067 struct CaretValueFormat3Table : CaretValueTable
00068 {
00069     le_int16   coordinate;
00070     Offset  deviceTableOffset;
00071 };
00072 
00073 typedef ClassDefinitionTable MarkAttachClassDefinitionTable;
00074 
00075 struct GlyphDefinitionTableHeader
00076 {
00077     fixed32 version;
00078     Offset  glyphClassDefOffset;
00079     Offset  attachListOffset;
00080     Offset  ligCaretListOffset;
00081     Offset  MarkAttachClassDefOffset;
00082 
00083     GlyphClassDefinitionTable *getGlyphClassDefinitionTable();
00084     AttachmentListTable *getAttachmentListTable();
00085     LigatureCaretListTable *getLigatureCaretListTable();
00086     MarkAttachClassDefinitionTable *getMarkAttachClassDefinitionTable();
00087 };
00088 
00089 #endif

Generated at Tue Dec 5 18:13:00 2000 for ICU by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000