diff options
author | Adrian Johnson <ajohnson@redneon.com> | 2006-10-15 23:07:38 +0930 |
---|---|---|
committer | Adrian Johnson <ajohnson@redneon.com> | 2006-10-15 23:07:38 +0930 |
commit | 216c759d463ca407e1baea4090c782074567cbe2 (patch) | |
tree | f107c633d672be01ef2bb0ae9fb8c0c35db1d77c /src/cairo-type1-fallback.c | |
parent | d1fb02b5b93c9a456411e9eb56f3ee136b33d9e7 (diff) | |
download | cairo-216c759d463ca407e1baea4090c782074567cbe2.tar.gz |
Type 1 fallback fonts - use binary encoding in PDF files
PDF files require that embedded Type 1 fonts have the encrypted
portion of the font encoded in binary.
Diffstat (limited to 'src/cairo-type1-fallback.c')
-rw-r--r-- | src/cairo-type1-fallback.c | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/src/cairo-type1-fallback.c b/src/cairo-type1-fallback.c index fe5742904..485ec01cd 100644 --- a/src/cairo-type1-fallback.c +++ b/src/cairo-type1-fallback.c @@ -64,7 +64,8 @@ typedef struct _cairo_type1_font { static cairo_status_t cairo_type1_font_create (cairo_scaled_font_subset_t *scaled_font_subset, - cairo_type1_font_t **subset_return) + cairo_type1_font_t **subset_return, + cairo_bool_t hex_encode) { cairo_type1_font_t *font; cairo_font_face_t *font_face; @@ -84,6 +85,7 @@ cairo_type1_font_create (cairo_scaled_font_subset_t *scaled_font_subset, } font->scaled_font_subset = scaled_font_subset; + font->hex_encode = hex_encode; font_face = cairo_scaled_font_get_font_face (scaled_font_subset->scaled_font); @@ -546,7 +548,6 @@ cairo_type1_font_write_private_dict (cairo_type1_font_t *font, cairo_output_stream_t *encrypted_output; font->eexec_key = private_dict_key; - font->hex_encode = TRUE; font->hex_column = 0; encrypted_output = _cairo_output_stream_create ( cairo_type1_write_stream_encrypted, @@ -667,17 +668,18 @@ cairo_type1_font_destroy (cairo_type1_font_t *font) free (font); } -cairo_status_t -_cairo_type1_fallback_init (cairo_type1_subset_t *type1_subset, - const char *name, - cairo_scaled_font_subset_t *scaled_font_subset) +static cairo_status_t +_cairo_type1_fallback_init_internal (cairo_type1_subset_t *type1_subset, + const char *name, + cairo_scaled_font_subset_t *scaled_font_subset, + cairo_bool_t hex_encode) { cairo_type1_font_t *font; cairo_status_t status; unsigned long length; unsigned int i, len; - status = cairo_type1_font_create (scaled_font_subset, &font); + status = cairo_type1_font_create (scaled_font_subset, &font, hex_encode); if (status) return status; @@ -739,6 +741,26 @@ _cairo_type1_fallback_init (cairo_type1_subset_t *type1_subset, return status; } +cairo_status_t +_cairo_type1_fallback_init_binary (cairo_type1_subset_t *type1_subset, + const char *name, + cairo_scaled_font_subset_t *scaled_font_subset) +{ + _cairo_type1_fallback_init_internal (type1_subset, + name, + scaled_font_subset, FALSE); +} + +cairo_status_t +_cairo_type1_fallback_init_hex (cairo_type1_subset_t *type1_subset, + const char *name, + cairo_scaled_font_subset_t *scaled_font_subset) +{ + _cairo_type1_fallback_init_internal (type1_subset, + name, + scaled_font_subset, TRUE); +} + void _cairo_type1_fallback_fini (cairo_type1_subset_t *subset) { |