名前: anonymous 日時: 2006-01-11 16:46:37 IPアドレス: 85.195.123.*
>>40580 すぐに分かる事だけ、 > - \textbf を指示すると、Bold 書体は fd ファイル CJKbold 指定により、少しずらして > 重ね打ちする仕様なのですが、あまりきれいだと思えません。CJKbold に別の書体を > 指定する手段を書いていただけるとありがたいです。 \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{} \DeclareFontShape{C70}{song}{bx}{n}{<-> CJKb * cyberb}{\CJKbold} を \DeclareFontShape{C70}{song}{m}{n}{<-> CJK * cyberb}{} \DeclareFontShape{C70}{song}{bx}{n}{<-> CJK * cyberbb}{} に直して、cid-x.mapでcyberbb@Unicode@に別の書体を指定すれば、よいでしょう。 > - CJK 環境(UTF8, song パラメータ指定)でロシア語を組むとハイフネーションが > 機能しません。CJKglue が悪さをしているようでこれを無効化する必要があります。 その通りです。 > cjkenc.el を用いるときちんと機能します。 これはロシア語がCJK 環境の外側で処理されるからです。 > ギリシア語でも同じ問題があると思います。 プリアンブルで\usepackage[フォントエンコーディング]{CJKutf8}として、 CJK 環境を"使わず"に組むと、フォントエンコーディングでカバーされる 文字は\usepackage[utf8]{inputenc}を用いて、CJK 環境の外で処理されます。 ただし、フォントエンコーディングの指定を行なうためにはdfuファイルが 必要なのですが、ギリシア語用のdfuファイルはまだ作られていないようです。 > - 新規ファミリーを fd で定義し、tfm を別途新規に作成して \begin{CJK}{UTF8}{xxxx} を > \section 命令で指定すると文字が化けます。その前にダミーで > \begin{CJK}{UTF8}{song}/end{CJK} > の一文を忍び込ませておくとこの問題が回避できるのですが、その原因/条件が不明です。 > 使い方に問題があるのか、バグなのかわからず、考え方を提示いただけるとうれしいです。 これはCJKパッケージのバグですけれど、マクロの引数は展開されずに渡されますから、 CJK 環境が初期化されて、8 bit文字のカテゴリーコードが変更される前にタイプセットが 始まってしまうと、文字が化けます。8 bit文字で始まるバイト列はpTeXならば、 コンパイラーが多バイト文字として読み込みますが、LaTeX+CJKの場合はあくまでも コンパイラーが読んだ段階では、ただのバイト列、CJK 環境によりカテゴリーコード が変更されて、コントロールコードになって、初めて、多バイト文字として認識される と言う事です。 この問題をすべての場合に完全に修正するのは多分かなり難しいでしょう。
この書き込みへの返事: