35,6 → 35,8 |
|
#define _BSD_SOURCE /* for snprintf(), strdup() */ |
#include "cairoint.h" |
|
#include "cairo-array-private.h" |
#include "cairo-error-private.h" |
|
#if CAIRO_HAS_FONT_SUBSET |
146,7 → 148,7 |
charstring_encode_command (cairo_array_t *data, int command) |
{ |
cairo_status_t status; |
int orig_size; |
unsigned int orig_size; |
unsigned char buf[5]; |
unsigned char *p = buf; |
|
173,7 → 175,7 |
cairo_charstring_type_t type) |
{ |
cairo_status_t status; |
int orig_size; |
unsigned int orig_size; |
unsigned char buf[10]; |
unsigned char *p = buf; |
|
407,7 → 409,6 |
path_info.type = type; |
if (emit_path) { |
status = _cairo_path_fixed_interpret (scaled_glyph->path, |
CAIRO_DIRECTION_FORWARD, |
_charstring_move_to, |
_charstring_line_to, |
_charstring_curve_to, |
514,6 → 515,20 |
"} readonly def\n" |
"/Encoding 256 array\n" |
"0 1 255 {1 index exch /.notdef put} for\n"); |
if (font->scaled_font_subset->is_latin) { |
for (i = 1; i < 256; i++) { |
int subset_glyph = font->scaled_font_subset->latin_to_subset_glyph_index[i]; |
|
if (subset_glyph > 0) { |
if (font->scaled_font_subset->glyph_names != NULL) { |
_cairo_output_stream_printf (font->output, "dup %d /%s put\n", |
i, font->scaled_font_subset->glyph_names[subset_glyph]); |
} else { |
_cairo_output_stream_printf (font->output, "dup %d /g%d put\n", i, subset_glyph); |
} |
} |
} |
} else { |
for (i = 1; i < font->scaled_font_subset->num_glyphs; i++) { |
if (font->scaled_font_subset->glyph_names != NULL) { |
_cairo_output_stream_printf (font->output, "dup %d /%s put\n", |
522,6 → 537,7 |
_cairo_output_stream_printf (font->output, "dup %d /g%d put\n", i, i); |
} |
} |
} |
_cairo_output_stream_printf (font->output, |
"readonly def\n" |
"currentdict end\n" |
612,7 → 628,7 |
|
fail: |
status2 = _cairo_output_stream_destroy (encrypted_output); |
if (status == CAIRO_STATUS_SUCCESS) |
if (status == CAIRO_INT_STATUS_SUCCESS) |
status = status2; |
|
return status; |