pango 2.0.0-x86-mingw32 → 2.0.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/Rakefile +29 -3
  2. data/ext/pango/extconf.rb +7 -0
  3. data/ext/pango/rbpangocairo.c +12 -0
  4. data/ext/pango/rbpangofontmap.c +22 -3
  5. data/lib/1.9/pango.so +0 -0
  6. data/lib/2.0/pango.so +0 -0
  7. data/vendor/local/bin/hb-ot-shape-closure.exe +0 -0
  8. data/vendor/local/bin/hb-shape.exe +0 -0
  9. data/vendor/local/bin/hb-view.exe +0 -0
  10. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  11. data/vendor/local/bin/libharfbuzz-0.dll +0 -0
  12. data/vendor/local/bin/libpango-1.0-0.dll +0 -0
  13. data/vendor/local/bin/libpangocairo-1.0-0.dll +0 -0
  14. data/vendor/local/bin/libpangoft2-1.0-0.dll +0 -0
  15. data/vendor/local/bin/libpangowin32-1.0-0.dll +0 -0
  16. data/vendor/local/bin/libstdc++-6.dll +0 -0
  17. data/vendor/local/bin/pango-querymodules.exe +0 -0
  18. data/vendor/local/bin/pango-view.exe +0 -0
  19. data/vendor/local/etc/pango/pango.modules +1 -0
  20. data/vendor/local/include/harfbuzz/hb-blob.h +127 -0
  21. data/vendor/local/include/harfbuzz/hb-buffer.h +323 -0
  22. data/vendor/local/include/harfbuzz/hb-common.h +317 -0
  23. data/vendor/local/include/harfbuzz/hb-font.h +454 -0
  24. data/vendor/local/include/harfbuzz/hb-ft.h +62 -0
  25. data/vendor/local/include/harfbuzz/hb-glib.h +52 -0
  26. data/vendor/local/include/harfbuzz/hb-gobject.h +69 -0
  27. data/vendor/local/include/harfbuzz/hb-ot-layout.h +293 -0
  28. data/vendor/local/include/harfbuzz/hb-ot-tag.h +59 -0
  29. data/vendor/local/include/harfbuzz/hb-ot.h +49 -0
  30. data/vendor/local/include/harfbuzz/hb-set.h +152 -0
  31. data/vendor/local/include/harfbuzz/hb-shape-plan.h +89 -0
  32. data/vendor/local/include/harfbuzz/hb-shape.h +81 -0
  33. data/vendor/local/include/harfbuzz/hb-unicode.h +357 -0
  34. data/vendor/local/include/harfbuzz/hb-uniscribe.h +49 -0
  35. data/vendor/local/include/harfbuzz/hb-version.h +66 -0
  36. data/vendor/local/include/harfbuzz/hb.h +45 -0
  37. data/vendor/local/include/pango-1.0/pango/pango-attributes.h +2 -2
  38. data/vendor/local/include/pango-1.0/pango/pango-features.h +2 -2
  39. data/vendor/local/include/pango-1.0/pango/pango-ot.h +242 -0
  40. data/vendor/local/include/pango-1.0/pango/pangofc-decoder.h +110 -0
  41. data/vendor/local/include/pango-1.0/pango/pangofc-font.h +153 -0
  42. data/vendor/local/include/pango-1.0/pango/pangofc-fontmap.h +289 -0
  43. data/vendor/local/include/pango-1.0/pango/pangoft2.h +120 -0
  44. data/vendor/local/lib/girepository-1.0/PangoCairo-1.0.typelib +0 -0
  45. data/vendor/local/lib/girepository-1.0/PangoFT2-1.0.typelib +0 -0
  46. data/vendor/local/lib/libharfbuzz.dll.a +0 -0
  47. data/vendor/local/lib/libharfbuzz.la +41 -0
  48. data/vendor/local/lib/libpango-1.0.dll.a +0 -0
  49. data/vendor/local/lib/libpango-1.0.la +1 -1
  50. data/vendor/local/lib/libpangocairo-1.0.dll.a +0 -0
  51. data/vendor/local/lib/libpangocairo-1.0.la +2 -2
  52. data/vendor/local/lib/libpangoft2-1.0.dll.a +0 -0
  53. data/vendor/local/lib/libpangoft2-1.0.la +41 -0
  54. data/vendor/local/lib/libpangowin32-1.0.dll.a +0 -0
  55. data/vendor/local/lib/libpangowin32-1.0.la +1 -1
  56. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll +0 -0
  57. data/vendor/local/lib/pango/1.8.0/modules/pango-arabic-lang.dll.a +0 -0
  58. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll +0 -0
  59. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.dll.a +0 -0
  60. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-fc.la +41 -0
  61. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll +0 -0
  62. data/vendor/local/lib/pango/1.8.0/modules/pango-basic-win32.dll.a +0 -0
  63. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll +0 -0
  64. data/vendor/local/lib/pango/1.8.0/modules/pango-indic-lang.dll.a +0 -0
  65. data/vendor/local/lib/pkgconfig/harfbuzz.pc +11 -0
  66. data/vendor/local/lib/pkgconfig/pango.pc +1 -1
  67. data/vendor/local/lib/pkgconfig/pangocairo.pc +2 -2
  68. data/vendor/local/lib/pkgconfig/pangoft2.pc +12 -0
  69. data/vendor/local/lib/pkgconfig/pangowin32.pc +1 -1
  70. data/vendor/local/share/gir-1.0/Pango-1.0.gir +1 -1
  71. data/vendor/local/share/gir-1.0/PangoCairo-1.0.gir +22 -1
  72. data/vendor/local/share/gir-1.0/PangoFT2-1.0.gir +349 -0
  73. data/vendor/local/share/gtk-doc/html/pango/PangoEngineLang.html +5 -5
  74. data/vendor/local/share/gtk-doc/html/pango/PangoEngineShape.html +4 -4
  75. data/vendor/local/share/gtk-doc/html/pango/PangoFcDecoder.html +3 -3
  76. data/vendor/local/share/gtk-doc/html/pango/PangoFcFont.html +17 -17
  77. data/vendor/local/share/gtk-doc/html/pango/PangoFcFontMap.html +22 -22
  78. data/vendor/local/share/gtk-doc/html/pango/index.html +1 -1
  79. data/vendor/local/share/gtk-doc/html/pango/pango-Bidirectional-Text.html +15 -15
  80. data/vendor/local/share/gtk-doc/html/pango/pango-Cairo-Rendering.html +30 -30
  81. data/vendor/local/share/gtk-doc/html/pango/pango-CoreText-Fonts.html +1 -1
  82. data/vendor/local/share/gtk-doc/html/pango/pango-Coverage-Maps.html +7 -7
  83. data/vendor/local/share/gtk-doc/html/pango/pango-Engines.html +11 -11
  84. data/vendor/local/share/gtk-doc/html/pango/pango-Fonts.html +123 -123
  85. data/vendor/local/share/gtk-doc/html/pango/pango-FreeType-Fonts-and-Rendering.html +15 -15
  86. data/vendor/local/share/gtk-doc/html/pango/pango-Glyph-Storage.html +56 -56
  87. data/vendor/local/share/gtk-doc/html/pango/pango-Layout-Objects.html +130 -130
  88. data/vendor/local/share/gtk-doc/html/pango/pango-Miscellaneous-Utilities.html +76 -76
  89. data/vendor/local/share/gtk-doc/html/pango/pango-Modules.html +9 -9
  90. data/vendor/local/share/gtk-doc/html/pango/pango-OpenType-Font-Handling.html +101 -101
  91. data/vendor/local/share/gtk-doc/html/pango/pango-Scripts-and-Languages.html +38 -38
  92. data/vendor/local/share/gtk-doc/html/pango/pango-Tab-Stops.html +35 -35
  93. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Attributes.html +135 -135
  94. data/vendor/local/share/gtk-doc/html/pango/pango-Text-Processing.html +75 -75
  95. data/vendor/local/share/gtk-doc/html/pango/pango-Version-Checking.html +3 -3
  96. data/vendor/local/share/gtk-doc/html/pango/pango-Vertical-Text.html +8 -8
  97. data/vendor/local/share/gtk-doc/html/pango/pango-Win32-Fonts-and-Rendering.html +22 -22
  98. data/vendor/local/share/gtk-doc/html/pango/pango-Xft-Fonts-and-Rendering.html +35 -35
  99. data/vendor/local/share/gtk-doc/html/pango/pango-hierarchy.html +1 -1
  100. data/vendor/local/share/gtk-doc/html/pango/pango-pango-renderer.html +11 -11
  101. data/vendor/local/share/license/harfbuzz/AUTHORS +8 -0
  102. data/vendor/local/share/license/harfbuzz/COPYING +36 -0
  103. data/vendor/local/share/man/man1/pango-querymodules.1 +2 -2
  104. data/vendor/local/share/man/man1/pango-view.1 +1 -1
  105. 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 */