Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(799)

Side by Side Diff: third_party/harfbuzz/src/harfbuzz-open.h

Issue 12413010: Remove unused harfbuzz. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/harfbuzz/src/harfbuzz-myanmar.c ('k') | third_party/harfbuzz/src/harfbuzz-open.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 1998-2004 David Turner and Werner Lemberg
3 * Copyright (C) 2006 Behdad Esfahbod
4 *
5 * This is part of HarfBuzz, an OpenType Layout engine library.
6 *
7 * Permission is hereby granted, without written agreement and without
8 * license or royalty fees, to use, copy, modify, and distribute this
9 * software and its documentation for any purpose, provided that the
10 * above copyright notice and the following two paragraphs appear in
11 * all copies of this software.
12 *
13 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17 * DAMAGE.
18 *
19 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
22 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24 */
25
26 #ifndef HARFBUZZ_OPEN_H
27 #define HARFBUZZ_OPEN_H
28
29 #include "harfbuzz-global.h"
30
31 HB_BEGIN_HEADER
32
33 #ifdef HB_USE_PACKED_STRUCTS
34 #pragma pack(push, 1)
35 #endif
36
37 /* Use this if a feature applies to all glyphs */
38 #define HB_ALL_GLYPHS 0xFFFF
39
40 #define HB_DEFAULT_LANGUAGE 0xFFFF
41
42 #define HB_MAX_NESTING_LEVEL 100
43
44
45 /* Script list related structures */
46
47 struct HB_LangSys_
48 {
49 HB_UShort* FeatureIndex; /* array of Feature indices */
50 HB_UShort LookupOrderOffset; /* always 0 for TT Open 1.0 */
51 HB_UShort ReqFeatureIndex; /* required FeatureIndex */
52 HB_UShort FeatureCount; /* number of Feature indices */
53 };
54
55 typedef struct HB_LangSys_ HB_LangSys;
56
57
58 struct HB_LangSysRecord_
59 {
60 HB_LangSys LangSys; /* LangSys table */
61 HB_UInt LangSysTag; /* LangSysTag identifier */
62 };
63
64 typedef struct HB_LangSysRecord_ HB_LangSysRecord;
65
66
67 struct HB_ScriptTable_
68 {
69 HB_LangSysRecord* LangSysRecord; /* array of LangSysRecords */
70 HB_LangSys DefaultLangSys; /* DefaultLangSys table */
71 HB_UShort LangSysCount; /* number of LangSysRecords */
72 };
73
74 typedef struct HB_ScriptTable_ HB_ScriptTable;
75
76
77 struct HB_ScriptRecord_
78 {
79 HB_UInt ScriptTag; /* ScriptTag identifier */
80 HB_ScriptTable Script; /* Script table */
81 };
82
83 typedef struct HB_ScriptRecord_ HB_ScriptRecord;
84
85
86 struct HB_ScriptList_
87 {
88 HB_ScriptRecord* ScriptRecord; /* array of ScriptRecords */
89 HB_UShort ScriptCount; /* number of ScriptRecords */
90 };
91
92 typedef struct HB_ScriptList_ HB_ScriptList;
93
94
95 /* Feature list related structures */
96
97 struct HB_Feature_
98 {
99 HB_UShort* LookupListIndex; /* array of LookupList indices */
100 HB_UShort FeatureParams; /* always 0 for TT Open 1.0 */
101 HB_UShort LookupListCount; /* number of LookupList indices */
102 };
103
104 typedef struct HB_Feature_ HB_Feature;
105
106
107 struct HB_FeatureRecord_
108 {
109 HB_UInt FeatureTag; /* FeatureTag identifier */
110 HB_Feature Feature; /* Feature table */
111 };
112
113 typedef struct HB_FeatureRecord_ HB_FeatureRecord;
114
115
116 struct HB_FeatureList_
117 {
118 HB_UShort* ApplyOrder; /* order to apply features */
119 HB_FeatureRecord* FeatureRecord; /* array of FeatureRecords */
120 HB_UShort FeatureCount; /* number of FeatureRecords */
121 HB_UShort ApplyCount; /* number of elements in ApplyOrder */
122 };
123
124 typedef struct HB_FeatureList_ HB_FeatureList;
125
126
127 /* Lookup list related structures */
128
129 typedef struct HB_SubTable_ HB_SubTable;
130
131
132 struct HB_Lookup_
133 {
134 HB_SubTable* SubTable; /* array of SubTables */
135 HB_UShort LookupType; /* Lookup type */
136 HB_UShort LookupFlag; /* Lookup qualifiers */
137 HB_UShort SubTableCount; /* number of SubTables */
138 };
139
140 typedef struct HB_Lookup_ HB_Lookup;
141
142
143 /* The `Properties' field is not defined in the OpenType specification but
144 is needed for processing lookups. If properties[n] is > 0, the
145 functions HB_GSUB_Apply_String() resp. HB_GPOS_Apply_String() will
146 process Lookup[n] for glyphs which have the specific bit not set in
147 the `properties' field of the input string object. */
148
149 struct HB_LookupList_
150 {
151 HB_Lookup* Lookup; /* array of Lookup records */
152 HB_UInt* Properties; /* array of flags */
153 HB_UShort LookupCount; /* number of Lookups */
154 };
155
156 typedef struct HB_LookupList_ HB_LookupList;
157
158
159 /* Possible LookupFlag bit masks. `HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS' comes f rom the
160 OpenType 1.2 specification; HB_LOOKUP_FLAG_RIGHT_TO_LEFT has been (re)introdu ced in
161 OpenType 1.3 -- if set, the last glyph in a cursive attachment
162 sequence has to be positioned on the baseline -- regardless of the
163 writing direction. */
164
165 #define HB_LOOKUP_FLAG_RIGHT_TO_LEFT 0x0001
166 #define HB_LOOKUP_FLAG_IGNORE_BASE_GLYPHS 0x0002
167 #define HB_LOOKUP_FLAG_IGNORE_LIGATURES 0x0004
168 #define HB_LOOKUP_FLAG_IGNORE_MARKS 0x0008
169 #define HB_LOOKUP_FLAG_IGNORE_SPECIAL_MARKS 0xFF00
170
171
172 struct HB_CoverageFormat1_
173 {
174 HB_UShort* GlyphArray; /* array of glyph IDs */
175 HB_UShort GlyphCount; /* number of glyphs in GlyphArray */
176 };
177
178 typedef struct HB_CoverageFormat1_ HB_CoverageFormat1;
179
180
181 struct HB_RangeRecord_
182 {
183 HB_UShort Start; /* first glyph ID in the range */
184 HB_UShort End; /* last glyph ID in the range */
185 HB_UShort StartCoverageIndex; /* coverage index of first
186 glyph ID in the range */
187 };
188
189 typedef struct HB_RangeRecord_ HB_RangeRecord;
190
191
192 struct HB_CoverageFormat2_
193 {
194 HB_RangeRecord* RangeRecord; /* array of RangeRecords */
195 HB_UShort RangeCount; /* number of RangeRecords */
196 };
197
198 typedef struct HB_CoverageFormat2_ HB_CoverageFormat2;
199
200
201 struct HB_Coverage_
202 {
203 HB_Byte CoverageFormat; /* 1 or 2 */
204
205 union
206 {
207 HB_CoverageFormat1 cf1;
208 HB_CoverageFormat2 cf2;
209 } cf;
210 };
211
212 typedef struct HB_Coverage_ HB_Coverage;
213
214
215 struct HB_ClassDefFormat1_
216 {
217 HB_UShort* ClassValueArray; /* array of class values */
218 HB_UShort StartGlyph; /* first glyph ID of the
219 ClassValueArray */
220 HB_UShort GlyphCount; /* size of the ClassValueArray */
221 };
222
223 typedef struct HB_ClassDefFormat1_ HB_ClassDefFormat1;
224
225
226 struct HB_ClassRangeRecord_
227 {
228 HB_UShort Start; /* first glyph ID in the range */
229 HB_UShort End; /* last glyph ID in the range */
230 HB_UShort Class; /* applied to all glyphs in range */
231 };
232
233 typedef struct HB_ClassRangeRecord_ HB_ClassRangeRecord;
234
235
236 struct HB_ClassDefFormat2_
237 {
238 HB_ClassRangeRecord* ClassRangeRecord;
239 /* array of ClassRangeRecords */
240 HB_UShort ClassRangeCount;
241 /* number of ClassRangeRecords */
242 };
243
244 typedef struct HB_ClassDefFormat2_ HB_ClassDefFormat2;
245
246
247 struct HB_ClassDefinition_
248 {
249 union
250 {
251 HB_ClassDefFormat1 cd1;
252 HB_ClassDefFormat2 cd2;
253 } cd;
254
255 HB_Byte ClassFormat; /* 1 or 2 */
256 HB_Bool loaded;
257 };
258
259 typedef struct HB_ClassDefinition_ HB_ClassDefinition;
260
261
262 struct HB_Device_
263 {
264 HB_UShort* DeltaValue; /* array of compressed data */
265 HB_UShort StartSize; /* smallest size to correct */
266 HB_UShort EndSize; /* largest size to correct */
267 HB_Byte DeltaFormat; /* DeltaValue array data format:
268 1, 2, or 3 */
269 };
270
271 typedef struct HB_Device_ HB_Device;
272
273
274 enum HB_Type_
275 {
276 HB_Type_GSUB,
277 HB_Type_GPOS
278 };
279
280 typedef enum HB_Type_ HB_Type;
281
282 #ifdef HB_USE_PACKED_STRUCTS
283 #pragma pack(pop)
284 #endif
285
286 HB_END_HEADER
287
288 #endif /* HARFBUZZ_OPEN_H */
OLDNEW
« no previous file with comments | « third_party/harfbuzz/src/harfbuzz-myanmar.c ('k') | third_party/harfbuzz/src/harfbuzz-open.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698