Skip to content

TTWG BiDi関係メモ #8

Open
Open
@himorin

Description

@himorin
  • XSL-FO 2.0 (2.0の改訂になるとCSSの最新っぽい感になる)
    • Unicode BiDi: UAX #9的にBiDiレベルが変わる場所でfo:bidi-overrideが入るように変換時にツリーが書き換えられるが、失敗するところでは手動で入れられる
    • writing mode properties
      • direction: inlineにのみ効く
        • inline-levelに影響させるにはunicode-bidiがembedかbidi-overrideでないといけない
        • 初期値は上位からのwriting-modeに合わせて設定され、必要ならこの設定値で上書きされる
      • unicode-bidi: UAX #9的BiDiのレベルの制御
        • embed: inline-elementにおいてレベルを上げる (LRE/RLE/PDF)
        • bidi-override: directionでの指示で上書きする (LRO/RLO/PDF)
  • UAX #9
    • 文字毎のbidi type: strong/weak/neutral
    • bidi control文字、embed/override/isolate
    • UBAの4段階処理: パラグラフ分割、文字毎情報初期化、レベル・bidi処理をアサインしていく、表示用に再配列
    • 計算アルゴリズム
      • パラグラフレベル(Px)では文字のbidi typeからparagraph embedding levelを設定、またisolating runというbidiが変化しない部分に分割
      • 明示的処理(Xx)では先頭から制御文字を探してbidi embedding levelを順次計算していく
      • Weak bidi typeについて前後を参照しながらbidi embedding levelを順次計算(Wx)していく
      • Neutralについて前後文字のtypeにより計算(Nx)し、open/closeの方向も変更しながらアサイン、残ったものはembedded
      • Isolateについて処理(Ix)
      • 高次のマークアップによる上書き (HLx)
        • HL1: P3処理(paragraph embedding levelの決定)を上書きし、指定されたbidiの設定を適用する (ltr/rtl)
        • HL2: W2処理(数値のAN/ENの処理、ALあるときにANにする)を上書きし、EN/ANを明示的に設定
        • HL3: explicit directional formatting characterの定義をマークアップ仕様で行える
        • HL4: 特定の状況下で表示の際に変更可能にする (編集画面とか)、HL1の一般形
        • HL5: 直前文字の設定のようなコンテキストの指定を可能にする、HL3の一般形
        • HL6: 特定のコンテキストでBidi_Mirroredが適用されたように扱う
  • TTML issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions