行分割処理

Knuth/Plass行分割アルゴリズム

複数行の指定が有効な場合には,フィールドの矩形幅に収まるように複数行に分割します。 テキストを分割する位置は,基本的にTeXと同様の行分割アルゴリズムにもとづいてより決められます。

 

以下のポイントを分割位置の候補とし,最も矩形幅に近い位置で分割します。

単語境界について

単語境界として認識する空白文字は以下のとおりです。

  • SPACE (U+0020)
  • CHARACTER TABULATION (U+0009)
  • EN QUAD (U+2000)
  • EM QUAD (U+2001)
  • EN SPACE (U+2002)
  • EM SPACE (U+2003)
  • THREE-PER-EM SPACE (U+2004)
  • FOUR-PER-SPACE (U+2005)
  • SIX-PER-EM SPACE (U+2006)
  • PUNCTUATION SPACE (U+2008)
  • THIN SPACE (U+2009)
  • HAIR SPACE (U+200A)
  • ZERO WIDTH SPACE (U+200B)
  • IDEOGRAPHIC SPACE (U+3000)

全角スペース(IDEOGRAPHIC SPACE (U+3000))は,単語境界とみなしません。SPACE以外の空白文字がどのように表示されるかは,PDF内で定義されているフォントに依存します。 NO-BREAK SPACE (U+00AD) はSPACEに置き換えられますが,その位置での改行は行いません。

TeXの行分割処理との違い

改行文字の扱い

テキストに改行文字が挿入されている場合は,その位置で強制的に分割します。改行として認識する文字は以下のとおりです。

  • LF (U+000A)
  • CR (U+000D)

強制的な行分割

 基本的に,欧文単語・数字列などの途中では行分割は起こりませんが,

上記の分割候補位置が見つからない場合には,強制的に分割することがあります(決してフィールドの枠からテキストがはみ出すことが無いよう配慮しています)。

 

Field Reports試用版のダウンロードは,下記ページよりお申し込みください。