TTS 対応テキスト表記仕様案
各種の電子出版フォーマットが乱立する中で、TTS 用に特化した単一の表記を策定することは、フォーマット整備と制作コストの関係から時期尚早と判断した。これはフォーマットが乱立する状況下で、ある特定の表記に絞れないという課題もあるが、それよりも制作者側が、できるだけ現在の出版制作環境の中で効率よく TTS に対応した電子出版物を制作することが重要と考えるため、表記には自由度を残した形を取る。
TTS に対応したテキスト表記仕様案として、まずは制作者が何に気を付けて記載する必要があるのかを、TTS 対応電子出版制作ガイドラインを用いて抽出し、その中で実証実験用として仮の表記仕様を策定し、実証実験で検証を行い、表記として必要な項目を抽出した。
ここでは、TTS 対応電子出版制作ガイドラインに則して、テキスト表記仕様として必要なものに限定して列挙する。すなわち、TTS 対応テキスト表記仕様案において、個別設定項目の記載がある規定項目に対して、例として、表記方法（記譜）を示す。なお、今後は実際の制作過程から、どのような表記が最も適切かを検証する必要がある。

1. 読み指定のテキスト表記（１） ルビ指定
表記としてルビを付記するためには、“親文”と、その親文の“読み”との対を作る必要がある。この対の表現が、電子出版の“1 冊”の単位で統一出来ていれば、規則的には問題がない。
ただし、表記上のルールとしては、以下の条件を考慮する必要がある；


親文の部分を音声化せず、その親文の“読み”のテキストの内容で読み上げる。

読みテキストには、ひらがな、カタカナで読みを指定する。これ以外の文字が含まれた場合、ルビ指定とはみなさず、親文と読みをそれぞれ音声化する。

“読み”のテキストの長さを規定する。例えば、最大 65 文字というように読みの長さの規則を持つ。

“読み”のテキスト内の拗促音については必ず小書きする。

TTS エンジンが、総ルビ仕様の場合は、ルビ指定の効果は、指定箇所のみとする。パ
ラルビ仕様の場合は、ルビ指定の効果は、指定した場所以降に反映されるものとする。
すなわち、同じ親文が別の“読み”で指定されない限り、電子出版 1 冊の単位内において、有効であるものとする。



単語の一部のみを範囲としたルビ指定により、音声化の際、発音が分割されて、文意1が理解できなくなる場合がある。これは漢字仮名交じり文の形態素解析の結果を利用せず、“読み”に従って音声化するためである。TTS エンジンによって、このような事象が発生した場合は、ルビ指定の範囲を変更する必要がある（漢字だけでなく、親文全体での読みとする等）。
以下に、表記方法の例（サンプル）を 3 つ記載する。（ア）と（イ）は、プレーンテキストの表記例であり、（ウ）は、XML の表記例である。
(ア)【親文 ；読みテキスト 】「【」：シフト JIS 8179、「；」：シフト JIS 8147、「】」：シフト JIS 817A であり、いずれも省略不可である。
（例）「誠実さの【切尖；きっさき】が、」⇒「せいじつさのきっさきが」なお、音声化の際、発音が分割されて、文意が理解できない場合の考慮として、（例）「【衝；つ】いた 」⇒「つ／いた」と発音が分割される場合は、（例）「【衝いた；ついた】」⇒「ついた」と表記することで対応する。

(イ)｜親文《読みテキスト》「｜」：シフト JIS 8162、「《」：シフト JIS 8173、「」」：シフト JIS 8174 であり、いずれも省略不可である。
（例）「誠実さの｜切尖《きっさき》が、」⇒「せいじつさのきっさきが」なお、音声化の際、発音が分割されて、文意が理解できない場合の考慮として、（例）「｜衝《つ》いた 」⇒「つ／いた」と発音が分割される場合は、

2

（例）「｜衝いた《ついた》」⇒「ついた」と表記することで対応する。
(ウ)

