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,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 */