複雑なテキスト配置(ふくざつなテキストはいち)では、コンピュータでのテキストデータ処理において複雑なテキスト配置(CTL[注釈 1])あるいは複雑なテキスト描画[注釈 2]と呼ばれる技法について解説する。
これは、入力されたテキストデータを画面や印刷紙面に表示する過程で複雑な変換が必要な用字系 (文字体系) の組版方式のことである。そのような処理を必要とする用字系や書記系を複雑な用字系[注釈 3]あるいはコンプレックステキスト言語(CTL[注釈 4])呼ぶこともある。このような用字系では、保存されたテキストデータは表示される結果に単純に対応していない。以上に挙げたような表現はソフトウェアの国際化の分野で用いられている。
複雑なテキスト配置が必要な書記系の例としては、アラビア文字やブラーフミー系文字の用字系 (デーヴァナーガリーやタイ文字など) が挙げられる。
複雑なテキスト配置は合字 (リガチャ) の考えかたを一般化したものと言える。ラテン文字などの多くのアルファベットに属する文字体系では、リガチャは通常、審美的な観点から考慮が払われるだけの副次的なものだが、アラビア文字などを適切に組版するために必要となるリガチャと、ラテン文字などの筆記体の組版で必要となるそれとには、本質的な違いはない[注釈 5]。一方、漢字の文字の多くは、複数の構成要素の組み合わせとなっているため合字として表現することもできなくはないが、通常は文字をひとつひとつ符号化している。そのため、組版には技巧的なレイアウト技術を必要としないかわりに多数の活字が必要となる。リガチャを考慮しないやりかたの例としては、ギリシア文字の語末形のシグマ(ς)がある。これは通常の σ に対して、語の終わりの文脈で用いる字形変種である。Unicodeでは両方の変種を別々に U+03C2 および U+03C3 として符号化している。この場合、整列や比較の際にはソフトウェアの側で「δῖος Ἀχιλλεύς」のような文字列を「δῖοσ Ἀχιλλεύσ」と同等とみなして処理しなければならない。Unicode 標準では、ソフトウェアに対して ς と σ を正準等価あるいは互換等価であると扱うように求めてはいない。
コンプレックステキスト言語で解決しなければならない問題としては、つぎのような性質がある。
この節の加筆が望まれています。 |