misima TeX 変換の活用
— 和文・古典籍,多言語,中韓文,漢文

since May 25 2006
Ἄνδρα μοι ἔννεπε, Μοῦσα...
かの人を我に語れ,ムーサよ...
Hom. ホメーロス
はじめに
 

misima 旧仮名遣い・旧字変換支援は現代仮名遣い・新字による UTF-8 テキストを旧仮名遣い・旧字体に変換するソフトウェアである. Web ブラウザから利用できるほか (Java Servlet 版及び CGI 版), 各種アプリケーション (GNU Emacs / Meadow, Microsoft Word 2003, Windows 秀丸エディタ, Mac OS X Jedit X / TeXShop エディタ) から直截変換操作を可能とする misima SOAP Web Service パッケージを提供している. misima SOAP Web Service はダウンロード・サービスから最新版が取得できる.

misima の主要な機能は和文テキストの旧仮名遣い・旧字体変換であるが,もともとの発想,目的は,右翼や旧仮名・旧字体復古主義者のたわごとの片棒を担ぐためではなく,古典籍,西欧古典語,教会スラヴ語,ドイツ語,フランス語,ロシア語など多種多様なテキスト引用を含む論文を効率よく作成したい文科系学徒を支援することにある.このため,分綴,正書法などの多言語組版規則の自動化,アキの制御などの印刷文化の細部において優れた品質を有する TeX を用いた文書作成こそが最終のターゲットになっている.

本稿は misima TeX 変換機能の使い方, TeX 組版の条件について示す.入力例はいずれも misima の入力テキストであって,標準的には pTeX で直接これを処理することはできないので注意いただきたい. misima SOAP Web Service 版の各アプリケーションでの変換方法についてはそれぞれの解説ページ (GNU Emacs / Meadow, Microsoft Word 2003, Windows 秀丸エディタ, Mac OS X Jedit X / TeXShop エディタ) を参照のこと.なお,Microsoft Word 2003 版はアプリケーションの特性から TeX 変換をサポートしていない.

misima SOAP Web Service 機能,インストール,利用方法などの詳細については,上記 Web ページのほか,「利用の手引き misima SOAP Web Service Ver.2.5」を参照のこと.

UTF-8 環境
 

misima の入力テキストは UTF-8 文字コードが前提となっており, UTF-8 で記述可能な言語が入力できる.misima はサポートしている範囲の言語・文字を変換し,それ以外のものはそのまま出力する.ご利用のオペレーティングシステムで利用可能なインプットメソッド(入力ツール)によって,文字入力するとよい.

Mac OS X Tiger の場合,利用したい言語やキーボード配列を,「システム環境設定」-​「言語環境」-​「入力メニュー」から選択できる.設定した言語のインプットメソッドは,通常画面右上にある入力インディケータから選択する[図1].視覚的に入力するためのキーボードビュア [図2] も便利である.

IM Menu
図1. インプットメソッド選択
IM russian keyboard viewer
図2. キーボードビュア (ロシア語 Translit)

misima Web フォームを利用する場合,入力エリアに直接文字を記述してゆくのもよいが, TeX 原稿を別に準備して,エディタとブラウザとの間をコピー・アンド・ペーストで連携しつつ作業するのがよいと思う. UTF-8 が扱えるテキスト・エディタを準備いただきたい.私は Mac OS X Tiger 環境では「Jedit X」[図3] や Emacs を利用している. Jedit は有償のソフトウェアであるが,面倒な調整なしに多言語編集が可能である. こういうツールに出費を惜しむと,却って時間を浪費して高くつくことになる. Emacs Unicode 環境 (FreeBSD, Mac OS X, Windows) については,「FreeBSD におけるロシア語の利用について」からそれぞれのページを参照いただきたい.

Jedit
図3. Jedit X
和文
 

misima の基本機能は旧仮名遣い・旧字変換である. TeX 変換機能を同時に指定すると, JIS で定義されていない Unicode CJK 漢字や Adobe-​Japan-​1.5 にある異体字を,齋藤氏提供 OTF パッケージの \CID​{CID番号} もしくは \UTFx​{Unicode文字番号} で出力する.とくに Adobe-​Japan-​1.5 でしか定義されていない旧字体,異体字の出力は TeX 変換機能でしか利用できないことに注意いただきたい.よって OTF は必須パッケージであり,あらかじめインストールしておく. DVIWARE において OTF フォントを取り扱うための設定も行っておく.この素晴らしい OTF パッケージと Adobe-​Japan-​1.5 対応 OTF フォントがあれば,古典文学研究者が嘲笑う JIS のあの貧弱な文字空間からほとんど解放される.

