summaryrefslogtreecommitdiff
path: root/Build/source/texk/xdvipdfmx/src/truetype.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/xdvipdfmx/src/truetype.c')
-rw-r--r--Build/source/texk/xdvipdfmx/src/truetype.c44
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);