[Cjk] other strange bibtex related errors (Big 5)
Markus GMX
mmuell25 at gmx.de
Sun Jun 11 17:40:37 CEST 2006
Dear Werner, dear CJK-friends!
Thanks a lot again for your help and especially for your updated script!!!
And also thanks a lot for your hints about the uncovered characters.
Sorry for this stupid question, but I don't know how to regenerate the
necessary type 1 subfonts, I've never done anything like this. So far I
was just a LaTeX user... I've found and downloaded bsmi001p.ttf on the
web. Any hints what to do or what documentation to read are warmly welcomed.
best wishes
Markus
P.S.: I will forward your attached file to the Miktex maintainer.
Werner LEMBERG schrieb:
>> 1. After calling latex and bibtex without any errors, the second
>> latex-call produces the following error, which seems to come from
>> the .bbl file:
>>
>> ! Improper alphabetic constant.
>> <to be read again>
>> \nobreakspace
>> l.26 Xukun 王續琨}}{}{}{}{}} {}
>> \bibAnnoteFile {LiuYongzhen:2002}
>>
>> What's wrong?
>
> This is caused by the Big 5 character `年' which has `~' as the second
> byte in Big 5 encoding. Since this is already used by LaTeX as a
> shorthand for \nobreakspace, CJK can get the expansion of `~' instead
> of `~' itself. Such characters should be written with \CJKchar in
> bibliographies too. I forgot that :-) Below is an updated script.
>
>> 2. After entering batchmode of miktex the file finishes compiling. But
>> when I look at the result (dvi or pdf, it doesn't matter), the
>> third-last Chinese character of the title 恒 (heng) is not
>> displayed.
>
> You are using a character of the so-called ETen extension of Big5.
> Among various symbols, the following CJK characters are located there:
>
> 碁 銹 裏 墻 恒 粧 嫺
>
> Using them is a source of trouble because not all fonts (in Big5
> encoding) support them. Attached is a special UBig5-Arphic.sfd file
> which covers them. Use this to regenerate the Type 1 subfonts of
> bsmi00lp.ttf -- you might also forward this file to the MikTeX package
> maintainer of the CJK package.
>
>
> Werner
>
> ======================================================================
>
> while (<>) {
> s/([\xA1-\xFE])([\x40-\x7E]|[\xA1-\xFE])/
> if ($2 eq "\\" || $2 eq "{" || $2 eq "}" || $2 eq "~") {
> sprintf("\\CJKchar{%d}{%d}", ord($1), ord($2));
> }
> else {
> sprintf("$1$2");
> }
> /eg;
> print;
> }
More information about the Cjk
mailing list