00001 /* 00002 * @(#)AnchorTables.h 1.6 00/03/15 00003 * 00004 * (C) Copyright IBM Corp. 1998, 1999, 2000 - All Rights Reserved 00005 * 00006 */ 00007 00008 #ifndef __ANCHORTABLES_H 00009 #define __ANCHORTABLES_H 00010 00011 #include "LETypes.h" 00012 #include "LEFontInstance.h" 00013 #include "OpenTypeTables.h" 00014 00015 struct AnchorTable 00016 { 00017 le_uint16 anchorFormat; 00018 le_int16 xCoordinate; 00019 le_int16 yCoordinate; 00020 00021 void getAnchor(LEGlyphID glyphID, LEFontInstance *fontInstance, 00022 LEPoint &anchor); 00023 }; 00024 00025 struct Format1AnchorTable : AnchorTable 00026 { 00027 void getAnchor(LEFontInstance *fontInstance, LEPoint &anchor); 00028 }; 00029 00030 struct Format2AnchorTable : AnchorTable 00031 { 00032 le_uint16 anchorPoint; 00033 00034 void getAnchor(LEGlyphID glyphID, LEFontInstance *fontInstance, LEPoint &anchor); 00035 }; 00036 00037 struct Format3AnchorTable : AnchorTable 00038 { 00039 Offset xDeviceTableOffset; 00040 Offset yDeviceTableOffset; 00041 00042 void getAnchor(LEFontInstance *fontInstance, LEPoint &anchor); 00043 }; 00044 00045 00046 #endif 00047 00048