OTF パッケージのインストール・設定については,奥村先生のサイトにある「TeX Wiki OTF」を参照.

OTF \CID{}, \UTFx{} (\UTFM, \UTFC, \UTFT, \UTFK) の命令を使うので,パッケージのオプションには, \usepackage​[deluxe,expert,multi]​{otf} を指定しておく.

\documentclass[b5paper]{jarticle}
\usepackage[deluxe,expert,multi]{otf}
\begin{document}
森鴎外は明治四十一年,政府が招集した仮名遣い
臨時調査委員会で,当時からあった発音に基づく
仮名遣い制定問題について意見を述べており,
私はその議事録を岩波鴎外選集第十三巻
(昭和五十四年刊,全二十一巻)で読んで
非常に興味深いものがあった.
鴎外は,ことばが変化するという本性から
表記は必然的に歴史的なものとならざるをえず,
従って表記は書かれたものに準拠すべきであって
音声とは分けて考えるべきであると述べ,
政府が性急に仮名遣いを制定することが
言語生活に混乱をもたらすと警鐘を鳴らした.
\end{document}
	

旧仮名遣い変換,旧字変換,用字・用語変換, TeX 多言語変換標準を指定して変換を行い,組版した例を図4に示す.

和文例
図4. 和文例

TeX 多言語変換標準機能では,内田百閒の「閒」などの異体字を,「▼間」などと「▼」を前置して記述することにより OTF パッケージ \CID 形式 (\CID{13693}) で出力する.以下の文字が出力できる.

特殊異体字
図7. 特殊異体字

Unicode CJK 統合漢字には,日中韓で字体の異なる文字を同一コードに包摂しているものがある.「骨」などがそのようなものである. misima 多言語変換標準機能では,入力テキストを開始タグ <misima_cjk_x> と終了タグ </misima_cjk> で囲むことにより,日中韓の字体を出力し分けることができる.開始タグの x の指定により以下変換制御を行う.句読点も対象になる.

<misima_cjk_c>: 中国語簡体字 (\UTFC{} で出力)
<misima_cjk_t>: 中国語繁体字 (\UTFT{} で出力)
<misima_cjk_k>: 韓国語 (\UTFK{} で出力)
デフォルト: 日本漢字優先 (\UTFM{} で出力)

CJK 統合漢字
図8. CJK 統合漢字出力例
多言語変換
- 標準
 

多言語変換標準機能は, Unicode 多国語文字を pTeX で扱える文字・命令に変換する.主要なヨーロッパ言語 (ISO-8859-1, ISO-8859-2 文字セットで扱えるもの), キリル言語(ロシア語,ウクライナ語,教会スラヴ語その他),ギリシア語(現代及び古典),ハングル,簡体中国語,繁体中国語をサポートしている.

多言語変換標準機能の全範囲を利用するためには, OTF パッケージのほかに以下の LaTeX パッケージが必要である.「LaTeX 標準」としているものは, teTeX-3 をインストールすると標準で組み込まれるものである.

- Babel LaTeX 標準マルチリンガル・パッケージ. Babel については「TeX Wiki 新 pTeX と Babel」を参照.
- Cyrillic Bundle LaTeX 標準キリル・エンコーディング・サポート.
- Unicode Unicode サポート. misima では Cyrillic T2D エンコーディングを利用する.
- Teubner ギリシア古典文献処理パッケージ.古典ギリシア語の変換で命令を使用.
- OldSlav SlavTeX 教会スラヴ語 pTeX 対応追加パッケージ.
- Marvosym 記号パッケージ.
- Textcomp LaTeX 標準記号パッケージ.
- ThaiLaTeX タイ語パッケージ.
- VnTeX-3 ヴェトナム語パッケージ.
- mxedruli グルジア語パッケージ.
- sfkanbun 漢文訓点パッケージ.

入力例,組版例を以下に示す.

\documentclass[b5paper]{jarticle}
\usepackage[OT2,T1]{fontenc}
\usepackage[russian]{babel}
\begin{document}
\selectlanguage{russian}
\parindent=0pt
Прежде всего откроем тайну которую 
Мастер не пожелал открыть Иванушке.
Возлюбленную его звали Маргаритою Николаевной.
Все, что Мастер говорил о ней, 
было сущей правдой.
Он описал свою возлюбленную верно.
Она была красива и умна.
\end{document}
	
