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,242 @@
1
+ /* Pango
2
+ * pango-ot.h:
3
+ *
4
+ * Copyright (C) 2000,2007 Red Hat Software
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Library General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Library General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Library General Public
17
+ * License along with this library; if not, write to the
18
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19
+ * Boston, MA 02111-1307, USA.
20
+ */
21
+
22
+ #ifndef __PANGO_OT_H__
23
+ #define __PANGO_OT_H__
24
+
25
+ /* Deprecated. Use HarfBuzz directly! */
26
+
27
+ #include <pango/pangofc-font.h>
28
+ #include <pango/pango-glyph.h>
29
+ #include <pango/pango-font.h>
30
+ #include <pango/pango-script.h>
31
+ #include <pango/pango-language.h>
32
+
33
+ G_BEGIN_DECLS
34
+
35
+ #ifdef PANGO_ENABLE_ENGINE
36
+
37
+ typedef guint32 PangoOTTag;
38
+
39
+ #define PANGO_OT_TAG_MAKE(c1,c2,c3,c4) ((PangoOTTag) FT_MAKE_TAG (c1, c2, c3, c4))
40
+ #define PANGO_OT_TAG_MAKE_FROM_STRING(s) (PANGO_OT_TAG_MAKE(((const char *) s)[0], \
41
+ ((const char *) s)[1], \
42
+ ((const char *) s)[2], \
43
+ ((const char *) s)[3]))
44
+
45
+ typedef struct _PangoOTInfo PangoOTInfo;
46
+ typedef struct _PangoOTBuffer PangoOTBuffer;
47
+ typedef struct _PangoOTGlyph PangoOTGlyph;
48
+ typedef struct _PangoOTRuleset PangoOTRuleset;
49
+ typedef struct _PangoOTFeatureMap PangoOTFeatureMap;
50
+ typedef struct _PangoOTRulesetDescription PangoOTRulesetDescription;
51
+
52
+ typedef enum
53
+ {
54
+ PANGO_OT_TABLE_GSUB,
55
+ PANGO_OT_TABLE_GPOS
56
+ } PangoOTTableType;
57
+
58
+ #define PANGO_OT_ALL_GLYPHS ((guint) 0xFFFF)
59
+ #define PANGO_OT_NO_FEATURE ((guint) 0xFFFF)
60
+ #define PANGO_OT_NO_SCRIPT ((guint) 0xFFFF)
61
+ #define PANGO_OT_DEFAULT_LANGUAGE ((guint) 0xFFFF)
62
+
63
+ #define PANGO_OT_TAG_DEFAULT_SCRIPT PANGO_OT_TAG_MAKE ('D', 'F', 'L', 'T')
64
+ #define PANGO_OT_TAG_DEFAULT_LANGUAGE PANGO_OT_TAG_MAKE ('d', 'f', 'l', 't')
65
+
66
+ /* Note that this must match hb_glyph_info_t */
67
+ struct _PangoOTGlyph
68
+ {
69
+ guint32 glyph;
70
+ guint properties;
71
+ guint cluster;
72
+ gushort component;
73
+ gushort ligID;
74
+
75
+ guint internal;
76
+ };
77
+
78
+ struct _PangoOTFeatureMap
79
+ {
80
+ char feature_name[5];
81
+ gulong property_bit;
82
+ };
83
+
84
+ struct _PangoOTRulesetDescription {
85
+ PangoScript script;
86
+ PangoLanguage *language;
87
+ const PangoOTFeatureMap *static_gsub_features;
88
+ guint n_static_gsub_features;
89
+ const PangoOTFeatureMap *static_gpos_features;
90
+ guint n_static_gpos_features;
91
+ const PangoOTFeatureMap *other_features;
92
+ guint n_other_features;
93
+ };
94
+
95
+
96
+ #define PANGO_TYPE_OT_INFO (pango_ot_info_get_type ())
97
+ #define PANGO_OT_INFO(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_OT_INFO, PangoOTInfo))
98
+ #define PANGO_IS_OT_INFO(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_OT_INFO))
99
+ GType pango_ot_info_get_type (void) G_GNUC_CONST;
100
+
101
+ #define PANGO_TYPE_OT_RULESET (pango_ot_ruleset_get_type ())
102
+ #define PANGO_OT_RULESET(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_OT_RULESET, PangoOTRuleset))
103
+ #define PANGO_IS_OT_RULESET(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_OT_RULESET))
104
+ GType pango_ot_ruleset_get_type (void) G_GNUC_CONST;
105
+
106
+
107
+ G_DEPRECATED
108
+ PangoOTInfo *pango_ot_info_get (FT_Face face);
109
+
110
+ G_DEPRECATED
111
+ gboolean pango_ot_info_find_script (PangoOTInfo *info,
112
+ PangoOTTableType table_type,
113
+ PangoOTTag script_tag,
114
+ guint *script_index);
115
+
116
+ G_DEPRECATED
117
+ gboolean pango_ot_info_find_language (PangoOTInfo *info,
118
+ PangoOTTableType table_type,
119
+ guint script_index,
120
+ PangoOTTag language_tag,
121
+ guint *language_index,
122
+ guint *required_feature_index);
123
+ G_DEPRECATED
124
+ gboolean pango_ot_info_find_feature (PangoOTInfo *info,
125
+ PangoOTTableType table_type,
126
+ PangoOTTag feature_tag,
127
+ guint script_index,
128
+ guint language_index,
129
+ guint *feature_index);
130
+
131
+ G_DEPRECATED
132
+ PangoOTTag *pango_ot_info_list_scripts (PangoOTInfo *info,
133
+ PangoOTTableType table_type);
134
+ G_DEPRECATED
135
+ PangoOTTag *pango_ot_info_list_languages (PangoOTInfo *info,
136
+ PangoOTTableType table_type,
137
+ guint script_index,
138
+ PangoOTTag language_tag);
139
+ G_DEPRECATED
140
+ PangoOTTag *pango_ot_info_list_features (PangoOTInfo *info,
141
+ PangoOTTableType table_type,
142
+ PangoOTTag tag,
143
+ guint script_index,
144
+ guint language_index);
145
+
146
+ G_DEPRECATED
147
+ PangoOTBuffer *pango_ot_buffer_new (PangoFcFont *font);
148
+ G_DEPRECATED
149
+ void pango_ot_buffer_destroy (PangoOTBuffer *buffer);
150
+ G_DEPRECATED
151
+ void pango_ot_buffer_clear (PangoOTBuffer *buffer);
152
+ G_DEPRECATED
153
+ void pango_ot_buffer_set_rtl (PangoOTBuffer *buffer,
154
+ gboolean rtl);
155
+ G_DEPRECATED
156
+ void pango_ot_buffer_add_glyph (PangoOTBuffer *buffer,
157
+ guint glyph,
158
+ guint properties,
159
+ guint cluster);
160
+ G_DEPRECATED
161
+ void pango_ot_buffer_get_glyphs (const PangoOTBuffer *buffer,
162
+ PangoOTGlyph **glyphs,
163
+ int *n_glyphs);
164
+ G_DEPRECATED
165
+ void pango_ot_buffer_output (const PangoOTBuffer *buffer,
166
+ PangoGlyphString *glyphs);
167
+
168
+ G_DEPRECATED
169
+ void pango_ot_buffer_set_zero_width_marks (PangoOTBuffer *buffer,
170
+ gboolean zero_width_marks);
171
+
172
+ G_DEPRECATED
173
+ const PangoOTRuleset *pango_ot_ruleset_get_for_description (PangoOTInfo *info,
174
+ const PangoOTRulesetDescription *desc);
175
+ G_DEPRECATED
176
+ PangoOTRuleset *pango_ot_ruleset_new (PangoOTInfo *info);
177
+ G_DEPRECATED
178
+ PangoOTRuleset *pango_ot_ruleset_new_for (PangoOTInfo *info,
179
+ PangoScript script,
180
+ PangoLanguage *language);
181
+ G_DEPRECATED
182
+ PangoOTRuleset *pango_ot_ruleset_new_from_description (PangoOTInfo *info,
183
+ const PangoOTRulesetDescription *desc);
184
+ G_DEPRECATED
185
+ void pango_ot_ruleset_add_feature (PangoOTRuleset *ruleset,
186
+ PangoOTTableType table_type,
187
+ guint feature_index,
188
+ gulong property_bit);
189
+ G_DEPRECATED
190
+ gboolean pango_ot_ruleset_maybe_add_feature (PangoOTRuleset *ruleset,
191
+ PangoOTTableType table_type,
192
+ PangoOTTag feature_tag,
193
+ gulong property_bit);
194
+ G_DEPRECATED
195
+ guint pango_ot_ruleset_maybe_add_features (PangoOTRuleset *ruleset,
196
+ PangoOTTableType table_type,
197
+ const PangoOTFeatureMap *features,
198
+ guint n_features);
199
+ G_DEPRECATED
200
+ guint pango_ot_ruleset_get_feature_count (const PangoOTRuleset *ruleset,
201
+ guint *n_gsub_features,
202
+ guint *n_gpos_features);
203
+
204
+ G_DEPRECATED
205
+ void pango_ot_ruleset_substitute (const PangoOTRuleset *ruleset,
206
+ PangoOTBuffer *buffer);
207
+
208
+ G_DEPRECATED
209
+ void pango_ot_ruleset_position (const PangoOTRuleset *ruleset,
210
+ PangoOTBuffer *buffer);
211
+
212
+ G_DEPRECATED
213
+ PangoScript pango_ot_tag_to_script (PangoOTTag script_tag) G_GNUC_CONST;
214
+
215
+ G_DEPRECATED
216
+ PangoOTTag pango_ot_tag_from_script (PangoScript script) G_GNUC_CONST;
217
+
218
+ G_DEPRECATED
219
+ PangoLanguage *pango_ot_tag_to_language (PangoOTTag language_tag) G_GNUC_CONST;
220
+
221
+ G_DEPRECATED
222
+ PangoOTTag pango_ot_tag_from_language (PangoLanguage *language) G_GNUC_CONST;
223
+
224
+ G_DEPRECATED
225
+ guint pango_ot_ruleset_description_hash (const PangoOTRulesetDescription *desc) G_GNUC_PURE;
226
+
227
+ G_DEPRECATED
228
+ gboolean pango_ot_ruleset_description_equal (const PangoOTRulesetDescription *desc1,
229
+ const PangoOTRulesetDescription *desc2) G_GNUC_PURE;
230
+
231
+ G_DEPRECATED
232
+ PangoOTRulesetDescription *pango_ot_ruleset_description_copy (const PangoOTRulesetDescription *desc);
233
+
234
+ G_DEPRECATED
235
+ void pango_ot_ruleset_description_free (PangoOTRulesetDescription *desc);
236
+
237
+
238
+ #endif /* PANGO_ENABLE_ENGINE */
239
+
240
+ G_END_DECLS
241
+
242
+ #endif /* __PANGO_OT_H__ */
@@ -0,0 +1,110 @@
1
+ /* Pango
2
+ * pangofc-decoder.h: Custom encoders/decoders on a per-font basis.
3
+ *
4
+ * Copyright (C) 2004 Red Hat Software
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Library General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Library General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Library General Public
17
+ * License along with this library; if not, write to the
18
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19
+ * Boston, MA 02111-1307, USA.
20
+ */
21
+
22
+ #ifndef __PANGO_DECODER_H_
23
+ #define __PANGO_DECODER_H_
24
+
25
+ #include <pango/pangofc-font.h>
26
+
27
+ G_BEGIN_DECLS
28
+
29
+ #define PANGO_TYPE_FC_DECODER (pango_fc_decoder_get_type())
30
+ #define PANGO_FC_DECODER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_DECODER, PangoFcDecoder))
31
+ #define PANGO_IS_FC_DECODER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_DECODER))
32
+
33
+ typedef struct _PangoFcDecoder PangoFcDecoder;
34
+ typedef struct _PangoFcDecoderClass PangoFcDecoderClass;
35
+
36
+ #define PANGO_FC_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FC_DECODER, PangoFcDecoderClass))
37
+ #define PANGO_IS_FC_DECODER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FC_DECODER))
38
+ #define PANGO_FC_DECODER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FC_DECODER, PangoFcDecoderClass))
39
+
40
+ /**
41
+ * PangoFcDecoder:
42
+ *
43
+ * #PangoFcDecoder is a virtual base class that implementations will
44
+ * inherit from. It's the interface that is used to define a custom
45
+ * encoding for a font. These objects are created in your code from a
46
+ * function callback that was originally registered with
47
+ * pango_fc_font_map_add_decoder_find_func(). Pango requires
48
+ * information about the supported charset for a font as well as the
49
+ * individual character to glyph conversions. Pango gets that
50
+ * information via the #get_charset and #get_glyph callbacks into your
51
+ * object implementation.
52
+ *
53
+ * Since: 1.6
54
+ **/
55
+ struct _PangoFcDecoder
56
+ {
57
+ /*< private >*/
58
+ GObject parent_instance;
59
+ };
60
+
61
+ /**
62
+ * PangoFcDecoderClass:
63
+ * @get_charset: This returns an #FcCharset given a #PangoFcFont that
64
+ * includes a list of supported characters in the font. The
65
+ * #FcCharSet that is returned should be an internal reference to your
66
+ * code. Pango will not free this structure. It is important that
67
+ * you make this callback fast because this callback is called
68
+ * separately for each character to determine Unicode coverage.
69
+ * @get_glyph: This returns a single #PangoGlyph for a given Unicode
70
+ * code point.
71
+ *
72
+ * Class structure for #PangoFcDecoder.
73
+ *
74
+ * Since: 1.6
75
+ **/
76
+ struct _PangoFcDecoderClass
77
+ {
78
+ /*< private >*/
79
+ GObjectClass parent_class;
80
+
81
+ /* vtable - not signals */
82
+ /*< public >*/
83
+ FcCharSet *(*get_charset) (PangoFcDecoder *decoder,
84
+ PangoFcFont *fcfont);
85
+ PangoGlyph (*get_glyph) (PangoFcDecoder *decoder,
86
+ PangoFcFont *fcfont,
87
+ guint32 wc);
88
+
89
+ /*< private >*/
90
+
91
+ /* Padding for future expansion */
92
+ void (*_pango_reserved1) (void);
93
+ void (*_pango_reserved2) (void);
94
+ void (*_pango_reserved3) (void);
95
+ void (*_pango_reserved4) (void);
96
+ };
97
+
98
+ GType pango_fc_decoder_get_type (void) G_GNUC_CONST;
99
+
100
+ FcCharSet *pango_fc_decoder_get_charset (PangoFcDecoder *decoder,
101
+ PangoFcFont *fcfont);
102
+
103
+ PangoGlyph pango_fc_decoder_get_glyph (PangoFcDecoder *decoder,
104
+ PangoFcFont *fcfont,
105
+ guint32 wc);
106
+
107
+ G_END_DECLS
108
+
109
+ #endif /* __PANGO_DECODER_H_ */
110
+
@@ -0,0 +1,153 @@
1
+ /* Pango
2
+ * pangofc-font.h: Base fontmap type for fontconfig-based backends
3
+ *
4
+ * Copyright (C) 2003 Red Hat Software
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Library General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Library General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Library General Public
17
+ * License along with this library; if not, write to the
18
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19
+ * Boston, MA 02111-1307, USA.
20
+ */
21
+
22
+ #ifndef __PANGO_FC_FONT_H__
23
+ #define __PANGO_FC_FONT_H__
24
+
25
+ #include <ft2build.h>
26
+ #include FT_FREETYPE_H
27
+ #include <fontconfig/fontconfig.h>
28
+ #include <pango/pango-font.h>
29
+ #include <pango/pango-fontmap.h>
30
+ #include <pango/pango-glyph.h>
31
+
32
+ G_BEGIN_DECLS
33
+
34
+ #define PANGO_TYPE_FC_FONT (pango_fc_font_get_type ())
35
+ #define PANGO_FC_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT, PangoFcFont))
36
+ #define PANGO_IS_FC_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT))
37
+
38
+ typedef struct _PangoFcFont PangoFcFont;
39
+ typedef struct _PangoFcFontClass PangoFcFontClass;
40
+
41
+ #if defined(PANGO_ENABLE_ENGINE) || defined(PANGO_ENABLE_BACKEND)
42
+
43
+ /**
44
+ * PANGO_RENDER_TYPE_FC:
45
+ *
46
+ * A string constant used to identify shape engines that work
47
+ * with the fontconfig based backends. See the @engine_type field
48
+ * of #PangoEngineInfo.
49
+ **/
50
+ #define PANGO_RENDER_TYPE_FC "PangoRenderFc"
51
+
52
+ #ifdef PANGO_ENABLE_BACKEND
53
+
54
+ #define PANGO_FC_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FC_FONT, PangoFcFontClass))
55
+ #define PANGO_IS_FC_FONT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FC_FONT))
56
+ #define PANGO_FC_FONT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FC_FONT, PangoFcFontClass))
57
+
58
+ /**
59
+ * PangoFcFont:
60
+ *
61
+ * #PangoFcFont is a base class for font implementations
62
+ * using the Fontconfig and FreeType libraries and is used in
63
+ * conjunction with #PangoFcFontMap. When deriving from this
64
+ * class, you need to implement all of its virtual functions
65
+ * other than shutdown() along with the get_glyph_extents()
66
+ * virtual function from #PangoFont.
67
+ **/
68
+ struct _PangoFcFont
69
+ {
70
+ PangoFont parent_instance;
71
+
72
+ FcPattern *font_pattern; /* fully resolved pattern */
73
+ PangoFontMap *fontmap; /* associated map */
74
+ gpointer priv; /* used internally */
75
+ PangoMatrix matrix; /* used internally */
76
+ PangoFontDescription *description;
77
+
78
+ GSList *metrics_by_lang;
79
+
80
+ guint is_hinted : 1;
81
+ guint is_transformed : 1;
82
+ };
83
+
84
+ /**
85
+ * PangoFcFontClass:
86
+ * @lock_face: Returns the FT_Face of the font and increases
87
+ * the reference count for the face by one.
88
+ * @unlock_face: Decreases the reference count for the
89
+ * FT_Face of the font by one. When the count is zero,
90
+ * the #PangoFcFont subclass is allowed to free the
91
+ * FT_Face.
92
+ * @has_char: Return %TRUE if the the font contains a glyph
93
+ * corresponding to the specified character.
94
+ * @get_glyph: Gets the glyph that corresponds to the given
95
+ * Unicode character.
96
+ * @get_unknown_glyph: Gets the glyph that should be used to
97
+ * display an unknown-glyph indication for the specified
98
+ * Unicode character.
99
+ * May be %NULL.
100
+ * @shutdown: Performs any font-specific shutdown code that
101
+ * needs to be done when pango_fc_font_map_shutdown is called.
102
+ * May be %NULL.
103
+ *
104
+ * Class structure for #PangoFcFont.
105
+ **/
106
+ struct _PangoFcFontClass
107
+ {
108
+ /*< private >*/
109
+ PangoFontClass parent_class;
110
+
111
+ /*< public >*/
112
+ FT_Face (*lock_face) (PangoFcFont *font);
113
+ void (*unlock_face) (PangoFcFont *font);
114
+ gboolean (*has_char) (PangoFcFont *font,
115
+ gunichar wc);
116
+ guint (*get_glyph) (PangoFcFont *font,
117
+ gunichar wc);
118
+ PangoGlyph (*get_unknown_glyph) (PangoFcFont *font,
119
+ gunichar wc);
120
+ void (*shutdown) (PangoFcFont *font);
121
+ /*< private >*/
122
+
123
+ /* Padding for future expansion */
124
+ void (*_pango_reserved1) (void);
125
+ void (*_pango_reserved2) (void);
126
+ void (*_pango_reserved3) (void);
127
+ void (*_pango_reserved4) (void);
128
+ };
129
+
130
+ #endif /* PANGO_ENABLE_BACKEND */
131
+
132
+ gboolean pango_fc_font_has_char (PangoFcFont *font,
133
+ gunichar wc);
134
+ guint pango_fc_font_get_glyph (PangoFcFont *font,
135
+ gunichar wc);
136
+ #ifndef PANGO_DISABLE_DEPRECATED
137
+ G_DEPRECATED_FOR(PANGO_GET_UNKNOWN_GLYPH)
138
+ PangoGlyph pango_fc_font_get_unknown_glyph (PangoFcFont *font,
139
+ gunichar wc);
140
+ G_DEPRECATED
141
+ void pango_fc_font_kern_glyphs (PangoFcFont *font,
142
+ PangoGlyphString *glyphs);
143
+ #endif /* PANGO_DISABLE_DEPRECATED */
144
+
145
+ #endif /* PANGO_ENABLE_ENGINE || PANGO_ENABLE_BACKEND */
146
+
147
+ GType pango_fc_font_get_type (void) G_GNUC_CONST;
148
+
149
+ FT_Face pango_fc_font_lock_face (PangoFcFont *font);
150
+ void pango_fc_font_unlock_face (PangoFcFont *font);
151
+
152
+ G_END_DECLS
153
+ #endif /* __PANGO_FC_FONT_H__ */