ハイフネーション
Antenna House Formatter V7.4 は、40言語以上のハイフネーション処理を行うことができます。このとき、辞書を用意する必要はありません。 辞書は内蔵されています。
対応言語
Antenna House Formatter V7.4 は、以下の言語のハイフネーションに対応しています。
コード | 言語 | 単語構成文字 | |
---|---|---|---|
af | afr | 南ア公用オランダ語 | ラテン文字とアポストロフィ |
bg | bul | ブルガリア語 | キリル文字 |
ca | cat | カタロニア語 | ラテン文字とアポストロフィとピリオドと中点 |
cs | ces | チェコ語 | ラテン文字 |
cy | cym | ウェールズ語 | ラテン文字とアポストロフィ |
da | dan | デンマーク語 | ラテン文字とアポストロフィ |
de | deu | ドイツ語(含スイス) | ラテン文字とアポストロフィ |
el | ell | ギリシャ語 | ギリシャ文字 |
en | eng | 英語 | ラテン文字とアポストロフィ |
en-US | eng-US | 米国英語 | ラテン文字とアポストロフィ |
eo | epo | エスペラント語 | ラテン文字 |
es | spa | スペイン語 | ラテン文字 |
et | est | エストニア語 | ラテン文字 |
eu | eus | バスク語 | ラテン文字 |
fi | fin | フィンランド語 | ラテン文字 |
fr | fra | フランス語(含カナダ) | ラテン文字とアポストロフィ |
ga | gle | アイルランド語(含エール) | ラテン文字とアポストロフィ |
hr | hrv | クロアチア語 | キリル文字またはラテン文字 |
hu | hun | ハンガリー語 | ラテン文字 |
id | ind | インドネシア語 | ラテン文字とアポストロフィと数字の2 |
is | isl | アイスランド語 | ラテン文字 |
it | ita | イタリア語 | ラテン文字とアポストロフィ |
la | lat | ラテン語 | ラテン文字 |
lt | lit | リトアニア語 | ラテン文字 |
lv | lav | ラトビア語 | ラテン文字 |
ms | msa | マレー語 | ラテン文字とアポストロフィと数字の2 |
mt | mlt | マルタ語 | ラテン文字とアポストロフィ |
nb | nob | ノルウェー語(ブークモール) | ラテン文字とアポストロフィ |
nl | nld | オランダ語 / フラマン語 | ラテン文字とアポストロフィ |
nn | nno | ノルウェー語(ニーノシュク) | ラテン文字とアポストロフィ |
no | nor | ノルウェー語 | ラテン文字とアポストロフィ |
pl | pol | ポーランド語 | ラテン文字 |
pt | por | ポルトガル語(含ブラジル) | ラテン文字 |
ro | ron | ルーマニア語(含モルダビア) | ラテン文字とアポストロフィ |
ru | rus | ロシア語 | キリル文字 |
sk | slk | スロバキア語 | ラテン文字とアポストロフィ |
sl | slv | スロベニア語 | ラテン文字とアポストロフィ |
sr | srp | セルビア語 | キリル文字またはラテン文字 |
sv | swe | スウェーデン語 | ラテン文字とアポストロフィ |
sw | swa | スワヒリ語 | ラテン文字とアポストロフィ |
th | tha | タイ語 | タイ文字 |
tr | tur | トルコ語 | ラテン文字 |
uk | ukr | ウクライナ語 | キリル文字 |
Antenna House Formatter V7.4 は、単語構成文字で構成される文字列を単語とみなしてハイフネーションを行います。他の文字が含まれる文字列はひとつの単語とみなされません。
例
例えば、チェコ語のハイフネーションを行うには、次のように指定します。
例外辞書
Antenna House Formatter V7.4 では、辞書を用意する必要はありません。 しかし、標準のハイフネーション処理では望みどおりにならない単語を例外扱いしたいことがあります。そのようなとき、例外辞書を用意し、単語を登録しておくことができます。 また、GUIでの作業中に、例外辞書を編集したときは、メニューの [組版]-[ハイフネーション辞書再読み込み] によってハイフネーション辞書の再読み込みと再組版を行うことができます。
例外辞書は Antenna House Formatter V7.4 がインストールされたフォルダの hyphenation フォルダ、あるいは環境変数 AHF74_64_HYPDIC_PATH(Windows x86版では AHF74_32_HYPDIC_PATH) で示されるフォルダに格納します。辞書ファイルの名称は、次の規則に従います。
- RFC1766 で定義された言語タグに拡張子 .xml を付けたものです。言語タグは、ISO 639-2 の言語コードと ISO 3166 の国名コードを、ハイフンで結んだものです。言語コードのみのこともあります。ファイル名にはハイフンの代わりに下線を使うこともできます。
- ファイル名に与える言語コードは、2文字コードが存在するときはそれを、そうでないときは Terminologyコードを指定してください。国名コードも、2文字コードが存在するときはそれを指定してください。
例えば、de.xml、en_US.xml などです。xml:lang="nl-BE" の場合、次の順序で辞書が探されます。xml:lang="nld-BEL" と指定されていたとしても同様です。
- nl-BE.xml
- nl_BE.xml
- nl.xml
例外辞書の内容は次のとおりです。
要素 | 位置 | 内容 |
---|---|---|
<hyphenation-info> | ルート要素 | |
<hyphen-char> | <hyphenation-info> の子要素 | <exceptions>要素中で、<hyphen/> の代替となるハイフネーション文字を表す要素です。ハイフネーション文字はvalue属性で表されます。初期値は「-」(U+002D)です。 |
<hyphen-min> | <hyphenation-info> の子要素 | ハイフネーションによる行分割が発生した場合に、before, after属性で単語の行分割位置の前後の最小文字数を与えます。 beforeはXSL仕様の hyphenation-remain-character-count プロパティに、after属性は hyphenation-push-character-count プロパティに対応します。Antenna House Formatter V7.4 は、<hyphen-min> の指定をこれらのプロパティの初期値に利用します。 オプション設定ファイルの hyphen-min を参照してください。 |
<exceptions> | <hyphenation-info> の子要素 | 例外辞書のデータです。<exceptions>要素のテキストは空白で区切られたハイフネーション済み単語の集合です。ハイフン情報は<hyphen>要素で示されますが、<hyphen-char>要素で指定された文字を用いることもできます。 |
<hyphen> | <exceptions> の子要素 | Te |
<non-eol-words> | <hyphenation-info> の子要素 | 行末禁則させる単語を空白で区切って指定します。ここで指定された単語は、行末に位置しないように調整されますが、場合によってはそれが不可避なこともあります。 行末禁則処理は、FO中のhyphenateプロパティによらず、常に有効です。 |
例外辞書のDTDは次のように単純です。
注意: | この例外辞書用のDTDは、hyphenation-ah.dtd として同梱されています。後述する hyphenation.dtd はTeXの辞書のためのものです。 |
---|
<hyphen>要素によって綴りの変化するハイフネーションを指定することができます。次のようにハイフネーションされます。
例外辞書の指定 | 元の単語 | ハイフネーション |
---|---|---|
ab<hyphen/>def | abdef | ab‐def |
ab<hyphen no="c"/>def | abcdef | ab‐def |
ab<hyphen pre="x"/>def | abdef | abx‐def |
ab<hyphen pre="x" no="c"/>def | abcdef | abx‐def |
ab<hyphen post="z"/>def | abdef | ab‐zdef |
ab<hyphen no="c" post="z"/>def | abcdef | ab‐zdef |
ab<hyphen pre="x" post="z"/>def | abdef | abx‐zdef |
ab<hyphen pre="x" no="c" post="z"/>def | abcdef | abx‐zdef |
例えば、次のような内容の例外辞書を用意したとします。
table は、ta-ble とのみハイフネーションされる可能性があり、present がハイフネーションされることはありません。backen は、bak-ken とハイフネーションされます。また、この例で、ta-ble は、ta<hyphen/>ble と書いたのと等価です。
以下の言語で、例外辞書を利用することができます。
コード | 言語 | 単語構成文字 | |
---|---|---|---|
km | khm | クメール語 | クメール文字 |
lo | lao | ラーオ語 | ラーオ文字 |
my | mya | ビルマ語(ミャンマー語) | ビルマ文字 |
th | tha | タイ語 | タイ文字 |
これらの言語では、例外辞書はハイフネーションのためではなく、行分割禁止の単語を指定しておくために用いられます。 単語は、それぞれの単語構成文字のみを含むことができます。 <exceptions> 中にハイフン文字や <hyphen> を指定することはできません。
Antenna House Formatter V7.4 には、オランダ語の例外辞書 nl.xml と、タイ語の例外辞書 th.xml が同梱されています。 これらはTeXの辞書としては利用できません。
Te Xの辞書
Antenna House Formatter V7.4 では、Te
一部の言語だけでTe
Te
Te
要素 | 位置 | 内容 |
---|---|---|
<hyphenation-info> | ルート要素 | |
<hyphen-char> | <hyphenation-info> の子要素 | 例外辞書データ(exceptions)中のハイフネーション文字を表す要素です。ハイフネーション文字はvalue属性で表されます。初期値は「-」(U+002D)です。組版結果中のハイフネーション文字は、XSL仕様のプロパティのhyphenation-characterで与えられます。 |
<hyphen-min> | <hyphenation-info> の子要素 | ハイフネーションによる行分割が発生した場合に、before, after属性で単語の行分割位置の前後の最小文字数を与えます。 beforeはXSL仕様の hyphenation-remain-character-count プロパティに、after属性は hyphenation-push-character-count プロパティに対応します。Antenna House Formatter V7.4 は、<hyphen-min>の指定をこれらのプロパティの初期値に利用します。 |
<classes> | <hyphenation-info> の子要素 | 等価文字クラスと定義されます。class要素のテキストは空白で区切られた文字のグループの集合です。実際にはグループは小文字・大文字の組み合わせで構成されます。例えば英語辞書(en.xml)では以下のようになっています。 |
<patterns> | <hyphenation-info> の子要素 | 空白で区切られたハイフネーションパターンの集合のデータ。ハイフネーションパターンはclassesで示されたグループの最初の文字(通常は小文字)と数字から構成されます。文字間の数字はハイフネーション可能性の強度(「hyphenation value」)を表します。 |
<exceptions> | <hyphenation-info> の子要素 | ハイフネーション例外辞書のデータです。exceptions要素のテキストは空白で区切られたハイフネーション済み単語の集合です。ハイフンはhyphen要素で示されますが、hyphen-char要素で指定された文字を用いることもできます。ハイフネーション例外辞書は、ハイフネーションパターンによる処理ではハイフネーション位置が不適切な場合や、特定の単語に別のパターンのハイフネーションを適用したい場合に使用します。 |
<hyphen> | <exceptions> の子要素 | フル機能のハイフン。pre、post、no の属性を持ちます。pre は単語の行分割が発生した場合に、ハイフネーション文字の前に挿入される文字列、post はハイフネーション文字の後に挿入される文字列、no は単語が行分割されない場合に現れる文字列を表します。hyphen要素は単語が行分割されたときに綴りが変化する場合に使用します。 |
SOFT HYPHEN
Unicode仕様(☞ 5.4 Use of Soft Hyphen)には、「SOFT HYPHEN の含まれる単語は習慣的には SOFT HYPHEN の位置以外でハイフネーションされない」と書かれています。Antenna House Formatter V7.4 は SOFT HYPHEN(U+00AD)の含まれた単語をそのように処理します。つまり、辞書によるハイフネーションは行いません。 しかし、SOFT HYPHEN では綴りの変化するようなハイフネーションを表現することはできません。複雑なハイフネーションは、単語中に SOFT HYPHEN を含めず、例外辞書にハイフネーションを指定する必要があります。
hyphenate="false" のときでも SOFT HYPHEN の位置でのハイフネーションが起こります。hyphenate="none" のときは SOFT HYPHEN の位置でもハイフネーションは起こりません。 axf:soft-hyphen-treatment="preserve" のときは hyphenate="none" に強制されます。