ロシア語
図5. ロシア語
\documentclass[b5paper]{jarticle}
\usepackage[T1]{fontenc}
\usepackage[polutonikogreek]{babel}
\begin{document}
\selectlanguage{polutonikogreek}
\parindent=0pt
Ἄνδρα μοι ἔννεπε, Μοῦσα, πολύτροπον, ὃς μάλα πολλὰ\\
πλάγχθη, ἐπεὶ Τροίης ἱερόν πτολίεθρον ἔπερσε.\\
πολλῶν δ'' ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω,\\
πολλὰ δ'' ὅ γ᾽ἐν πόντῳ πάθεν ἄλγεα ὃν κατὰ θῡμόν,\\
ἀρνύμενος ἥν τε ψῡχὴν καὶ νόστον ἑταίρων.\\
ἀλλ'' οὐδ'' ὧς ἑτάρους ἐρρύσατο, ἱέμενός περ·\\
αὐτῶν γὰρ σφετέρῃσιν ἀτασθαλίῃσιν ὄλοντο,\\
νήπιοι, οἳ κατὰ βοῦς Ὑπερίονος Ἠελίοιο\\
ἤσθιον· αὐτὰρ ὁ τοῖσιν ἀφείλετο νόστιμον ἦμαρ.\\
τῶν ἁμόθεν γε, θεά, θύγατερ Διός, εἰπὲ καὶ ἡμῖν.
\end{document}
	
古典ギリシア語
図6. 古典ギリシア語
多言語変換
- T2A 拡張
 

misima TeX 多言語変換 T2A 拡張機能により, OT2 アスキートランスクリプションではなく T2A シンボルでキリル文字を出力できる.

pTeX ではキリル文字を直接タイプしてスラヴ言語を組むことはできない.通常アスキートランスクリプションによってテキストを記述し, OT2 フォントエンコーディングによってキリル文字を出力する.しかしながら,キリル文字直接ではなくシンボル(命令)で記述することで, pTeX でも T2A フォントエンコーディングによってタイプセットすることができるようになる.このメリットのひとつには,T2A フォントエンコーディングで作成されたキリル・フォントが利用できることがあげられる.

この場合,対象となるキリル言語用の pTeX ハイフネーション・パターンが T2A 用に調整されていないとハイフネーションされないので注意すべきである.ロシア語のハイフネーション・パターンの調整については「TeX ロシア語ハイフネーションと文字入力について」及び「CJK, Unicode パッケージ,ロシア語多書体の利用」を参照.

T2A 拡張オプションを指定すると OT2 アスキートランスクリプションのキリル変換の定義が上書きされるため,T2A で定義されているキリル文字はすべて T2A シンボルに変換されてしまうので注意.

T2A 拡張オプションを指定せずとも, <misima_t2a> 及び </misima_t2a> タグでテキストを囲めば,標準でその範囲のみ T2A 変換を施すことができる.

Babel ウクライナ語用の言語定義を指定し, PSCyr キリル PostScript フォントで組版した例 (misima 入力原稿と処理結果) を示す. PSCyr パッケージについては「CJK, Unicode パッケージ,ロシア語多書体の利用」を参照.

\documentclass[b5paper]{jarticle}
\usepackage[T2A,T1]{fontenc}
\usepackage[ukrainian]{babel}
\usepackage{pscyr}
\begin{document}
\selectlanguage{ukrainian}%
\parindent=0pt%
\textac{% Akademicheskaja font
%<misima_t2a>
Відвідуючи меморіальні музеї Гете, 
Пушкіна, Толстого, кожен звертає 
увагу на колосальні особисті 
бібліотеки цих титанів світової 
культури. 
Має і український народ подібного 
велета. 
Це - Тарас Шевченко.}
%</misima_t2a>
\end{document}
	
PSCyr ウクライナ語
図9. PSCyr ウクライナ語

OT2 と T2A を同じ原稿で混在させる場合は,\fontencoding{xxx}\selectfont によりフォントエンコーディングを切り替える必要がある.

\documentclass[b5paper]{jarticle}
\usepackage[OT2,T2A,T1]{fontenc}
\usepackage[russian,ukrainian]{babel}
\begin{document}
\selectlanguage{russian}%
\fontencoding{OT2}\selectfont%
OT2 でロシア語を記述

\selectlanguage{ukrainian}%
\fontencoding{T2A}\selectfont%
T2A でウクライナ語を記述

\end{document}
	
多言語変換
- タイ語拡張
 

タイ語の組版パッケージに ThaiLaTeX がある.これはタイ語 TIS-620 エンコーディングで原稿を記述することを想定したものであり,通常 pTeX では利用できない.しかし,タイ語テキストを「^^十六進数」形式で記述することにより, pTeX でも処理可能となる.

