TeX
ロシア語ハイフネーションと文字入力について since Feb. 20 2004 |
||||
|
||||
はじめに |
本稿は,ロシア語ハイフネーションを考慮したロシア語の TeX 入力方法,ロシア語フォントエンコーディング,7ビットハイフネーションパターンの簡単な比較,ロシア語ハイフネーション規則 (ロシア語分綴法) について述べる. UNIX 環境を前提として整理しているが,考え方は Windows でも適用できる. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ハイフネーションパターン |
CTAN で配布されているロシア語のハイフネーションパターンを pTeX に読み込ませようとすると,「! Bad \patterns.」などのエラーが発生して,フォーマット・ファイル作成に失敗する.これはパターンが8ビット・コードで記述されているため, pTeX の内部で日本語コードとバッティングしてしまうことに起因すると思われる.そこで7ビット・コードで書かれたパターン・コードを準備する必要がある. 本稿では,1文字1バイトにおいて MSB (最上位ビット) に1が立つ領域 (十六進 0x80-0xFF の領域) に配置された文字を有する文字コードを,8ビット・コードと呼んでいる.この領域にはアクセント付き文字や,キリル文字コードではキリル文字が配置される.これに対し, 0x00-0x7F の範囲内,すなわち1バイトの下位7ビットで表現可能な文字領域のみを用いるものを7ビット・コードとする.文字コード下位7ビットのエリアは, ISO-8859 国際文字セットにみえるように,数字,英語のアルファベットなど汎用的な文字を有する ASCII と等価である.このため ASCII 文字コードを7ビット・アスキーと称する場合がある. かつて7ビット・コードによるロシア語用ハイフネーションパターン suhyph.tex が CTAN で配布されていたが,現在は削除されてしまった.8ビット・キリル文字コードで TeX 原稿を作成できる現在,7ビット OT2 エンコーディングがロシア本国で廃れてしまった事情によるものであろう.一方,8ビット・マルチバイト・コードで和文を入力する日本のユーザにあっては,ロシア語テキストは7ビット・コードで準備せざるをえない状況にある.すなわち,アスキー文字で原稿を入力し, OT2 エンコーディングのフォントでキリル文字を出力するのがもっとも簡便なロシア語文書作成方法となっている. OT2 エンコーディングはキリル文字を7ビット・エリアに配置した TeX フォントの文字コードである.ハイフネーションパターンも7ビット・アスキー入力に対応したものが必要になる. ということもあり, Александр Лебедев アレクサンドル・レーベジェフ氏が作成した最新のハイフネーションパターン ruhyphal.tex (オリジナルは KOI8-R 8ビット・エンコード) を,私自身の間に合わせでアスキー・コードで調整した.これは, KOI8-R 文字コードを OT2 エンコーディングに機械的に置換し,さらに合字が不当に分綴されないようにパターンの追加・修正を施したものである. 2003.7 に「スラヴ研究者向け LaTeX 多言語環境の構築と利用 ― pTeX p3.1.2」にこのハイフネーションパターン(パッチ)を掲載し,その後 2004.2 に少し修正した. "chto" と記述した場合に, "ч-то" と誤ってハイフネーションされるなどの問題を訂正した. TeX のハイフネーションのロジックは『TeX ブック』を何度読んでも十分には理解できない.ましてやキリル文字のパターン・ファイルをアスキー・トランスクリプションで書き直すと,思わぬ不具合に遭遇してしまう.アーカイブをダウンロードして前掲のページと同様の手順でインストールできる. Windows ユーザにとってパッチは一般的ではないので,解凍すればすぐ使えるアーカイブも用意した. Windows, UNIX 問わず利用できる.本ハイフネーションパターンは ruhyphen7.tex から定義テーブル本体 ruhyphot2.tex を呼び出す仕掛けになっている.導入は,これを TeX ツリーに展開し,language.dat に ruhyphen7.tex を指定し,fmtutil ユーティリティによって platex フォーマットを再生成すればよい. % language.dat ... russian ruhyphen7.tex % for OT2 %russian ruhyphen.tex % for T2A original ... フォーマット・ファイルの生成は, fmtutil ユーティリティで実施する.フォーマット名称は利用環境に合わせる必要がある. # fmtutil --byfmt platex-euc 土村氏は,Babel 環境を含めて調整の行き届いた UNIX 向けディストリビューション ptetex3 を公開している.8ビットのハイフネーションパターンを "^^十六進数" 形式に変換することによって pTeX に読み込ませる工夫をしている (形式変換のための Perl スクリプトはトノ氏が作成したものである). ruhyphen7.tex をインストールしなくても,十分な分綴品質が期待できる. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
キリル文字の
|
pTeX Babel 多言語環境で日本語と同時に記述する場合,ロシア語は原則,7ビットアスキーに基づくローマン・トランスクリプションで入力する.例えば,キリル文字の б (ベー) を出力するために b を入力するわけである.これは OT2 エンコーディング・スキームと呼ばれる. b の入力に対し,OT2 エンコーディングに対応したキリル・フォントにおいて b (アスキー・コード十六進数 0x62, 十進数 98) と同じ位置にある文字 б が出力される仕組みである.OT2 フォント・マップを調べると, OT2 エンコーディングでは,キリル文字を,可能な限り,その音価や形状で類似したラテン・アルファベット文字の位置に対応付ける工夫がされていることが分かる. 日本語との混在を前提とした上で直接キリル文字を TeX 原稿に記述することも,CJK パッケージ 及び Unicode パッケージを利用することにより,LaTeX の枠組において可能である.しかしこの方法は,日本語 pLaTeX システムでは利用できないため,和文フォントの選択,既存和文用マクロの使用,及び縦組において無視できない制限を強いる. Unicode で記述できる広範な多言語組版にこだわらないのであれば, pLaTeX + Babel + OT2 が和・露文混在の組版環境として最善であると考える. CJK,Unicode の各パッケージの活用については「CJK,Unicode パッケージ,ロシア語多書体の利用」を参照. Babel において OT2 エンコーディングでロシア語を記述する場合,以下のとおり,プリアンブルに fontenc パッケージを OT2 オプション付きで指定しておく.さらに Babel パッケージをロシア語 russian オプション付きで読み込んでおく.ハイフネーションパターンが正しく設定されていれば,russian の言語選択 (\selectlanguage) によって LH キリル・フォント,ロシア語ハイフネーション規則が自動的に適用される. \documentclass[a4paper]{jarticle} \usepackage[OT2,T1]{fontenc} \usepackage[russian]{babel} \begin{document} \selectlanguage{russian} abvg ...(キリル文字) \end{document} キリル文字出力の仕組みからいえば, Babel を指定しなくても,以下のようにフォントエンコーディング選択命令で切り替えることによりキリル文字を出力できる.しかしハイフネーションなどは機能しない. Babel の利用を標準と考えたほうがよい. \documentclass[a4paper]{jarticle} \usepackage[OT2,T1]{fontenc} \begin{document} \fontencoding{OT2}\selectfont abvg ...(キリル文字) \end{document} もうひとつ,昔から AMSTeX パッケージの機能によってキリル文字を出力する方法がある.以下のように cyracc.def を読み込んでおき,LH 10pt キリル・ローマンフォント選択を \cyr 命令に割り当て,キリル文字の出力を \cyr 命令で指示する方法である. \cprime で ь を出力できるなど独自の命令を備えている.しかしハイフネーションは機能しない. \documentclass[a4paper]{jarticle} \input cyracc.def \font\tencyr=wnr10 \def\cyr{\tencyr\cyracc} \begin{document} {\cyr abvg ...(キリル文字)} \end{document} pTeX Babel ロシア語トランスクリプション入力の仕方は OT2 エンコーディングとフォントのリガチャ(合字)定義とに依存している.従ってこの条件に沿った入力を行うと,より適切な自動ハイフネーションが期待できる. ロシア文字に対するトランスクリプション入力方法を下表にまとめる. ( ) または [ ] 内の入力は, Babel 標準の LH キリル・フォントにおいて,リガチャとして定義されているものである.しかしながら, [ ] 内に示したものは, OT2 用ハイフネーションパターンに適合しないため推奨しない.
このほか, OT2 エンコーディングにはシンボル命令(コントロールシーケンス)で文字を入力する方法がある.命令の定義は ot2enc.def ファイルにある.例えば ж は \cyrzh と定義されている. TeX の処理方式では命令を展開したのちにハイフン処理が行われるため,この入力方法もハイフネーションパターンとの照合に関しては有効である.また,ロシア語旧正書法で用いられた文字 і (イ・ス・トーチコイ), ѣ (ヤッチ), ѳ (フィータ), ѵ (イジツァ) も,それぞれ \cyrii, \cyryat, \cyrfita, \cyrizh で出力できる. OT2 フォントマップにおいて,文字 ж は十六進数 0x19(十進数 25,八進数 0o031)の位置にある. TeX では "^^X" という記法によって, X の ASCII コード位置から八進数 0o100 を減じた位置の文字を表現することが可能である.この特殊な方法によると, ж (0o031) は ^^Y (Y は 0o131) と表記できる (^^Y の分類コードが 11 もしくは 12 に設定されている必要がある).しかしながら,これで文書を記述するのは煩瑣かつ理解不能と思われるので,上表の表記 zh を基本と考えたほうがよい.ruhyphot2.tex は zh と入力したときに適切な分綴がされるように調整している.しかしながらハイフネーションパターンの調整が不十分だと zh は z (з) と h (х) との間で分綴されてしまうことがあり,その際は zh ではなく z1 としておくと分離されることはない.とはいえこの場合も ж の前後でのハイフネーションは諦めなくてはならない. ロシア語を知っていると音価の類似から, "х", "ц", "ч", "ш", "щ" をそれぞれ "kh", "ts", "ch", "sh", "shch" と入力したくなる.しかしこれは便宜上用意されているものと考え,適切なハイフネーションを望む場合 "h", "c", "q", "x", "w" とタイプすべきである. ローマン・トランスクリプション入力の本質的問題は,キリル文字と1対1対応でないがゆえの曖昧さである.例えば, "ts" と入力すると,キリル文字として "ц" と "тс" に転写しうるので,出し分ける工夫が必要である. "ts" は Babel + LH フォントで組版すると通常はリガチャの定義に従って "ц" で出力される. "тс" と出力したい場合は, "t\-s" (ハイフネーション許可) もしくは "t\textcompwordmark{}s" (リガチャ抑止,ハイフネーション禁止) と入力する.ロシア語の正書法でありうるものはほかに "sh" ("ш","сх") が考えられるが,同様の対処が必要である. 私は長文のロシア語を含む TeX 文書を書く場合は, UTF-8 でキリル文字を直接タイプして,ツールで上記推奨アスキー・トランスクリプションに機械的に変換する方法を採っている.「UTF-8 による TeX 文書の作成 — Utf82TeX」を参照いただきたい. Utf82TeX を利用すると становится のように с (または С) の直前に т (または Т) が現れるような場合に stanovit\-sya と "\-" (ハイフネーション許可) を自動的に挿入し,タイプセット結果が становиця になってしまうことを抑止できる.また, "сх" についても "s\textcompwordmark{}h" に変換するため, схватить が шватить とタイプセットされることもない. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hyphenmin の
|
OT2 用のハイフネーションパターンを利用する際,分綴前後の部分の最小文字数を変更したい場合がある. Babel ロシア語言語定義 russianb.ldf では,最小文字数の定義 \lefthyphenmin, \righthyphenmin はそれぞれ 2 文字となっている.このため,例えば YAponiya (Япония) は, YA-poni-ya (Я-пони-я) と分綴されることがある. я だけが行送りされるのはちょっと不本意のように思われる. ю なども 2 文字のアルファベット (yu) で表記するのでこの部類に入る. T2A の場合は入力と出力の文字数が一致するので,定義に従って Япо-ния 以外で分綴されることはないはずである. よって OT2 利用では, \lefthyphenmin, \righthyphenmin 値を少し増やしておく調整を考えてもよい. \russianhyphenmins コントロールシーケンスを再定義すればこれが可能になる.プリアンブルにおいて次のように指定しておくと, \lefthyphenmin 2, \righthyphenmin 3 に設定される.引数の \tw@ は 2, \thr@@ は 3 であり,それぞれ \lefthyphenmin, \righthyphenmin にセットされ,語頭,語末の分綴最小文字数制御に用いられる.ただし,この設定は Babel ロシア語利用が前提である. \makeatletter \def\russianhyphenmins{\tw@\thr@@} \makeatother 利用者の考え方しだいではあるが, \lefthyphenmin 値は russianb.ldf の初期値 2 を変えないほうがよいと思う.それは,ロシア語では я, ю ではじまる語よりも 2 文字の接頭辞 (за-, на-, от-, по-, etc.) ではじまる語が圧倒的に多いためであり, \lefthyphenmin 値を 3 以上に設定すると,接頭辞の切目で分綴が不可となってその後方で分綴部を求めることになり,逆にいびつな結果となりかねないからである.一方 \righthyphenmin 値は 3 にしておくことで,語末に位置する場合が極めて多い я の孤立が救われる. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
T2A フォントエンコーディング |
これまで日本の pTeX での利用を想定して,おもに OT2 フォントエンコーディングについて述べてきた.一方ロシア・東欧のユーザは,直接 LaTeX 原稿に Windows-CP1251 や KOI8-R, UTF-8 のキリル文字をタイプして, T2A フォントエンコーディングによってキリル文字を出力するのが普通である.ロシア語 Type1 フォントは T2A でエンコードされているのがもっぱらであって, OT2 は今や過去の継承として細々と生き延びているというのが実情のようである. キリル文字を直接原稿に記述できない pTeX では, \CYRxxx のシンボル命令を利用して,T2A フォントエンコーディングを使用することができる.当然ながらキリル・テキストが長大になり見づらくなってしまい,キリル文字を直接記述する本来の T2A の機動性は発揮できない.しかしこの方法により, LH 以外の キリル Type1 フォントを pTeX でも出力できるので,ロシア語多書体の文書が作成できる.またキリル言語用ハイフネーションパターンがオリジナルの精度で利用できるメリットもある. T2A で文書を記述する場合,Babel キリル言語のハイフネーションパターンも T2A 用に設定しておかなければ,適切な分綴がなされない.また, OT2 と併用する場合,フォントエンコーディングを明示的に切り替える必要がある. T2A 用のハイフネーションパターン (ロシア語,ウクライナ語) は,前述のとおり,オリジナルのファイルを使うと pTeX (iniptex) ではエラーとなる.トノ氏作成のツール 8bt2ptex.pl によって変換したものを使う必要がある. 8bt2ptex.pl は稲垣氏のサイトから入手できる.土村氏の ptetex3 でインストールした場合はすでに変換済みになっている. 次の例では,ロシア語は OT2, ウクライナ語は T2A で処理している.ウクライナ語は, PSCyr パッケージを用い,学術書などで用いられる Academy 書体を指定している. \documentclass[a4paper]{jarticle} \usepackage[OT2,T2A,T1]{fontenc} \usepackage[ukrainian,russian]{babel} \usepackage{pscyr} % PSCyr Type1 \begin{document} \selectlanguage{russian} % OT2 \fontencoding{OT2}\selectfont abvg ...(トランスクリプション入力) \selectlanguage{ukrainian} % T2A \fontencoding{T2A}\selectfont \textac{% AcademyPSCyr \cyra\cyrb\cyrv\cyrg ...(シンボル命令入力) } \end{document} UTF-8 キリル文字で原稿を書いて,Utf82TeX T2A オプション/タグコントロールによって T2A シンボル命令に変換して pTeX 処理を行うことができる. T2A の上記問題点を幾分なりとも解決できるはずである.以下のように UTF-8 で原稿 utf8cyr.tex を準備し, ulatex utf8cyr とすると utf8cyr.dvi が得られる. ulatex は Utf82TeX 添付のラッパーツールであり, utf82tex, iconv, platex を順次実行して,変換操作をユーザから隠蔽して簡易に Utf82TeX を利用できるようにしたものである. % utf8cyr.tex 原稿を UTF-8 で準備 \documentclass[a4paper]{jarticle} \usepackage[T2A,T1]{fontenc} \usepackage[ukrainian,russian]{babel} \usepackage{pscyr} % PSCyr Type1 \begin{document} \selectlanguage{russian} % T2A %<utf82tex_r> русский язык ...(キリル文字) %</utf82tex_r> \selectlanguage{ukrainian} % T2A \textac{% AcademyPSCyr %<utf82tex_r> україньска ...(キリル文字) }%</utf82tex_r> \end{document} |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OT2, T2A の混在
|
ロシア語の記述において OT2 と T2A のフォントエンコーディングを混在させると,通常ハイフネーション処理において問題がある.つまり, platex フォーマットを作成する際, language.dat において russian に対し OT2, T2A どちらかのハイフネーションパターンファイルを指定すると,混在したタイプセットではいずれか一方について自動分綴処理を諦めなくてはならない. この問題を解決する方策のひとつに,次のような一連の操作を行うものがある.
ロシア語環境切り替え命令 \changelangru をサポートするスタイル・ファイルの例を示す.この命令はフォントエンコーディング名を引数にとる. %% ロシア語フォントエンコーディング/ハイフネーション切り替え %% \changelangru{エンコーディング名} %% OT2 のとき: \ottwo@lang (デフォルト l@russian) にセット. %% T2A のとき: \ttwoa@lang (デフォルト l@russinat) にセット. %% それ以外: なにもしない. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{changeru}% [2006/08/30 Change russian fontencoding and hyphenation.]% \def\ottwo@{OT2}% \def\ttwoa@{T2A}% %% 言語名を変更したい場合以下のマクロを修正 \def\ottwo@lang{l@russian}% \def\ttwoa@lang{l@russiant}% \message{Changeru related languages OT2: \ottwo@lang; T2A: \ttwoa@lang;^^J}% \def\changelangru#1{% 引数: ロシア語フォントエンコーディング \fontencoding{#1}\selectfont% \edef\now@enc{\csname f@encoding\endcsname}% \ifx\ottwo@\now@enc% \set@rulang{\ottwo@lang}% \def\encodingdefault{OT2}% \else% \ifx\ttwoa@\now@enc% \set@rulang{\ttwoa@lang}% \def\encodingdefault{T2A}% \else% \message{Changru: unavailable language relation for \now@enc.^^J}% \fi% \fi}% \def\set@rulang#1{% 言語存在チェックしてOKなら \language にセット \@ifundefined{#1}{% \message{Unavailable language: #1}}{% \language=\csname #1\endcsname% \message{Changru: set language to \the\language.^^J}}}% \endinput このスタイル・ファイルを changeru.sty として TeX ツリーに格納し, \changelangru{フォントエンコーディング} 命令を用いると,指定したフォントエンコーディングと,これに従ったハイフネーションパターンとに切り替えることができる. \documentclass[a4paper]{jarticle} \usepackage[OT2,T2A,T1]{fontenc} \usepackage[russian,japanese]{babel} \usepackage{changeru}% 切り替え用スタイル \begin{document} \selectlanguage{russian} \changelangru{OT2}%OT2切替 \textlatin{language: \the\language}\par % Russian text by OT2 ascii V naqale bylo Slovo, i Slovo bylo u Boga, i Slovo bylo Bog. Ono bylo v naqale u Boga. Vse qrez Nego n\'aqalo byt{p1}, i bez Nego niqto ne n\'aqalo byt{p1}, qto n\'aqalo byt{p1}.}% \vspace{20pt} \changelangru{T2A}%T2A切替 \textlatin{language: \the\language}\par % 以下 T2A シンボルで記述 % Russian text by T2A %<utf82tex_r> В начале было Слово, и Слово было у Бога, и Слово было Бог. Оно было в начале у Бога. Все чрез Него н\'ачало быть, и без Него ничто не н\'ачало быть, что н\'ачало быть. %</utf82tex_r> \end{document} 例文は T2A のテキストはわかりやすくするためにキリル文字で表記している.原稿をこのとおりに UTF-8 で記述し, Utf82TeX ulatex コマンドでコンパイルできる. Utf82TeX を利用しない場合,キリル文字は T2A シンボル (例えば ж は \cyrzh とする) で記述しなければならない. changeru.sty, 利用例文をまとめた chgrus.zip を置いておくので,ダウンロードして活用いただいてもよい. changeru.sty を少し書き換えれば,ウクライナ語用も追加できる. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OT2, T2A の混在
|
changeru.sty を Babel ロシア語言語定義に適用した拙作 russianb.ldf を利用できる.ダウンロード・サービスから入手できる.考え方,ハイフネーションの環境設定は, changeru.sty と同じである.ただし,こちらは Babel 提供のロシア語言語定義を差し換えて利用する. \selectruencoding{フォントエンコーディング} 命令により,指定したフォントエンコーディングと,これに従ったハイフネーションパターンとに切り替えることができる. language.dat 登録言語名がデフォルト (OT2: russian; T2A: russiant) と異なる場合は, \def で定義すればよい. 例を示す. \documentclass[a4paper]{jarticle} \usepackage[OT2,T2A,T1]{fontenc} \usepackage[russian,japanese]{babel} % russianb.ldf は入れ替えておく. \def\ruottwolang{russianfoo}% OT2 用の言語名 \def\ruttwoalang{russianbar}% T2A 用の言語名 \begin{document} \selectlanguage{russian} \selectruencoding{OT2}%OT2切替 ロシア語 (OT2) \selectruencoding{T2A}%T2A切替 ロシア語 (T2A) \end{document} changeru.sty, 改変 russianb.ldf は無保証なので,ご利用に際してはあらかじめご了承いただきたい. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OT2 ハイフネーション結果比較 |
7ビット・ハイフネーションパターンの処理結果を比較してみた.比較の対象は ruhyphot2.tex 及び suhyph.tex である.次の原文 (М. А. Булгаков, «Мастер и Маргарита» М. А. ブルガーコフ『巨匠とマルガリータ』) を入力としてテストした. Прежде всего откроем тайну которую Мастер не пожелал открыть Иванушке. Возлюбленную его звали Маргаритою Николаевной. Все, что Мастер говорил о ней, было сущей правдой. Он описал свою возлюбленную верно. Она была красива и умна. К этому надо добавить еще одно --- с уверенностью можно сказать, что многие женщины все, что угодно, отдали бы за то, чтобы променять свою жизнь за жизнь Маргариты Николаевны. Бездетная тридцатилетняя Маргарита была женою очень крупного специалиста, к тому же сделавшего важнейшее открытие государственного значения. Муж ее был молод, красив, добр, честен и обожал свою жену. Маргарита Николаевна со своим мужем вдвоем занимали весь верх прекрасного особняка в саду в одном из переулков близ арбата. Очаровательное место! Всякий может в этом убедиться, если пожелает направиться в этот сад. Пусть обратится ко мне, я скажу ему адрес, укажу дорогу --- особняк еще цел до сих пор. 比較結果を下表に示す. ruhyphot2.tex と suhyph.tex とは,それぞれ上記推奨トランスクリプション入力で pLaTeX 処理を行った. ruhyphot2.tex の8ビット・オリジナル・パターン ruhyphal.tex による LaTeX 処理結果を,リファレンスとして上げている. \showhyphens のログ出力に対し,語をアルファベット順にソートし,語重複を排除し,1文字のみの語を削除した. ruhyphal.tex ruhyphot2.tex suhyph.tex ---------------------------------------------------------------- Без-дет-ная Bez-det-naya * Bez-det-na-ya Воз-люб-лен-ную Voz-lyub-len-nuyu x Voz-ly-ublen-nu-yu (Воз-лы-ублен-ну-ю) Все Vse Vse Вся-кий Vsya-kii0 x Vsy-a-kii0 (Всы-а-кий) Ива-нуш-ке Iva-nux-ke Iva-nux-ke Ма-стер Ma-ster Ma-ster Мар-га-ри-та Mar-ga-ri-ta Mar-ga-ri-ta Мар-га-ри-тою Mar-ga-ri-toyu * Mar-ga-ri-to-yu Мар-га-ри-ты Mar-ga-ri-ty Mar-ga-ri-ty Муж Muzh Muzh Ни-ко-ла-ев-на Ni-ko-la-ev-na Ni-ko-la-ev-na Ни-ко-ла-ев-ной Ni-ko-la-ev-noi0 Ni-ko-la-ev-noi0 Ни-ко-ла-ев-ны Ni-ko-la-ev-ny Ni-ko-la-ev-ny Он On On Она Ona Ona Оча-ро-ва-тель- * Oqa-ro-va-telp1noe * Oqa-ro-va-telp1noe ное Преж-де Prezh-de Prezh-de Пусть Pustp1 Pustp1 ад-рес ad-res * adres ар-ба-та ar-ba-ta ar-ba-ta близ bliz bliz бы by by бы-ла by-la by-la бы-ло by-lo by-lo был byl byl важ-ней-шее * vazh-nei0xee * vazh-nei0xee вдво-ем vdvo-em vdvo-em вер-но ver-no ver-no верх verh verh весь vesp1 vesp1 воз-люб-лен-ную voz-lyub-len-nuyu x voz-ly-ublen-nu-yu (воз-лы-ублен-ну-ю) все vse vse все-го vse-go vse-go го-во-рил go-vo-ril go-vo-ril го-су-дар-ствен- go-su-dar-stven- go-su-dar-stven- но-го no-go no-go до do do до-ба-вить do-ba-vitp1 do-ba-vitp1 до-ро-гу do-ro-gu do-ro-gu добр dobr dobr его ego ego ее ee ee ему emu emu ес-ли es-li esli еще ewe ewe же zhe zhe же-ною zhe-noyu * zhe-no-yu же-ну zhe-nu zhe-nu жен-щи-ны zhen-wi-ny zhen-wi-ny жизнь zhiznp1 zhiznp1 за za za за-ни-ма-ли za-ni-ma-li za-ni-ma-li зва-ли zva-li zva-li зна-че-ния zna-qe-niya zna-qe-ni-ya из iz iz ко ko ko ко-то-рую ko-to-ruyu * ko-to-ru-yu кра-си-ва kra-si-va kra-si-va кра-сив kra-siv kra-siv круп-но-го krup-no-go krup-no-go ме-сто me-sto me-sto мне mne mne мно-гие mno-gie mno-gie мо-жет mo-zhet * mozhet мо-лод mo-lod mo-lod мож-но mozh-no mozh-no му-жем mu-zhem * muzhem на-до na-do na-do на-пра-вить-ся * na-pra-vitp1sya * na-pra-vitp1sya не ne ne ней nei0 nei0 об-ра-тит-ся * obratit-sya * obratit-sya обо-жал obo-zhal obo-zhal од-но od-no od-no од-ном od-nom od-nom опи-сал opi-sal opi-sal особ-ня-ка osob-nya-ka x osob-ny-a-ka (особ-ны-а-ка) особ-няк osob-nyak x osob-ny-ak (особ-ны-ак) от-да-ли ot-da-li ot-da-li от-кро-ем ot-kro-em ot-kro-em от-кры-тие ot-kry-tie ot-kry-tie от-крыть ot-krytp1 ot-krytp1 очень oqenp1 oqenp1 пе-ре-ул-ков pe-re-ul-kov pe-re-ul-kov по-же-ла-ет po-zhe-la-et po-zhe-la-et по-же-лал po-zhe-lal po-zhe-lal пор por por прав-дой prav-doi0 prav-doi0 пре-крас-но-го pre-kras-no-go pre-kras-no-go про-ме-нять pro-me-nyatp1 x pro-me-ny-atp1 (про-ме-ны-ать) са-ду sa-du sa-du сад sad sad сво-им svo-im svo-im свою svoyu svo-yu сде-лав-ше-го sde-lav-xe-go sde-lav-xe-go сих sih sih ска-жу ska-zhu x skaz-hu (сказ-ху) ска-зать ska-zatp1 ska-zatp1 со so so спе-ци-а-ли-ста spe-ci-a-li-sta spe-ci-a-li-sta су-щей su-wei0 su-wei0 тай-ну * tai0nu * tai0nu то to to то-му to-mu to-mu трид-ца-ти-лет- trid-ca-ti-let- x trid-ca-ti-let-ny-a-ya няя nyaya (трид-ца-ти-лет-ны-а-я) убе-дить-ся * ube-ditp1sya * ube-ditp1sya уве-рен-но-стью * uve-ren-nostp1yu * uve-ren-nostp1yu угод-но ugod-no ugod-no ука-жу uka-zhu x ukaz-hu (указ-ху) ум-на um-na um-na цел cel cel че-стен qe-sten qe-sten что qto qto что-бы qto-by qto-by это-му * e1tomu * e1tomu этом e1tom e1tom этот e1tot e1tot я ya ya ruhyphal.tex を正とすると,若干の相違 (* 印) はあるが,7ビット・パターン・ファイルの処理結果はともに概ね安全サイドに,つまりハイフネーションしない方向に倒れていると思う. しかし suhyph.tex では綴りが変わってしまうハイフンミスがある. x 印を付した語がこれに該当する. ( ) 内は組版結果で出力される可能性のある不正な綴りを示している.推奨の入力方法を採らないと, щ (shch) が ш (sh) と ч (ch) に分離されるなど,さらに分綴誤りが顕著になる. ruhyphot2.tex では ch, kh, sh, shch が分離されないパターンを追加しているため,これらを用いても間で切れて綴りが変わることはないはずである.Babel で suhyph.tex を利用する場合は,上記文字入力で1文字で表せるもの以外は, j2 (ю), j1 (я) など「英字+数字」のトランスクリプションを使用したほうが,その前後で分綴されずより安全かもしれない. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ロシア語分綴法 |
『ロシア・ソビエト ハンドブック』(東郷正延ほか編,三省堂刊,昭和53年)は分綴法(ロシア語ハイフネーション規則)を解説した数少ない日本語文献であるが,残念ながらいまは絶版になってしまったようである. vsu.ru (ヴォロネジ大学) の ftp サーバで配布されている ruhyphen パッケージには,ロシア語の分綴法について述べた文書 hyphen.rules (原文露文) が添付されている (teTeX を標準インストールすると $TEXMF/doc/generic/ruhyphen ディレクトリ下に格納されるはずである). これはいくつかのロシア語学関連文献からの引用もしくは要約である. hyphen.rules 全訳を以下に掲載する.ロシア語 TeX のみならず広くロシア語一般に関心をもつ方々にとって有益であることを望む.私の試訳であるので,誤り等お気付きの点があればご連絡いただきたい. hyphen.rules によると,分綴規則は文献によって必ずしも一律ではないことが伺える.ましてや計算機による自動ハイフネーションは完全ではないわけで,やはり自分の目で処理結果を吟味すべきだろう.ここに訳出した規則をその際の参考としていただければと思う. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
hyphen.rules
|
ロシア語分綴法
同一著者による文献 "Русский язык: Справочник по орфографии и пунктуации", 5-е издание, М., Изд. МГУ, 1998. 『ロシア語 — 正書法と句読法ハンドブック』(第5版,モスクワ,モスクワ大学出版,1998年)にも,同様の(少し補足がある)規則が掲載されている. ***
比較的近年の文献(А. В. Дудников, А. И. Арбузова, И. И. Ворожбицкая, "Русский язык", М., Высшая школа, 1977. А. В. ドゥードニコフ,А. И. アルブーゾヴァ,И. И. ヴォロジビーツカヤ『ロシア語』モスクワ,最高学府出版,1977)では次のように説明している.
通常,語は音節で分綴される. この規則には以下に示す制限がある.
***
Ф. バウエルの著書
Ф. Бауэр, "Азбука наборщика", Изд. ЦК СРПП СССР, Л., 1925.
『植字工のいろは』(ソヴィエト工業規格中央委員会出版部,レニングラード,1925年)には次のようにある.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
謝辞 |
本稿の「OT2, T2A の混在」は, TeX Q & A: 44377 における稲垣氏の試み「ハイフネーションと Babel」に触発されてまとめたものである.同氏のアイデアに敬意を表したい. TeX Q & A: 44572, 同: 44523 で changeru.sty のプロトタイプを示している. 本サイトにおけるロシア語分綴法の日本語訳文掲載に関しては, hyphen.rules 著者 Александр Лебедев アレクサンドル・レーベジェフ氏 (ロシア語ハイフネーションパターン ruhyphal.tex, Ispell ロシア語辞書の作者である) 並びに Владимир Волович ヴラジーミル・ヴォローヴィチ氏 (ruhyphen パッケージの編者であり, Babel ロシア語言語定義ファイル, Cyrillic Bundle のメンテナーでもある) から快諾,励ましをいただいた. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
更新履歴 |
|