diff options
Diffstat (limited to 'Build/source')
-rw-r--r-- | Build/source/texk/dvipdfm-x/ChangeLog | 4 | ||||
-rw-r--r-- | Build/source/texk/dvipdfm-x/dvi.c | 11 |
2 files changed, 7 insertions, 8 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index ff7c38a447d..aa9a1a97ba4 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,7 @@ +2016-01-04 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * dvi.c: Symplify support of native type1 fonts in XeTeX. + 2016-01-03 Akira Kakuto <kakuto@fuk.kindai.ac.jp> * dpxfile.c: Change \ to / for WIN32 also in the case where diff --git a/Build/source/texk/dvipdfm-x/dvi.c b/Build/source/texk/dvipdfm-x/dvi.c index 6976fe335f6..770dfb9f770 100644 --- a/Build/source/texk/dvipdfm-x/dvi.c +++ b/Build/source/texk/dvipdfm-x/dvi.c @@ -149,7 +149,6 @@ static struct loaded_font int descent; unsigned unitsPerEm; cff_font *cffont; - int cff_is_standard_encoding; unsigned numGlyphs; int layout_dir; float extend; @@ -1009,8 +1008,6 @@ dvi_locate_native_font (const char *filename, uint32_t index, ERROR("Failed to read Type 1 font \"%s\".", filename); loaded_fonts[cur_id].cffont = cffont; - loaded_fonts[cur_id].cff_is_standard_encoding = - (enc_vec[0] == NULL || !strcmp (enc_vec[0], ".notdef")); if (cff_dict_known(cffont->topdict, "FontBBox")) { loaded_fonts[cur_id].ascent = cff_dict_get(cffont->topdict, "FontBBox", 3); @@ -1024,9 +1021,6 @@ dvi_locate_native_font (const char *filename, uint32_t index, loaded_fonts[cur_id].numGlyphs = cffont->num_glyphs; DPXFCLOSE(fp); - if (loaded_fonts[cur_id].cff_is_standard_encoding) { - loaded_fonts[cur_id].cff_is_standard_encoding = cffont->is_notdef_notzero; - } } else { if (is_dfont) sfont = dfont_open(fp, index); @@ -1695,8 +1689,9 @@ do_glyphs (void) cff_index *cstrings = font->cffont->cstrings; t1_ginfo gm; - /* For standard encoding, Type1 glyph id is FreeType glyph index + 1. */ - if (font->cff_is_standard_encoding) + /* If .notdef is not the 1st glyph in CharStrings, glyph_id given by + FreeType should be increased by 1 */ + if (font->cffont->is_notdef_notzero) glyph_id += 1; t1char_get_metrics(cstrings->data + cstrings->offset[glyph_id] - 1, |