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.
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,454 @@
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_H_IN
28
+ #error "Include <hb.h> instead."
29
+ #endif
30
+
31
+ #ifndef HB_FONT_H
32
+ #define HB_FONT_H
33
+
34
+ #include "hb-common.h"
35
+ #include "hb-blob.h"
36
+
37
+ HB_BEGIN_DECLS
38
+
39
+
40
+ typedef struct hb_face_t hb_face_t;
41
+ typedef struct hb_font_t hb_font_t;
42
+
43
+ /*
44
+ * hb_face_t
45
+ */
46
+
47
+ hb_face_t *
48
+ hb_face_create (hb_blob_t *blob,
49
+ unsigned int index);
50
+
51
+ typedef hb_blob_t * (*hb_reference_table_func_t) (hb_face_t *face, hb_tag_t tag, void *user_data);
52
+
53
+ /* calls destroy() when not needing user_data anymore */
54
+ hb_face_t *
55
+ hb_face_create_for_tables (hb_reference_table_func_t reference_table_func,
56
+ void *user_data,
57
+ hb_destroy_func_t destroy);
58
+
59
+ hb_face_t *
60
+ hb_face_get_empty (void);
61
+
62
+ hb_face_t *
63
+ hb_face_reference (hb_face_t *face);
64
+
65
+ void
66
+ hb_face_destroy (hb_face_t *face);
67
+
68
+ hb_bool_t
69
+ hb_face_set_user_data (hb_face_t *face,
70
+ hb_user_data_key_t *key,
71
+ void * data,
72
+ hb_destroy_func_t destroy,
73
+ hb_bool_t replace);
74
+
75
+
76
+ void *
77
+ hb_face_get_user_data (hb_face_t *face,
78
+ hb_user_data_key_t *key);
79
+
80
+ void
81
+ hb_face_make_immutable (hb_face_t *face);
82
+
83
+ hb_bool_t
84
+ hb_face_is_immutable (hb_face_t *face);
85
+
86
+
87
+ hb_blob_t *
88
+ hb_face_reference_table (hb_face_t *face,
89
+ hb_tag_t tag);
90
+
91
+ hb_blob_t *
92
+ hb_face_reference_blob (hb_face_t *face);
93
+
94
+ void
95
+ hb_face_set_index (hb_face_t *face,
96
+ unsigned int index);
97
+
98
+ unsigned int
99
+ hb_face_get_index (hb_face_t *face);
100
+
101
+ void
102
+ hb_face_set_upem (hb_face_t *face,
103
+ unsigned int upem);
104
+
105
+ unsigned int
106
+ hb_face_get_upem (hb_face_t *face);
107
+
108
+ void
109
+ hb_face_set_glyph_count (hb_face_t *face,
110
+ unsigned int glyph_count);
111
+
112
+ unsigned int
113
+ hb_face_get_glyph_count (hb_face_t *face);
114
+
115
+
116
+ /*
117
+ * hb_font_funcs_t
118
+ */
119
+
120
+ typedef struct hb_font_funcs_t hb_font_funcs_t;
121
+
122
+ hb_font_funcs_t *
123
+ hb_font_funcs_create (void);
124
+
125
+ hb_font_funcs_t *
126
+ hb_font_funcs_get_empty (void);
127
+
128
+ hb_font_funcs_t *
129
+ hb_font_funcs_reference (hb_font_funcs_t *ffuncs);
130
+
131
+ void
132
+ hb_font_funcs_destroy (hb_font_funcs_t *ffuncs);
133
+
134
+ hb_bool_t
135
+ hb_font_funcs_set_user_data (hb_font_funcs_t *ffuncs,
136
+ hb_user_data_key_t *key,
137
+ void * data,
138
+ hb_destroy_func_t destroy,
139
+ hb_bool_t replace);
140
+
141
+
142
+ void *
143
+ hb_font_funcs_get_user_data (hb_font_funcs_t *ffuncs,
144
+ hb_user_data_key_t *key);
145
+
146
+
147
+ void
148
+ hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);
149
+
150
+ hb_bool_t
151
+ hb_font_funcs_is_immutable (hb_font_funcs_t *ffuncs);
152
+
153
+
154
+ /* glyph extents */
155
+
156
+ typedef struct hb_glyph_extents_t
157
+ {
158
+ hb_position_t x_bearing;
159
+ hb_position_t y_bearing;
160
+ hb_position_t width;
161
+ hb_position_t height;
162
+ } hb_glyph_extents_t;
163
+
164
+
165
+ /* func types */
166
+
167
+ typedef hb_bool_t (*hb_font_get_glyph_func_t) (hb_font_t *font, void *font_data,
168
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
169
+ hb_codepoint_t *glyph,
170
+ void *user_data);
171
+
172
+
173
+ typedef hb_position_t (*hb_font_get_glyph_advance_func_t) (hb_font_t *font, void *font_data,
174
+ hb_codepoint_t glyph,
175
+ void *user_data);
176
+ typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_h_advance_func_t;
177
+ typedef hb_font_get_glyph_advance_func_t hb_font_get_glyph_v_advance_func_t;
178
+
179
+ typedef hb_bool_t (*hb_font_get_glyph_origin_func_t) (hb_font_t *font, void *font_data,
180
+ hb_codepoint_t glyph,
181
+ hb_position_t *x, hb_position_t *y,
182
+ void *user_data);
183
+ typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_h_origin_func_t;
184
+ typedef hb_font_get_glyph_origin_func_t hb_font_get_glyph_v_origin_func_t;
185
+
186
+ typedef hb_position_t (*hb_font_get_glyph_kerning_func_t) (hb_font_t *font, void *font_data,
187
+ hb_codepoint_t first_glyph, hb_codepoint_t second_glyph,
188
+ void *user_data);
189
+ typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_h_kerning_func_t;
190
+ typedef hb_font_get_glyph_kerning_func_t hb_font_get_glyph_v_kerning_func_t;
191
+
192
+
193
+ typedef hb_bool_t (*hb_font_get_glyph_extents_func_t) (hb_font_t *font, void *font_data,
194
+ hb_codepoint_t glyph,
195
+ hb_glyph_extents_t *extents,
196
+ void *user_data);
197
+ typedef hb_bool_t (*hb_font_get_glyph_contour_point_func_t) (hb_font_t *font, void *font_data,
198
+ hb_codepoint_t glyph, unsigned int point_index,
199
+ hb_position_t *x, hb_position_t *y,
200
+ void *user_data);
201
+
202
+
203
+ typedef hb_bool_t (*hb_font_get_glyph_name_func_t) (hb_font_t *font, void *font_data,
204
+ hb_codepoint_t glyph,
205
+ char *name, unsigned int size,
206
+ void *user_data);
207
+ typedef hb_bool_t (*hb_font_get_glyph_from_name_func_t) (hb_font_t *font, void *font_data,
208
+ const char *name, int len, /* -1 means nul-terminated */
209
+ hb_codepoint_t *glyph,
210
+ void *user_data);
211
+
212
+
213
+ /* func setters */
214
+
215
+ void
216
+ hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
217
+ hb_font_get_glyph_func_t glyph_func,
218
+ void *user_data, hb_destroy_func_t destroy);
219
+
220
+ void
221
+ hb_font_funcs_set_glyph_h_advance_func (hb_font_funcs_t *ffuncs,
222
+ hb_font_get_glyph_h_advance_func_t func,
223
+ void *user_data, hb_destroy_func_t destroy);
224
+ void
225
+ hb_font_funcs_set_glyph_v_advance_func (hb_font_funcs_t *ffuncs,
226
+ hb_font_get_glyph_v_advance_func_t func,
227
+ void *user_data, hb_destroy_func_t destroy);
228
+
229
+ void
230
+ hb_font_funcs_set_glyph_h_origin_func (hb_font_funcs_t *ffuncs,
231
+ hb_font_get_glyph_h_origin_func_t func,
232
+ void *user_data, hb_destroy_func_t destroy);
233
+ void
234
+ hb_font_funcs_set_glyph_v_origin_func (hb_font_funcs_t *ffuncs,
235
+ hb_font_get_glyph_v_origin_func_t func,
236
+ void *user_data, hb_destroy_func_t destroy);
237
+
238
+ void
239
+ hb_font_funcs_set_glyph_h_kerning_func (hb_font_funcs_t *ffuncs,
240
+ hb_font_get_glyph_h_kerning_func_t func,
241
+ void *user_data, hb_destroy_func_t destroy);
242
+ void
243
+ hb_font_funcs_set_glyph_v_kerning_func (hb_font_funcs_t *ffuncs,
244
+ hb_font_get_glyph_v_kerning_func_t func,
245
+ void *user_data, hb_destroy_func_t destroy);
246
+
247
+ void
248
+ hb_font_funcs_set_glyph_extents_func (hb_font_funcs_t *ffuncs,
249
+ hb_font_get_glyph_extents_func_t func,
250
+ void *user_data, hb_destroy_func_t destroy);
251
+ void
252
+ hb_font_funcs_set_glyph_contour_point_func (hb_font_funcs_t *ffuncs,
253
+ hb_font_get_glyph_contour_point_func_t func,
254
+ void *user_data, hb_destroy_func_t destroy);
255
+
256
+ void
257
+ hb_font_funcs_set_glyph_name_func (hb_font_funcs_t *ffuncs,
258
+ hb_font_get_glyph_name_func_t glyph_func,
259
+ void *user_data, hb_destroy_func_t destroy);
260
+ void
261
+ hb_font_funcs_set_glyph_from_name_func (hb_font_funcs_t *ffuncs,
262
+ hb_font_get_glyph_from_name_func_t glyph_func,
263
+ void *user_data, hb_destroy_func_t destroy);
264
+
265
+
266
+ /* func dispatch */
267
+
268
+ hb_bool_t
269
+ hb_font_get_glyph (hb_font_t *font,
270
+ hb_codepoint_t unicode, hb_codepoint_t variation_selector,
271
+ hb_codepoint_t *glyph);
272
+
273
+ hb_position_t
274
+ hb_font_get_glyph_h_advance (hb_font_t *font,
275
+ hb_codepoint_t glyph);
276
+ hb_position_t
277
+ hb_font_get_glyph_v_advance (hb_font_t *font,
278
+ hb_codepoint_t glyph);
279
+
280
+ hb_bool_t
281
+ hb_font_get_glyph_h_origin (hb_font_t *font,
282
+ hb_codepoint_t glyph,
283
+ hb_position_t *x, hb_position_t *y);
284
+ hb_bool_t
285
+ hb_font_get_glyph_v_origin (hb_font_t *font,
286
+ hb_codepoint_t glyph,
287
+ hb_position_t *x, hb_position_t *y);
288
+
289
+ hb_position_t
290
+ hb_font_get_glyph_h_kerning (hb_font_t *font,
291
+ hb_codepoint_t left_glyph, hb_codepoint_t right_glyph);
292
+ hb_position_t
293
+ hb_font_get_glyph_v_kerning (hb_font_t *font,
294
+ hb_codepoint_t top_glyph, hb_codepoint_t bottom_glyph);
295
+
296
+ hb_bool_t
297
+ hb_font_get_glyph_extents (hb_font_t *font,
298
+ hb_codepoint_t glyph,
299
+ hb_glyph_extents_t *extents);
300
+
301
+ hb_bool_t
302
+ hb_font_get_glyph_contour_point (hb_font_t *font,
303
+ hb_codepoint_t glyph, unsigned int point_index,
304
+ hb_position_t *x, hb_position_t *y);
305
+
306
+ hb_bool_t
307
+ hb_font_get_glyph_name (hb_font_t *font,
308
+ hb_codepoint_t glyph,
309
+ char *name, unsigned int size);
310
+ hb_bool_t
311
+ hb_font_get_glyph_from_name (hb_font_t *font,
312
+ const char *name, int len, /* -1 means nul-terminated */
313
+ hb_codepoint_t *glyph);
314
+
315
+
316
+ /* high-level funcs, with fallback */
317
+
318
+ void
319
+ hb_font_get_glyph_advance_for_direction (hb_font_t *font,
320
+ hb_codepoint_t glyph,
321
+ hb_direction_t direction,
322
+ hb_position_t *x, hb_position_t *y);
323
+ void
324
+ hb_font_get_glyph_origin_for_direction (hb_font_t *font,
325
+ hb_codepoint_t glyph,
326
+ hb_direction_t direction,
327
+ hb_position_t *x, hb_position_t *y);
328
+ void
329
+ hb_font_add_glyph_origin_for_direction (hb_font_t *font,
330
+ hb_codepoint_t glyph,
331
+ hb_direction_t direction,
332
+ hb_position_t *x, hb_position_t *y);
333
+ void
334
+ hb_font_subtract_glyph_origin_for_direction (hb_font_t *font,
335
+ hb_codepoint_t glyph,
336
+ hb_direction_t direction,
337
+ hb_position_t *x, hb_position_t *y);
338
+
339
+ void
340
+ hb_font_get_glyph_kerning_for_direction (hb_font_t *font,
341
+ hb_codepoint_t first_glyph, hb_codepoint_t second_glyph,
342
+ hb_direction_t direction,
343
+ hb_position_t *x, hb_position_t *y);
344
+
345
+ hb_bool_t
346
+ hb_font_get_glyph_extents_for_origin (hb_font_t *font,
347
+ hb_codepoint_t glyph,
348
+ hb_direction_t direction,
349
+ hb_glyph_extents_t *extents);
350
+
351
+ hb_bool_t
352
+ hb_font_get_glyph_contour_point_for_origin (hb_font_t *font,
353
+ hb_codepoint_t glyph, unsigned int point_index,
354
+ hb_direction_t direction,
355
+ hb_position_t *x, hb_position_t *y);
356
+
357
+ /* Generates gidDDD if glyph has no name. */
358
+ void
359
+ hb_font_glyph_to_string (hb_font_t *font,
360
+ hb_codepoint_t glyph,
361
+ char *s, unsigned int size);
362
+ /* Parses gidDDD and uniUUUU strings automatically. */
363
+ hb_bool_t
364
+ hb_font_glyph_from_string (hb_font_t *font,
365
+ const char *s, int len, /* -1 means nul-terminated */
366
+ hb_codepoint_t *glyph);
367
+
368
+
369
+ /*
370
+ * hb_font_t
371
+ */
372
+
373
+ /* Fonts are very light-weight objects */
374
+
375
+ hb_font_t *
376
+ hb_font_create (hb_face_t *face);
377
+
378
+ hb_font_t *
379
+ hb_font_create_sub_font (hb_font_t *parent);
380
+
381
+ hb_font_t *
382
+ hb_font_get_empty (void);
383
+
384
+ hb_font_t *
385
+ hb_font_reference (hb_font_t *font);
386
+
387
+ void
388
+ hb_font_destroy (hb_font_t *font);
389
+
390
+ hb_bool_t
391
+ hb_font_set_user_data (hb_font_t *font,
392
+ hb_user_data_key_t *key,
393
+ void * data,
394
+ hb_destroy_func_t destroy,
395
+ hb_bool_t replace);
396
+
397
+
398
+ void *
399
+ hb_font_get_user_data (hb_font_t *font,
400
+ hb_user_data_key_t *key);
401
+
402
+ void
403
+ hb_font_make_immutable (hb_font_t *font);
404
+
405
+ hb_bool_t
406
+ hb_font_is_immutable (hb_font_t *font);
407
+
408
+ hb_font_t *
409
+ hb_font_get_parent (hb_font_t *font);
410
+
411
+ hb_face_t *
412
+ hb_font_get_face (hb_font_t *font);
413
+
414
+
415
+ void
416
+ hb_font_set_funcs (hb_font_t *font,
417
+ hb_font_funcs_t *klass,
418
+ void *font_data,
419
+ hb_destroy_func_t destroy);
420
+
421
+ /* Be *very* careful with this function! */
422
+ void
423
+ hb_font_set_funcs_data (hb_font_t *font,
424
+ void *font_data,
425
+ hb_destroy_func_t destroy);
426
+
427
+
428
+ void
429
+ hb_font_set_scale (hb_font_t *font,
430
+ int x_scale,
431
+ int y_scale);
432
+
433
+ void
434
+ hb_font_get_scale (hb_font_t *font,
435
+ int *x_scale,
436
+ int *y_scale);
437
+
438
+ /*
439
+ * A zero value means "no hinting in that direction"
440
+ */
441
+ void
442
+ hb_font_set_ppem (hb_font_t *font,
443
+ unsigned int x_ppem,
444
+ unsigned int y_ppem);
445
+
446
+ void
447
+ hb_font_get_ppem (hb_font_t *font,
448
+ unsigned int *x_ppem,
449
+ unsigned int *y_ppem);
450
+
451
+
452
+ HB_END_DECLS
453
+
454
+ #endif /* HB_FONT_H */
@@ -0,0 +1,62 @@
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_FT_H
28
+ #define HB_FT_H
29
+
30
+ #include "hb.h"
31
+
32
+ #include <ft2build.h>
33
+ #include FT_FREETYPE_H
34
+
35
+ HB_BEGIN_DECLS
36
+
37
+ /* Note: FreeType is not thread-safe. Hence, these functions are not either. */
38
+
39
+ hb_face_t *
40
+ hb_ft_face_create (FT_Face ft_face,
41
+ hb_destroy_func_t destroy);
42
+
43
+ hb_face_t *
44
+ hb_ft_face_create_cached (FT_Face ft_face);
45
+
46
+ hb_font_t *
47
+ hb_ft_font_create (FT_Face ft_face,
48
+ hb_destroy_func_t destroy);
49
+
50
+
51
+
52
+ /* Makes an hb_font_t use FreeType internally to implement font functions. */
53
+ void
54
+ hb_ft_font_set_funcs (hb_font_t *font);
55
+
56
+ FT_Face
57
+ hb_ft_font_get_face (hb_font_t *font);
58
+
59
+
60
+ HB_END_DECLS
61
+
62
+ #endif /* HB_FT_H */
@@ -0,0 +1,52 @@
1
+ /*
2
+ * Copyright © 2009 Red Hat, Inc.
3
+ * Copyright © 2011 Google, Inc.
4
+ *
5
+ * This is part of HarfBuzz, a text shaping 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
+ * Red Hat Author(s): Behdad Esfahbod
26
+ * Google Author(s): Behdad Esfahbod
27
+ */
28
+
29
+ #ifndef HB_GLIB_H
30
+ #define HB_GLIB_H
31
+
32
+ #include "hb.h"
33
+
34
+ #include <glib.h>
35
+
36
+ HB_BEGIN_DECLS
37
+
38
+
39
+ hb_script_t
40
+ hb_glib_script_to_script (GUnicodeScript script);
41
+
42
+ GUnicodeScript
43
+ hb_glib_script_from_script (hb_script_t script);
44
+
45
+
46
+ hb_unicode_funcs_t *
47
+ hb_glib_get_unicode_funcs (void);
48
+
49
+
50
+ HB_END_DECLS
51
+
52
+ #endif /* HB_GLIB_H */
@@ -0,0 +1,69 @@
1
+ /*
2
+ * Copyright © 2011 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_GOBJECT_H
28
+ #define HB_GOBJECT_H
29
+
30
+ #include "hb.h"
31
+
32
+ #include <glib-object.h>
33
+
34
+ HB_BEGIN_DECLS
35
+
36
+
37
+ /* Objects */
38
+
39
+ #define HB_GOBJECT_TYPE_BLOB hb_gobject_blob_get_type ()
40
+ GType
41
+ hb_gobject_blob_get_type (void);
42
+
43
+ #define HB_GOBJECT_TYPE_BUFFER hb_gobject_buffer_get_type ()
44
+ GType
45
+ hb_gobject_buffer_get_type (void);
46
+
47
+ #define HB_GOBJECT_TYPE_FACE hb_gobject_face_get_type ()
48
+ GType
49
+ hb_gobject_face_get_type (void);
50
+
51
+ #define HB_GOBJECT_TYPE_FONT hb_gobject_font_get_type ()
52
+ GType
53
+ hb_gobject_font_get_type (void);
54
+
55
+ #define HB_GOBJECT_TYPE_FONT_FUNCS hb_gobject_font_funcs_get_type ()
56
+ GType
57
+ hb_gobject_font_funcs_get_type (void);
58
+
59
+ #define HB_GOBJECT_TYPE_UNICODE_FUNCS hb_gobject_unicode_funcs_get_type ()
60
+ GType
61
+ hb_gobject_unicode_funcs_get_type (void);
62
+
63
+
64
+ /* Enums */
65
+
66
+
67
+ HB_END_DECLS
68
+
69
+ #endif /* HB_GOBJECT_H */