XML（XHTML1.1）
タグ構造により親文と読みとを分ける。タグ構造の省略等は XHTML1.1 に準拠する。
（例）「誠実さの<ruby><rb>切尖</rb><rp>（</rp><rt>きっさき</rt><rp>）</rp></ruby>が、」⇒「せいじつさのきっさきが」なお、音声化の際、発音が分割されて、文意が理解できない場合の考慮として、（例）「<ruby><rb>衝</rb><rp>（</rp><rt>つ</rt><rp>）</rp></ruby>いた 」⇒「つ／いた」と発音が分割される場合は、（例）「<ruby><rb>衝いた</rb><rp>（</rp><rt>ついた</rt><rp>）</rp></ruby>」⇒「ついた」と表記することで対応する。

なお、読みテキストが“（ママ）”である場合や、＃が読みに含まれている場合は、親文のみ発音する（親文の読みは TTS エンジンの解析に則る）；


ルビ指定（ア）の場合（例）「【吹喋；（ママ）】」⇒「ふいちょう」



ルビ指定（イ）の場合（例）「｜吹喋《＃（ママ）》」⇒「ふいちょう」



ルビ指定（ウ）の場合（例）「<ruby><rb>吹喋</rb><rp>（</rp><rt>（ママ）</rt><rp>）</rp></ruby>」⇒「ふいちょう」（ア）、（イ）、（ウ）とも、ルビの始まりと終わりには任意に定義した記号を入れることでルビを表現する。特に（ア）と（イ）については、制作者の決めたルールで定義することで問題はないが、ルビ指定のルールとして TTS エンジン側に提示（開示）する必要があるため、3システム上の取り決め（API 等）が必要になる（XHTML も同じ）。
（２） 傍点表記として傍点のように強調もしくは注点として目印を付記するためには、傍点の“開始点”と、“終了点”との対を作る必要がある。この対の表現が、電子出版の“1 冊”の単位で統一出来ていれば、規則的には問題がない。
表記方法として、以下に 2 つ記載する。
(ア) ∧傍点（強調する、もしくは注視する）文章∨
強調（注点）としての規則として、傍点、または下線の開始、終了点を、以下の記号で囲む；（例）開始点＝「∧」：シフト JIS 81C8 （論理積記号）
終了点＝「∨」：シフト JIS 81C9 （論理和記号）
記号読みオプション設定をオンにした場合でも、記号として音声化はされないこととする。
（例）「これは、∧だれにでも優しい∨本です。
」．．．．．．．．
⇒「これは、だれにでも優しい本です。」“だれにでも優しい”部分を任意の規則に基づいて音声化する。
(イ) XML（XHTML1.1）
タグ構造により親文と読みとを分ける。タグ構造の省略等は XHTML1.1 に準拠する。
（例）「これは、<em>だれにでも優しい</em>本です。」．．．．．．．．
⇒「これは、だれにでも優しい本です。」“だれにでも優しい”部分を任意の規則に基づいて音声化する。
ルビ指定同様、制作者の決めたルールで定義することで問題はないが、ルビ指定のルールとして TTS エンジン側に提示（開示）する必要があるため、システム上の取り決め（API 等）が必要になる（XHTML も同じ）。

4

2. 外字及び異体字のテキスト表記
JIS X 0208:1997（通称 JIS 漢字）、または JIS X 0212:1990（通称 JIS 補助漢字）に収録
されていない文字は外字とするため、その範囲の漢字を利用するようにする。この範囲外の漢字を利用した場合、TTS エンジンでは、音声化することができない。そのため、TTS 用のデータとして用意する場合、上記の範囲外の漢字は利用せず、その外字に対する親字（上記の範囲の漢字読みが同じ字も含む）を利用するか、ルビ指示として規定する必要がある。
（例）A「山﨑さん、こんにちは」⇒

B「山崎さん、こんにちは」

A の場合、漢字表記は、“立ち崎”であり、音声化すると、「やまさん、こんにちは」と、“さき”の部分が無音になる。そのため表記上は、B のように書くことで音声化を実現させる。Bの場合、音声化すると、例えば、「やまざきさん、こんにちは」となる。もちろん、“やまざき”というのは、TTS エンジンの解析結果に依存するため、“やまざき”を“やまさき”と音声化させる場合は、ルビ指定をすればよい。
むろん、漢字表記をそのままにして、ルビ指定によって、読み方を規定する方法は前節で説明済である。

5