On 9/25/2014 10:50 AM, Hongwen Qiu wrote:
The following minimal example used to work fine: \starttypescript [serif] [zhfonts] \definefontsynonym [Serif] [name:nsimsun] \stoptypescript
\starttypescript [zhfonts] \definetypeface [zhfonts] [rm] [serif] [zhfonts] \stoptypescript
\usetypescript [zhfonts] \setupbodyfont [zhfonts, rm, 11pt]
\starttext
测试
\stoptext
but it's no longer the case.
is it context or the binary? Don't know which one changed that caused the above example to fail. I havn't used nsimsun for months, and indeed the above code used to run
在 2014年09月25日 18:50, Hans Hagen 写道: properly. Just heard from someone that it works in the current but not in the beta. In my opinion, it's much easier to change the context code to fix this problem (about 2 line lua code), but maybe tweaking with the luatex code is the way that should be done. I don't know anything about font format. In the luatex code, a comment said that PLRM only support ASCII fontnames. I suppose PLRM is short for PostScript Language Reference. I have a quick glance of the 3rd edition of PLRM, and only find that fontname have this explanation: "(Optional) The name of the font. This entry is for information only; it is not used by the PostScript interpreter. Ordinarily, it is the same as the key passed to definefont , but it need not be." I noticed that font can have multiple fotnames, each for a lang, just as I posted in the previous message that there're 3 fontnames for index 1 of simsun.ttc. And many other Unicode fonts have non ASCII font names for lang other than 0 too. Just enable the warning message when loading font, and I noticed a lot of arabic font in the Linux box have Arabic font names. So I don't think that context (or luatex) should refuse to work when font have non-ASCII fontnames. Currently there're other font related bugs that I'd wish getting fixed too. I'm currently trying to find out why typesetting with sourcehansanscn will cause some glyphs to disapper. e.g. the following code should typeset two glyphs "理" and "论". But the "理" just get deleted from the output. \starttypescript [serif] [zhfonts] \definefontsynonym [Serif] [name:sourcehansanscn] \stoptypescript \starttypescript [zhfonts] \definetypeface [zhfonts] [rm] [serif] [zhfonts] \stoptypescript \usetypescript [zhfonts] \setupbodyfont [zhfonts, rm, 11pt] \starttext 理论 \stoptext FYI. this font can display "理", when I use libreOffice. I have no clue how to debug this problem. So some advice about debugging this kind of problem is helpful if you're busy to debug the problem. I'd glad to find out the reason why it won't work myself. By the way, I belived that something like \definefontsynonym [Serif] [sourcehansanscn] used to load sourcehansanscn correctly but you must prefix it with name: now, otherwise it won't load any font.