<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">As I explained parse_ident is not related since it is not used for reading font mapping records from font mapping files. I also checked dvipdfmx behavior and confirmed this.<div><br><div>Furthermore, omission of '/' is intensional for this function and changing its definition can cause problems in other parts where parse_ident is used.</div><div><br></div><div>Also note that using font mapping files to alter XeTeX internally generated fonts is not what dvipdfmx expect. It's entirely wrong use.</div><div><br></div><div><blockquote type="cite"><div dir="ltr"><div style="min-height: 22px; margin-bottom: 8px;">if it's not a bug, how can we change the specific font's StemV in windows system path with 'xelatex+dvipdfmx'?</div></div></blockquote><div><br></div><div>I think it's font's bug that some information representing font's design characteristics is not recorded correctly.</div><div><br></div><div>Possible solution might be to extend XeTeX so that it accept an option to change the StemV value for a specific font.</div><div><br></div>Thanks,<br><div dir="ltr">Shunsaku Hirata</div><div dir="ltr"><br><blockquote type="cite">2022/01/25 18:39、݆ޒ <16144565@qq.com>のメール:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><div style="min-height:22px;margin-bottom:8px;">it's not relative uppercase and lowercase.</div><div style="min-height:22px;margin-bottom:8px;">let me explain. i'm changing some chinese font's StemV, otherwise dvipdfmx render the font too light. you can check the dvipdfmx changelog of 2008-05-17 (i'm using cellphone reply you, sorry it's not convenient to add the link directly).</div><div style="min-height:22px;margin-bottom:8px;">but i'm using xelatex but not latex. so when i follow the way of latex to change StemV, i'm failed.</div><div style="min-height:22px;margin-bottom:8px;">then i open dvipdfmx's log with '-vv' option, i found dvipdfma recognize the fontmap generated by xelatex is 'C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0', as you said, not latex fontmap 'unihei@Unicode@'.</div><div style="min-height:22px;margin-bottom:8px;">but when i add the xelatex fontmap in cid-x.map, the StemV still didn't change. then i found it's because of the `static const char *valid_chars` in the function `parse_ident` missing `/`, so dvipdfmx can't recognize the fontmap. when i add the '/' and build dvipdfmx by myself, the StemV change successfully by my build dvipdfmx.</div><div style="min-height:22px;margin-bottom:8px;">so i think there must be something wrong with 'xelatex+dvipdfmx'.</div><div style="min-height:22px;margin-bottom:8px;">if it's not a bug, how can we change the specific font's StemV in windows system path with 'xelatex+dvipdfmx'?</div><div style="min-height:22px;margin-bottom:8px;">Thanks!</div><div style="min-height:22px;margin-bottom:8px;"><br></div><div id="original-content"><div class="xm_mail_oringinal_describe"><div style="font-size:70%;padding:2px 0;">------------------ Original ------------------</div><div style="font-size:70%;background:#f0f0f0;color:#212121;padding:8px;border-radius:4px"><div><b>From:</b> Shunsaku Hirata <shunsaku.hirata74@gmail.com></div><div><b>Date:</b> Tue,Jan 25,2022 4:28 AM</div><div><b>To:</b> ݆ޒ <16144565@qq.com></div><div><b>Cc:</b> dvipdfmx <dvipdfmx@tug.org></div><div><b>Subject:</b> Re: [dvipdfmx] bug of dvipdfm-x</div></div></div><br>I am not sure why you have concluded so but...<br><br>The function parse_ident is not used in parsing fontmap files (fontmap.c).<br>And also, font identifiers something like your example,<br>"C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0", are XeTeX internally generated<br>ones and normally not expected to be used in fontmap specifications.<br><br>Probably this behavior is related to uppercase vs. lowercase?<br>Please try changing the drive letter 'C' to 'c' and see what happens.<br><br>Thanks,<br>Shunsaku Hirata<br><br>‪2022年1月25日(火) 2:15 ݆ޒ via dvipdfmx <dvipdfmx@tug.org>:‬<br>><br>> for the pdfparse.c file in dvipdfm-x, the `static const char *valid_chars` in the function `parse_ident` missing `/`.<br>><br>> char *<br>> parse_ident (const char **start, const char *end)<br>> {<br>>   static const char *valid_chars =<br>>     "!\"#$&'*+,-.0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~";<br>><br>>   return parse_gen_ident(start, end, valid_chars);<br>> }<br>><br>> should change to:<br>><br>> char *<br>> parse_ident (const char **start, const char *end)<br>> {<br>>   static const char *valid_chars =<br>>     "!\"#$&'*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\\^_`abcdefghijklmnopqrstuvwxyz|~";<br>><br>>   return parse_gen_ident(start, end, valid_chars);<br>> }<br>><br>> because when I set StemV for TureType font (such simhei.ttf), the fontmap is:<br>> C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0<br>> but because valid_chars don't include `/`, so dvipdfmx can't recognize:<br>> C:/Windows/Fonts/simhei.ttf/0/H/65536/0/0 Identity-H simhei.ttf -v 50<br>> in cid-x.map to change SimHei's StemV.</div></div></blockquote></div></div></body></html>