ThaiLaTeX について Re: タイ語フォントと単語分割(Re: "Thai Keymapped YK"・・・)

名前: 安田
日時: 2005-12-04 00:11:52
IPアドレス: 210.159.229.*

>>39633 栗山さん、大友さん、こんばんは。 タイ語 LaTeX については、日本語を重視しないのであれば CJK パッケージがよいと思います。 タイ語をそれなりのフォントできちんと組みたい、日本語との 混在も工夫すれば可能という条件なら、CJK パッケージの ドキュメントでも触れられている thailatex がよいのではないか、 と私は思います。 CJK は cyberbit から生成した PK フォントでしたが、こちらは ポストスクリプトのよいフォントが2書体付いています。 thailatex のホームページは http://linux.thai.net/plone/TLWG/thailatex/ です。最新とおぼしき 0.3.5.1 は ftp://linux.thai.net/pub/thailinux/software/thailatex/thailatex-0.3.5.1.tar.gz から取れます。 添付の REDME、INSTALL を読んでインストールしてください。 % configure --with-texmfdir=/usr/local/teTeX/share/texmf-local # gmake install で組み込まれますが、map と enc ファイルのインストール先が新 TDS に 適合しませんので、thai.map と lthuni.enc 手動でしかるべき場所に移動し、 mktexlsr の後、 # updmap --enable MixedMap thai.map で完了です。 しかし日本語と混在させるためにはちょっと工夫が必要です。 面倒です。 次に、私が試した範囲で、簡単にノウハウを整理します。 UNIX 前提です。Windows でもインストール以外大差ないと思います。 1.TeX 本体文書原稿の準備 以下のようなイメージで準備します。SJIS、EUC 等通常の日本語コードで。 ファイル名を仮に thaitest.tex とします。 \documentclass[a4pper]{jarticle} \usepackage[OT2,T1]{fontenc} \usepackage[thai,russian,.....,japanese]{babel}% thai オプション \usepackage{thswitch}% thswitch.sty を指定する ... \begin{document} \selectlanguage{thai} \def\wbr{\hskip0pt plus0.6pt minus0.6pt\relax}% アトで \fontencoding{LTH}\fontfamily{norasi}\selectfont% 書体指定 <タイ語の原稿>・・・ここはアトで! \selectlanguage{japanese} 和文。日本語OK .... 2.タイ語の文書の用意 上記<タイ語の原稿>を - 別ファイル(仮に thai620.tex)で、 - thai-tis620 タイ語エンコーディングで 作成します。 thai-tis620 で文書を用意するのが一苦労です。 Emacs(+ MuleUCS)なら可能です。 3.タイ語の単語処理 (swath) & 7ビット変換 タイ語を単語分割ツール swath で切れ目 {\wbr} を挿入し、 さらにトノさんの 8bt2ptex.pl で7ビット変換します。 これがミソです。 % swath -f latex < thai620.tex | 8bt2ptex.pl - > thai7.tex 4.7ビット変換後テキストの本体原稿貼付け 3.でできた thai7.tex を1.の本体原稿 thaitest.tex の<タイ語の文書>の ところに貼付けます。 swath で処理すると単語の境界に {\wbr} が挿入されます。 上の例にあるように、 \def\wbr{\hskip0pt plus0.6pt minus0.6pt\relax} のような命令を入れておき適当に行分割されるように しておきます。 5.platex でコンパイル % platex thaitest.tex % dvipdfmx thaitest.dvi --- 私が試したサンプル文書: - thaitest.tex (本体原稿) - thaitest.pdf (そのPDF) - thai620.tex (タイ語 thai-tis620 エンコーディング原稿) を置いておきます。 thailatex にはフォントは norasi と garuda の2書体が添付されています。 \fontencoding{LTH}\fontfamily{norasi}\selectfont をテキストの前に挿入すると norasi で出力されます(デフォルト)。 norasi を garuda に変更すれば garuda 書体になります。 Emacs や xyzzy なら lisp、マクロでテキスト範囲に対し上記4.を施して 差し替えるなどの応用は簡単なはずです。 swath ユーティリティは BSD 向けの版が見当たりませんでした。 私は Linux 用のソースを入手してコンパイルして、FreeBSD と MacOSX で 確認しました。 FreeBSD と MacOSX では src/abswordseg.cpp でコンパイルエラーが出ますが、 8行目 #include <malloc.h> を #include <stdlib.h> に書き換えれば 通ります。 以上ご参考まで。それではご自愛ください。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます)