diff options
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/font/tounicode.c')
-rw-r--r-- | Build/source/texk/web2c/luatexdir/font/tounicode.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/Build/source/texk/web2c/luatexdir/font/tounicode.c b/Build/source/texk/web2c/luatexdir/font/tounicode.c index 19e64471158..fe4725f7dd8 100644 --- a/Build/source/texk/web2c/luatexdir/font/tounicode.c +++ b/Build/source/texk/web2c/luatexdir/font/tounicode.c @@ -457,15 +457,17 @@ static int do_write_tounicode(PDF pdf, char **glyph_names, char *name, internal_ else subrange_count = bfrange_count; bfrange_count -= subrange_count; - pdf_printf(pdf, "%i beginbfrange\n", subrange_count); - for (j = 0; j < subrange_count; j++) { + if (subrange_count>0) { + pdf_printf(pdf, "%i beginbfrange\n", subrange_count); + for (j = 0; j < subrange_count; j++) { while (range_size[i] <= 1 && i < 256) - i++; + i++; assert(i < 256); pdf_printf(pdf, "<%02X> <%02X> <%s>\n", i, i + range_size[i] - 1, utf16be_str(gtab[i].code)); i += range_size[i]; + } + pdf_printf(pdf, "endbfrange\n"); } - pdf_printf(pdf, "endbfrange\n"); if (bfrange_count > 0) goto write_bfrange; /*tex Write out |bfchar|. */ @@ -656,14 +658,16 @@ int write_cid_tounicode(PDF pdf, fo_entry * fo, internal_font_number f) else subrange_count = bfrange_count; bfrange_count -= subrange_count; - pdf_printf(pdf, "%i beginbfrange\n", subrange_count); - for (j = 0; j < subrange_count; j++) { + if (subrange_count>0) { + pdf_printf(pdf, "%i beginbfrange\n", subrange_count); + for (j = 0; j < subrange_count; j++) { while (range_size[i] <= 1 && i < 65536) - i++; + i++; pdf_printf(pdf, "<%04X> <%04X> <%s>\n", i, i + range_size[i] - 1, utf16be_str(gtab[i].code)); i += range_size[i]; + } + pdf_printf(pdf, "endbfrange\n"); } - pdf_printf(pdf, "endbfrange\n"); if (bfrange_count > 0) goto write_bfrange; /*tex Write out |bfchar| */ |