1 /*
2  *
3  * (C) Copyright IBM Corp. 1998-2004 - All Rights Reserved
4  *
5  */
6 
7 #ifndef __ANCHORTABLES_H
8 #define __ANCHORTABLES_H
9 
10 /**
11  * \file
12  * \internal
13  */
14 
15 #include "LETypes.h"
16 #include "LEFontInstance.h"
17 #include "OpenTypeTables.h"
18 
19 U_NAMESPACE_BEGIN
20 
21 struct AnchorTable
22 {
23     le_uint16  anchorFormat;
24     le_int16   xCoordinate;
25     le_int16   yCoordinate;
26 
27     void    getAnchor(LEGlyphID glyphID, const LEFontInstance *fontInstance,
28                       LEPoint &anchor) const;
29 };
30 
31 struct Format1AnchorTable : AnchorTable
32 {
33     void getAnchor(const LEFontInstance *fontInstance, LEPoint &anchor) const;
34 };
35 
36 struct Format2AnchorTable : AnchorTable
37 {
38     le_uint16  anchorPoint;
39 
40     void getAnchor(LEGlyphID glyphID, const LEFontInstance *fontInstance, LEPoint &anchor) const;
41 };
42 
43 struct Format3AnchorTable : AnchorTable
44 {
45     Offset  xDeviceTableOffset;
46     Offset  yDeviceTableOffset;
47 
48     void getAnchor(const LEFontInstance *fontInstance, LEPoint &anchor) const;
49 };
50 
51 U_NAMESPACE_END
52 #endif
53 
54 
55