diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2006-10-27 00:00:24 +0930 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2006-10-27 00:00:24 +0930 |
commit | bd0f9919086f2978eb1df22cd5c1fffb7621d33f (patch) | |
tree | c92c930bc860cc0159632d0242124e5f2e979507 /src/cairo-scaled-font-subsets-private.h | |
parent | e4c3da80806804574c99170b1df3cb92f6493283 (diff) | |
download | cairo-bd0f9919086f2978eb1df22cd5c1fffb7621d33f.tar.gz |
Add OpenType/CFF Subsetting
Diffstat (limited to 'src/cairo-scaled-font-subsets-private.h')
-rw-r--r-- | src/cairo-scaled-font-subsets-private.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/cairo-scaled-font-subsets-private.h b/src/cairo-scaled-font-subsets-private.h index 01eeb3fbd..2c81fdc63 100644 --- a/src/cairo-scaled-font-subsets-private.h +++ b/src/cairo-scaled-font-subsets-private.h @@ -179,6 +179,46 @@ _cairo_scaled_font_subsets_foreach (cairo_scaled_font_subsets_t *font_subsets, cairo_scaled_font_subset_callback_func_t font_subset_callback, void *closure); +typedef struct _cairo_cff_subset { + char *base_font; + int *widths; + long x_min, y_min, x_max, y_max; + long ascent, descent; + char *data; + unsigned long data_length; +} cairo_cff_subset_t; + +/** + * _cairo_cff_subset_init: + * @cff_subset: a #cairo_cff_subset_t to initialize + * @font_subset: the #cairo_scaled_font_subset_t to initialize from + * + * If possible (depending on the format of the underlying + * cairo_scaled_font_t and the font backend in use) generate a + * cff file corresponding to @font_subset and initialize + * @cff_subset with information about the subset and the cff + * data. + * + * Return value: CAIRO_STATUS_SUCCESS if successful, + * CAIRO_INT_STATUS_UNSUPPORTED if the font can't be subset as a + * cff file, or an non-zero value indicating an error. Possible + * errors include CAIRO_STATUS_NO_MEMORY. + **/ +cairo_private cairo_status_t +_cairo_cff_subset_init (cairo_cff_subset_t *cff_subset, + const char *name, + cairo_scaled_font_subset_t *font_subset); + +/** + * _cairo_cff_subset_fini: + * @cff_subset: a #cairo_cff_subset_t + * + * Free all resources associated with @cff_subset. After this + * call, @cff_subset should not be used again without a + * subsequent call to _cairo_cff_subset_init() again first. + **/ +cairo_private void +_cairo_cff_subset_fini (cairo_cff_subset_t *cff_subset); typedef struct _cairo_truetype_subset { char *base_font; |