misima 多言語変換タイ語拡張は,UTF-8 のベタのタイ語テキストに対し,内部で TIS-620 コード変換を行ったのち, swath プログラムを呼び出してタイ語単語境界をマーキングした上,「^^十六進数」形式で出力する.これを pTeX 原稿に張り付けて処理すれば正確なタイ語組版ができる.

ThaiLaTeX パッケージが必要である. Unix 系 OS での ThaiLaTeX のインストール, swath タイ語単語境界マーキングユーティリティについては,「CJK, Unicode パッケージ,ロシア語多書体の利用」を参照.Windows に関しては,「TeX Wiki pTeX と多言語処理 - タイ語」が参考になる.

タイ語単語境界のマーク {\wbr} でしかるべく改行制御がなされるよう, TeX 原稿には {\wbr} の処理内容定義を記述しておく必要がある.次の記述例を参照.

\documentclass[b5paper]{jarticle}
\usepackage[thai]{babel}% Babel Thai
\usepackage{thswitch}% ThaiLaTeX encoding switch
\begin{document}
\selectlanguage{thai}%
% \wbr 改行制御定義
\def\wbr{\hskip0pt plus0.6pt minus0.6pt\relax}%

\fontencoding{LTH}\fontfamily{norasi}\selectfont%
เป็นมนุษย์สุดประเสริฐเลิศคุณค่ากว่าบรรดาฝูงสัตว์เดรัจฉานจงฝ่าฟันพัฒนาวิชาการอย่าล้างผลาญฤๅเข่นฆ่าบีฑาใครไม่ถือโทษโกรธแช่งซัดฮึดฮัดด่าหัดอภัยเหมือนกีฬาอัชฌาสัยปฏิบัติประพฤติกฎกำหนดใจพูดจาให้จ๊ะๆ จ๋าๆ น่าฟังเอยฯ
\end{document}
タイ語
図10. ThaiLaTeX タイ語

ThaiLaTeX は Norasi (serif) と Garuda (sanserif) の二書体が選択できる.上の例は Norasi である.

多言語変換
- 文字拡張
 

多言語変換文字拡張オプションをオンにすると,2006/5 現在ヴェトナム語,グルジア語及び機種依存文字の TeX 変換を行う.ヴェトナム語は VnTeX, グルジア語は mxedruli, 機種依存文字出力は OTF の LaTeX パッケージがそれぞれ必要である.Unix 系 OS での VnTeX インストールについては,「CJK, Unicode パッケージ,ロシア語多書体の利用」を参照.Windows ヴェトナム語,グルジア語に関しては,「TeX Wiki pTeX と多言語処理」を参照.以下ヴェトナム語の例を示す.

