《计算动力学》原来用LaTex+CJK排版,近期在对《计算动力学》进行改版,拟改用xeLaTex,以便直接使用计算机系统提供的中文字库,而不需要用CJK。但改用xeLaTex编译时,多处出现错误信息:

     ! Internal error: bad native font flag in `map_char_to_glyph'  (TexLive 2013)

如果用TexLive 2012编译,则错误信息为:! Internal error: bad native font flag。

经检查发现,该错误是由以下命令造成的:

       \boldsymbol{\dot \omega}

       \boldsymbol{\bar{\phi}}

       \boldsymbol{\bar{\psi}}

交换\boldsymbol和\dot及\bar的顺序(即改为\dot{\boldsymbol{\omega}}、\bar{\boldsymbol{\phi}}和\bar{\boldsymbol{\psi}})后,错误消失。

另外,\boldsymbol{\dot r}命令虽然不报错,但生成结果不正确,改为\dot{\boldsymbol{r}}后正常。

 

总结:这一错误应该是xeTex的bug,\bar、\dot等使用的字体和\omega等字体冲突。虽然\bar、\dot等使用的字体和英文字母字体不冲突,但生成结果也不正确。解决方案是采用\dot{\boldsymbol{\omega}}形式的命令,即先用\boldsymbol,再用\dot和\bar。

用户登录