~ubuntu-branches/ubuntu/lucid/pango1.0/lucid

« back to all changes in this revision

Viewing changes to pango/opentype/hb-font.h

  • Committer: Bazaar Package Importer
  • Author(s): Sebastien Bacher
  • Date: 2009-08-11 17:30:40 UTC
  • mfrom: (1.5.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20090811173040-zozfegyjkb39sep2
Tags: 1.25.2-0ubuntu1
New upstream version

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
 
30
30
#include "hb-common.h"
31
31
#include "hb-blob.h"
 
32
#include "hb-unicode.h"
32
33
 
33
34
HB_BEGIN_DECLS
34
35
 
35
 
typedef struct _hb_font_callbacks_t hb_font_callbacks_t;
36
 
typedef struct _hb_unicode_callbacks_t hb_unicode_callbacks_t;
 
36
 
 
37
/*
 
38
 * hb_face_t
 
39
 */
37
40
 
38
41
typedef struct _hb_face_t hb_face_t;
39
 
typedef struct _hb_font_t hb_font_t;
40
 
 
41
 
typedef hb_blob_t * (*hb_get_table_func_t)  (hb_tag_t tag, void *user_data);
42
 
 
43
 
 
44
 
/*
45
 
 * hb_font_callbacks_t
46
 
 */
47
 
 
48
 
hb_font_callbacks_t *
49
 
hb_font_callbacks_create (void);
50
 
 
51
 
hb_font_callbacks_t *
52
 
hb_font_callbacks_reference (hb_font_callbacks_t *fcallbacks);
53
 
 
54
 
unsigned int
55
 
hb_font_callbacks_get_reference_count (hb_font_callbacks_t *fcallbacks);
56
 
 
57
 
void
58
 
hb_font_callbacks_destroy (hb_font_callbacks_t *fcallbacks);
59
 
 
60
 
hb_font_callbacks_t *
61
 
hb_font_callbacks_copy (hb_font_callbacks_t *fcallbacks);
62
 
 
63
 
/*
64
 
 
65
 
void
66
 
hb_font_callbacks_set_glyph_func (hb_font_callbacks_t *fcallbacks,
67
 
                                  hb_font_get_glyph_func_t glyph_func);
68
 
 
69
 
void
70
 
hb_font_callbacks_set_contour_point_func (hb_font_callbacks_t *fcallbacks,
71
 
                                          hb_font_get_contour_point_func_t contour_point_func);
72
 
 
73
 
void
74
 
hb_font_callbacks_set_glyph_metrics_func (hb_font_callbacks_t *fcallbacks,
75
 
                                          hb_font_get_glyph_metrics_func_t glyph_metrics_func);
76
 
 
77
 
void
78
 
hb_font_callbacks_set_kerning_func (hb_font_callbacks_t *fcallbacks,
79
 
                                    hb_font_get_kerning_func_t kerning_func);
80
 
 
81
 
*/
82
 
 
83
 
 
84
 
/*
85
 
 * hb_unicode_callbacks_t
86
 
 */
87
 
 
88
 
hb_unicode_callbacks_t *
89
 
hb_unicode_callbacks_create (void);
90
 
 
91
 
hb_unicode_callbacks_t *
92
 
hb_unicode_callbacks_reference (hb_unicode_callbacks_t *ucallbacks);
93
 
 
94
 
unsigned int
95
 
hb_unicode_callbacks_get_reference_count (hb_unicode_callbacks_t *ucallbacks);
96
 
 
97
 
void
98
 
hb_unicode_callbacks_destroy (hb_unicode_callbacks_t *ucallbacks);
99
 
 
100
 
hb_unicode_callbacks_t *
101
 
hb_unicode_callbacks_copy (hb_unicode_callbacks_t *ucallbacks);
102
 
 
103
 
/*
104
 
 
105
 
void
106
 
hb_unicode_callbacks_set_general_category_func (hb_unicode_callbacks_t *ucallbacks,
107
 
                                                hb_unicode_get_general_category_func_t general_category_func);
108
 
 
109
 
void
110
 
hb_unicode_callbacks_set_combining_class_func (hb_unicode_callbacks_t *ucallbacks,
111
 
                                               hb_unicode_get_combining_class_func_t combining_class_func);
112
 
 
113
 
void
114
 
hb_unicode_callbacks_set_mirroring_char_func (hb_unicode_callbacks_t *ucallbacks,
115
 
                                              hb_unicode_get_mirroring_char_func_t mirroring_char_func);
116
 
 
117
 
void
118
 
hb_unicode_callbacks_set_script_func (hb_unicode_callbacks_t *ucallbacks,
119
 
                                      hb_unicode_get_script_func_t script_func);
120
 
 
121
 
void
122
 
hb_unicode_callbacks_set_eastasian_width_func (hb_unicode_callbacks_t *ucallbacks,
123
 
                                               hb_unicode_get_eastasian_width_func_t eastasian_width_func);
124
 
 
125
 
*/
126
 
 
127
 
 
128
 
/*
129
 
 * hb_face_t
130
 
 */
131
42
 
132
43
hb_face_t *
133
44
hb_face_create_for_data (hb_blob_t    *blob,
134
45
                         unsigned int  index);
135
46
 
 
47
typedef hb_blob_t * (*hb_get_table_func_t)  (hb_tag_t tag, void *user_data);
 
48
 
136
49
/* calls destory() when not needing user_data anymore */
137
50
hb_face_t *
138
51
hb_face_create_for_tables (hb_get_table_func_t  get_table,
149
62
hb_face_destroy (hb_face_t *face);
150
63
 
151
64
void
152
 
hb_face_set_font_callbacks (hb_face_t *face,
153
 
                            hb_font_callbacks_t *fcallbacks);
154
 
 
155
 
void
156
 
hb_face_set_unicode_callbacks (hb_face_t *face,
157
 
                               hb_unicode_callbacks_t *ucallbacks);
 
65
hb_face_set_unicode_funcs (hb_face_t *face,
 
66
                           hb_unicode_funcs_t *unicode_funcs);
158
67
 
159
68
hb_blob_t *
160
69
hb_face_get_table (hb_face_t *face,
161
 
                   hb_tag_t tag);
 
70
                   hb_tag_t   tag);
 
71
 
 
72
 
 
73
/*
 
74
 * hb_font_funcs_t
 
75
 */
 
76
 
 
77
typedef struct _hb_font_funcs_t hb_font_funcs_t;
 
78
 
 
79
hb_font_funcs_t *
 
80
hb_font_funcs_create (void);
 
81
 
 
82
hb_font_funcs_t *
 
83
hb_font_funcs_reference (hb_font_funcs_t *ffuncs);
 
84
 
 
85
unsigned int
 
86
hb_font_funcs_get_reference_count (hb_font_funcs_t *ffuncs);
 
87
 
 
88
void
 
89
hb_font_funcs_destroy (hb_font_funcs_t *ffuncs);
 
90
 
 
91
hb_font_funcs_t *
 
92
hb_font_funcs_copy (hb_font_funcs_t *ffuncs);
 
93
 
 
94
void
 
95
hb_font_funcs_make_immutable (hb_font_funcs_t *ffuncs);
 
96
 
 
97
/*
 
98
 
 
99
void
 
100
hb_font_funcs_set_glyph_func (hb_font_funcs_t *ffuncs,
 
101
                              hb_font_get_glyph_func_t glyph_func);
 
102
 
 
103
void
 
104
hb_font_funcs_set_contour_point_func (hb_font_funcs_t *ffuncs,
 
105
                                      hb_font_get_contour_point_func_t contour_point_func);
 
106
 
 
107
void
 
108
hb_font_funcs_set_glyph_metrics_func (hb_font_funcs_t *ffuncs,
 
109
                                      hb_font_get_glyph_metrics_func_t glyph_metrics_func);
 
110
 
 
111
void
 
112
hb_font_funcs_set_kerning_func (hb_font_funcs_t *ffuncs,
 
113
                                hb_font_get_kerning_func_t kerning_func);
 
114
 
 
115
*/
162
116
 
163
117
 
164
118
/*
167
121
 
168
122
/* Fonts are very light-weight objects */
169
123
 
 
124
typedef struct _hb_font_t hb_font_t;
 
125
 
170
126
hb_font_t *
171
 
hb_font_create (hb_face_t *face);
 
127
hb_font_create (void);
172
128
 
173
129
hb_font_t *
174
130
hb_font_reference (hb_font_t *font);
179
135
void
180
136
hb_font_destroy (hb_font_t *font);
181
137
 
182
 
hb_face_t *
183
 
hb_font_get_face (hb_font_t *font);
 
138
void
 
139
hb_font_set_funcs (hb_font_t       *font,
 
140
                   hb_font_funcs_t *klass);
184
141
 
185
142
/*
186
143
 * XXX