diff options
Diffstat (limited to 'Build/source/texk/xdvipdfmx/src/truetype.c')
-rw-r--r-- | Build/source/texk/xdvipdfmx/src/truetype.c | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/Build/source/texk/xdvipdfmx/src/truetype.c b/Build/source/texk/xdvipdfmx/src/truetype.c index 0a1c164bca4..23c63d4fed0 100644 --- a/Build/source/texk/xdvipdfmx/src/truetype.c +++ b/Build/source/texk/xdvipdfmx/src/truetype.c @@ -117,10 +117,29 @@ pdf_font_open_truetype (pdf_font *font) ASSERT( fontdict && descriptor ); { + char fontname[256]; + int n; pdf_obj *tmp; - tmp = tt_get_fontdesc(sfont, &embedding, 1); + + memset(fontname, 0, 256); + length = tt_get_ps_fontname(sfont, fontname, 255); + if (length < 1) { + length = MIN(strlen(ident), 255); + strncpy(fontname, ident, length); + } + fontname[length] = '\0'; + for (n = 0; n < length; n++) { + if (fontname[n] == 0) { + memmove(fontname + n, fontname + n + 1, length - n - 1); + } + } + if (strlen(fontname) == 0) + ERROR("Can't find valid fontname for \"%s\".", ident); + pdf_font_set_fontname(font, fontname); + + tmp = tt_get_fontdesc(sfont, &embedding, 1, fontname); if (!tmp) { - ERROR("Could not obtain neccesary font info."); + ERROR("Could not obtain necessary font info."); sfnt_close(sfont); if (fp) DPXFCLOSE(fp); @@ -164,27 +183,6 @@ pdf_font_open_truetype (pdf_font *font) } } - { - char fontname[256]; - int n; - - memset(fontname, 0, 256); - length = tt_get_ps_fontname(sfont, fontname, 255); - if (length < 1) { - length = MIN(strlen(ident), 255); - strncpy(fontname, ident, length); - } - fontname[length] = '\0'; - for (n = 0; n < length; n++) { - if (fontname[n] == 0) { - memmove(fontname + n, fontname + n + 1, length - n - 1); - } - } - if (strlen(fontname) == 0) - ERROR("Can't find valid fontname for \"%s\".", ident); - pdf_font_set_fontname(font, fontname); - } - sfnt_close(sfont); if (fp) DPXFCLOSE(fp); |