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