\documentclass[b5paper]{jarticle}
\usepackage[vietnam]{babel}% VnTeX Babel vietnam
\usepackage{dblaccnt}% VnTeX-3
\usepackage{vietnam}% VnTeX-3
\begin{document}
\selectlanguage{vietnam}%
\fontencoding{T5}\selectfont%
Phần ``Những câu hỏi và giải đáp thường gặp'' 
(viết tắt từ tiếng Anh là FAQ) được nêu ra 
ở đây nhằm mục đích thu thập những câu hỏi 
thường gặp trong thực tế và những lời giải 
đáp thích hợp nhất của nó.
Từ lần ấn bản cuối cùng đến nay, đã có 
những sự thay đổi khá lớn trong cấu trúc 
của FAQ.  
\textbf{Để hiểu rõ hơn bạn nên xem lại
 chương ``Làm sao tôi có thể đọc đuợc FAQ''.
\end{document}
	
ヴェトナム語
図11. VnTeX ヴェトナム語
多言語変換
- 教会スラヴ語
 

多言語変換標準機能において, <misima_ocs> 及び </misima_ocs> タグ内のテキストを OldSlav 教会スラヴ語命令に変換する.テキストの記述は,キリル文字による SlavTeX の記法が利用できる. SlavTeX 及び OldSlav については「TeX における古代教会スラヴ語の利用について」を参照.以下教会スラヴ語の例を示す.

\documentclass[b5paper]{jarticle}
\usepackage[T2A,T1]{fontenc}
\usepackage[oldchurchslavonic]{babel}%
\begin{document}
\selectlanguage{oldchurchslavonic}%
%<misima_ocs>
"Аще же под\ъ кл'ятвою <ил`и qлуч'енiемъ
<архiер'ейскимъ <ил`и <iер'ейскимъ б'ысть, 
<ил`и "аще кл'ятву <oтц`а своег`w <ил`и 
м'атере свое`я навед`е на с`я, <ил`и своем`у 
прокл'ятiю подпад`е, <ил`и кл'ятву преступ`и, 
<ил`и <ин'ыми н'экiими грэх^и "jкw 
челов'экъ связ'ася: 
%</misima_ocs>
\end{document}
	
教会スラヴ語
図12. 教会スラヴ語
漢文訓点変換
 

藤田眞作先生の sfkanbun.sty は漢文訓点組版のための素晴らしいパッケージである. misima 漢文訓点変換はベタのテキストを sfkanbun のコントロールシーケンスに変換する.旧字変換機能と同時に指定すると,新字体で記述して旧字体で漢文を出力することができる.pTeX 縦組で利用する. sfkanbun.sty は藤田先生のサイトからダウンロードして pTeX が参照できるパスに格納しておく.

misima での書き方は,訓点付漢文の組み上がりイメージにおいて,
  (1) 親文字 [漢字]
  (2) ふり仮名 [ひらがな]
  (3) 送り仮名 [カタカナ]
  (4) 返り点,音号符 [R: レ点など後述]
  (5) 再読文字送り仮名 [カタカナ]
  (6) 句読点 [.,。、]
からなるまとまり(グループ)ごとに,上記順序でベタにテキストを記述する.(2) から (6) は省略可能である.

漢文シーケンス
図13. 漢文訓点変換指定シーケンス

返り点は以下のとおり.全角でも半角でもよい.
  - レ点: R;
  - 一二点: 15;
  - 上: J; 中: C; 下: G;
  - 甲: K; 乙: O; 丙: H; 天: T; 地: I; 人: N;
  - 音号符(熟語のハイフン): -(ハイフン)または (長音);

返り点は複合指定を行うことができる. 1R\itireten (一とレ点が接合したもの) に,JR\uereten (上とレ点が接合したもの) に変換する.

音号符とは熟語を接続するハイフンである.misima では返り点に続けて指定しなければならない.音号符(-)が単独で指定されると,\ongofuno に変換する. 2-\ongofuni に, G-\ongofuge に変換する.

「各々」における「々」は \ninojiten に変換する.

句読点は「,.、。」のいずれかを指定できる.すべて「、。」に変換する.

漢文訓点変換は,オプション指定だけではなく対象テキストを <misima_kanbun></misima_kanbun> で囲む必要がある[図14].

漢文変換指定画面
図14. 漢文訓点変換指定画面

漢文訓点変換のための記述を図15に整理する.

漢文訓点変換指定
図15. 漢文訓点変換指定

漢文訓点変換指定と組上がりイメージを図16に示す.

(1) 顔淵・季路待ス.子曰ハク,盍なんゾ3ルト各々言ハ2爾なんぢノ志ヲ1.
(2) 楽シムG得テ2天下之英才ヲ1而教C-育スルヲ之ヲJ.
(3) 聞クH吏部ノ有リG以テ2博学宏くわう辞じヲ1選ブ者J,人尤もっとモ謂いヒ2之ヲ才ト1,得うトO美仕ヲK.
(4) 既ニ出デテ得2其船ヲ1,便チ扶そヒ2向さきノ路みちニ1,処処ニ誌しるスR之ヲ.及ビ2郡下ニ1,詣いたりテ2太守ニ1,説クコト如シR此かくノ.太守即すなはチ遣しムルモG人ヲシテ随したがヒテ2其ノ往クニ1,尋ネC向ニ所ヲJR誌セシ,遂ニ迷ヒテ不2復得1R路ヲ.
(5) 闔かふ廬りよ曰ハク,「可キ3試ミニ以テス2婦人ヲ1乎」.曰ハク,「可ナリ」.於テR是ここニ許スR之ヲ.

漢文訓点変換例
図16. 漢文訓点変換例
くノ字点変換
 

くノ字点変換を指定すると「たびたび」などの一語内で繰り返しを有する和語の繰り返し部を OTF パッケージくノ字点命令に変換する.この命令は OTF 縦組のみで有効である.

繰り返し部の頭音の清濁により, \ajKunoji{} (清), \ajDKunoji{} (濁) に変換する.漢字での記述の場合清濁が判断できないため,誤って \ajKunoji{} に変換されることがある.「散り散り」「不承不承」は正しく変換されるようになっている.

そろそろ → そろ\ajKunoji{}
それぞれ → それ\ajDKunoji{}
散り散り → 散り\ajDKunoji{}
	

例を図17に示す.

くノ字点変換例
図17. くノ字点変換例
更新履歴
 

May 25, 2006 初稿
June 10, 2006 misima 2.2 教会スラヴ語追加
Dec. 21, 2008 misima SOAP Web Service 版追記
ローカル・インストール版記述削除