]> git.saurik.com Git - apple/icu.git/blame - icuSources/layout/GlyphPositioningTables.h
ICU-531.48.tar.gz
[apple/icu.git] / icuSources / layout / GlyphPositioningTables.h
CommitLineData
b75a7d8f 1/*
57a6839d 2 * (C) Copyright IBM Corp. 1998-2013 - All Rights Reserved
b75a7d8f
A
3 *
4 */
5
6#ifndef __GLYPHPOSITIONINGTABLES_H
7#define __GLYPHPOSITIONINGTABLES_H
8
9/**
10 * \file
11 * \internal
12 */
13
14#include "LETypes.h"
b75a7d8f
A
15#include "OpenTypeTables.h"
16#include "Lookups.h"
374ca955 17#include "GlyphLookupTables.h"
57a6839d 18#include "LETableReference.h"
b75a7d8f
A
19
20U_NAMESPACE_BEGIN
21
73c04bcf
A
22class LEFontInstance;
23class LEGlyphStorage;
24class LEGlyphFilter;
25class GlyphPositionAdjustments;
26struct GlyphDefinitionTableHeader;
b75a7d8f 27
374ca955
A
28struct GlyphPositioningTableHeader : public GlyphLookupTableHeader
29{
57a6839d 30 void process(const LEReferenceTo<GlyphPositioningTableHeader> &base, LEGlyphStorage &glyphStorage, GlyphPositionAdjustments *glyphPositionAdjustments,
b75a7d8f 31 le_bool rightToLeft, LETag scriptTag, LETag languageTag,
57a6839d 32 const LEReferenceTo<GlyphDefinitionTableHeader> &glyphDefinitionTableHeader, LEErrorCode &success,
73c04bcf 33 const LEFontInstance *fontInstance, const FeatureMap *featureMap, le_int32 featureMapCount, le_bool featureOrder) const;
b75a7d8f
A
34};
35
36enum GlyphPositioningSubtableTypes
37{
38 gpstSingle = 1,
39 gpstPair = 2,
40 gpstCursive = 3,
41 gpstMarkToBase = 4,
42 gpstMarkToLigature = 5,
43 gpstMarkToMark = 6,
44 gpstContext = 7,
45 gpstChainedContext = 8,
46 gpstExtension = 9
47};
48
49typedef LookupSubtable GlyphPositioningSubtable;
50
51U_NAMESPACE_END
52#endif