pango 2.0.0-x86-mingw32 → 2.0.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +29 -3
- data/ext/pango/extconf.rb +7 -0
- data/ext/pango/rbpangocairo.c +12 -0
- data/ext/pango/rbpangofontmap.c +22 -3
- data/lib/1.9/pango.so +0 -0
- data/lib/2.0/pango.so +0 -0
- data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
- data/vendor/local/bin/hb-shape.exe +0 -0
- data/vendor/local/bin/hb-view.exe +0 -0
- data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
- data/vendor/local/bin/libharfbuzz-0.dll +0 -0
- data/vendor/local/bin/libpango-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
- data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
- data/vendor/local/bin/libstdc++-6.dll +0 -0
- data/vendor/local/bin/pango-querymodules.exe +0 -0
- data/vendor/local/bin/pango-view.exe +0 -0
- data/vendor/local/etc/pango/pango.modules +1 -0
- data/vendor/local/include/harfbuzz/hb-blob.h +127 -0
- data/vendor/local/include/harfbuzz/hb-buffer.h +323 -0
- data/vendor/local/include/harfbuzz/hb-common.h +317 -0
- data/vendor/local/include/harfbuzz/hb-font.h +454 -0
- data/vendor/local/include/harfbuzz/hb-ft.h +62 -0
- data/vendor/local/include/harfbuzz/hb-glib.h +52 -0
- data/vendor/local/include/harfbuzz/hb-gobject.h +69 -0
- data/vendor/local/include/harfbuzz/hb-ot-layout.h +293 -0
- data/vendor/local/include/harfbuzz/hb-ot-tag.h +59 -0
- data/vendor/local/include/harfbuzz/hb-ot.h +49 -0
- data/vendor/local/include/harfbuzz/hb-set.h +152 -0
- data/vendor/local/include/harfbuzz/hb-shape-plan.h +89 -0
- data/vendor/local/include/harfbuzz/hb-shape.h +81 -0
- data/vendor/local/include/harfbuzz/hb-unicode.h +357 -0
- data/vendor/local/include/harfbuzz/hb-uniscribe.h +49 -0
- data/vendor/local/include/harfbuzz/hb-version.h +66 -0
- data/vendor/local/include/harfbuzz/hb.h +45 -0
- data/vendor/local/include/pango-1.0/pango/pango-attributes.h +2 -2
- data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
- data/vendor/local/include/pango-1.0/pango/pango-ot.h +242 -0
- data/vendor/local/include/pango-1.0/pango/pangofc-decoder.h +110 -0
- data/vendor/local/include/pango-1.0/pango/pangofc-font.h +153 -0
- data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +289 -0
- data/vendor/local/include/pango-1.0/pango/pangoft2.h +120 -0
- data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
- data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
- data/vendor/local/lib/libharfbuzz.dll.a +0 -0
- data/vendor/local/lib/libharfbuzz.la +41 -0
- data/vendor/local/lib/libpango-1.0.dll.a +0 -0
- data/vendor/local/lib/libpango-1.0.la +1 -1
- data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangocairo-1.0.la +2 -2
- data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangoft2-1.0.la +41 -0
- data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
- data/vendor/local/lib/libpangowin32-1.0.la +1 -1
- data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +41 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
- data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/harfbuzz.pc +11 -0
- data/vendor/local/lib/pkgconfig/pango.pc +1 -1
- data/vendor/local/lib/pkgconfig/pangocairo.pc +2 -2
- data/vendor/local/lib/pkgconfig/pangoft2.pc +12 -0
- data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
- data/vendor/local/share/gir-1.0/Pango-1.0.gir +1 -1
- data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +22 -1
- data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +349 -0
- data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +5 -5
- data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +4 -4
- data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +17 -17
- data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +22 -22
- data/vendor/local/share/gtk-doc/html/pango/index.html +1 -1
- data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +15 -15
- data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +30 -30
- data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +1 -1
- data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +7 -7
- data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +11 -11
- data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +123 -123
- data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +15 -15
- data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +56 -56
- data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +130 -130
- data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +76 -76
- data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +9 -9
- data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +101 -101
- data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +38 -38
- data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +35 -35
- data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +135 -135
- data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +75 -75
- data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +3 -3
- data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +8 -8
- data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +22 -22
- data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +35 -35
- data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +1 -1
- data/vendor/local/share/gtk-doc/html/pango/pango-pango-renderer.html +11 -11
- data/vendor/local/share/license/harfbuzz/AUTHORS +8 -0
- data/vendor/local/share/license/harfbuzz/COPYING +36 -0
- data/vendor/local/share/man/man1/pango-querymodules.1 +2 -2
- data/vendor/local/share/man/man1/pango-view.1 +1 -1
- metadata +50 -8
@@ -0,0 +1,293 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright © 2007,2008,2009 Red Hat, Inc.
|
3
|
+
*
|
4
|
+
* This is part of HarfBuzz, a text shaping library.
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, without written agreement and without
|
7
|
+
* license or royalty fees, to use, copy, modify, and distribute this
|
8
|
+
* software and its documentation for any purpose, provided that the
|
9
|
+
* above copyright notice and the following two paragraphs appear in
|
10
|
+
* all copies of this software.
|
11
|
+
*
|
12
|
+
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
13
|
+
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
14
|
+
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
15
|
+
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
16
|
+
* DAMAGE.
|
17
|
+
*
|
18
|
+
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
19
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
20
|
+
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
21
|
+
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
22
|
+
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
23
|
+
*
|
24
|
+
* Red Hat Author(s): Behdad Esfahbod
|
25
|
+
*/
|
26
|
+
|
27
|
+
#ifndef HB_OT_H_IN
|
28
|
+
#error "Include <hb-ot.h> instead."
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifndef HB_OT_LAYOUT_H
|
32
|
+
#define HB_OT_LAYOUT_H
|
33
|
+
|
34
|
+
#include "hb.h"
|
35
|
+
|
36
|
+
#include "hb-ot-tag.h"
|
37
|
+
|
38
|
+
HB_BEGIN_DECLS
|
39
|
+
|
40
|
+
|
41
|
+
#define HB_OT_TAG_GDEF HB_TAG('G','D','E','F')
|
42
|
+
#define HB_OT_TAG_GSUB HB_TAG('G','S','U','B')
|
43
|
+
#define HB_OT_TAG_GPOS HB_TAG('G','P','O','S')
|
44
|
+
|
45
|
+
|
46
|
+
/*
|
47
|
+
* GDEF
|
48
|
+
*/
|
49
|
+
|
50
|
+
hb_bool_t
|
51
|
+
hb_ot_layout_has_glyph_classes (hb_face_t *face);
|
52
|
+
|
53
|
+
typedef enum {
|
54
|
+
HB_OT_LAYOUT_GLYPH_CLASS_UNCLASSIFIED = 0,
|
55
|
+
HB_OT_LAYOUT_GLYPH_CLASS_BASE_GLYPH = 1,
|
56
|
+
HB_OT_LAYOUT_GLYPH_CLASS_LIGATURE = 2,
|
57
|
+
HB_OT_LAYOUT_GLYPH_CLASS_MARK = 3,
|
58
|
+
HB_OT_LAYOUT_GLYPH_CLASS_COMPONENT = 4
|
59
|
+
} hb_ot_layout_glyph_class_t;
|
60
|
+
|
61
|
+
hb_ot_layout_glyph_class_t
|
62
|
+
hb_ot_layout_get_glyph_class (hb_face_t *face,
|
63
|
+
hb_codepoint_t glyph);
|
64
|
+
|
65
|
+
void
|
66
|
+
hb_ot_layout_get_glyphs_in_class (hb_face_t *face,
|
67
|
+
hb_ot_layout_glyph_class_t klass,
|
68
|
+
hb_set_t *glyphs /* OUT */);
|
69
|
+
|
70
|
+
|
71
|
+
/* Not that useful. Provides list of attach points for a glyph that a
|
72
|
+
* client may want to cache */
|
73
|
+
unsigned int
|
74
|
+
hb_ot_layout_get_attach_points (hb_face_t *face,
|
75
|
+
hb_codepoint_t glyph,
|
76
|
+
unsigned int start_offset,
|
77
|
+
unsigned int *point_count /* IN/OUT */,
|
78
|
+
unsigned int *point_array /* OUT */);
|
79
|
+
|
80
|
+
/* Ligature caret positions */
|
81
|
+
unsigned int
|
82
|
+
hb_ot_layout_get_ligature_carets (hb_font_t *font,
|
83
|
+
hb_direction_t direction,
|
84
|
+
hb_codepoint_t glyph,
|
85
|
+
unsigned int start_offset,
|
86
|
+
unsigned int *caret_count /* IN/OUT */,
|
87
|
+
hb_position_t *caret_array /* OUT */);
|
88
|
+
|
89
|
+
|
90
|
+
/*
|
91
|
+
* GSUB/GPOS feature query and enumeration interface
|
92
|
+
*/
|
93
|
+
|
94
|
+
#define HB_OT_LAYOUT_NO_SCRIPT_INDEX ((unsigned int) 0xFFFF)
|
95
|
+
#define HB_OT_LAYOUT_NO_FEATURE_INDEX ((unsigned int) 0xFFFF)
|
96
|
+
#define HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX ((unsigned int) 0xFFFF)
|
97
|
+
|
98
|
+
unsigned int
|
99
|
+
hb_ot_layout_table_get_script_tags (hb_face_t *face,
|
100
|
+
hb_tag_t table_tag,
|
101
|
+
unsigned int start_offset,
|
102
|
+
unsigned int *script_count /* IN/OUT */,
|
103
|
+
hb_tag_t *script_tags /* OUT */);
|
104
|
+
|
105
|
+
hb_bool_t
|
106
|
+
hb_ot_layout_table_find_script (hb_face_t *face,
|
107
|
+
hb_tag_t table_tag,
|
108
|
+
hb_tag_t script_tag,
|
109
|
+
unsigned int *script_index);
|
110
|
+
|
111
|
+
/* Like find_script, but takes zero-terminated array of scripts to test */
|
112
|
+
hb_bool_t
|
113
|
+
hb_ot_layout_table_choose_script (hb_face_t *face,
|
114
|
+
hb_tag_t table_tag,
|
115
|
+
const hb_tag_t *script_tags,
|
116
|
+
unsigned int *script_index,
|
117
|
+
hb_tag_t *chosen_script);
|
118
|
+
|
119
|
+
unsigned int
|
120
|
+
hb_ot_layout_table_get_feature_tags (hb_face_t *face,
|
121
|
+
hb_tag_t table_tag,
|
122
|
+
unsigned int start_offset,
|
123
|
+
unsigned int *feature_count /* IN/OUT */,
|
124
|
+
hb_tag_t *feature_tags /* OUT */);
|
125
|
+
|
126
|
+
unsigned int
|
127
|
+
hb_ot_layout_script_get_language_tags (hb_face_t *face,
|
128
|
+
hb_tag_t table_tag,
|
129
|
+
unsigned int script_index,
|
130
|
+
unsigned int start_offset,
|
131
|
+
unsigned int *language_count /* IN/OUT */,
|
132
|
+
hb_tag_t *language_tags /* OUT */);
|
133
|
+
|
134
|
+
hb_bool_t
|
135
|
+
hb_ot_layout_script_find_language (hb_face_t *face,
|
136
|
+
hb_tag_t table_tag,
|
137
|
+
unsigned int script_index,
|
138
|
+
hb_tag_t language_tag,
|
139
|
+
unsigned int *language_index);
|
140
|
+
|
141
|
+
hb_bool_t
|
142
|
+
hb_ot_layout_language_get_required_feature_index (hb_face_t *face,
|
143
|
+
hb_tag_t table_tag,
|
144
|
+
unsigned int script_index,
|
145
|
+
unsigned int language_index,
|
146
|
+
unsigned int *feature_index);
|
147
|
+
|
148
|
+
unsigned int
|
149
|
+
hb_ot_layout_language_get_feature_indexes (hb_face_t *face,
|
150
|
+
hb_tag_t table_tag,
|
151
|
+
unsigned int script_index,
|
152
|
+
unsigned int language_index,
|
153
|
+
unsigned int start_offset,
|
154
|
+
unsigned int *feature_count /* IN/OUT */,
|
155
|
+
unsigned int *feature_indexes /* OUT */);
|
156
|
+
|
157
|
+
unsigned int
|
158
|
+
hb_ot_layout_language_get_feature_tags (hb_face_t *face,
|
159
|
+
hb_tag_t table_tag,
|
160
|
+
unsigned int script_index,
|
161
|
+
unsigned int language_index,
|
162
|
+
unsigned int start_offset,
|
163
|
+
unsigned int *feature_count /* IN/OUT */,
|
164
|
+
hb_tag_t *feature_tags /* OUT */);
|
165
|
+
|
166
|
+
hb_bool_t
|
167
|
+
hb_ot_layout_language_find_feature (hb_face_t *face,
|
168
|
+
hb_tag_t table_tag,
|
169
|
+
unsigned int script_index,
|
170
|
+
unsigned int language_index,
|
171
|
+
hb_tag_t feature_tag,
|
172
|
+
unsigned int *feature_index);
|
173
|
+
|
174
|
+
unsigned int
|
175
|
+
hb_ot_layout_feature_get_lookups (hb_face_t *face,
|
176
|
+
hb_tag_t table_tag,
|
177
|
+
unsigned int feature_index,
|
178
|
+
unsigned int start_offset,
|
179
|
+
unsigned int *lookup_count /* IN/OUT */,
|
180
|
+
unsigned int *lookup_indexes /* OUT */);
|
181
|
+
|
182
|
+
void
|
183
|
+
hb_ot_layout_collect_lookups (hb_face_t *face,
|
184
|
+
hb_tag_t table_tag,
|
185
|
+
const hb_tag_t *scripts,
|
186
|
+
const hb_tag_t *languages,
|
187
|
+
const hb_tag_t *features,
|
188
|
+
hb_set_t *lookup_indexes /* OUT */);
|
189
|
+
|
190
|
+
void
|
191
|
+
hb_ot_shape_plan_collect_lookups (hb_shape_plan_t *shape_plan,
|
192
|
+
hb_tag_t table_tag,
|
193
|
+
hb_set_t *lookup_indexes /* OUT */);
|
194
|
+
|
195
|
+
void
|
196
|
+
hb_ot_layout_lookup_collect_glyphs (hb_face_t *face,
|
197
|
+
hb_tag_t table_tag,
|
198
|
+
unsigned int lookup_index,
|
199
|
+
hb_set_t *glyphs_before, /* OUT. May be NULL */
|
200
|
+
hb_set_t *glyphs_input, /* OUT. May be NULL */
|
201
|
+
hb_set_t *glyphs_after, /* OUT. May be NULL */
|
202
|
+
hb_set_t *glyphs_output /* OUT. May be NULL */);
|
203
|
+
|
204
|
+
#ifdef HB_NOT_IMPLEMENTED
|
205
|
+
typedef struct
|
206
|
+
{
|
207
|
+
const hb_codepoint_t *before,
|
208
|
+
unsigned int before_length,
|
209
|
+
const hb_codepoint_t *input,
|
210
|
+
unsigned int input_length,
|
211
|
+
const hb_codepoint_t *after,
|
212
|
+
unsigned int after_length,
|
213
|
+
} hb_ot_layout_glyph_sequence_t;
|
214
|
+
|
215
|
+
typedef hb_bool_t
|
216
|
+
(*hb_ot_layout_glyph_sequence_func_t) (hb_font_t *font,
|
217
|
+
hb_tag_t table_tag,
|
218
|
+
unsigned int lookup_index,
|
219
|
+
const hb_ot_layout_glyph_sequence_t *sequence,
|
220
|
+
void *user_data);
|
221
|
+
|
222
|
+
void
|
223
|
+
Xhb_ot_layout_lookup_enumerate_sequences (hb_face_t *face,
|
224
|
+
hb_tag_t table_tag,
|
225
|
+
unsigned int lookup_index,
|
226
|
+
hb_ot_layout_glyph_sequence_func_t callback,
|
227
|
+
void *user_data);
|
228
|
+
#endif
|
229
|
+
|
230
|
+
|
231
|
+
/*
|
232
|
+
* GSUB
|
233
|
+
*/
|
234
|
+
|
235
|
+
hb_bool_t
|
236
|
+
hb_ot_layout_has_substitution (hb_face_t *face);
|
237
|
+
|
238
|
+
hb_bool_t
|
239
|
+
hb_ot_layout_lookup_would_substitute (hb_face_t *face,
|
240
|
+
unsigned int lookup_index,
|
241
|
+
const hb_codepoint_t *glyphs,
|
242
|
+
unsigned int glyphs_length,
|
243
|
+
hb_bool_t zero_context);
|
244
|
+
|
245
|
+
void
|
246
|
+
hb_ot_layout_lookup_substitute_closure (hb_face_t *face,
|
247
|
+
unsigned int lookup_index,
|
248
|
+
hb_set_t *glyphs
|
249
|
+
/*TODO , hb_bool_t inclusive */);
|
250
|
+
|
251
|
+
#ifdef HB_NOT_IMPLEMENTED
|
252
|
+
/* Note: You better have GDEF when using this API, or marks won't do much. */
|
253
|
+
hb_bool_t
|
254
|
+
Xhb_ot_layout_lookup_substitute (hb_font_t *font,
|
255
|
+
unsigned int lookup_index,
|
256
|
+
const hb_ot_layout_glyph_sequence_t *sequence,
|
257
|
+
unsigned int out_size,
|
258
|
+
hb_codepoint_t *glyphs_out, /* OUT */
|
259
|
+
unsigned int *clusters_out, /* OUT */
|
260
|
+
unsigned int *out_length /* OUT */);
|
261
|
+
#endif
|
262
|
+
|
263
|
+
|
264
|
+
/*
|
265
|
+
* GPOS
|
266
|
+
*/
|
267
|
+
|
268
|
+
hb_bool_t
|
269
|
+
hb_ot_layout_has_positioning (hb_face_t *face);
|
270
|
+
|
271
|
+
#ifdef HB_NOT_IMPLEMENTED
|
272
|
+
/* Note: You better have GDEF when using this API, or marks won't do much. */
|
273
|
+
hb_bool_t
|
274
|
+
Xhb_ot_layout_lookup_position (hb_font_t *font,
|
275
|
+
unsigned int lookup_index,
|
276
|
+
const hb_ot_layout_glyph_sequence_t *sequence,
|
277
|
+
hb_glyph_position_t *positions /* IN / OUT */);
|
278
|
+
#endif
|
279
|
+
|
280
|
+
/* Optical 'size' feature info. Returns true if found.
|
281
|
+
* http://www.microsoft.com/typography/otspec/features_pt.htm#size */
|
282
|
+
hb_bool_t
|
283
|
+
hb_ot_layout_get_size_params (hb_face_t *face,
|
284
|
+
unsigned int *design_size, /* OUT. May be NULL */
|
285
|
+
unsigned int *subfamily_id, /* OUT. May be NULL */
|
286
|
+
unsigned int *subfamily_name_id, /* OUT. May be NULL */
|
287
|
+
unsigned int *range_start, /* OUT. May be NULL */
|
288
|
+
unsigned int *range_end /* OUT. May be NULL */);
|
289
|
+
|
290
|
+
|
291
|
+
HB_END_DECLS
|
292
|
+
|
293
|
+
#endif /* HB_OT_LAYOUT_H */
|
@@ -0,0 +1,59 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright © 2009 Red Hat, Inc.
|
3
|
+
*
|
4
|
+
* This is part of HarfBuzz, a text shaping library.
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, without written agreement and without
|
7
|
+
* license or royalty fees, to use, copy, modify, and distribute this
|
8
|
+
* software and its documentation for any purpose, provided that the
|
9
|
+
* above copyright notice and the following two paragraphs appear in
|
10
|
+
* all copies of this software.
|
11
|
+
*
|
12
|
+
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
13
|
+
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
14
|
+
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
15
|
+
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
16
|
+
* DAMAGE.
|
17
|
+
*
|
18
|
+
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
19
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
20
|
+
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
21
|
+
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
22
|
+
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
23
|
+
*
|
24
|
+
* Red Hat Author(s): Behdad Esfahbod
|
25
|
+
*/
|
26
|
+
|
27
|
+
#ifndef HB_OT_H_IN
|
28
|
+
#error "Include <hb-ot.h> instead."
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifndef HB_OT_TAG_H
|
32
|
+
#define HB_OT_TAG_H
|
33
|
+
|
34
|
+
#include "hb.h"
|
35
|
+
|
36
|
+
HB_BEGIN_DECLS
|
37
|
+
|
38
|
+
|
39
|
+
#define HB_OT_TAG_DEFAULT_SCRIPT HB_TAG ('D', 'F', 'L', 'T')
|
40
|
+
#define HB_OT_TAG_DEFAULT_LANGUAGE HB_TAG ('d', 'f', 'l', 't')
|
41
|
+
|
42
|
+
void
|
43
|
+
hb_ot_tags_from_script (hb_script_t script,
|
44
|
+
hb_tag_t *script_tag_1,
|
45
|
+
hb_tag_t *script_tag_2);
|
46
|
+
|
47
|
+
hb_script_t
|
48
|
+
hb_ot_tag_to_script (hb_tag_t tag);
|
49
|
+
|
50
|
+
hb_tag_t
|
51
|
+
hb_ot_tag_from_language (hb_language_t language);
|
52
|
+
|
53
|
+
hb_language_t
|
54
|
+
hb_ot_tag_to_language (hb_tag_t tag);
|
55
|
+
|
56
|
+
|
57
|
+
HB_END_DECLS
|
58
|
+
|
59
|
+
#endif /* HB_OT_TAG_H */
|
@@ -0,0 +1,49 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright © 2009 Red Hat, Inc.
|
3
|
+
*
|
4
|
+
* This is part of HarfBuzz, a text shaping library.
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, without written agreement and without
|
7
|
+
* license or royalty fees, to use, copy, modify, and distribute this
|
8
|
+
* software and its documentation for any purpose, provided that the
|
9
|
+
* above copyright notice and the following two paragraphs appear in
|
10
|
+
* all copies of this software.
|
11
|
+
*
|
12
|
+
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
13
|
+
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
14
|
+
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
15
|
+
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
16
|
+
* DAMAGE.
|
17
|
+
*
|
18
|
+
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
19
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
20
|
+
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
21
|
+
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
22
|
+
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
23
|
+
*
|
24
|
+
* Red Hat Author(s): Behdad Esfahbod
|
25
|
+
*/
|
26
|
+
|
27
|
+
#ifndef HB_OT_H
|
28
|
+
#define HB_OT_H
|
29
|
+
#define HB_OT_H_IN
|
30
|
+
|
31
|
+
#include "hb.h"
|
32
|
+
|
33
|
+
#include "hb-ot-layout.h"
|
34
|
+
#include "hb-ot-tag.h"
|
35
|
+
|
36
|
+
HB_BEGIN_DECLS
|
37
|
+
|
38
|
+
/* TODO remove */
|
39
|
+
void
|
40
|
+
hb_ot_shape_glyphs_closure (hb_font_t *font,
|
41
|
+
hb_buffer_t *buffer,
|
42
|
+
const hb_feature_t *features,
|
43
|
+
unsigned int num_features,
|
44
|
+
hb_set_t *glyphs);
|
45
|
+
|
46
|
+
HB_END_DECLS
|
47
|
+
|
48
|
+
#undef HB_OT_H_IN
|
49
|
+
#endif /* HB_OT_H */
|
@@ -0,0 +1,152 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright © 2012 Google, Inc.
|
3
|
+
*
|
4
|
+
* This is part of HarfBuzz, a text shaping library.
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, without written agreement and without
|
7
|
+
* license or royalty fees, to use, copy, modify, and distribute this
|
8
|
+
* software and its documentation for any purpose, provided that the
|
9
|
+
* above copyright notice and the following two paragraphs appear in
|
10
|
+
* all copies of this software.
|
11
|
+
*
|
12
|
+
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
13
|
+
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
14
|
+
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
15
|
+
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
16
|
+
* DAMAGE.
|
17
|
+
*
|
18
|
+
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
19
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
20
|
+
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
21
|
+
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
22
|
+
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
23
|
+
*
|
24
|
+
* Google Author(s): Behdad Esfahbod
|
25
|
+
*/
|
26
|
+
|
27
|
+
#ifndef HB_H_IN
|
28
|
+
#error "Include <hb.h> instead."
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifndef HB_SET_H
|
32
|
+
#define HB_SET_H
|
33
|
+
|
34
|
+
#include "hb-common.h"
|
35
|
+
|
36
|
+
HB_BEGIN_DECLS
|
37
|
+
|
38
|
+
|
39
|
+
typedef struct hb_set_t hb_set_t;
|
40
|
+
|
41
|
+
|
42
|
+
hb_set_t *
|
43
|
+
hb_set_create (void);
|
44
|
+
|
45
|
+
hb_set_t *
|
46
|
+
hb_set_get_empty (void);
|
47
|
+
|
48
|
+
hb_set_t *
|
49
|
+
hb_set_reference (hb_set_t *set);
|
50
|
+
|
51
|
+
void
|
52
|
+
hb_set_destroy (hb_set_t *set);
|
53
|
+
|
54
|
+
hb_bool_t
|
55
|
+
hb_set_set_user_data (hb_set_t *set,
|
56
|
+
hb_user_data_key_t *key,
|
57
|
+
void * data,
|
58
|
+
hb_destroy_func_t destroy,
|
59
|
+
hb_bool_t replace);
|
60
|
+
|
61
|
+
void *
|
62
|
+
hb_set_get_user_data (hb_set_t *set,
|
63
|
+
hb_user_data_key_t *key);
|
64
|
+
|
65
|
+
|
66
|
+
/* Returns false if allocation has failed before */
|
67
|
+
hb_bool_t
|
68
|
+
hb_set_allocation_successful (const hb_set_t *set);
|
69
|
+
|
70
|
+
void
|
71
|
+
hb_set_clear (hb_set_t *set);
|
72
|
+
|
73
|
+
hb_bool_t
|
74
|
+
hb_set_is_empty (const hb_set_t *set);
|
75
|
+
|
76
|
+
hb_bool_t
|
77
|
+
hb_set_has (const hb_set_t *set,
|
78
|
+
hb_codepoint_t codepoint);
|
79
|
+
|
80
|
+
/* Right now limited to 16-bit integers. Eventually will do full codepoint range, sans -1
|
81
|
+
* which we will use as a sentinel. */
|
82
|
+
void
|
83
|
+
hb_set_add (hb_set_t *set,
|
84
|
+
hb_codepoint_t codepoint);
|
85
|
+
|
86
|
+
void
|
87
|
+
hb_set_add_range (hb_set_t *set,
|
88
|
+
hb_codepoint_t first,
|
89
|
+
hb_codepoint_t last);
|
90
|
+
|
91
|
+
void
|
92
|
+
hb_set_del (hb_set_t *set,
|
93
|
+
hb_codepoint_t codepoint);
|
94
|
+
|
95
|
+
void
|
96
|
+
hb_set_del_range (hb_set_t *set,
|
97
|
+
hb_codepoint_t first,
|
98
|
+
hb_codepoint_t last);
|
99
|
+
|
100
|
+
hb_bool_t
|
101
|
+
hb_set_is_equal (const hb_set_t *set,
|
102
|
+
const hb_set_t *other);
|
103
|
+
|
104
|
+
void
|
105
|
+
hb_set_set (hb_set_t *set,
|
106
|
+
const hb_set_t *other);
|
107
|
+
|
108
|
+
void
|
109
|
+
hb_set_union (hb_set_t *set,
|
110
|
+
const hb_set_t *other);
|
111
|
+
|
112
|
+
void
|
113
|
+
hb_set_intersect (hb_set_t *set,
|
114
|
+
const hb_set_t *other);
|
115
|
+
|
116
|
+
void
|
117
|
+
hb_set_subtract (hb_set_t *set,
|
118
|
+
const hb_set_t *other);
|
119
|
+
|
120
|
+
void
|
121
|
+
hb_set_symmetric_difference (hb_set_t *set,
|
122
|
+
const hb_set_t *other);
|
123
|
+
|
124
|
+
void
|
125
|
+
hb_set_invert (hb_set_t *set);
|
126
|
+
|
127
|
+
unsigned int
|
128
|
+
hb_set_get_population (const hb_set_t *set);
|
129
|
+
|
130
|
+
/* Returns -1 if set empty. */
|
131
|
+
hb_codepoint_t
|
132
|
+
hb_set_get_min (const hb_set_t *set);
|
133
|
+
|
134
|
+
/* Returns -1 if set empty. */
|
135
|
+
hb_codepoint_t
|
136
|
+
hb_set_get_max (const hb_set_t *set);
|
137
|
+
|
138
|
+
/* Pass -1 in to get started. */
|
139
|
+
hb_bool_t
|
140
|
+
hb_set_next (const hb_set_t *set,
|
141
|
+
hb_codepoint_t *codepoint);
|
142
|
+
|
143
|
+
/* Pass -1 for first and last to get started. */
|
144
|
+
hb_bool_t
|
145
|
+
hb_set_next_range (const hb_set_t *set,
|
146
|
+
hb_codepoint_t *first,
|
147
|
+
hb_codepoint_t *last);
|
148
|
+
|
149
|
+
|
150
|
+
HB_END_DECLS
|
151
|
+
|
152
|
+
#endif /* HB_SET_H */
|
@@ -0,0 +1,89 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright © 2012 Google, Inc.
|
3
|
+
*
|
4
|
+
* This is part of HarfBuzz, a text shaping library.
|
5
|
+
*
|
6
|
+
* Permission is hereby granted, without written agreement and without
|
7
|
+
* license or royalty fees, to use, copy, modify, and distribute this
|
8
|
+
* software and its documentation for any purpose, provided that the
|
9
|
+
* above copyright notice and the following two paragraphs appear in
|
10
|
+
* all copies of this software.
|
11
|
+
*
|
12
|
+
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
13
|
+
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
14
|
+
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
15
|
+
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
16
|
+
* DAMAGE.
|
17
|
+
*
|
18
|
+
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
19
|
+
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
20
|
+
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
21
|
+
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
22
|
+
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
23
|
+
*
|
24
|
+
* Google Author(s): Behdad Esfahbod
|
25
|
+
*/
|
26
|
+
|
27
|
+
#ifndef HB_H_IN
|
28
|
+
#error "Include <hb.h> instead."
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifndef HB_SHAPE_PLAN_H
|
32
|
+
#define HB_SHAPE_PLAN_H
|
33
|
+
|
34
|
+
#include "hb-common.h"
|
35
|
+
#include "hb-font.h"
|
36
|
+
|
37
|
+
HB_BEGIN_DECLS
|
38
|
+
|
39
|
+
typedef struct hb_shape_plan_t hb_shape_plan_t;
|
40
|
+
|
41
|
+
hb_shape_plan_t *
|
42
|
+
hb_shape_plan_create (hb_face_t *face,
|
43
|
+
const hb_segment_properties_t *props,
|
44
|
+
const hb_feature_t *user_features,
|
45
|
+
unsigned int num_user_features,
|
46
|
+
const char * const *shaper_list);
|
47
|
+
|
48
|
+
hb_shape_plan_t *
|
49
|
+
hb_shape_plan_create_cached (hb_face_t *face,
|
50
|
+
const hb_segment_properties_t *props,
|
51
|
+
const hb_feature_t *user_features,
|
52
|
+
unsigned int num_user_features,
|
53
|
+
const char * const *shaper_list);
|
54
|
+
|
55
|
+
hb_shape_plan_t *
|
56
|
+
hb_shape_plan_get_empty (void);
|
57
|
+
|
58
|
+
hb_shape_plan_t *
|
59
|
+
hb_shape_plan_reference (hb_shape_plan_t *shape_plan);
|
60
|
+
|
61
|
+
void
|
62
|
+
hb_shape_plan_destroy (hb_shape_plan_t *shape_plan);
|
63
|
+
|
64
|
+
hb_bool_t
|
65
|
+
hb_shape_plan_set_user_data (hb_shape_plan_t *shape_plan,
|
66
|
+
hb_user_data_key_t *key,
|
67
|
+
void * data,
|
68
|
+
hb_destroy_func_t destroy,
|
69
|
+
hb_bool_t replace);
|
70
|
+
|
71
|
+
void *
|
72
|
+
hb_shape_plan_get_user_data (hb_shape_plan_t *shape_plan,
|
73
|
+
hb_user_data_key_t *key);
|
74
|
+
|
75
|
+
|
76
|
+
hb_bool_t
|
77
|
+
hb_shape_plan_execute (hb_shape_plan_t *shape_plan,
|
78
|
+
hb_font_t *font,
|
79
|
+
hb_buffer_t *buffer,
|
80
|
+
const hb_feature_t *features,
|
81
|
+
unsigned int num_features);
|
82
|
+
|
83
|
+
const char *
|
84
|
+
hb_shape_plan_get_shaper (hb_shape_plan_t *shape_plan);
|
85
|
+
|
86
|
+
|
87
|
+
HB_END_DECLS
|
88
|
+
|
89
|
+
#endif /* HB_SHAPE_PLAN_H */
|