Unicode Standard と JIS X 4051 との比較: 行分割(3) ぶら下げ処理

| トラックバック(0)
すでに JIS X 4051 と関係なくなってきているような気もするが、UAX #14 の行分割アルゴリズムのカスタマイズ。ぶら下げ処理を追加する。

UAX も JIS も「ぶら下げ」の処理を考慮していない。JIS の行分割アルゴリズムはどうも pTeX のそれを引き写しているだけのようなので、デフォルトのぶら下げをしない挙動に合わせているのだろう。

文字幅が固定されている (プロポーショナルでない) ことにして、 行伸ばしや行詰めの処理をしないことにすると、次の Line Breaking Class を追加することでなんとかなりそう:

  • 文字のボディが半角で、前か後に二分のアキを持つかのようにふるまう文字のクラス:
    SPOP, CLSP, CLHSP
  • さらに、文字幅分だけ行端からとびだすことのできる文字のクラス
    CLH, CLHSP

後者は「ぶら下げ」の対象となる。

前者は「ぶら下げ」ではないが、半角幅だけ行端からとびだすことができる (「半ぶら下げ」?)。 また、前後の仮想的なアキは、ときどき欧文間隔 (SPACE) のようにふるまう。

表: Line Breaking Rules を作ってみた。カスタマイズした行分割規則に基づいて class pair table を生成している (生成方法の詳細は後日)。 UAX#14 オリジナルの規則は ここにある

CL と CLH、および CLSP と CLHSP はそれぞれ、UAX#14 の行分割ルールの範囲では同一のふるまいをする。 クラスを区別しているのは、実際の行分割処理の際に区別するためである。

トラックバック(0)

トラックバックURL: http://hatuka.nezumi.nu/cgi-bin/mt/mt-tb.cgi/26

このブログ記事について

このページは、Hatuka*nezumiが2006年5月18日 12:39に書いたブログ記事です。

ひとつ前のブログ記事は「Unicode Standard と JIS X 4051 との比較: 文字幅(2)」です。

次のブログ記事は「Unicode Standard と JIS X 4051 との比較: 実装」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。