名前: 永田善久 日時: 2003-10-31 20:31:26 IPアドレス: 172.205.139.*
>>23256 Kino 様, >> 3. ユニコード表を全てカバーするような実際のフォントで,定評のあるものは >> あるでしょうか? (漢字・ハングル文字・かな・ラテンアルファベット・ギリ >> シアアルファベット等々異なった書体間で,バランスが取れているというような >> ことです) > 1フォントでは無理だと思います。フォント・ファイルの文字数は、たしか > 約65000字が上限であるのにたいして、Unicode Standard は、v. 3.1.x > のどこかで10万字を越えたように記憶しています。 はい,納得しました。それにしても「10万字」ですか?! 何だか,凄まじいですね。 > 非CJK文字については、TITUS Cyberbit Basic(Regular のみ)や Gentium >(Regular, Italic)が比較的網羅的です。ここをご覧ください。 どうも有難うございます。後ほど,じっくり拝見します。 > ところで、CJKパッケージは、アクセント付き欧文文字をどう扱うのでしょうか? > precomposed な文字なら、上に挙げたようなフォントが必要になりますが、 > ふつうの LaTeX のように、 たとえば \d{s} として s とドットを合成できるなら、 > 選択範囲が広がります。 結論から述べますと,通常の LaTeX のマークアップ法を使えますし,また, Babel と併用もできます。 が,実を言いますと,CJK パッケージは,私には複雑すぎて,その全体像の10%も理解 できていません (^^; こういった情けない状況下という前提で,お話しさせて戴き ます。 CJK で英語以外の欧文文字を取り扱う方法には,2つあるように見えます。 一つは,テキストエディタ Emacs 利用を前提としたもので,Emacs 上で(その 内部コードを用いて)多言語・多文字種を混在させ,LaTeX コンパイルする際に 必要なものは自動的にマークアップして処理する,というもの。 # CJK パッケージ内 examples ディレクトリに含まれる CJKbabel.tex, muletest.tex # といったファイルが,これに相当します。 今ひとつは,ユニコード utf8 を用いるもの。 # examples ディレクトリ内の UTF8.tex がそれです。 参考までに,CJKbabel.tex のプリアンブルは次のようになっています。 ----------------------- \usepackage{inputenc} % Babel needs this dummy % instruction for Russian support \usepackage{t5} % T5 is Vietnamese \usepackage[T2A, T1]{fontenc} % T2A is Cyrillic \usepackage[german,russian,thaicjk, greek,USenglish]{babel} % the Greek module will automatically % activate LGR font encoding \usepackage[overlap, CJK]{ruby} \usepackage{CJKulem} \usepackage{pshan} % Korean Wansong PS fonts \CJKencfamily{Bg5}{bsmi} \CJKencfamily{GB}{gbsn} \CJKencfamily[dnp]{JIS}{min} \CJKfontenc{KS}{HL} \CJKfontenc{JIS}{dnp} ----------------------- これを見た瞬間,私は Emacs 利用の方法を諦めました (^^; 複雑すぎます。 これに対して,UTF8.tex のプリアンブルは,以下の通りです。 ----------------------- \usepackage{CJK} \usepackage[T1]{fontenc} % we want the Unicode font for normal text also \DeclareFontFamily{T1}{song}{} \DeclareFontShape{T1}{song}{m}{n}{<-> cyberb00}{} \renewcommand\rmdefault{song} ----------------------- これなら,私にも理解できました。UTF8.tex 内で用いられている言語は「英語・ギリシア 語・日本語」です。ギリシア語では「鋭アクセント」の付いた母音が用いられていますが, こうしたアクセント付き文字であっても,「ユニコード表,及び,使用フォント」にそれが 存在する場合は,「そのままちゃんとコンパイル」できます。UTF8.tex 内で,用いるように いわれている Cyberbit.ttf フォントでは,ギリシア語の「鋭アクセント付き母音,分音符 号付き母音」の「いくつか」(全てではない)が存在しますので,これらはそのまま 「テキストファイル」に記述したものを LaTeX で処理できます。 この方法での素晴らしいところは,(以下に述べる「視点」は奥村先生からご指摘戴いたの ですが)「PDF ファイルにして,テキストのコピー & ペーストをしたとき,多言語・ 多文字種がそのまま移せる」ということです。「日本語・中国語・朝鮮語・ロシア語・ ギリシア語・フランス語・ドイツ語」で確認しました。 次に,CJK と Babel を併用する方法ですが,色々と試行錯誤した結果,次のような 記述をすれば OK でした。 ----------------------- \usepackage[encapsulated]{CJK} \usepackage[cjkjis]{ucs} \usepackage[utf8]{inputenc} \usepackage[T2A,T1]{fontenc} \usepackage[polutonikogreek,russian,french,english]{babel} ----------------------- CJKbabel.tex に比べると,随分すっきりしたと思います。 unicode パッケージというのも追加使用しています。 ポイントは,「日本語・朝鮮語・中国語」は encapsulated オプションをつけた CJK 環境の中に括ってしまう,ということです。その外では,普通に Babel を 使えますので,複式アクセント記法の古典ギリシア語処理も OK です。 ただ,残念ながら,この方式では,PDF にしたとき,なぜか,ギリシア語・ロシア語 でコケます(文字化けします)。ラテンアルファベットに限っては,特殊文字等の コピー & ペーストには何ら問題はありません。こちらは完全に移せます。
この書き込みへの返事: