[dvipdfmx] bug of dvipdfm-x

Shunsaku Hirata shunsaku.hirata74 at gmail.com
Mon Jan 24 21:28:16 CET 2022


I am not sure why you have concluded so but...

The function parse_ident is not used in parsing fontmap files (fontmap.c).
And also, font identifiers something like your example,
"C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0", are XeTeX internally generated
ones and normally not expected to be used in fontmap specifications.

Probably this behavior is related to uppercase vs. lowercase?
Please try changing the drive letter 'C' to 'c' and see what happens.

Thanks,
Shunsaku Hirata

‪2022年1月25日(火) 2:15 ݆ޒ via dvipdfmx <dvipdfmx at tug.org>:‬
>
> for the pdfparse.c file in dvipdfm-x, the `static const char *valid_chars` in the function `parse_ident` missing `/`.
>
> char *
> parse_ident (const char **start, const char *end)
> {
>   static const char *valid_chars =
>     "!\"#$&'*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~";
>
>   return parse_gen_ident(start, end, valid_chars);
> }
>
> should change to:
>
> char *
> parse_ident (const char **start, const char *end)
> {
>   static const char *valid_chars =
>     "!\"#$&'*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~";
>
>   return parse_gen_ident(start, end, valid_chars);
> }
>
> because when I set StemV for TureType font (such simhei.ttf), the fontmap is:
> C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0
> but because valid_chars don't include `/`, so dvipdfmx can't recognize:
> C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0 Identity-H simhei.ttf -v 50
> in cid-x.map to change SimHei's StemV.



More information about the dvipdfmx mailing list.