最終更新日: 2008/07/29

XSLFormatter V4 のXSL独自拡張仕様

XSL Formatter V4 では、多くのXSLの独自拡張要素・プロパティを用意しています。 以下にそれらの要素の一覧を示します。

拡張要素を利用する場合、namespaceに必ず http://www.antennahouse.com/names/XSL/Extensions を指定してください。

拡張要素

要素名 備考
<axf:document-info> 文書情報を指定します。この情報はPDF中に埋め込まれます。
<axf:footnote-number> 脚注番号を生成します。
<axf:footnote-number-citation> 脚注番号を引用します。
<axf:form> フォームアクションの単位を囲みます。
<axf:form-field> フォームフィールドを生成します。
<axf:form-field-option> リストボックス、コンボボックスの構成要素を指定します。
<axf:output-volume-info> 多分冊PDFを出力します。
<axf:space-after-punctuation> 欧文約物の後の空白量を指定します。
<axf:space-before-punctuation> 欧文約物の前の空白量を指定します。
<axf:space-between-digit-and-punctuation> 数字と欧文約物の間の空白量を指定します。
<axf:space-between-punctuation-and-digit> 欧文約物と数字の間の空白量を指定します。

拡張プロパティ

プロパティ名 備考
axf:action-type 外部リンクの動作を指定します。
axf:alttext 画像の代替テキストを指定します。
axf:annotation-contents 注釈の内容を指定します。
axf:annotation-color 注釈の背景などに利用される色を指定します。
axf:annotation-file-attachment ファイル添付注釈の関連付けられるファイルを指定します。
axf:annotation-flags 注釈のフラグを指定します。
axf:annotation-font-family フリーテキスト注釈のフォントファミリを指定します。
axf:annotation-font-size フリーテキスト注釈のフォントのサイズを指定します。
axf:annotation-font-style フリーテキスト注釈のフォントを斜体にするかどうか指定します。
axf:annotation-font-weight フリーテキスト注釈のフォントの太さを指定します。
axf:annotation-height 注釈の高さを指定します。
axf:annotation-icon-name 注釈の表示に用いるアイコンの名前を指定します。
axf:annotation-open 注釈の最初の状態を指定します。
axf:annotation-position-horizontal 注釈の水平位置を指定します。
axf:annotation-position-vertical 注釈の垂直位置を指定します。
axf:annotation-text-color フリーテキスト注釈の色を指定します。
axf:annotation-text-align フリーテキスト注釈のテキストの配置を指定します。
axf:annotation-title 注釈のタイトルを指定します。
axf:annotation-type 注釈の種類を指定します。
axf:annotation-width 注釈の幅を指定します。
axf:append-non-end-of-line-characters 追加行末禁則文字を指定します。
axf:append-non-starter-characters 追加行頭禁則文字を指定します。
axf:assumed-page-number ページ番号の予想値を指定します。
axf:assumed-page-number-prefix ページ番号の前置文字列の予想値を指定します。
axf:avoid-widow-words 段落の最後の行が1語だけにならないようにします。
axf:background-color ページに対する背景色を指定します。
axf:background-image ページに対する背景画像を指定します。
axf:background-position-horizontal ページに対する背景画像の水平位置を指定します。
axf:background-position-vertical ページに対する背景画像の垂直位置を指定します。
axf:background-repeat ページに対する背景画像の繰り返し方法を指定します。
axf:background-content-height 背景画像の高さを指定します。
axf:background-content-type 背景画像の種類を指定します。
axf:background-content-width 背景画像の幅を指定します。
axf:background-scaling 背景画像の倍率を指定します。
axf:base-uri 相対指定のURIのベースとなる位置を指定します。
axf:bleed 裁ち落としのための塗り足しの領域の幅を指定します。
axf:bleed-bottom 裁ち落としのための塗り足しの下の領域の幅を指定します。
axf:bleed-left 裁ち落としのための塗り足しの領域の左の幅を指定します。
axf:bleed-right 裁ち落としのための塗り足しの領域の右の幅を指定します。
axf:bleed-top 裁ち落としのための塗り足しの領域の上の幅を指定します。
axf:bookmark-include 多分冊出力時のしおりの扱いを指定します。
axf:border-bottom-left-radius 丸め罫の左下の径を指定します。
axf:border-bottom-right-radius 丸め罫の右下の径を指定します。
axf:border-radius 丸め罫の径を指定します。
axf:border-top-left-radius 丸め罫の左上の径を指定します。
axf:border-top-right-radius 丸め罫の右上の径を指定します。
axf:box-shadow ボックスシャドウを指定します。
axf:column-count ブロックに対する段数を指定します。
axf:column-gap ブロックに対する段間の幅を指定します。
axf:column-number-format 段番号のための書式を指定します。
axf:column-rule-align 段間罫の配置を指定します。
axf:column-rule-color 段間罫の色を指定します。
axf:column-rule-display ページ末などの段のないところにも段間罫を引くかどうか指定します。
axf:column-rule-length 段間罫の長さを指定します。
axf:column-rule-style 段間罫のスタイルを指定します。
axf:column-rule-width 段間罫の幅を指定します。
axf:crop-offset 出力媒体の物理的な端から仕上がり寸法までの距離を指定します。
axf:crop-offset-bottom 出力媒体の物理的な端から仕上がり寸法までの下の距離を指定します。
axf:crop-offset-left 出力媒体の物理的な端から仕上がり寸法までの左の距離を指定します。
axf:crop-offset-right 出力媒体の物理的な端から仕上がり寸法までの右の距離を指定します。
axf:crop-offset-top 出力媒体の物理的な端から仕上がり寸法までの上の距離を指定します。
axf:destination-type 外部リンクでの宛先形式を指定します。
axf:diagonal-border-color 対角罫の色を指定します。
axf:diagonal-border-style 対角罫のスタイルを指定します。
axf:diagonal-border-width 対角罫の幅を指定します。
axf:except-non-end-of-line-characters 除外行末禁則文字を指定します。
axf:except-non-starter-characters 除外行頭禁則文字を指定します。
axf:field-apply-signature 署名フィールドに署名するかどうかを指定します。
axf:field-button-face プッシュボタンフィールドに表示するキャプションを指定します。
axf:field-button-face-down プッシュボタン押下時に表示するキャプションを指定します。
axf:field-button-face-rollover プッシュボタンロールオーバー時に表示するキャプションを指定します。
axf:field-button-icon プッシュボタンフィールドに表示するアイコンを指定します。
axf:field-button-icon-down プッシュボタン押下時に表示するアイコンを指定します。
axf:field-button-icon-rollover プッシュボタンロールオーバー時に表示するアイコンを指定します。
axf:field-button-layout プッシュボタンフィールドに表示するキャプションとアイコンの関係を指定します。
axf:field-checked チェックボックス、ラジオボタンの初期状態を指定します。
axf:field-checked-style チェックボックス、ラジオボタンのチェックの形状を指定します。
axf:field-default-text テキストフィールドに最初から入力されるテキストを指定します。
axf:field-description フィールドの説明文を指定します。
axf:field-editable コンボボックスで、値が編集可能かどうかを指定します。
axf:field-maxlen テキストフィールドに入力できるテキストの最大文字数を指定します。
axf:field-multiline テキストフィールドが単一行か複数行か指定します。
axf:field-multiple リストボックスで、複数項目が選択可能かどうかを指定します。
axf:field-name フィールドの名前を指定します。
axf:field-password テキストフィールドをパスワード化するかどうか指定します。
axf:field-readonly 読取り専用フィールドかどうかを指定します。
axf:field-required 入力必須フィールドかどうかを指定します。
axf:field-scroll テキストフィールドをスクロール可能にするかどうか指定します。
axf:field-submit-coordinates サブミット時にマウスの座標を送出するかどうかを指定します。
axf:field-submit-method サブミット時の情報の送出方法を指定します。
axf:field-top-index リストボックス、コンボボックスで、最初の選択項目を指定します。
axf:field-type フィールドの種類を指定します。
axf:field-value サブミット時などに使用される値を指定します。
axf:footnote-align 脚注の配置を指定します。
axf:footnote-keep 脚注とアンカを同一ページ内に配置するかどうかを指定します。
axf:footnote-number-format 脚注番号のための書式を指定します。
axf:footnote-number-initial 最初の脚注番号を指定します。
axf:footnote-number-reset 脚注番号のリセットを指示します。
axf:footnote-position 脚注を段ごとに配置するかどうかを指定します。
axf:footnote-stacking 脚注の配置の方法を指定します。
axf:hanging-punctuation 句読点のぶら下げを行うかどうかを指定します。
axf:hyphenation-minimum-character-count ハイフネーション処理をする語の最小文字数を指定します。
axf:hyphenation-zone ハイフネーション可能な範囲を制限します。
axf:initial-volume-number 多分冊出力時の初期文書番号を指定します。
axf:japanese-glyph 日本語の漢字の字体を指定します。
axf:justify-nbsp NON-BREAKING SPACE を均等割り付けの対称にするかどうかを指定します。
axf:kerning-mode カーニング(詰め処理)を行うかどうかを指定します。
axf:line-break 行分割の方法を指定します。
axf:leader-expansion リーダを強制的に広げるかどうか指定します。
axf:ligature-mode リガチャ(合字処理)を行うかどうかを指定します。
axf:line-continued-mark 行継続マークを表示するかどうかを指定します。
axf:line-continued-mark-background-color 行継続マークの背景色を指定します。
axf:line-continued-mark-color 行継続マークの色を指定します。
axf:line-continued-mark-font-family 行継続マークのフォントファミリを指定します。
axf:line-continued-mark-font-size 行継続マークのフォントサイズを指定します。
axf:line-continued-mark-font-style 行継続マークを斜体にするかどうかを指定します。
axf:line-continued-mark-font-weight 行継続マークのフォントの太さを指定します。
axf:line-continued-mark-offset 行継続マークの表示オフセットを指定します。
axf:line-number 行番号を表示するかどうかを指定します。
axf:line-number-background-color 行番号の背景色を指定します。
axf:line-number-color 行番号の色を指定します。
axf:line-number-display-align 行番号のブロック進行方向の配置を指定します。
axf:line-number-font-family 行番号のフォントファミリを指定します。
axf:line-number-font-size 行番号のフォントサイズを指定します。
axf:line-number-font-style 行番号を斜体にするかどうかを指定します。
axf:line-number-font-weight 行番号のフォントの太さを指定します。
axf:line-number-format 行番号のための書式を指定します。
axf:line-number-initial 最初の行の行番号を指定します。
axf:line-number-interval 出力する行番号の間隔を指定します。
axf:line-number-offset 行番号の表示オフセットを指定します。
axf:line-number-position 行番号の表示位置を指定します。
axf:line-number-reset 行番号をリセットします。
axf:line-number-start 出力を開始する行番号を指定します。
axf:line-number-text-align 行番号の配置を指定します。
axf:line-number-text-decoration 行番号の文字列の修飾を指定します。
axf:line-number-width 行番号の幅を指定します。
axf:number-type ページ番号を出力するのか段番号を出力するのかを指定します。
axf:origin-id ページ番号の基点を指定します。
axf:outline-color PDFのしおりのタイトルの色を指定します。
axf:outline-expand PDFのしおりの表示時に下位の階層を表示するかどうかを指定します。
axf:outline-external-destination PDFのしおりに外部リンクを設定します。
axf:outline-font-style PDFのしおりのタイトルのフォントスタイルを指定します。
axf:outline-font-weight PDFのしおりのタイトルのフォントの太さを指定します。
axf:outline-group PDFのしおりをグループ化して、まとめて出力します。
axf:outline-internal-destination PDFのしおりに内部リンクを設定します。
axf:outline-level PDFのしおりの項目の階層レベルを示します。
axf:outline-title PDFのしおりのタイトルとして表示される文字列です。
axf:output-volume-break 多分冊出力を指示します。
axf:output-volume-filename 多分冊出力時の文書ファイル名を指定します。
axf:overflow-condense オーバーフローしたテキストを領域内にどのように詰め込むかを指定します。
axf:overflow-condense-limit-font-size axf:overflow-condense="font-size"時の下限のフォントサイズを指定します。
axf:overflow-condense-limit-font-stretch axf:overflow-condense="font-stretch"時の下限のフォントサイズを指定します。 V4.3
axf:overflow-replace オーバーフローしたテキストに対する代替文字列を指定します。
axf:page-number-prefix ページ番号の前置文字列を指定します。
axf:physical-page-number 物理的なページ番号を得ます。
axf:printer-duplex 両面印刷の指定をします。
axf:printer-marks トンボなどの印刷マーク類を指定します。
axf:printer-marks-line-color トンボの線の色を指定します。
axf:printer-marks-line-length トンボの線の長さを指定します。
axf:printer-marks-line-width トンボの線の幅を指定します。
axf:printer-marks-zero-margin bleedが0のときの、版面とトンボの間のマージンを指定します。
axf:printer-bin-selection プリンタのトレイを選択します。
axf:punctuation-spacing 隣接する全角約物の詰めの間隔を指定します。
axf:punctuation-trim 行頭、行末の全角約物を半角扱いにするかどうかを指定します。
axf:repeat-cell-content-at-break セルの分割時にセル内容をコピーするかどうかを指定します。
axf:repeat-footnote-in-table-footer fo:table-omit-footer-at-break="false" によって繰り返された fo:table-footer 中の fo:footnote も繰り返すか指定します。 V4.3MR2
axf:repeat-footnote-in-table-header fo:table-omit-header-at-break="false" によって繰り返された fo:table-header 中の fo:footnote も繰り返すか指定します。 V4.3MR2
axf:repeat-page-sequence-master ページシーケンスの繰り返しを指示します。
axf:reverse-diagonal-border-color 逆対角罫の色を指定します。
axf:reverse-diagonal-border-style 逆対角罫のスタイルを指定します。
axf:reverse-diagonal-border-width 逆対角罫の幅を指定します。
axf:revision-bar-color 改訂バーの色を指定します。
axf:revision-bar-offset 改訂バーの表示オフセットを指定します。
axf:revision-bar-position 改訂バーの表示位置を指定します。
axf:revision-bar-style 改訂バーのスタイルを指定します。
axf:revision-bar-width 改訂バーの幅を指定します。
axf:soft-hyphen-treatment SOFT HYPHEN の出力を指定します。
axf:suppress-duplicate-footnote 同一ページ中の重複した脚注の除去を指定します。
axf:suppress-duplicate-page-number 重複ページ番号参照の除去を指定します。
axf:suppress-if-first-on-page ページ先頭のブロックを削除するかどうか指定します。
axf:text-align-first 最初の行のテキストの配置を指定します。
axf:text-autospace 和欧文間に空きを入れるかどうかを指定します。
axf:text-autospace-width 和欧文間の空きの量を指定します。
axf:text-kashida-space アラビア語で Kashidaの割り合いを指定します。
axf:text-line-color 下線、取消し線、上線の色を指定します。
axf:text-line-style 下線、取消し線、上線のスタイルを指定します。
axf:text-line-width 下線、取消し線、上線の太さを指定します。
axf:text-underline-position 下線の位置を指定します。
axf:vertical-underline-side 縦書きでの下線をどちら側に付けるかを指定します。
axf:word-break 単語の途中でも行分割可能にするかどうかを指定します。

関数の拡張

関数名 備考
rgb-icc rgb-icc関数を拡張しています。

値の拡張

プロパティ名 備考
border-style
border-*-style
CSS3にある dot-dash、dot-dot-dash、wave が指定できるよう拡張されています。 これらの優先順位は次のようになります。
  1. double
  2. solid
  3. dashed
  4. dot-dash
  5. dot-dot-dash
  6. dotted
  7. ridge
  8. outset
  9. groove
  10. inset
  11. wave
この順位は、CSS3では規定されていません。
font-stretch font-stretchプロパティの値を拡張しています。
force-page-count force-page-countプロパティの値を拡張しています。
format formatプロパティの値を拡張しています。
internal-destination internal-destinationプロパティの値を拡張しています。
overflow overflowプロパティの値を拡張しています。
text-align text-alignプロパティの値を拡張しています。

その他の拡張

  1. XSL仕様では、fo:region-body や fo:region-before などに指定する padding や border の幅はゼロでなければならないことになっています。XSL Formatter V4 では、これらに対してゼロ以外の値も受け付け、評価します。例えば、次のように指定することができます。

    <fo:region-body padding="1.5cm" border-color="red" border-style="solid" border-width="2pt" />

  2. XSL仕様では、script プロパティに指定する <script> の値は、ISO 15924 に規定されている値とされています。XSL Formatter V4 では、MathMLへの便宜のために、U+2200~U+22FF などの算術演算子に Math というスクリプトを割り当てています。


PDF出力における文書情報

XSL Formatter V4 からPDF出力する場合の、PDFへ文書情報を埋め込む方法を説明します。

XSL1.1 には同様の機能が備わっています。fo:bookmark を利用してください。

<axf:document-info>

PDFには、著者やタイトルなどの文書情報を埋め込んでおくことができます。XSL Formatter V4 では、独自拡張した要素を用いてそれらを指定することができます。 PDFに埋め込まれたこれらの情報は、Adobe Acrobat または Reader で参照することができます。

Common Usage:

文書情報を指定します。この要素はエリアを生成しません。例えばPDFのような文書ファイル中に埋め込むために利用されます。

Areas:

なし。

Constraints:
<!ELEMENT axf:document-info EMPTY>
<!ATTLIST axf:document-info
  name   CDATA #REQUIRED
  value  CDATA #REQUIRED
>

axf:document-info 拡張要素は、fo:root の直下の fo:page-sequence が現れる前の任意の位置、または fo:page-sequence の最初の子要素に置くことができます。 また、そのプロパティは namevalue で、いずれも必須です。name の値は、以下のいずれかでなければなりません。

  • "title"

    文書のタイトルを指定します。

  • "subject"

    文書のサブタイトルを指定します。

  • "author"

    文書の著者名を指定します。

  • "keywords"

    キーワードをカンマ区切りで列挙します。

  • "pagemode"

    文書を開いたときの表示方法を指定します。以下のいずれかを指定できます。

    • UseNone
      文書アウトラインもサムネールイメージも非表示
    • UseOutlines
      文書アウトラインを表示
    • UseThumbs
      サムネールイメージを表示
    • FullScreen
      メニューバー、ウィンドウコントロール、他のウィンドウを一切表示しないフルスクリーンモード
    • UseOC
      オプションのコントロールグループパネルを表示

    UseOCは、PDF1.5以上のときに指定できます。アウトラインがあるときの既定値はUseOutlinesです。

  • "openaction"

    文書を開いたときに表示される宛先または実行されるアクションを指定します。 ここでは、internal-destination の <number-with-fragment> と同様の値を記述することができます。リンクの作成も参照してください。

    このとき、名前付きのアクションやJavaScriptを指定することもできます。

    • value="#Named=Print"
      オープン時に印刷ダイアログが表示されます。
    • value="#Named=LastPage"
      オープン時に最終ページとなります。
    • value="#JavaScript=任意のJavaScriptプログラム"
      オープン時に指定されたJavaScriptを実行します。

    #直後のNamedやJavaScriptの大文字小文字は区別されません。 Namedに指定できるアクションは、ビューアのメニュー名に対応します。 Namedに不明な名前を指定した場合や、JavaScriptに誤ったプログラムを指定した場合の動作は保証されません。

    PDF/Aでは、JavaScriptを指定することはできません。

Contents:

EMPTY

Examples:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">
  <axf:document-info name="title" value="文書のタイトルを指定する"/>
  <axf:document-info name="subject" value="文書のサブタイトルを指定する"/>
  <axf:document-info name="author" value="著者名を指定する"/>
  <axf:document-info name="keywords" value="キーワードをカンマ区切りで列挙します"/>
...

fo:page-sequence の子の axf:document-info は、分冊出力のときにのみ有効です。 fo:page-sequence の子の axf:document-info は、fo:root の子の axf:document-info を上書きして、分冊出力される文書の文書情報として利用されます。したがって、fo:page-sequence に axf:document-info が指定されていないときは、すべての分冊された文書に同じ文書情報が埋め込まれます。

"openaction" と "pagemode" の指定は、分冊に対して行うことはできません。fo:root の直下の指定のみが有効です。分冊出力されたときは、第一分冊に対しての指定となります。


分冊PDF出力

XSL Formatter V4 では、PDFを複数に分冊して出力することができます。

<axf:output-volume-info>

Common Usage:

組版結果を出力するとき、fo:page-sequence 単位に、分冊出力できるようにします。

Areas:

なし。

Constraints:
<!ELEMENT axf:output-volume-info EMPTY>
<!ATTLIST axf:output-volume-info
  initial-volume-number  NUMBER "1"
  format                 CDATA  "1"
  bookmark-include (first|all|separate) separate
>

axf:output-volume-info 拡張要素は、fo:root の直下の fo:page-sequence が現れる前の任意の位置に置くことができます。

Contents:

EMPTY

Examples:
<axf:output-volume-info
  initial-volume-number="2"
  format="-1"
  bookmark-include="separate"
/>

<fo:page-sequence>
  PAGE-SEQUENCE-1
  ...
</fo:page-sequence>
<fo:page-sequence>
  PAGE-SEQUENCE-2
  ...
</fo:page-sequence>
<fo:page-sequence axf:output-volume-break="true">
  PAGE-SEQUENCE-3
  ...
</fo:page-sequence>

ファイルへ出力するときにのみ機能します。印刷やストリーム出力などでは機能しません。 このとき、出力ファイル名は、GUIやコマンドラインパラメータなどで指定されていなければなりません。 分冊出力されるファイル名は、出力ファイル名をベースにして自動的に決定されます。これは、format プロパティによって書式化された文字列が、出力ファイルの拡張子の直前に挿入されることによって行われます。 ファイル名に document.pdf が与えられているとき、上の例では、PAGE-SEQUENCE-1 と PAGE-SEQUENCE-2 が ducument-2.pdf へ出力され、PAGE-SEQUENCE-3 が document-3.pdf へ出力されます。

format プロパティに適用される数値は、axf:initial-volume-number プロパティによって初期値を与えることができます。 format プロパティは、XSL-FO仕様の「7.26.1. format」と同じです。

分冊は、fo:page-sequence に指定された axf:output-volume-break プロパティによって引き起こされます。 axf:output-volume-filename プロパティを指定すれば、その分冊だけ指定したファイル名で出力することができます。

分冊した場合のしおりの扱いは、axf:bookmark-include プロパティによって以下から選択することができます。

  • 第1分冊にのみしおりを付けます。
  • 全分冊にしおりを付けます。
  • 各分冊にそれぞれのしおりを付けます。

実際に分冊出力を行うためには、以下の条件が必要です。

  • FO中に <axf:output-volume-info> 要素が含まれていること。
  • 各インターフェイスで以下が指定されていること。
    GUIPDF出力ダイアログ で、[分冊出力] がチェックされていること。
    コマンドライン-multivol パラメータ が指定されていること。
    .NETMultiVolume プロパティに true が指定されていること。
    COMMultiVolume プロパティに true が指定されていること。
    JavaXfoObj::setMultiVolume() により多分冊が指定されていること。
    C++/CXfoObj::setMultiVolume() により多分冊が指定されていること。

axf:bookmark-include

多分冊出力したときのしおりの扱いを指定します。

Value: first | all | separate
Initial: separate
Applies to: axf:output-volume-info
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

first

第1分冊にのみしおりを付けます。

all

全分冊にしおりを付けます。

separate

各分冊にそれぞれのしおりを付けます。 しおりがどの分冊に属するかは axf:outline-level="1" が現れた分冊になります。分冊を跨るしおりは前の分冊に入ります。 このため、axf:bookmark-include="separate" の場合でも他の分冊への外部リンクが含まれ る場合があります。

axf:initial-volume-number

多分冊出力時の初期文書番号を指定します。

Value: <number>
Initial: 1
Applies to: axf:output-volume-info
Inherited: no
Percentages: N/A

この値は、formatプロパティに適用され、出力されるPDFファイル名に利用されます。例えば、次のような指定のとき、出力PDFファイル名に document.pdf が指定されたとすると、分冊されたファイル名は、document-2.pdfdocument-3.pdfdocument-4.pdf、… となります。

<axf:output-volume-info
  initial-volume-number="2"
  format="-1"
/>

axf:output-volume-break

多分冊出力を指示します。

Value: true | false
Initial: false
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

true

この fo:page-sequence から新しい分冊とします。

false

この fo:page-sequence では分冊しません。

分冊を開始したい fo:page-sequenceaxf:output-volume-break="true" を指定します。文書番号は、1ずつ増えていきます。 分冊するとき、最初の fo:page-sequence には、常に axf:output-volume-break="true" が指定されているとみなされます。明示的に axf:output-volume-break="false" が指定されていても無視されます。

axf:output-volume-filename

多分冊出力時の文書ファイル名を指定します。

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

指定がないときは、formatプロパティを用いた自動的なファイル名が採用されます。このプロパティを指定したときは、そのファイル名が採用されます。 先頭の fo:page-sequence または、axf:output-volume-break="true" である fo:page-sequence でのみ有効です。

例えば、次のような指定のとき、出力PDFファイル名に document.pdf が指定されたとすると、分冊されたファイル名は、document-2.pdfchapterX.pdfdocument-4.pdf、… となります。

<axf:output-volume-info
  initial-volume-number="2"
  format="-1"
/>

<fo:page-sequence>
  ...
</fo:page-sequence>
<fo:page-sequence axf:output-volume-break="true" axf:output-volume-filename="ChapterX.pdf">
  ...
</fo:page-sequence>
<fo:page-sequence axf:output-volume-break="true">
  ...
</fo:page-sequence>

すべての fo:page-sequence に axf:output-volume-filename を指定したとしても、元となるPDFファイル名を省略することはできません。


欧文組版のための拡張

XSL Formatter V4 は、欧文組版における約物前後の空白量を調整するための拡張を行っています。

<axf:space-after-punctuation>

約物の後の空白量を指定します。

<axf:space-before-punctuation>

約物の前の空白量を指定します。

<axf:space-between-digit-and-punctuation>

数字と約物の間の空白量を指定します。

<axf:space-between-punctuation-and-digit>

約物と数字の間の空白量を指定します。

これらの拡張要素はいずれも空要素で、fo:declarations の直下に置くことができ、エリアを生成しません。 以下のプロパティを指定することができます。

language

言語コードを指定します(RFC3066)。省略することはできません。

Value: <language>
Initial: N/A
Inherited: no
Percentages: N/A

space

空白の量を指定します。ゼロ以下の場合、指定は無効です。

Value: <length> | <percentage> | figure | punctuation | thin | hair
Initial: N/A
Inherited: no
Percentages: refer to the font size

値の意味は以下のとおりです。

figure

U+2007 と同じ量を示します。

punctuation

U+2008 と同じ量を示します。

thin

U+2009 と同じ量を示します。

hair

U+200A と同じ量を示します。

code

適用対象のコードポイントを指定します。

Value: <string>
Initial: empty string
Inherited: no
Percentages: N/A

指定されたすべてのコードポイントに、language と space が適用されます。

例えば、仏語組版を行う場合は、次のような指定をするでしょう。

<axf:space-before-punctuation code="?" space="1 div 3" language="fr"/>
<axf:space-before-punctuation code="!" space="1 div 3" language="fr"/>
<axf:space-before-punctuation code=";" space="1 div 3" language="fr"/>
<axf:space-before-punctuation code=":" space="1 div 4" language="fr"/>
<axf:space-before-punctuation code="&#xBB;" space="1 div 4" language="fr"/>
<axf:space-after-punctuation code="&#xAB;" space="1 div 4" language="fr"/>
<axf:space-between-punctuation-and-digit code="+" space="thin" language="fr"/>
<axf:space-between-punctuation-and-digit code="&#x2212;" space="thin" language="fr"/>
<axf:space-between-punctuation-and-digit code="&#xB1;" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="%" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="&#x2103;" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="&#x2109;" space="thin" language="fr"/>

欧文組版のためのこれらの設定は、オプション設定ファイルでも指定しておくことができます。FO中での指定は、それを上書きします。


PDF出力におけるしおりとリンク

XSL Formatter V4 で、PDF出力する場合の、PDFのしおりとリンクを作成する方法を説明します。

しおりの作成

PDFにはしおりと呼ばれる機能があります。Adobe Acrobat または Reader ではしおりは、目次を階層化した概観を持っており、項目をクリックすることにより目的の位置へジャンプすることができます。

PDF bookmark

XSL Formatter V4 では、しおりを作成したいオブジェクトに拡張プロパティを付加することにより、PDF出力で自動的にしおりを作成することができます。

上図のしおりを作成するには、例えば次のようにします。

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">
...
<fo:block axf:outline-level="1"
          axf:outline-expand="false"
          axf:outline-title="Colophon">
  ...
</fo:block>
<fo:block axf:outline-level="1"
          axf:outline-expand="false"
          axf:outline-title="Table of Contents">
  ...
</fo:block>
<fo:block axf:outline-level="1"
          axf:outline-expand="true"
          axf:outline-title="1. Introduction and Overview">
  <fo:block axf:outline-level="2"
            axf:outline-expand="true"
            axf:outline-title="1.1. Processing a Stylesheet">
    <fo:block axf:outline-level="3"
              axf:outline-expand="false"
              axf:outline-title="1.1.1. Tree Transformations">
      ...
    </fo:block>
    <fo:block axf:outline-level="3"
              axf:outline-expand="false"
              axf:outline-title="1.1.2. Formatting">
      ...
    </fo:block>
  </fo:block>
  <fo:block axf:outline-level="2"
            axf:outline-expand="false"
            axf:outline-title="1.2. Benefits of XSL">
    ...
  </fo:block>
</fo:block>
<fo:block axf:outline-level="1"
          axf:outline-expand="false"
          axf:outline-title="2. XSL Transformation">
  ...
</fo:block>
...

axf:outline-expand

しおりの初期状態で、下位の階層を表示するかどうかを指定します。

Value: true | false
Initial: true
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

true の場合は下位項目が展開されて表示され、false の場合はたたみ込み表示されます。

axf:outline-group

しおりをグループ化して、まとめて出力します。

Value: <string>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

このプロパティが省略された場合や空文字列の場合、グループ化は行われません。何か文字列が指定された場合、その文字列はグループ名として扱われ、同一のグループ名を持つしおりがまとめて出力されます。 また、グループ化されていないしおりは、グループ名なしのグループとしてまとめて出力されます。

axf:outline-level

しおりの項目の階層レベルを示します。

Value: <number>
Initial: 0
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

<number> の値は、非負の整数値でなければなりません。 初期値は0で、このとき、しおりは作成されません。 しおりの最上位の項目は1で、しおりの中に階層化されるに従って、2以上の値となります。

axf:outline-title

しおりのタイトルとして表示される文字列を指定します。

Value: <string>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

このプロパティが省略された場合や空文字列の場合、このプロパティが付加されているオブジェクトのテキストがタイトルになります。 つまり、次のふたつは同じしおりを生成します。

<fo:block axf:outline-level="2" axf:outline-title="1. Introduction">...
<fo:block axf:outline-level="2">1. Introduction</fo:block>

axf:outline-color

しおりのタイトルとして表示される文字列の色を指定します。

Value: <color>
Initial: the value of the 'color' property
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

このプロパティは、PDF1.4 以上に対して有効です。

axf:outline-font-style

しおりのタイトルとして表示される文字列のフォントスタイルを指定します。

Value: normal | italic
Initial: normal
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

normal

通常のフォントスタイル。

italic

イタリックフォント。

このプロパティは、PDF1.4 以上に対して有効です。

axf:outline-font-weight

しおりのタイトルとして表示される文字列のフォントの太さを指定します。

Value: normal | bold
Initial: normal
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

normal

通常の太さ。

bold

太字。

このプロパティは、PDF1.4 以上に対して有効です。

注意事項

  • outline-level~outline-expand のプロパティは、fo:block などの、表示矩形領域を作成するオブジェクトに指定してください。例えば fo:wrapper などに指定しても効果はありません。
  • Adobe Acrobat または Reader でサポートされていない言語(タイ語など)に属する文字をしおりに指定した場合、正しく表示されない場合があります。

リンクの作成

fo:basic-link を使用すれば、PDFのリンクを簡単に作成することができます。

PDFのリンクは、PDF文書内の特定位置へのリンクと外部へのリンクに分類されます。文書内へのリンクは fo:basic-link の internal-destination プロパティで表します。外部へのリンクは external-destination プロパティで表します。次に例を示します。

相対アドレス指定の外部リンクは、PDF出力の設定use-launch-for-relative-uri によって、「ファイルを開く」、「World Wide Web リンク」のいずれかで動作するようにPDFへ変換されます。 絶対アドレス指定の外部リンクは、常に「World Wide Web リンク」に変換されます。

さらに、次のような高度なリンクを指定することができます。これらの理解のために、「PDFリファレンスマニュアル」を参照することをお勧めします。

  • 外部リンクに対して、以下の動作を明示できます。
    • PDF内への移動(GoToR)
    • ファイルを開く(Launch)
    • World Wide Web リンク(URI)
  • PDFへの外部リンクに対して、内部リンクのようにIDを指定できます。
  • PDFへの外部リンクに対して、ページ番号を指定できます。
  • 内部リンクに対して、ページ番号を指定できます。
  • PDFの宛先形式を指定できます。
  • しおりに外部リンクを指定できます。
  • しおりに内部リンクを指定できます。

PDFに対する外部リンクの external-destination の指定は、基本的には次のPDFのパラメータ仕様に準じますが、XSL Formatter V4 では、すべてのパラメータが有効なわけではありません。無効なパラメータは無視されます。

この仕様書には次のような例が載っています。

  • http://mydocs/doc.pdf#nameddest=Chapter6
  • http://mydocs/doc.pdf#page=3
  • http://mydocs/doc.pdf#page=3&zoom=200,250,100
  • http://mydocs/doc.pdf#zoom=50
  • http://mydocs/doc.pdf#page=72&view=fitH,100
  • http://mydocs/doc.pdf#view=fitb&nameddest=Chapter3
  • http://mydocs/doc.pdf#pagemode=none
  • http://mydocs/doc.pdf#pagemode=bookmarks&page=2
  • http://mydocs/doc.pdf#page=3&pagemode=thumbs

XSL Formatter V4 では、次のパラメータのみが有効です。大文字小文字の違いは無視されます。

  • nameddest
  • page
  • zoom
  • view
  • viewrect

例えば、外部リンクの場合、fitH、fitR、fitBH の指定は無効です。これらは内部リンクでのみ有効です。 また、fitH などでPDFの数値パラメータが必要なもので、それが省略されている場合は 0 とみなされます。

PDFに対する外部リンクでは、show-destination プロパティで、新しいウィンドウを開くかどうかを指定することができます。リンク先がPDF以外では無効です。 show-destination="new" とすると、新しいウィンドウを開いて、そのウィンドウにPDFが表示されます。 show-destination="replace" とすると、新しいウィンドウを開かず、現在のウィンドウ内にPDFが表示されます。 指定されなかったときは、PDFのビューアアプリケーションの動作に依存します。 XSL-FOの仕様では、省略時は "replace" となっていますが、XSL Formatter V4 では若干異なる実装をしています。 show-destination プロパティは、以下の条件下では無効です。

  • axf:action-type の指定が "gotor" または "launch" でリンク先のファイルがPDFのとき以外では無効です。
  • 内部リンクでは無効です。分冊により、内部リンクであっても外部リンクとしてPDFに埋め込まれることがあります。内部リンクに指定された show-destination は、そういうときにのみ効果があります。

XSL Formatter V4 では、高度なリンクのために、以下の拡張プロパティを用意しています。

axf:action-type

外部リンクまたはフォームアクションの動作を指定します。

Value: gotor | launch | uri | reset | submit | auto
Initial: auto
Applies to: fo:basic-link, axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

gotor

リンク先を "GoToR" アクションで開きます。すなわち、PDFとして開きます。リンク先のURIはPDFであるとみなされます。

launch

リンク先を "Launch" アクションで開きます。すなわち、ファイルとして開きます。

uri

リンク先を "URI" アクションで開きます。すなわち、URI(World Wide Web)として開きます。

reset

axf:form-field に指定することができ、フォームアクションとしてリセットを起こさせます。

submit

axf:form-field に指定することができ、フォームアクションとしてサブミットを起こさせます。

auto

システム既定値に依存します。

リンク先がhttp:などのローカルファイルでない場合は、常に"URI"アクションとなります。 axf:action-type="auto" のとき、 相対アドレス指定の外部リンクは、PDF出力の設定use-launch-for-relative-uri によって、「ファイルを開く」、「World Wide Web リンク」のいずれかで動作するようにPDFへ変換されます。 絶対アドレス指定の外部リンクは、常に「World Wide Web リンク」に変換されます。

axf:destination-type

リンクでの宛先形式を指定します。これは、リンク先でのPDFの宛先形式です。

Value: <string>
Initial: empty string
Applies to: block level formatting object
Inherited: no
Percentages: N/A

宛先形式には次の種類があります。指定のないときは axf:destination-type="xyz-top" とみなされます。値の大文字小文字の違いは無視されます。

PDFの宛先形式指定方法
[page /XYZ left top zoom] left/top の値は、XSL Formatter V4 が計算しますが、nullか非nullかを明示することができます。zoom は利用者が任意値を指定できます。
axf:destination-type="xyz" left と top を null とします。
axf:destination-type="xyz-left" top を null とします。
axf:destination-type="xyz-top" left を null とします。
axf:destination-type="xyz-left-top"
zoom は、指定しなければ null です。指定するときは、次のように%値を指定します。
axf:destination-type="xyz-top 75"
数字だけの指定は xyz-top が指定されたとみなされます。
axf:destination-type="75"
[page /Fit]
axf:destination-type="fit"
[page /FitH top] top の値は、XSL Formatter V4 が計算します。内部リンクでの指定のみ有効です。
axf:destination-type="fith"
[page /FitV left] left の値は、XSL Formatter V4 が計算します。
axf:destination-type="fitv"
[page /FitR left bottom right top] left/bottom/right/top の値は、XSL Formatter V4 が計算します。内部リンクでの指定のみ有効です。
axf:destination-type="fitr"
[page /FitB]
axf:destination-type="fitb"
[page /FitBH top] top の値は、XSL Formatter V4 が計算します。内部リンクでの指定のみ有効です。
axf:destination-type="fitbh"
[page /FitBV left] left の値は、XSL Formatter V4 が計算します。
axf:destination-type="fitbv"

axf:outline-external-destination

しおりに外部リンクを設定します。

Value: <uri-specification>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

<uri-specification>

リンク先のURIを指定します。

axf:outline-internal-destination

しおりに内部リンクを設定します。

Value: empty string | <idref> | <number-with-fragment>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

<idref>

リンク先のIDを指定します。

<number-with-fragment>

リンク先のページ番号を指定します。 この文字列は、単純な数字列(<number>)または、数字列とフラグメントを#で繋げた次のような文字列です。 フラグメントに関しては、リンクの作成を参照してください。

123#zoom=50

ページ番号をフラグメント中へ指定することもできます。

#page=123&zoom=50

ページ番号が指定されていないとき、通常は1ページ目とみなされます。ただし、topの位置が指定されているときは、axf:outline-internal-destinationの含まれるブロックのページの先頭とみなされます。例えば、次のように指定します。

#view=fit
#view=fith
#zoom=,,0

外部リンクでのID指定

外部リンクでIDを指定するとき、宛先形式は、リンク先のIDに付与されているものとします。URI中のパラメータは nameddest のみが有効です。 リンク先には、宛先形式を指定できます。

  • リンク元:
    <fo:basic-link external-destination="http://mydocs/doc.pdf#nameddest=Chapter6"
                   axf:action-type="gotor">
    
  • リンク先:
    <fo:block id="Chapter6" axf:destination-type="xxxx">
    

内部リンクでのID指定

内部リンクでIDを指定するとき、宛先形式は、外部リンクと同じくリンク先のIDに付与されているものとします。指定の仕方も外部リンクに対するものと同じです。

  • リンク元:
    <fo:basic-link internal-destination="Chapter6">
    
  • リンク先:
    <fo:block id="Chapter6" axf:destination-type="xxxx">
    

外部リンクでのページ番号指定

ページ番号指定は、URI中のパラメータ page で判断します。page と nameddest が共に指定されているときは、nameddest が優先されます。
ページ番号指定では、リンク先に宛先情報を置くことはできません。したがって、URI中のパラメータを解釈して宛先形式を決定します。解釈できないパラメータは捨てられます。

<fo:basic-link external-destination="http://mydocs/doc.pdf#page=72&amp;view=fitH,100"
               axf:action-type="gotor">

URIのパラメータに page も nameddest も含まれないときは、page=1 とみなされます。ページ番号は、PDFでの物理的なものと解釈されます。

内部リンクでのページ番号指定

internal-destination の値にページ番号も指定できるように拡張してあります。

<fo:basic-link internal-destination="72">

宛先形式の指定は、外部リンクURIのパラメータ部分を付加することで実現します。

<fo:basic-link internal-destination="72#view=fitH,100">

ページ番号は、PDFでの物理的なものと解釈されます。また、ページ番号だけの指定のときの宛先形式は view=fit とみなされます。

外部リンクのしおり

しおりに外部リンクを指定するには、次のように axf:outline-external-destination プロパティを指定します。

<fo:block axf:outline-level="1"
          axf:outline-title="第6章"
          axf:outline-external-destination="http://mydocs/doc.pdf#nameddest=Chapter6"
          axf:action-type="gotor"
          show-destination="new">

このとき、このしおりはそれが付いている fo:block などのブロックとは無関係となります。

内部リンクのしおり

しおりに内部リンクを指定するには、次のように axf:outline-internal-destination プロパティを指定します。

<fo:block axf:outline-level="1"
          axf:outline-title="第6章"
          axf:outline-internal-destination="Chapter6">

このとき、このしおりはそれが付いている fo:block などのブロックとは無関係となります。

注意事項

  • internal-destination と external-destination はいずれか一方のみを指定してください。
  • 多分冊出力のとき、内部リンクで指定されていたリンクが、外部リンクになることがあります。このとき、リンクの動作は、axf:action-type="gotor" とみなされます。

PDF出力における注釈

XSL Formatter V4 では、PDFへ注釈を付けることができます。 注釈の詳細は、「PDFリファレンスマニュアル」を参照してください。ここで指定できる注釈は、その一部です。

axf:annotation-type

注釈の種類を指定します。

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

注釈の種類は、次のいずれかを指定することができます。

  • 空文字列

    注釈はありません。

  • "Text"

    テキスト注釈です。

  • "FreeText"

    フリーテキスト注釈です。

  • "Stamp"

    ラバースタンプ注釈です。

  • "FileAttachment"

    ファイル添付注釈です。

文字列の大文字小文字は区別されません。

axf:annotation-title

注釈のタイトルを指定します。

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-contents

注釈の内容を指定します。

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

注釈の種類(axf:annotation-type)が次のいずれかのときに表示される文字列を指定します。

  • "Text"
  • "FreeText"
  • "Stamp"
  • "FileAttachment"

axf:annotation-color

注釈の背景などに利用される色を指定します。

Value: <color> | none
Initial: none
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-flags

注釈のフラグを指定します。

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

以下の文字列を空白区切りで列挙して指定します。大文字小文字の区別はありません。

  • Invisible
  • Hidden
  • Print
  • NoZoom
  • NoRotate
  • NoView
  • ReadOnly
  • Locked
  • ToggleNoView

これらの意味については、「PDFリファレンスマニュアル」を参照してください。

axf:annotation-open

注釈の最初の状態を指定します。

Value: true | false
Initial: false
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

注釈の種類(axf:annotation-type)が次のとき、その注釈が最初に開いた状態で表示されるかどうかを指定します。

  • "Text"

値の意味は以下のとおりです。

true

注釈を開いた状態で表示します。

false

注釈を閉じた状態で表示します。

axf:annotation-icon-name

注釈の表示に用いるアイコンの名前を指定します。

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

注釈の表示に用いるアイコンの名前には、任意のものを指定できますが、それを表示できるかどうかは文書のビューアアプリケーションに依存します。 注釈の種類(axf:annotation-type)によって指定できる標準の名前を示します。

  • "Text"

    標準の名前は以下のとおりです。

    • "Comment"
    • "Help"
    • "Insert"
    • "Key"
    • "NewParagraph"
    • "Note"
    • "Paragraph"

    空文字列の場合は "Note" とみなされます。

  • "Stamp"

    標準の名前は以下のとおりです。

    • "Approved"
    • "AsIs"
    • "Confidential"
    • "Departmental"
    • "Draft"
    • "Experimental"
    • "Expired"
    • "Final"
    • "ForComment"
    • "ForPublicRelease"
    • "NotApproved"
    • "NotForPublicRelease"
    • "Sold"
    • "TopSecret"

    空文字列の場合は "Draft" とみなされます。

  • "FileAttachment"

    標準の名前は以下のとおりです。

    • "Graph"
    • "Paperclip"
    • "PushPin"
    • "Tag"

    空文字列の場合は "PushPin" とみなされます。

axf:annotation-position-horizontal

注釈の水平位置を指定します。

Value: <length>
Initial: 0pt
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

指定する位置は領域の左端からの距離で、ポップアップやアイコンの位置、ラバースタンプ注釈の位置に利用されます。

axf:annotation-position-vertical

注釈の垂直位置を指定します。

Value: <length>
Initial: 0pt
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

指定する位置は領域の上端からの距離で、ポップアップやアイコンの位置、ラバースタンプ注釈の位置に利用されます。

axf:annotation-width

注釈の幅を指定します。

Value: <length> | auto
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

このプロパティは、ポップアップの幅、ラバースタンプ注釈の幅に利用されます。

axf:annotation-height

注釈の高さを指定します。

Value: <length> | auto
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

このプロパティは、ポップアップの高さ、ラバースタンプ注釈の高さに利用されます。

axf:annotation-font-family

フリーテキスト注釈のフォントファミリを指定します。

Value: <string>
Initial: depends on user agent
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-font-size

フリーテキスト注釈のフォントのサイズを指定します。

Value: <absolute-size> | <relative-size> | <length> | <percentage>
Initial: depends on user agent
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: refer to the font size

axf:annotation-font-weight

フリーテキスト注釈のフォントの太さを指定します。

Value: normal | bold
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-font-style

フリーテキスト注釈のフォントを斜体にするかどうか指定します。

Value: normal | italic
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-text-color

フリーテキスト注釈の色を指定します。

Value: <color>
Initial: depends on user agent
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-text-align

フリーテキスト注釈の配置を指定します。

Value: left | center | right
Initial: left
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

axf:annotation-file-attachment

ファイル添付注釈の関連付けられるファイルを指定します。

Value: <uri-specification>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A


PDF出力におけるフォーム

XSL Formatter V4 は、PDFにフォームを生成することができます。 フォームは、テキストを入力したりするフィールドやボタンなどから成ります。 また、ボタン押下に伴うアクションを指定することができます。

フォームは、次のように <axf:form> の内部に <axf:form-field> を記述することで指定します。

<axf:form
  external-destination="http://www.antenna.co.jp/form-test.cgi"
  field-submit-method="post"
  field-submit-coordinates="true">
  <fo:block>
    Submit:
    <axf:form-field
      field-type="button"
      field-name="SubmitButton"
      action-type="submit"
      field-button-layout="caption"
      field-button-face="Submit!"
      width="5em"
      background-color="#eee"
      border="2px silver outset"
    />
  </fo:block>
  <fo:block>
    Text Field:
    <axf:form-field
      field-type="text"
      field-name="InputText"
      field-default-text="Input text here!"
      field-multiline="false"
      field-scroll="true"
      field-maxlen="32"
      width="10em"
      height="1.2em"
      background-color="#ff8"
      border="1pt silver inset"
    />
  </fo:block>
</axf:form>

<axf:form> の内部にない <axf:form-field> では、action-type が "submit" か "reset" である場合、それらが機能しなくなります。それ以外の <axf:form-field> は、<axf:form> に関係なく動作します。

<axf:form>

Common Usage:

フォームアクションの単位を囲みます。

Areas:

ブロック領域を生成して返す。

Contents:

( %block; )*

<axf:form-field>

Common Usage:

フォームフィールドを生成します。

Areas:

正規行内領域を生成して返す。

Contents:

( axf:form-field-option )*

<axf:form-field-option>

Common Usage:

リストボックス、コンボボックスの構成要素を指定します。

Areas:

どんな領域も生成しない。

Contents:

( #PCDATA )*

axf:field-type

フィールドの種類を指定します。

Value: text | button | checkbox | radio | listbox | combobox | signature
Initial: なし(値が必須)
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

text

テキストフィールドを生成します。

button

プッシュボタンフィールドを生成します。

checkbox

チェックボックスフィールドを生成します。

radio

ラジオボタンフィールドを生成します。

listbox

リストボックスフィールドを生成します。

combobox

コンボボックスフィールドを生成します。

signature

電子著名フィールドを生成します。

axf:field-name

フィールドの名前を指定します。

Value: <string>
Initial: なし(値が必須)
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-description

フィールドの説明文を指定します。

Value: <string>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-value

サブミット時などに使用される値を指定します。

Value: <string>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-readonly

読取り専用フィールドかどうかを指定します。

Value: true | false
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

true

読取り専用です。

false

読取り専用ではありません。

axf:field-required

入力必須フィールドかどうかを指定します。

Value: true | false
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

true

入力必須です。

false

入力必須ではありません。

axf:field-default-text

テキストフィールドに最初から入力されるテキストを指定します。

Value: <string>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-multiline

テキストフィールドが単一行か複数行か指定します。

Value: false | true
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

単一行のテキストフィールドです。

true

複数行のテキストフィールドです。

axf:field-scroll

テキストフィールドをスクロール可能にするかどうか指定します。

Value: false | true
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

スクロールできません。

true

スクロールできます。

axf:field-password

テキストフィールドをパスワード化するかどうか指定します。

Value: false | true
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

パスワードにしません。

true

パスワードにします。入力された文字は、* などで表示されます。

axf:field-maxlen

テキストフィールドに入力できるテキストの最大文字数を指定します。

Value: <number>
Initial: 0
Applies to: axf:form-field
Inherited: no
Percentages: N/A

0以下を指定した場合は、文字数を制限しません。

axf:field-button-layout

プッシュボタンフィールドに表示するキャプションとアイコンの関係を指定します。

Value: caption | icon | caption-below-icon | caption-above-icon | icon-caption | caption-icon | caption-over-icon
Initial: caption
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

caption

ボタンにはキャプションだけ表示されます。アイコンは表示されません。

icon

ボタンにはアイコンだけ表示されます。キャプションは表示されません。

caption-below-icon

アイコンの下にキャプションを表示します。

caption-above-icon

アイコンの上にキャプションを表示します。

icon-caption

アイコンの右にキャプションを表示します。

caption-icon

アイコンの左にキャプションを表示します。

caption-over-icon

アイコンに重ねてキャプションを表示します。

axf:field-button-face

プッシュボタンフィールドに表示するキャプションを指定します。

Value: <string>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-button-icon

プッシュボタンフィールドに表示するアイコンを指定します。

Value: <uri-specification>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-button-face-down

プッシュボタン押下時に表示するキャプションを指定します。

Value: <string>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-button-icon-down

プッシュボタン押下時に表示するアイコンを指定します。

Value: <uri-specification>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-button-face-rollover

プッシュボタンロールオーバー時に表示するキャプションを指定します。

Value: <string>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-button-icon-rollover

プッシュボタンロールオーバー時に表示するアイコンを指定します。

Value: <uri-specification>
Initial: empty string
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-checked

チェックボックス、ラジオボタンの初期状態を指定します。

Value: false | true
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

非チェック状態にします。

true

チェック状態にします。

axf:field-checked-style

チェックボックス、ラジオボタンのチェックの形状を指定します。

Value: checkmark | circle | square | cross | star
Initial: checkmark
Applies to: axf:form-field
Inherited: no
Percentages: N/A

axf:field-top-index

リストボックス、コンボボックスで、最初の選択項目を指定します。

Value: <number>
Initial: 1
Applies to: axf:form-field
Inherited: no
Percentages: N/A

指定する値は、何番目の <axf:form-field-option> かを示します。先頭は1です。1未満や含まれる要素数を超える指定のときは、1とみなされます。

axf:field-multiple

リストボックスで、複数項目が選択可能かどうかを指定します。

Value: false | true
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

複数選択できません。

true

複数選択できます。

axf:field-editable

コンボボックスで、値が編集可能かどうかを指定します。

Value: false | true
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

編集できません。

true

編集できます。

axf:field-apply-signature

署名フィールドに署名するかどうかを指定します。

Value: true | false
Initial: false
Applies to: axf:form-field
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

true

PDF生成時に署名を行います。

false

PDF生成時に署名を行いません。

PDF生成時に、自動的に署名するフィールドを指定しておくことができます。 詳細は、PDFの電子署名を参照してください。

axf:field-submit-method

サブミット時の情報の送出方法を指定します。

Value: get | post
Initial: get
Applies to: axf:form
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

get

GETリクエストとして送出します。

post

POSTリクエストとして送出します。

axf:field-submit-coordinates

サブミット時にマウスの座標を送出するかどうかを指定します。

Value: false | true
Initial: false
Applies to: axf:form
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

座標を送出しません。

true

座標を送出します。

フォームフィールド

指定できるフォームフィールドには以下の種類があります。

これらはすべて <axf:form-field> 拡張要素で表現されます。 <axf:form-field> はインライン要素です。 <axf:form-field> には、多くの共通の拡張プロパティを指定することができますが、フィールドの種類によって有効なプロパティは異なります。 フィールドの大きさは、widthとheightプロパティで指定できます。省略された場合は適当な大きさとなります。以下に、各フォームフィールドの指定例を示します。

テキストフィールド

テキストフィールドは field-type="text" で指定します。内容は空です。単一行かどうかは、field-multiline によります。

<axf:form-field
     field-type="text"
     field-default-text="TEXT"
     field-multiline="false"
     field-scroll="false"
     field-password="true"
     field-maxlen="100"
/>

GUIでは、field-default-text の内容は表示されません。

プッシュボタンフィールド

プッシュボタンフィールドは、field-type="button" で指定します。内容は空です。 プッシュボタンは、通常何等かのアクションを伴います。

<axf:form-field
     field-type="button"
     field-button-layout="caption"
     field-button-face="TEXT"
     field-button-icon="URI"
     field-button-face-down="DOWN"
     field-button-icon-down="URI"
     field-button-face-rollover="OVER"
     field-button-icon-rollover="URI"
/>

GUIでは、field-button-face などの内容は表示されません。

チェックボックスフィールド

チェックボックスフィールドは、field-type="checkbox" で指定します。内容は空です。

<axf:form-field
     field-type="checkbox"
     field-checked="true"
     field-checked-style="checkmark"
/>

GUIでは、field-checked="true" の状態は表示されません。

ラジオボタンフィールド

ラジオボタンフィールドは、field-type="radio" で指定します。内容は空です。

<axf:form-field
     field-type="radio"
     field-checked="true"
     field-checked-style="checkmark"
     field-name="Card"
     field-value="MasterCard"
/>

ラジオボタンは、複数の組から成るのが普通です。その組は、同一の field-name を持つラジオボタンとして識別されます。チェックが付けられるボタンは、その中で高々ひとつです。checked="true" が複数あったとしても、どれかひとつにしかチェックが付きません。

GUIでは、field-checked="true" の状態は表示されません。

リストボックスフィールド

リストボックスフィールドは、field-type="listbox" で指定します。内容には、<axf:form-field-option> が必要です。空ではいけません。 <axf:form-field-option> は、リストの内容を表し、出現順序どおりにリストに並びます。

<axf:form-field
     field-type="listbox"
     field-top-index="1"
     field-multiple="true"
>
 <axf:form-field-option field-value="M">MasterCard</axf:form-field-option>
 <axf:form-field-option field-value="V">Visa</axf:form-field-option>
 <axf:form-field-option field-value="A">AMEX</axf:form-field-option>
</axf:form-field>

GUIでは、リストボックスの内容は表示されません。

コンボボックスフィールド

コンボボックスフィールドは、field-type="combobox" で指定します。内容には、<axf:form-field-option> が必要です。空ではいけません。 <axf:form-field-option> は、リストボックスと同じです。

<axf:form-field
     field-type="combobox"
     field-top-index="1"
     field-edittable="true"
>
 <axf:form-field-option field-value="M">MasterCard</axf:form-field-option>
 <axf:form-field-option field-value="V">Visa</axf:form-field-option>
 <axf:form-field-option field-value="A">AMEX</axf:form-field-option>
</axf:form-field>

GUIでは、コンボボックスの内容は表示されません。

電子署名フィールド

電子署名フィールドは、field-type="signature" で指定します。内容は空です。 あらかじめ外観を指定しておくことはできません。

<axf:form-field
     field-type="signature"
     field-apply-signature="true"
     width="40pt"
     height="50pt"
/>

組版時には、署名用の領域を確保することだけが行われます。署名フィールドは生成されません。 署名フィールドの生成と実際の署名は、PDFを生成するときに「PDF電子署名モジュール」を用いて行われます。 「PDF電子署名モジュール」がインストールされていない場合は、署名フィールドの生成も署名も行うことはできません。 PDFの電子署名を参照してください。

フォームアクション

フォームアクションは、各フィールドに対して、アクションのトリガとなるイベントとそれに対応するアクションを指定することによって実現されます。XSL Formatter V4 では、<axf:form> に含まれるフィールドに対して、アクションを指定することができます。 <axf:form> の内容は任意で、ブロック領域を生成します。 通常、<axf:form> には <axf:form-field> を含めます。 アクションは、ボタン押下のみによって発生します。 アクションの種類は、次の3種類です。

フォームアクションのために、axf:action-type が拡張されています。

リセット

リセットは、<axf:form> に含まれる全フィールドの値を初期状態にします。リセットを起こすボタンには axf:action-type="reset" を指定します。

<axf:form>
 <axf:form-field field-type="button" action-type="reset" .../>
 <axf:form-field field-type="text" default-text="XXX" .../>
 ...
</axf:form>

サブミット

サブミットは、HTTPによる情報の送出を行います。各フィールドの内容が、HTTPのGETまたはPOSTリクエストとして送出されます。つまり、HTMLのフォームの形式と同様にサブミットされます。

<axf:form
     external-destination="URI"
     field-submit-method="post"
     field-submit-coordinates="false"
>
 <axf:form-field field-type="button" action-type="submit" .../>
 <axf:form-field field-type="text" default-text="YYY" .../>
 ...
</axf:form>

リンク

リンクは、<axf:form> への指定ではなく、ボタンフィールドに直接指定します。その方法は <fo:basic-link> と同様です。 内部リンクは次のように指定します。action-type の指定はしません。

<axf:form-field field-type="button" internal-destination="URI" .../>

外部リンクは次のように指定します。action-type は、gotor、launch、uri のいずれでも構いません。

<axf:form-field field-type="button" external-destination="URI"
                                    action-type="gotor" .../>

トンボ

XSL Formatter V4 は、トンボを描くことができます。トンボは、page-width、page-height プロパティで指定される通常のページサイズ(仕上がり寸法)の外側に描画されるので、文書内容に影響はありません。

Printer Marks

axf:crop-offset
axf:crop-offset-top
axf:crop-offset-bottom
axf:crop-offset-left
axf:crop-offset-right

出力媒体の物理的な端から仕上がり寸法までの距離を指定します。

Value: <length>
Initial: 0pt
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

仕上がり寸法は page-width、page-height プロパティによって指定される寸法です。 crop-offset はその外側にどれだけの余白をとるかを指定するものです。 上下左右に同じ値を指定するには axf:crop-offset を、個別の値を指定するには axf:crop-offset-top、axf:crop-offset-bottom、axf:crop-offset-left、axf:crop-offset-right を使用します。 axf:crop-offset と他を同時に指定したときは、axf:crop-offset-* の方が優先します。

axf:bleed
axf:bleed-top
axf:bleed-bottom
axf:bleed-left
axf:bleed-right

裁ち落としのための塗り足し(bleed)の領域の幅を指定します。

Value: <length>
Initial: 0pt
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

塗り足し領域は、仕上がり寸法の外側に取られます。 上下左右に同じ値を指定するには axf:bleed を、個別の値を指定するには axf:bleed-top、axf:bleed-bottom、axf:bleed-left、axf:bleed-right を使用します。 axf:bleed と他を同時に指定したときは、axf:bleed-* の方が優先します。

axf:printer-marks

トンボなどの印刷マーク類を指定します。

Value: [ crop || cross || <uri-specification> [<uri-specification>]* ] | none
Initial: none
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

crop

コーナートンボ(crop marks)を出力します。

cross

センタートンボ(cross marks、registration marks)を出力します。

<uri-specification>

SVGなどの画像を指定することにより、独自のトンボやカラーバーなどを出力することができます。URIは複数指定することができます。

コーナートンボは、axf:bleed の指定がある場合には、内トンボ(crop marks)と外トンボ(bleed marks)をあわせたものになります。

axf:printer-marks-line-color

トンボの色を指定します。

Value: <color> | auto
Initial: auto
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

値がautoのときは、レジストレーションカラーとみなされます。

axf:printer-marks-line-length

トンボの線の長さを指定します。

Value: <length> | auto
Initial: auto
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

値がautoのときは、システム規定値に依存します。 デフォルトのトンボの長さは10mmですが、オプション設定ファイルで調整することができます。

axf:printer-marks-line-width

トンボの線の幅を指定します。

Value: <length> | auto
Initial: auto
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

値がautoのときは、システム規定値に依存します。 その値は 0.2pt です。

axf:printer-marks-zero-margin

bleedが0のときの、版面とトンボの間のマージンを指定します。

Value: <length> | auto
Initial: auto
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

値がautoのときは、システム規定値に依存します。 デフォルトのマージンは3mmですが、オプション設定ファイルで調整することができます。


印刷

axf:printer-bin-selection

プリンタのトレイを選択します。

Value: <string> | <integer>
Initial: 環境に依存
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Windows版でのみ有効です。有効かどうかはプリンタにも依存します。 文字列で指定できるのは、それぞれのプリンタ設定ダイアログに出てくるトレイ名です。これは、プリンタドライバから取得されるトレイ名です。 プリンタドライバから取得されるトレイ名と一致しない指定は無効です。 整数での指定は、プリンタドライバから取得されるトレイ番号と一致する必要があります。

axf:printer-duplex

両面印刷の指定をします。

Value: <integer>
Initial: 環境に依存
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Windows版でのみ有効です。有効かどうかはプリンタにも依存します。プリンタドライバで指定されている値を指定します。たいていのプリンタでは、次の整数値が対応します。

  1. 片面印刷。
  2. 両面印刷。裏面は水平方向への回転(表裏のbefore側は同じ)。
  3. 両面印刷。裏面は垂直方向への回転(表裏のbefore側は逆)。


Base URI の指定

相対指定のURIのベースとなる位置を指定します。
axf:base-uri の値は、ドキュメント内のすべての相対URIに適用されます。例えば、fo:basic-link を記述してリンクを作成するときに相対URIを指定した場合、axf:base-uri で指定された位置をベースURIとして解釈します。

axf:base-uri

Value: <uri-specification>
Initial: empty string
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

次の例の場合、 "http://www.antennahouse.co.jp/xsl-info/Thai/THAI-BangKokNationalMuseum.pdf" がリンク先となります。

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
         axf:base-uri="http://www.antennahouse.co.jp/xsl-info/">
                  :
                  :
<fo:basic-link external-destination="Thai/THAI-BangKokNationalMuseum.pdf">
    ...
</fo:basic-link>

ページシーケンスの繰り返し

axf:repeat-page-sequence-master

ページシーケンスの繰り返しを指示します。

Value: true | false
Initial: false
Applies to: fo:page-sequence-master
Inherited: no
Percentages: N/A

値がtrueのときは、fo:page-sequence-master の終わりに達して、まだ出力するべきページが残っているとき、fo:page-sequence-master の始めから繰り返します。


ブロックの拡張

axf:suppress-if-first-on-page

ページ先頭のブロックを削除するかどうか指定します。

Value: false | true | inherit
Initial: false
Applies to: fo:block, fo:block-container
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

false

何もしません。

true

ブロックがページ先頭に来たとき、それを削除します。 実際には、削除されず大きさゼロのブロックとして非表示で存在しているので、idの参照などは有効です。

ブロックの段組

ブロック内を段組にすることができます。各拡張プロパティは fo:block-container に指定できます。

axf:column-count

fo:block-container に対する段数を指定します。

Value: <number> | inherit
Initial: 1
Applies to: fo:block-container
Inherited: no
Percentages: N/A

axf:column-gap

fo:block-container に対する段間の幅を指定します。

Value: <length> | <percentage> | inherit
Initial: 12.0pt
Applies to: fo:block-container
Inherited: refer to width of the fo:block-container
Percentages: N/A


行分割

行分割処理を制御するために、XSL Formatter V4 は拡張プロパティを用意しています。 通常、行分割は UAX#14: Line Breaking Properties に従います。 技術的資料行分割も参照してください。

axf:line-break

行分割の方法を指定します。

Value: normal | strict | inherit
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

normal

日本語で、Nonstarter文字のうち、JIS X 4051:2004 での行頭禁則和字の禁則処理をしません。 また、 axf:append-non-starter-charactersaxf:except-non-starter-charactersaxf:append-non-end-of-line-charactersaxf:except-non-end-of-line-characters の指定は無視されます。

strict

日本語で、Nonstarter文字を禁則処理します。 また、 axf:append-non-starter-charactersaxf:except-non-starter-charactersaxf:append-non-end-of-line-charactersaxf:except-non-end-of-line-characters で指定された文字も考慮されます。

LineBreak-5.0.0.txt でのNonstarter文字は以下のとおりです。 [JIS] は、JIS X 4051:2004 で行頭禁則和字に分類されるものです。

17D6;NS # KHMER SIGN CAMNUC PII KUUH                         
203C;NS # DOUBLE EXCLAMATION MARK                           
203D;NS # INTERROBANG                                       
2047;NS # DOUBLE QUESTION MARK                               
2048;NS # QUESTION EXCLAMATION MARK                          
2049;NS # EXCLAMATION QUESTION MARK                          
3005;NS # IDEOGRAPHIC ITERATION MARK                            [JIS]
301C;NS # WAVE DASH                                         
303B;NS # VERTICAL IDEOGRAPHIC ITERATION MARK                    [JIS]
303C;NS # MASU MARK                                          
3041;NS # HIRAGANA LETTER SMALL A                               [JIS]
3043;NS # HIRAGANA LETTER SMALL I                               [JIS]
3045;NS # HIRAGANA LETTER SMALL U                               [JIS]
3047;NS # HIRAGANA LETTER SMALL E                               [JIS]
3049;NS # HIRAGANA LETTER SMALL O                               [JIS]
3063;NS # HIRAGANA LETTER SMALL TU                              [JIS]
3083;NS # HIRAGANA LETTER SMALL YA                              [JIS]
3085;NS # HIRAGANA LETTER SMALL YU                              [JIS]
3087;NS # HIRAGANA LETTER SMALL YO                              [JIS]
308E;NS # HIRAGANA LETTER SMALL WA                              [JIS]
3095;NS # HIRAGANA LETTER SMALL KA                               [JIS]
3096;NS # HIRAGANA LETTER SMALL KE                               [JIS]
309B;NS # KATAKANA-HIRAGANA VOICED SOUND MARK               
309C;NS # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK          
309D;NS # HIRAGANA ITERATION MARK                               [JIS]
309E;NS # HIRAGANA VOICED ITERATION MARK                        [JIS]
30A0;NS # KATAKANA-HIRAGANA DOUBLE HYPHEN                    
30A1;NS # KATAKANA LETTER SMALL A                               [JIS]
30A3;NS # KATAKANA LETTER SMALL I                               [JIS]
30A5;NS # KATAKANA LETTER SMALL U                               [JIS]
30A7;NS # KATAKANA LETTER SMALL E                               [JIS]
30A9;NS # KATAKANA LETTER SMALL O                               [JIS]
30C3;NS # KATAKANA LETTER SMALL TU                              [JIS]
30E3;NS # KATAKANA LETTER SMALL YA                              [JIS]
30E5;NS # KATAKANA LETTER SMALL YU                              [JIS]
30E7;NS # KATAKANA LETTER SMALL YO                              [JIS]
30EE;NS # KATAKANA LETTER SMALL WA                              [JIS]
30F5;NS # KATAKANA LETTER SMALL KA                              [JIS]
30F6;NS # KATAKANA LETTER SMALL KE                              [JIS]
30FB;NS # KATAKANA MIDDLE DOT                               
30FC;NS # KATAKANA-HIRAGANA PROLONGED SOUND MARK                [JIS]
30FD;NS # KATAKANA ITERATION MARK                               [JIS]
30FE;NS # KATAKANA VOICED ITERATION MARK                        [JIS]
31F0;NS # KATAKANA LETTER SMALL KU                               [JIS]
31F1;NS # KATAKANA LETTER SMALL SI                               [JIS]
31F2;NS # KATAKANA LETTER SMALL SU                               [JIS]
31F3;NS # KATAKANA LETTER SMALL TO                               [JIS]
31F4;NS # KATAKANA LETTER SMALL NU                               [JIS]
31F5;NS # KATAKANA LETTER SMALL HA                               [JIS]
31F6;NS # KATAKANA LETTER SMALL HI                               [JIS]
31F7;NS # KATAKANA LETTER SMALL HU                               [JIS]
31F8;NS # KATAKANA LETTER SMALL HE                               [JIS]
31F9;NS # KATAKANA LETTER SMALL HO                               [JIS]
31FA;NS # KATAKANA LETTER SMALL MU                               [JIS]
31FB;NS # KATAKANA LETTER SMALL RA                               [JIS]
31FC;NS # KATAKANA LETTER SMALL RI                               [JIS]
31FD;NS # KATAKANA LETTER SMALL RU                               [JIS]
31FE;NS # KATAKANA LETTER SMALL RE                               [JIS]
31FF;NS # KATAKANA LETTER SMALL RO                               [JIS]
A015;NS # YI SYLLABLE WU                                     
FE54;NS # SMALL SEMICOLON                                    
FE55;NS # SMALL COLON                                        
FF1A;NS # FULLWIDTH COLON                                   
FF1B;NS # FULLWIDTH SEMICOLON                               
FF65;NS # HALFWIDTH KATAKANA MIDDLE DOT                     
FF67;NS # HALFWIDTH KATAKANA LETTER SMALL A                     [JIS]
FF68;NS # HALFWIDTH KATAKANA LETTER SMALL I                     [JIS]
FF69;NS # HALFWIDTH KATAKANA LETTER SMALL U                     [JIS]
FF6A;NS # HALFWIDTH KATAKANA LETTER SMALL E                     [JIS]
FF6B;NS # HALFWIDTH KATAKANA LETTER SMALL O                     [JIS]
FF6C;NS # HALFWIDTH KATAKANA LETTER SMALL YA                    [JIS]
FF6D;NS # HALFWIDTH KATAKANA LETTER SMALL YU                    [JIS]
FF6E;NS # HALFWIDTH KATAKANA LETTER SMALL YO                    [JIS]
FF6F;NS # HALFWIDTH KATAKANA LETTER SMALL TU                    [JIS]
FF70;NS # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK      [JIS]
FF9E;NS # HALFWIDTH KATAKANA VOICED SOUND MARK              
FF9F;NS # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK         

axf:append-non-starter-characters

CJKでの追加行頭禁則文字を指定します。

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

<string> に含まれる文字が axf:line-break="strict" のときの行頭禁則対象に追加されます。 同一タグ内で axf:except-non-starter-characters に指定されている文字と同じ文字を指定した場合の効果は保証されません。 空白や、もともと行頭禁則される閉じ括弧類や句読点などを指定しても無視されます。 行頭禁則文字は、オプション設定ファイルの append-non-starter-characters で初期値を設定しておくことができます。

axf:except-non-starter-characters

CJKでの除外行頭禁則文字を指定します。

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

<string> に含まれる文字が axf:line-break="strict" のときの行頭禁則対象から除外されます。 同一タグ内で axf:append-non-starter-characters に指定されている文字と同じ文字を指定した場合の効果は保証されません。 空白や、もともと行頭禁則される閉じ括弧類や句読点などを指定しても無視されます。 行頭禁則文字は、オプション設定ファイルの append-non-starter-characters で初期値を設定しておくことができます。

axf:append-non-end-of-line-characters

CJKでの追加行末禁則文字を指定します。

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

<string> に含まれる文字が axf:line-break="strict" のときの行末禁則対象に追加されます。 同一タグ内で axf:except-non-end-of-line-characters に指定されている文字と同じ文字を指定した場合の効果は保証されません。 空白や、もともと行末禁則される開き括弧類などを指定しても無視されます。 行末禁則文字は、オプション設定ファイルの append-non-end-of-line-characters で初期値を設定しておくことができます。

axf:except-non-end-of-line-characters

CJKでの除外行末禁則文字を指定します。

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

<string> に含まれる文字が axf:line-break="strict" のときの行末禁則対象から除外されます。 同一タグ内で axf:append-non-end-of-line-characters に指定されている文字と同じ文字を指定した場合の効果は保証されません。 空白や、もともと行末禁則される開き括弧類などを指定しても無視されます。 行末禁則文字は、オプション設定ファイルの append-non-end-of-line-characters で初期値を設定しておくことができます。

axf:word-break

単語の途中でも行分割可能にするかどうかを指定します。

Value: normal | break-all
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

normal

通常の行分割規則に従います。

break-all

単語間のすべての文字間で行分割可能にします。この指定は、スクリプトが次のときにのみ有効です。

  • Latn
  • Cyrl
  • Grek
  • Zyyy

axf:hyphenation-minimum-character-count

ハイフネーション処理をする語の最小文字数を指定します。

Value: <number> | inherit
Initial: 1
Applies to: fo:block, fo:character
Inherited: yes
Percentages: N/A

axf:hyphenation-minimum-character-count は、1以上の整数でなければなりません。

axf:hyphenation-zone

ハイフネーション可能な範囲を制限します。

Value: none | <length>
Initial: none
Applies to: fo:block
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

何も制限しません。

<length>

ある単語末から行末までの幅が、指定された値以下の場合には、次の単語でハイフネーションしません。 0以下の値を指定したときは無効です。


詰めとぶら下げ

詰めやぶら下げを行うために、XSL Formatter V4 は拡張プロパティを用意しています。

axf:punctuation-trim

日本語で、行頭、行末の全角約物を半角扱いにするかどうかを指定します。

Value: none | start | end | both | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

行頭行末の全角約物詰めを処理しません。

start

行頭での全角約物(開き括弧など)を半角に扱います。

end

行末での全角約物(閉じ括弧など)を半角に扱います。

both

行頭と行末での全角約物を半角に扱います。

auto

システムの既定値に依存します。

全角約物の詰め処理を行うかどうかは、オプション設定ファイルの punctuation-trim で初期値を設定しておくことができます。 また、GUIの 組版オプション設定ダイアログ でも設定することができます。

axf:kerning-mode

カーニング(詰め処理)を行うかどうかを指定します。

Value: none | [ pair || contextual ] | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

カーニングを処理しません。

pair

欧文でのペアカーニングを処理します。

contextual

日本語での全角約物と全角文字の間の詰めを処理します。処理されるのは以下の間隔です。

  • 全角閉じ括弧と全角開き括弧の間
  • 全角閉じ括弧と全角閉じ括弧の間
  • 全角閉じ括弧と全角中点類の間
  • 全角閉じ括弧と非約物の間
  • 全角開き括弧と全角開き括弧の間
  • 全角中点類と全角開き括弧の間
  • 非約物と全角開き括弧の間

全角句読点は全角閉じ括弧と同様に扱われます。
全角括弧と非約物の間は、axf:kerning-mode="contextual" を指定しただけでは詰まりません。axf:punctuation-spacing の値をデフォルトより小さく指定すれば詰めることができます。

auto

システムの既定値に依存します。

axf:kerning-mode="contextual" で処理される全角開き括弧は以下のとおりです。

2018;QU # LEFT SINGLE QUOTATION MARK                        
201C;QU # LEFT DOUBLE QUOTATION MARK                        
3008;OP # LEFT ANGLE BRACKET                                
300A;OP # LEFT DOUBLE ANGLE BRACKET                         
300C;OP # LEFT CORNER BRACKET                               
300E;OP # LEFT WHITE CORNER BRACKET                         
3010;OP # LEFT BLACK LENTICULAR BRACKET                     
3014;OP # LEFT TORTOISE SHELL BRACKET                       
3016;OP # LEFT WHITE LENTICULAR BRACKET                     
3018;OP # LEFT WHITE TORTOISE SHELL BRACKET                 
301A;OP # LEFT WHITE SQUARE BRACKET                         
301D;OP # REVERSED DOUBLE PRIME QUOTATION MARK              
FF08;OP # FULLWIDTH LEFT PARENTHESIS                        
FF3B;OP # FULLWIDTH LEFT SQUARE BRACKET                     
FF5B;OP # FULLWIDTH LEFT CURLY BRACKET                      
FF5F;OP # FULLWIDTH LEFT WHITE PARENTHESIS                   

axf:kerning-mode="contextual" で処理される全角閉じ括弧は以下のとおりです。

2019;QU # RIGHT SINGLE QUOTATION MARK                       
201D;QU # RIGHT DOUBLE QUOTATION MARK                       
3009;CL # RIGHT ANGLE BRACKET                               
300B;CL # RIGHT DOUBLE ANGLE BRACKET                        
300D;CL # RIGHT CORNER BRACKET                              
300F;CL # RIGHT WHITE CORNER BRACKET                        
3011;CL # RIGHT BLACK LENTICULAR BRACKET                    
3015;CL # RIGHT TORTOISE SHELL BRACKET                      
3017;CL # RIGHT WHITE LENTICULAR BRACKET                    
3019;CL # RIGHT WHITE TORTOISE SHELL BRACKET                
301B;CL # RIGHT WHITE SQUARE BRACKET                        
301E;CL # DOUBLE PRIME QUOTATION MARK                       
301F;CL # LOW DOUBLE PRIME QUOTATION MARK                   
FF09;CL # FULLWIDTH RIGHT PARENTHESIS                       
FF3D;CL # FULLWIDTH RIGHT SQUARE BRACKET                    
FF5D;CL # FULLWIDTH RIGHT CURLY BRACKET                     
FF60;CL # FULLWIDTH RIGHT WHITE PARENTHESIS                  

axf:kerning-mode="contextual" で処理される全角句読点は以下のとおりです。

3001;CL # IDEOGRAPHIC COMMA                                 
3002;CL # IDEOGRAPHIC FULL STOP                             
FF0C;CL # FULLWIDTH COMMA                                   
FF0E;CL # FULLWIDTH FULL STOP                               

axf:kerning-mode="contextual" で処理される全角中点類は以下のとおりです。

30FB;NS # KATAKANA MIDDLE DOT                               
FF1A;NS # FULLWIDTH COLON                                   
FF1B;NS # FULLWIDTH SEMICOLON                               

欧文ペアカーニングを行うかどうかは、オプション設定ファイルの pair-kerning で初期値を設定しておくことができます。 全角約物の詰め処理を行うかどうかは、オプション設定ファイルの punctuation-trim で初期値を設定しておくことができます。 これらは、GUIの 組版オプション設定ダイアログ でも設定することができます。

axf:kerning-mode は、letter-spacing が指定されている場合は機能しません。

axf:punctuation-spacing

日本語で、全角約物と全角文字の間の詰めの間隔を指定します。

Value: <length> | <percentage> | inherit
Initial: 50%
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: refer to the font size

この間隔は、axf:kerning-mode="contextual" で利用されます。 この間隔は、オプション設定ファイルの punctuation-spacing で初期値を設定しておくことができます。

axf:hanging-punctuation

日本語で、句読点のぶら下げを行うかどうかを指定します。

Value: none | end | inherit
Initial: none
Applies to: fo:block
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

ぶら下げを処理しません。

end

行末の句読点のぶら下げを処理します。

処理される句読点は、全角の「。、.,」のみです。

axf:avoid-widow-words

段落の最後の行が1語(CJKのときは1文字)だけにならないようにします。

Value: true | false
Initial: false
Applies to: fo:block
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

true

追い込み(和文の文字間や欧文の単語間の詰め)で処理できるときに、段落の最後の行が1語(CJKのときは1文字)だけにならないようにします。

false

追い込み処理をしません。

段の幅(行の長さ)が短いときには、追い込む余地が少ないのであまり効果がありません。また、追い出されている1語を追い込む余地がない場合などでは、axf:avoid-widow-words の効果は現われません。


スペースと配置

和欧文間スペース

axf:text-autospace

日本語で、和欧文間に空きを入れるかどうかを指定します。

Value: none | [ ideograph-numeric || ideograph-alpha || ideograph-parenthesis || ideograph-punctuation ] | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

空きを入れません。

ideograph-numeric

仮名漢字-欧文数字間に空きを入れます。ここで、欧文数字は、Unicodeで Nd、Nl、No に分類される文字です。

ideograph-alpha

仮名漢字-欧文アルファベット間に空きを入れます。ここで、欧文アルファベットは、Unicodeで Lu、Ll、Lt、Lm、Lo に分類される文字です。

ideograph-parenthesis

仮名漢字-欧文括弧間に空きを入れます。ただし、仮名漢字-欧文閉じ括弧間や、欧文開き括弧-仮名漢字間には空きを入れません。

ideograph-punctuation

仮名漢字-欧文約物間に空きを入れます。ここでの欧文約物は、Unicodeで Ps、Pe、Po、Pi、Pf に分類される文字で、括弧と引用符を除く文字です。 ピリオド-仮名漢字間には空きを入れますが、仮名漢字-ピリオド間には空きを入れません。カンマも同様です。

auto

システムの既定値に依存します。設定によって、 "none" または "ideograph-numeric ideograph-alpha" とみなされます。

空きを入れるかどうかは、オプション設定ファイルの text-autospace で初期値を設定しておくことができます。 また、GUIの 組版オプション設定ダイアログ でも設定することができます。

axf:text-autospace-width

日本語で、和欧文間の空きの量を指定します。

Value: <length> | <percentage> | inherit
Initial: 25%
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: refer to the font size

この間隔は、axf:text-autospace で利用されます。 また、オプション設定ファイルの text-autospace-width で初期値を設定しておくことができます。

テキストの配置

axf:text-align-first

最初の行のテキストの配置を指定します。

Value: relative | start | center | end | justify | inside | outside | left | right | inherit
Initial: relative
Applies to: fo:block
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

relative

何もしません。axf:text-align-first は無効です。

start
center
end
justify
inside
outside
left
right

text-align や text-align-last と同じです。

最初の行領域の子の配置、直前の行の最後がU+000Aである行の配置を指定します。 text-align-last よりも優先します。

axf:leader-expansion を参照してください。

axf:leader-expansion

リーダを強制的に広げるかどうか指定します。

Value: auto | force | inherit
Initial: auto
Applies to: fo:block
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

auto

text-align の指定により、従来どおりの動作をします。

force

リーダの含まれる行を、強制的に text-align="justify" とみなします。その結果、リーダが広がることになります。

リーダを使った目次を考えます。そのとき、ラベルの長さやページ数の長さによって、次のように組版したいとします。

  1. Short Label .......................... 10,20,30
    
  2. Short Label ... 10,20,30,40,50,60,70,80,90,100,
                                110,120,130,140,150
    
  3. Very Looooooooooooooooooooooooooooong Label ...
    ...................................... 10,20,30
    
  4. Very Looooooooooooooooooooooooooooong Label ...
    ... 10,20,30,40,50,60,70,80,90,100,110,120,130,
                                            140,150
    
  5. Very Very Very Looooooooooooooooooooooooooooong
    Long Long Label ...................... 10,20,30
    
  6. Very Very Very Looooooooooooooooooooooooooooong
    Long Long Label ... 10,20,30,40,50,60,70,80,90,
                            100,110,120,130,140,150
    

XSL仕様での、

<fo:block text-align="justify" text-align-last="justify">
 Label
 <fo:leader leader-pattern="dots"/>
 Pages
</fo:block>

という指定では、単純な 1. と 5. だけが期待した結果になりますが、3. は次のようにすれば実現できます。

<fo:block text-align="justify" text-align-last="justify">
 Label
 <fo:leader leader-length.minimum="0pt" leader-pattern="dots"/><fo:leader leader-pattern="dots"/>
 Pages
</fo:block>

次に、axf:text-align-first を利用して

<fo:block text-align="justify" text-align-last="right" axf:text-align-first="justify">
 Label
 <fo:leader leader-length.minimum="0pt" leader-pattern="dots"/><fo:leader leader-pattern="dots"/>
 Pages
</fo:block>

とすると、3. と 5. 以外は期待どおりとなります。 さらに、axf:leader-expansion を利用して

<fo:block text-align="justify" text-align-last="right" axf:text-align-first="justify"
          axf:leader-expansion="force">
 Label
 <fo:leader leader-length.minimum="0pt" leader-pattern="dots"/><fo:leader leader-pattern="dots"/>
 Pages
</fo:block>

とすることで、期待する結果が得られます。

axf:text-kashida-space

アラビア語の均等割り付けで、Kashidaの割り合いを指定します。

Value: <percentage> | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: yes

値の意味は以下のとおりです。

<percentage>

空白とKashidaの割り合いを表します。0% ならKashida拡張はなく、通常の均等割り付けと同じように空白のみが拡張されます。100%なら可能な限り Kashidaが挿入されます。値は、0%~100% の間でなければなりません。

auto

システムの既定値に依存します。

この割り合いは、オプション設定ファイルの text-kashida-space で初期値を設定しておくことができます。

axf:justify-nbsp

NON-BREAKING SPACE を均等割り付けの対象にするかどうかを指定します。 通常、NON-BREAKING SPACE(U+00A0)は、均等割り付けの対象となります。axf:justify-nbsp プロパティは、U+00A0 を均等割り付けの対象から除外したいときに指定します。

Value: true | false | inherit
Initial: true
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

true

NON-BREAKING SPACE を均等割り付けの対象とします。

false

NON-BREAKING SPACE を均等割り付けの対象としません。


文字とテキスト修飾

axf:text-line-color

下線、取消し線、上線の色を指定します。

Value: auto | <color> | inherit
Initial: auto
Applies to: all elements with and generated content with textual content
Inherited: no
Percentages: N/A

axf:text-line-style

下線、取消し線、上線のスタイルを指定します。

Value: <border-style> | inherit
Initial: solid
Applies to: all elements with and generated content with textual content
Inherited: no
Percentages: N/A

<border-style> に none は指定できません。

axf:text-line-width

下線、取消し線、上線の太さを指定します。

Value: auto | <border-width> | inherit
Initial: auto
Applies to: all elements with and generated content with textual content
Inherited: no
Percentages: N/A

axf:text-underline-position

下線の位置を指定します。

Value: auto | before-edge | alphabetic | after-edge | <percentage> | <length> | inherit
Initial: auto
Applies to: all elements with and generated content with textual content
Inherited: no
Percentages: refers to the "line-height" of the parent area

axf:text-underline-position="alphabetic" のときは、下線の幅の上端にベースラインが位置します。 axf:text-underline-position="0pt" のときは、下線の幅の中心にベースラインが位置します。

axf:vertical-underline-side

縦書きでの下線(傍線)をどちら側に付けるかを指定します。

Value: left | right | depend-on-language | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

left

左側に下線(傍線)を引きます。

right

右側に下線(傍線)を引きます。

depend-on-language V4.2MR2

languageプロパティでの言語が日本語(jpn)または韓国語(kor)のときは右側に、その他の言語では左側に配置されます。

auto

システムの既定値に依存します。

下線の位置は、オプション設定ファイルの vertical-underline-side で初期値を設定しておくことができます。 また、GUIの 組版オプション設定ダイアログ でも設定することができます。

axf:vertical-underline-side="auto" で、システムの既定値も自動のときは、languageプロパティでの言語が日本語(jpn)または韓国語(kor)のときは右側に、その他の言語では左側に配置されます。languageプロパティの指定がないときは、標準のCJK言語 の設定によります。

SOFT HYPHEN のグリフの出力

通常、SOFT HYPHEN(U+00AD)は、行分割しなかったときは表示せず、行分割した場合は表示されます。しかし、この処理では、絵文字のようなフォントを使用した場合、U+00AD に割り当てられたグリフが印字されない場合が発生してしまいます。

XSL Formatter V4 は、拡張プロパティ axf:soft-hyphen-treatment を実装しています。これを使用することで、この問題を回避することができます。

<fo:block axf:soft-hyphen-treatment="preserve" font-family="Wingdings">abc&#xAD;xyz

axf:soft-hyphen-treatment

Value: auto | preserve | inherit
Initial: auto
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

auto

SOFT HYPHEN はそこで改行が生じたとき以外は削除されます。(従来通り)

preserve

SOFT HYPHEN は削除されず、対応するグリフが出力されます。


リガチャ

axf:ligature-mode

リガチャ(合字処理)を行うかどうかを指定します。

Value: none | [ latin || kana ] | all | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

リガチャを処理しません。

latin

欧文でのリガチャを処理します。処理されるのは、次のスクリプトのときです。

  • Latn
  • Grek
  • Cyrl

kana

JIS X 0213:2004 での かな+半濁点 のリガチャを処理します。 それは、以下のとおりです。

  • U+304B + U+309A
  • U+304D + U+309A
  • U+304F + U+309A
  • U+3051 + U+309A
  • U+3053 + U+309A
  • U+30AB + U+309A
  • U+30AD + U+309A
  • U+30AF + U+309A
  • U+30B1 + U+309A
  • U+30B3 + U+309A
  • U+30BB + U+309A
  • U+30C4 + U+309A
  • U+30C8 + U+309A
  • U+31F7 + U+309A

JIS X 0213:2004 には、欧文リガチャと記号のリガチャも含まれていますが、それらは、 ligature-mode="latin" で処理されます。

all

latin と kana が指定されているとみなされます。

auto

システムの既定値に依存します。

ここで行うリガチャは、フォント自身に定義されているリガチャです。 Unicodeで定義されている U+FB01 などのリガチャは処理しません。つまり、U+0066 U+0069 という列を U+FB01 に置き換えたりはしません。 フォント内に U+0066 U+0069 に対応するリガチャが定義されていれば、そのグリフが出力されます。

注意: Type1 フォントには対応していません。

欧文リガチャを行うかどうかは、オプション設定ファイルの latin-ligature で初期値を設定しておくことができます。 これは、GUIの 組版オプション設定ダイアログ でも設定することができます。

axf:japanese-glyph

日本語の漢字の字体を指定します。 これらは、特定のOpenTypeの置換機能を持つ日本語の漢字にのみ適用されます。

Value: none | jp78 | jp83 | jp90 | jp04 | inherit
Initial: none
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

何もしません。

jp78

jp78 を適用します。フォントが jp78 を持たないときは何もしません。

jp83

jp83 を適用します。フォントが jp83 を持たないときは何もしません。

jp90

jp90 を適用します。フォントが jp90 を持たないときは何もしません。

jp04

jp04 を適用します。フォントが jp04 を持たないときは何もしません。

日本語の字体は、制定されているJISによって、少なからず変更されています。 OpenTypeフォントの中には、それぞれのJISに対応した字体を持っているものがあります。 そのようなフォントでは、japanese-glyphプロパティによって、字体を特定することができます。


ページ番号

ページ番号を制御するために、XSL Formatter V4 は拡張プロパティを用意しています。

axf:suppress-duplicate-page-number

重複ページ番号参照の除去を指定します。

Value: true | false
Initial: false
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

一般的な索引の組版をする場合、1つの索引項目には複数の fo:page-number-citation が連続します。このような場合に、標準のプロパティでは fo:page-number-citation が同じページ番号を参照していると、ページ番号が重複して出力されてしまいます。 true を指定すると、前の fo:page-number-citation と同じページ番号を参照しているとき、間の要素(カンマなど)と共にそのページ番号は非表示になります。

例を示します。

axf:suppress-duplicate-page-number を使用しない場合。

<fo:block text-align-last="justify">
 <fo:block>bcd
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID1">
   <fo:page-number-citation ref-id="ID1"/>
  </fo:basic-link>
 <fo:/block>
 <fo:block>index
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID2">
   <fo:page-number-citation ref-id="ID2"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID3">
   <fo:page-number-citation ref-id="ID3"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID4">
   <fo:page-number-citation ref-id="ID4"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID5">
   <fo:page-number-citation ref-id="ID5"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID6">
   <fo:page-number-citation ref-id="ID6"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID7">
   <fo:page-number-citation ref-id="ID7"/>,
  </fo:basic-link>
 </fo:block>
</fo:block>

フォーマットの結果。

Formatted result

axf:suppress-duplicate-page-number を使用した場合。

<fo:block text-align-last="justify" axf:suppress-duplicate-page-number="true">
 <fo:block>bcd
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID1">
   <fo:page-number-citation ref-id="ID1"/>
  </fo:basic-link>
 <fo:/block>
 <fo:block>index
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID2">
   <fo:page-number-citation ref-id="ID2"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID3">
   <fo:page-number-citation ref-id="ID3"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID4">
   <fo:page-number-citation ref-id="ID4"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID5">
   <fo:page-number-citation ref-id="ID5"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID6">
   <fo:page-number-citation ref-id="ID6"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID7">
   <fo:page-number-citation ref-id="ID7"/>,
  </fo:basic-link>
 </fo:block>
</fo:block>

フォーマットの結果。

Formatted result

XSL1.1 には同様の機能が備わっています。marge-*-index-key-reference を利用してください。

axf:page-number-prefix

ページ番号の前置文字列を指定します。

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

指定した文字列が fo:page-number、fo:page-number-citation でページ番号の前に出力されます。 また、この文字列はPDFでのページラベルにも利用されます。

<fo:page-sequence axf:page-number-prefix="A-" format="i" initial-page-number="10">
  <fo:static-content ...>
   ...<fo:page-number/>...
  </fo:static-content>
  ...
</fo:page-sequence>

axf:page-number-prefix の値に、アラビア語やヘブライ語などを指定することはできません。

XSL1.1 には同様の機能が備わっています。fo:folio-prefix を利用してください。

axf:physical-page-number

物理的なページ番号を得ます。

Value: true | false | inherit
Initial: false
Applies to: fo:page-number, fo:page-number-citation, fo:page-number-citation-last
Inherited: no
Percentages: N/A

initial-page-number の値を無視して、page-sequence にもよらない物理的なページ番号を得ます。総ページ数を得るには、最後のページにIDを付け、次のようにします。

<fo:page-number-citation ref-id="lastpage" axf:physical-page-number="true"/>

XSL1.1 の fo:page-number-citation-last も参照してください。

axf:origin-id

ページ番号の基点を指定します。

Value: <idref>
Initial: none
Applies to: fo:page-number, fo:page-number-citation, fo:page-number-citation-last
Inherited: no
Percentages: N/A

fo:page-number や fo:page-number-citation で、ページ番号の基点となるIDを指定します。出力されるページ番号は、

[ref-id のページ] - [origin-id のページ] + 1

です。ref-id よりも後のページが指定されたときは 0 となります。 fo:page-number のとき、ref-id は fo:page-number 自身の位置とみなされます。

axf:assumed-page-number

ページ番号の予想値を指定します。

Value: <number>
Initial: N/A
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

<fo:page-number-citation> が出現したときに、その参照先が未解決のことがあります。そのとき、<fo:page-number-citation> の評価では、最初に仮の領域を確保しておき、ページ番号が確定したときに正しい内容に調整されます。このとき、領域のサイズが変化することがあるため、組版結果が望ましくないことがあります。 例えば、領域が狭くなると不要な改行があるように見え、領域が広くなると文字がはみ出す、というような症状が現れます。 axf:assumed-page-number では、そのときの予想ページ番号を与えます。

XSL Formatter V4 は、少なくとも3桁のページ番号の領域を見込んで仮組版を行います。 明らかにそれよりも少ない場合は、axf:assumed-page-number="99" などを指定すればよいでしょう。

axf:assumed-page-number-prefix

ページ番号の前置文字列の予想値を指定します。

Value: <string>
Initial: N/A
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

<fo:page-number-citation> が出現したときに、その参照先が未解決のことがあります。 そのとき、その参照先が同じ <fo:page-sequence> 内かどうかはこの時点で不明です。 異なる <fo:page-sequence> 内に参照先があるとき、その axf:page-number-prefix の値は異なる可能性があります。 そこで、最初に仮の領域を確保しておき、参照先が出現したときに正しい内容に調整されます。 このとき確保する仮の領域は、現在の <fo:page-sequence> に axf:page-number-prefix が指定してあればそれが仮定され、そうでなければ適当な短い文字列が仮定されます。 したがって、実際の領域のサイズが変化することがあるため、組版結果が望ましくないことがあります。 例えば、領域が狭くなると不要な改行があるように見え、領域が広くなると文字がはみ出す、というような症状が現れます。 axf:assumed-page-number-prefix は、仮に確保するときの領域の文字列を指定します。

axf:page-number-prefix が空の場合でも、仮組版時にはそれが空かどうかわからないので、ある程度の領域を確保してしまいます。これを抑止するためには、axf:assumed-page-number-prefix="''" を適当な要素に指定しておきます。 このとき、領域が確保されないため、axf:page-number-prefix の指定は無視されます。

axf:number-type

ページ番号を出力するのか段番号を出力するのかを指定します。

Value: page | column | page-and-column
Initial: page
Applies to: fo:page-number, fo:page-number-citation, fo:page-number-citation-last
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

page

ページ番号を出力します。

column

段番号を出力します。

page-and-column

ページ番号と段番号を出力します。

fo:page-number などに指定し、ページ番号の代わりに段番号を出力することができます。 ページ番号の書式には、formatプロパティ が適用されますが、段番号の書式には、axf:column-number-formatプロパティが適用されます。 column-count="1" や span="all" で段組でないとき、段番号は出力されません。

axf:column-number-format

段番号のための書式を指定します。

Value: <string>
Initial: A
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

axf:number-typeプロパティで段番号を出力するとき、その書式として採用されます。指定の方法は formatプロパティ と同様です。


行番号

文章の一部に行番号を振ることができます。 行番号は、行領域に対して振られます。見た目が空であっても、そこに行領域があれば振られます。マージンやスペースに対しては振られません。 また、fo:float や fo:footnote 内では無効です。

注意: fo:block-containerやfo:tableなどで複雑に組まれたページに対して行番号を振ろうとしても、意図しない結果になることがあります。行番号は、なるべく単純な構造の文書へ応用してください。

axf:line-number

行番号を表示するかどうかを指定します。

Value: none | show | hide
Initial: none
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

none

行番号を振りません。

show

行番号を振ります。

hide

行番号を振りません。しかし、行数だけはカウントされます。

行番号は、axf:line-number="show" または axf:line-number="hide" が指定されたブロック内の行に対してカウントされます。

axf:line-number-background-color

行番号の背景色を指定します。

Value: <color> | transparent
Initial: transparent
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-number-color

行番号の文字列の色を指定します。

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-number-display-align

行番号のブロック進行方向の配置を指定します。

Value: auto | before | center | after | inherit
Initial: auto
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

before

行領域の上端に行番号を揃えます。

center

行領域の中心に行番号を揃えます。

after

行領域の下端に行番号を揃えます。

auto

横書きでは after と、縦書きでは center とみなされます。

axf:line-number-font-family

行番号のフォントファミリを指定します。

Value: [[<family-name> | <generic-family>],]* [<family-name> | <generic-family>] | inherit
Initial: depends on UA
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-number-font-size

行番号のフォントサイズを指定します。

Value: <absolute-size> | <relative-size> | <length> | <percentage> | inherit
Initial: medium
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: refer to the font size

axf:line-number-font-style

行番号を斜体にするかどうかを指定します。

Value: normal | italic | inherit
Initial: normal
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-number-font-weight

行番号のフォントの太さを指定します。

Value: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Initial: normal
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-number-format

行番号のための書式を指定します。

Value: <string>
Initial: 1
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

行番号を出力するとき、その書式として採用されます。 指定の方法は formatプロパティ と同様です。

axf:line-number-initial

最初の行の行番号を指定します。

Value: auto | <number>
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

行番号を初期化せず、前の fo:page-sequence から引き継がれます。前の fo:page-sequence が存在しないときは 1 となります。

<number>

行番号を指定した値で初期化します。値は 1以上でなければなりません。 実際の初期化は、axf:line-number-reset で指定されたタイミングで起こります。

axf:line-number-interval

出力する行番号の間隔を指定します。

Value: <number> | auto
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

前の fo:page-sequence の指定が引き継がれます。前の fo:page-sequence が存在しないときは 1 となります。

<number>

行番号の間隔を指定された値に設定します。

例えば、5、10、15 というように行番号を出力したいときに指定します。この場合、 axf:line-number-initial="1" axf:line-number-start="5" axf:line-number-interval="5" という指定をします。

axf:line-number-offset

行番号の表示オフセットを指定します。

Value: <length> | inherit
Initial: 0pt
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-number-position

行番号の表示位置を指定します。

Value: start | end | inside | outside | alternate | inherit
Initial: start
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

start

行番号を start 側に配置します。

end

行番号を end 側に配置します。

inside

奇数ページでは start 側に、偶数ページでは end 側に配置します。

outside

奇数ページでは end 側に、偶数ページでは start 側に配置します。

alternate

段組のとき、最終段では行番号を end 側に、それ以外では start 側に配置します。

axf:line-number-reset

行番号のリセットを指示します。

Value: auto | none | page | column
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

前の fo:page-sequence の指定が引き継がれます。前の fo:page-sequence が存在しないときは none となります。

none

行番号をリセットしません。

page

改ページが起こったときに行番号をリセットします。

column

改段が起こったときも行番号をリセットします。

行番号は、axf:line-number-initial で指定されている値にリセットされます。

axf:line-number-start

出力を開始する行番号を指定します。

Value: <number> | auto
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

前の fo:page-sequence の指定が引き継がれます。前の fo:page-sequence が存在しないときは 1 となります。

<number>

出力を開始する行番号を指定された値に設定します。

行番号がここで指定された値以上のときに行番号が出力されます。 axf:line-number-initial="1" axf:line-number-start="5" という指定だと、最初の4行は出力されず、5行目から出力されます。 axf:line-number-initial="5" axf:line-number-start="6" という指定だと、最初の行は出力されず、その次の行が6として出力されます。

axf:line-number-text-align

行番号の配置を指定します。

Value: auto | start | center | end | inside | outside | left | right | inherit
Initial: auto
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

start
center
end
inside
outside
left
right

text-align と同じです。

auto

表示される行番号の位置が start側のときは end と、end側のときは start とみなされます。 行番号の位置は、axf:line-number-position で指定されます。

axf:line-number-width が指定されていないときは、常に auto とみなされます。

axf:line-number-text-decoration

行番号の文字列の修飾を指定します。

Value: same as text-decoration
Initial: none
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は text-decoration と同じです。

axf:line-number-width

行番号の幅を指定します。

Value: auto | <length> | inherit
Initial: auto
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

auto

幅は、行番号のテキストの幅となります。

axf:line-number-text-align によって、行番号の配置を指定するときは、auto 以外の幅が指定されていなければなりません。


行継続マーク

長い行が折り返されたとき、行末に行継続マークを付けることができます。 fo:float や fo:footnote 内では無効です。

axf:line-continued-mark

行継続マークを表示するかどうかを指定します。

Value: <string>
Initial: empty string
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

<string>

指定された文字列の行継続マークを表示します。 空文字列の場合は、行継続マークを表示しません。

注意: 複数のスクリプトで構成されるような複雑な文字列や、アラビア語やタイ語などの複雑なスクリプトには対応していません。

axf:line-continued-mark-background-color

行継続マークの背景色を指定します。

Value: <color> | transparent
Initial: transparent
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-continued-mark-color

行継続マークの文字列の色を指定します。

Value: <color> | inherit
Initial: depends on the current line area
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-continued-mark-font-family

行継続マークのフォントファミリを指定します。

Value: [[<family-name> | <generic-family>],]* [<family-name> | <generic-family>] | inherit
Initial: depends on the current line area
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-continued-mark-font-size

行継続マークのフォントサイズを指定します。

Value: <absolute-size> | <relative-size> | <length> | <percentage> | inherit
Initial: depends on the current line area
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: refer to the font size

axf:line-continued-mark-font-style

行継続マークを斜体にするかどうかを指定します。

Value: normal | italic | inherit
Initial: depends on the current line area
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-continued-mark-font-weight

行継続マークのフォントの太さを指定します。

Value: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Initial: depends on the current line area
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:line-continued-mark-offset

行継続マークの表示オフセットを指定します。

Value: <length> | inherit
Initial: 0pt
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

改訂バー

文書の一部に改訂バーを付けることができます。 改訂バーは、ボーダーや段間罫よりも上に表示されます。

XSL1.1 には同様の機能が備わっています。fo:change-bar-begin、fo:change-bar-end を利用してください。

Revision Bar Model

axf:revision-bar-color

改訂バーの色を指定します。

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:revision-bar-offset

改訂バーの表示オフセットを指定します。

Value: <length> | inherit
Initial: 0pt
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:revision-bar-position

改訂バーの表示位置を指定します。

Value: start | end | inside | outside | alternate | both | inherit
Initial: start
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

start

改訂バーを start 側に配置します。

end

改訂バーを end 側に配置します。

inside

奇数ページでは start 側に、偶数ページでは end 側に配置します。

outside

奇数ページでは end 側に、偶数ページでは start 側に配置します。

alternate

段組のとき、最終段では改訂バーを end 側に、それ以外では start 側に配置します。

both

改訂バーを start 側と end 側に配置します。

axf:revision-bar-style

改訂バーのスタイルを指定します。

Value: <border-style> | inherit
Initial: none
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:revision-bar-width

改訂バーの幅を指定します。

Value: <border-width> | inherit
Initial: medium
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A


脚注

脚注の配置

XSL Formatter V4 では、脚注を段ごとに配置したり、同一ページ中の重複した脚注を削除したりすることができます。 また、傍注を作成することもできます。

axf:footnote-align

脚注の配置を指定します。

Value: auto | before | after
Initial: auto
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

自動で配置。脚注は通常の配置。傍注は本文が一段組の場合、アンカー位置に揃えて配置、二段組以上の場合、before側に寄せて配置

before

傍注を before 側に寄せて配置。 傍注ではない通常の脚注のときは、ページ内文字列の直後に配置。

after

傍注を after 側に寄せて配置。 傍注ではない通常の脚注のときは、ページの最後に配置。

脚注または傍注の配置の方法を指定します。傍注(axf:footnote-position により region-start あるいは region-end 内への配置が指定されている脚注)の場合、自動で配置するか、before側に寄せるか、after側に寄せるかを指定することができます。

axf:footnote-stacking

脚注の配置の方法を指定します。

Value: block | inline
Initial: block
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

block

脚注をblock方向に並べて配置します。

inline

脚注をinline方向に並べて配置します。

axf:footnote-position

脚注を配置する場所を指定します。

Value: page | start | end | inside | outside | column
Initial: page
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

page

各ページの region-body 内の after 側に配置。XSL仕様の標準の脚注。

start

各ページの region-start 内に配置。縦組みでの頭注。横組みでの左側の傍注。

end

各ページの region-end 内に配置。縦組みでの脚注。横組みでの右側の傍注。

inside

偶数ページの region-end 内、奇数ページの region-start 内に配置。横組みでのノド寄りの傍注。

outside

偶数ページの region-start 内、奇数ページの region-end 内に配置。横組みでの標準的な傍注(左右両ページの小口寄り)。

column

各段の after 側に配置。横組みでの標準的な脚注。

region-start あるいは region-end 内に脚注を配置することが可能です(この注を傍注と呼びます)。 fo:region-body に指定する他、個別の fo:footnote への指定も有効です。これにより何種類かの注を混在させることが可能です。

傍注には次の制約があります。

  • 指定された領域に収まらない場合は、領域をオーバーフローします。
  • xsl-footnote-separator は無効です。

axf:footnote-keep

脚注とアンカを同一ページ内または段内に配置するようにします。

Value: auto | always
Initial: auto
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

脚注が段内に入らなくなったとき、次のページまたは段に送ります。

always

脚注が段内に入らなくなったとき、そのアンカの行以降を次のページに送り、脚注とアンカが同一ページ内に配置されるようにします。 axf:footnote-position="column" の場合は、脚注とアンカを同一段内に配置します。

axf:suppress-duplicate-footnote

同一ページ内の同一の脚注を削除するかどうかを指定します。

Value: true | false | inherit
Initial: false
Applies to: fo:footnote
Inherited: yes
Percentages: N/A

同一ページ内の複数の場所に同一の脚注を割り当てたとき、同一脚注領域にそれらが重複して表示されるのを抑止します。axf:footnote-position="column" 指定があるときは同一段内での脚注に対してのみ効果があります。

axf:repeat-footnote-in-table-footer

fo:table-omit-footer-at-break="false" によって繰り返された fo:table-footer 中の fo:footnote も繰り返すか指定します。 V4.3MR2

Value: true | false
Initial: true
Applies to: fo:table-footer
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

true

fo:footnote を繰り返し評価します。

false

fo:footnote は繰り返されません。

axf:repeat-footnote-in-table-header

fo:table-omit-header-at-break="false" によって繰り返された fo:table-header 中の fo:footnote も繰り返すか指定します。 V4.3MR2

Value: true | false
Initial: true
Applies to: fo:table-header
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

true

fo:footnote を繰り返し評価します。

false

fo:footnote は繰り返されません。

脚注番号

<axf:footnote-number>

Common Usage:

脚注番号を生成します。

Areas:

正規行内領域を生成して返す。

Constraints:

<axf:footnote-number>は、アンカ領域、すなわち<fo:footnote>の子の<fo:inline>の子孫としてのみ指定できます。

Contents:

EMPTY

<axf:footnote-number-citation>

Common Usage:

脚注番号を引用します。

Areas:

正規行内領域を生成して返す。

Constraints:

<axf:footnote-number-citation> は、<fo:footnote-body>の子孫としてのみ指定できます。 ref-idプロパティが必要で、参照されるidは、同一のfo:footnote内のアンカ領域にある<axf:footnote-number>のものでなければなりません。

Contents:

EMPTY

axf:footnote-number-format

脚注番号のための書式を指定します。

Value: <string>
Initial: 1
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

axf:footnote-numberの書式として採用されます。指定の方法は formatプロパティ と同様です。

axf:footnote-number-initial

脚注番号の初期値を指定します。

Value: auto | <number>
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

脚注番号を初期化せず、前の fo:page-sequence から引き継がれます。前の fo:page-sequence が存在しないときは 1 となります。

<number>

脚注番号を指定した値で初期化します。値は 1以上でなければなりません。 実際の初期化は、axf:footnote-number-reset で指定されたタイミングで起こります。

axf:footnote-number-reset

脚注番号のリセットを指示します。

Value: auto | none | page | odd-page | even-page | column
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

auto

前の fo:page-sequence の指定が引き継がれます。前の fo:page-sequence が存在しないときは none となります。

none

脚注番号をリセットしません。

page

改ページが起こったときに脚注番号をリセットします。

odd-page

奇数ページへ改ページが起こったときに脚注番号をリセットします。

even-page

偶数ページへ改ページが起こったときに脚注番号をリセットします。

column

改段が起こったときに脚注番号をリセットします。

脚注番号は、axf:footnote-number-initial で指定されている値にリセットされます。


ボーダー

段間罫

段間に罫線を引きます。各拡張プロパティは fo:region-body、fo:block-container に指定できます。 段間罫は、ボーダーの上、改訂バーの下に表示されます。

Column Model

axf:column-rule-align

段間罫の配置を指定します。

Value: before | center | after | inherit
Initial: center
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

axf:column-rule-color

段間罫の色を指定します。

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

axf:column-rule-display

ページ末などの段のないところにも段間罫を引くかどうか指定します。

Value: gap | end | all | inherit
Initial: gap
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

gap

存在する段と段の間にだけ段間罫を引きます。

end

存在する段のend側に段間罫を引きます。ただし、もっともend側の段を除きます。

all

ページ末などで、存在しない段の間にもすべて段間罫を引きます。

axf:column-rule-length

段間罫の長さを指定します。

Value: <length> | <percentage>| inherit
Initial: 100%
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: refer to the size of the column

axf:column-rule-style

段間罫のスタイルを指定します。

Value: <border-style> | inherit
Initial: none
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

axf:column-rule-width

段間罫の幅を指定します。

Value: <border-width> | inherit
Initial: medium
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

対角罫

テーブルセルなど、ボーダーを指定できる領域に斜めに対角罫を引きます。 axf:diagonal-border-* による対角罫は、領域の before-start側頂点と after-end側頂点を結ぶ線、 axf:reverse-diagonal-border-* による対角罫は、領域の before-end側頂点と after-start側頂点を結ぶ線となります。 writing-mode="lr-tb" の場合、対角罫は次のようになります。writing-mode="rl-tb" や "tb-rl" では逆になります。

Diagonal Border

axf:diagonal-border-color

対角罫の色を指定します。

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

axf:diagonal-border-style

対角罫のスタイルを指定します。

Value: <border-style> | inherit
Initial: none
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

axf:diagonal-border-width

対角罫の幅を指定します。

Value: <border-width> | inherit
Initial: medium
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

axf:reverse-diagonal-border-color

逆対角罫の色を指定します。

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

axf:reverse-diagonal-border-style

逆対角罫のスタイルを指定します。

Value: <border-style> | inherit
Initial: none
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

axf:reverse-diagonal-border-width

逆対角罫の幅を指定します。

Value: <border-width> | inherit
Initial: medium
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

丸め罫

axf:border-radius
axf:border-top-left-radius
axf:border-top-right-radius
axf:border-bottom-left-radius
axf:border-bottom-right-radius

丸め罫の径を指定します。

Border Radius

Value: <length> <length>?
Initial: 0
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

最初の値は、水平方向の径(writing-modeがverticalのときは垂直方向)となります。 二番目の値は、もう一方の径となります。省略されたときは最初の値と同じとみなされます。 どちらかの径がゼロ以下のときは丸められません。

ボックスシャドウ

axf:box-shadow

ボックスシャドウを指定します。

Value: none | [ <length> <length> <length>? || <color> ]
Initial: none
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

3つの<length>と<color>の意味は次のとおりです。

  • 最初の<length>は、水平方向の影のオフセットです。正の値のとき領域の右側に、負の値のとき左側の影となります。
  • 2番目の<length>は、垂直方向の影のオフセットです。正の値のとき領域の下側に、負の値のとき上側の影となります。
  • 3番目の<length>は、非負の値でなければならず、ぼかしの量を指定します。0ならぼかしはありません。XSL Formatter V4 ではこの値は無視され、常に0とみなされます。
  • <color>で影の色を指定します。


axf:repeat-cell-content-at-break

セルの分割時にセル内容をコピーするかどうかを指定します。

Value: true | false
Initial: false
Applies to: fo:table-cell
Inherited: no
Percentages: N/A

値の意味は以下のとおりです。

true

これを指定した table-cell の内容が分割されずにひとつの table-cell-area に収まっていて、同じ row の他の table-cell の分割、あるいは number-rows-spanned によりまたがっている複数の row の間での分割に伴って、table-cell-area が分割される場合に、通常であれば内容が空の table-cell-area となるところを、分割前のセルの内容をコピーして繰り返します。

false

セルの内容をコピーしません。


画像

背景画像

ページに対する背景を指定できます。各拡張プロパティは fo:simple-page-master または fo:page-sequence に指定できます。 fo:simple-page-master に axf:background-* がどれかひとつでも指定してあれば、fo:simple-page-master への背景の指定が有効で、fo:page-sequence への背景の指定は無視されます。

axf:background-color

fo:simple-page-master に対する背景色を指定します。

Value: <color> | transparent
Initial: transparent
Applies to: fo:simple-page-master, fo:page-sequence
Inherited: no
Percentages: N/A

axf:background-image

fo:simple-page-master に対する背景画像を指定します。

Value: <uri-specification> | none
Initial: none
Applies to: fo:simple-page-master, fo:page-sequence
Inherited: no
Percentages: N/A

axf:background-position-horizontal

fo:simple-page-master に対する背景画像の水平位置を指定します。

Value: <percentage> | <length> | left | center | right | inherit
Initial: 0%
Applies to: fo:simple-page-master, fo:page-sequence
Inherited: no
Percentages: refer to the size of the padding-rectangle

axf:background-position-vertical

fo:simple-page-master に対する背景画像の垂直位置を指定します。

Value: <percentage> | <length> | top | center | bottom | inherit
Initial: 0%
Applies to: fo:simple-page-master, fo:page-sequence
Inherited: no
Percentages: refer to the size of the padding-rectangle

axf:background-repeat

fo:simple-page-master または fo:page-sequence に対する背景画像の繰り返し方法を指定します。

Value: repeat | repeat-x | repeat-y | no-repeat | paginate | inherit
Initial: repeat
Applies to: fo:simple-page-master, fo:page-sequence
Inherited: no
Percentages: N/A

拡張された値の意味は以下のとおりです。

paginate

背景画像にPDFを埋め込むとき有効で、そのPDFの複数ページを埋め込むことを指示します。 詳細は、PDFの埋め込みを参照してください。

axf:background-content-width
axf:background-content-height
axf:background-content-type
axf:background-scaling

fo:external-graphic に対する content-width、content-height、content-type、scaling と同じで、background-image が対象となります。

代替テキスト

axf:alttext

画像の代替テキストを指定します。

Value: <string>
Initial: empty string
Applies to: fo:external-graphic, fo:instream-foreign-object
Inherited: no
Percentages: N/A

タグ付きPDFの出力で有効です。 axf:alttext の指定がないときは、代わりに role プロパティの値を代替テキストとして使用しますが、これは role プロパティの本来の使い方ではないので推奨しません。


オーバーフローの拡張

XSL Formatter V4 では、overflowプロパティの値を拡張しており、その値の動作を規定するための拡張プロパティを用意しています。

axf:overflow-condense

オーバフローしたテキストを領域内にどのように詰め込むかを指定します。

Value: [ letter-spacing || font-stretch || font-size || line-height ] | auto | inherit
Initial: auto
Applies to: all block-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

letter-spacing

文字間を調整して詰めます。

font-stretch

フォントの幅を調整して詰めます。

font-size

フォントサイズを調整して詰めます。

line-height

行の高さを調整して詰めます。

auto

システムの既定値に依存します。

overflow="condense" のとき、このプロパティで指定されている方法で領域内への詰め込みを行います。 詰め込むための調整に、文字の進行方向に関するものと、行の進行方向に関するものが混在しています。システムは、指定された方法に関して適当と思われる方法を組み合わせて処理を行うでしょう。

ブロック内部で指定された絶対値の長さは調整されません。例えば、次のような場合です。

<fo:block-container width="4in" overflow="condense" axf:overflow-condense="font-size">
this text will be condenced
<fo:block font-size="24pt">no condenced text</fo:block>
</fo:block-container>

axf:overflow-condense-limit-font-size

axf:overflow-condense="font-size" の下限のフォントサイズを指定します。

Value: <length> [ visible | hidden | scroll | error-if-overflow | repeat ] | inherit
Initial: 0pt
Applies to: all block-level formatting objects
Inherited: yes
Percentages: N/A

値の意味は以下のとおりです。

<length>

下限のフォントサイズを指定します。これ以上フォントを小さくしません。0以下を指定したときは無効です。

<length> で示される限界を超えたとき、領域はまだオーバーフローしています。 そのときの対処方法を次のように指定することができます。

axf:overflow-condense-limit-font-size="4pt hidden"

axf:overflow-condense-limit-font-stretch

axf:overflow-condense="font-stretch" の下限の値を指定します。 V4.3

Value: [ <number> | <percentage> ] [ visible | hidden | scroll | error-if-overflow | repeat ] | inherit
Initial: 0
Applies to: all block-level formatting objects
Inherited: yes
Percentages: refer to the font size

値の意味は以下のとおりです。

<percentage>

下限のフォントの幅に対する割り合いを指定します。これ以上フォントを小さくしません。0以下を指定したときは無効です。

<number>

<percentage> / 100 と等価です。

<percentage> や <number> で示される限界を超えたとき、領域はまだオーバーフローしています。 そのときの対処方法を次のように指定することができます。

axf:overflow-condense-limit-font-stretch="30% hidden"

axf:overflow-replace

オーバーフローしたテキストに対する代替文字列を指定します。

Value: <string>
Initial: システムの既定値に依存
Applies to: all block-level formatting objects
Inherited: yes
Percentages: N/A

overflow="replace" のとき、オーバーフローしたテキストをこのプロパティで指定されている文字列の繰り返しで置き換えます。


関数の拡張

XSL Formatter V4 では、いくつかのFO関数を拡張しています。

rgb-icc

rgb-icc関数が受け付ける引数の書式は以下のとおりです。#から始まる識別名の大文字小文字は無視されます。これら#から始まる識別子を使った書式は、XSL Formatter V4 の拡張仕様です。

  • rgb-icc(#Grayscale,<Scale>)

    グレイスケールを指定します。<Scale> で濃さを指定します。

  • rgb-icc(<R>,<G>,<B>,#CMYK,<C>,<M>,<Y>,<K>)
  • rgb-icc(#CMYK,<C>,<M>,<Y>,<K>)

    CMYKを指定します。 RGBを省略したときは、CMYKから計算されます。

  • rgb-icc(<R>,<G>,<B>,#Separation,<Name>,<Tint>,<C>,<M>,<Y>,<K>)
  • rgb-icc(<R>,<G>,<B>,#Separation,<Name>,<Tint>)
  • rgb-icc(<R>,<G>,<B>,#Separation,<Name>)
  • rgb-icc(#Separation,<Name>,<Tint>,<C>,<M>,<Y>,<K>)

    セパレーションカラースポットカラー)を指定します。 <Name> には使用するインクの名前を指定します。例えば "PANTONE 131 PC" のように指定します。 <Tint> には色調を指定します。<Tint> を省略したときは 1.0とみなされます。 RGBまたはCMYKの指定が必要です。RGBを省略したときは、CMYKから計算されます。

  • rgb-icc(#Separation,<Name>,<Tint>)
  • rgb-icc(#Separation,<Name>)

    XSL Formatter PANTONE®オプションをご購入いただけば、1000以上のPANTONE®カラーの色名に対して、自動的にRGBやCMYKへの変換を行うことができるようになります。 例えば、FO中へは、

    rgb-icc(#Separation, 'PANTONE 131 PC')

    のように指定するだけです。

  • rgb-icc(<R>,<G>,<B>,#Registration,<Tint>)
  • rgb-icc(<R>,<G>,<B>,#Registration)

    レジストレーションカラーを指定します。 <Tint> には色調を指定します。<Tint> を省略したときは 1.0とみなされます。 レジストレーションカラーは、すべての色版に出力される登録商標などに利用します。 レジストレーションカラーは、#Separation の <Name> に "All" を指定することでも表現できます。

引数はそれぞれ次の値をとります。

  • <R>,<G>,<B> = %値、または 0~255
  • <C>,<M>,<Y>,<K> = %値、または 0.0~1.0
  • <Scale> = %値、または 0.0(黒)~1.0(白)
  • <Tint> = %値、または 0.0(明)~1.0(暗)

値の拡張

XSL Formatter V4 では、いくつかのFOプロパティの値を拡張しています。 これらの値を利用するためには、正確には、

axf:text-align="'.' center"

のように、しなければなりません。しかし、XSL Formatter V4 では、axf: を付けていなくても同様に機能するように作られています。 また、FO標準のプロパティと拡張プロパティを次のように同時に指定することができます。

text-align="." axf:text-align="center"

このとき、標準プロパティは拡張プロパティに上書きされてしまい、axf:text-align="center" だけが有効となります。つまり、text-align="center" だけを指定したのと同じです。 ただし、混乱を避けるためにもこのような指定はしないようにしてください。

font-stretch

以下の太字の値が拡張されます。

Value: normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage> | <number> | inherit

値の意味は以下のとおりです。

<percentage>

フォントの幅に対する割り合いを指定します。

<number>

<percentage> / 100 と等価です。

force-page-count

以下の太字の値が拡張されます。

Value: auto | even | doubly-even | odd | end-on-even | end-on-doubly-even | end-on-odd | doubly-even-document | [ end-on | document ] <number> [ <number> ] | no-force | inherit

値の意味は以下のとおりです。

doubly-even

指定されたpage-sequenceのページ数を強制的に4の倍数にします。

end-on-doubly-even

指定されたpage-sequenceの最後のページ番号を強制的に4の倍数にします。

doubly-even-document

文書先頭から数えたページ数を強制的に4の倍数にします。

[ end-on | document ] <number> [ <number> ]

最初の<number>をA、次の<number>をBとしたとき、指定されたpage-sequenceのページ数を Aの倍数+B にします。 Aは1以上の整数、Bは0以上A未満の整数でなければなりません。Bが省略されたときは0とみなされます。 end-onが指定されたときは指定されたpage-sequenceの最後のページ番号が、documentが指定されたときは文書先頭から数えたページ数が対象となります。 例えば、 force-page-count="even" は force-page-count="2" と、 force-page-count="odd" は force-page-count="2 1" と、 force-page-count="doubly-even" は force-page-count="4" と、 force-page-count="end-on-doubly-even" は force-page-count="end-on 4" と それぞれ等価です。

format

formatプロパティでのフォーマットトークンは、XSLT 1.0で規定されるものといくつかの拡張をサポートします。 axf:column-number-format も同様です。

  • 数字

    通常の十進数表現を生成します。 "01"、 "001" などとして最低文字数を指定することができます。フォーマットトークンには、以下の数字を指定することができます。

    フォーマット​トークン 数字 説明
    10
    U+0031U+0030 0 1 2 3 4 5 6 7 8 9 DIGIT
    U+0661U+0660 ٠ ١ ٢ ٣ ٤ ٥ ٦ ٧ ٨ ٩ ARABIC-INDIC DIGIT
    U+06F1U+06F0 ۰ ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ EXTENDED ARABIC-INDIC DIGIT
    U+0967U+0966 ० १ २ ३ ४ ५ ६ ७ ८ ९ DEVANAGARI DIGIT
    U+09E7U+09E6 ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ BENGALI DIGIT
    U+0A67U+0A66 ੦ ੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯ GURMUKHI DIGIT
    U+0AE7U+0AE6 ૦ ૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯ GUJARATI DIGIT
    U+0B67U+0B66 ୦ ୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯ ORIYA DIGIT
    U+0C67U+0C66 ౦ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯ TELUGU DIGIT
    U+0CE7U+0CE6 ೦ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯ KANNADA DIGIT
    U+0D67U+0D66 ൦ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯ MALAYALAM DIGIT
    U+0E51U+0E50 ๐ ๑ ๒ ๓ ๔ ๕ ๖ ๗ ๘ ๙ THAI DIGIT
    U+0ED1U+0ED0 ໐ ໑ ໒ ໓ ໔ ໕ ໖ ໗ ໘ ໙ LAO DIGIT
    U+0F21U+0F20 ༠ ༡ ༢ ༣ ༤ ༥ ༦ ༧ ༨ ༩ TIBETAN DIGIT
    U+1041U+1040 MYANMAR DIGIT
    U+17E1U+17E0 KHMER DIGIT
    U+1811U+1810 MONGOLIAN DIGIT
    U+4E00U+3007 〇 一 二 三 四 五 六 七 八 九 CJK 漢数字
    U+C77CU+C601 영 일 이 삼 사 오 육 칠 팔 구 HANGUL DIGIT
    U+FF11U+FF10 0 1 2 3 4 5 6 7 8 9 FULLWIDTH DIGIT

  • ローマ数字

    I II III IV V VI VII VIII IX X ... のような規則的表現を生成します。

    フォーマット​トークン 数字 説明
    U+0049 (I) I V X L C D M LATIN CAPITAL LETTER I
    U+0069 (i) i v x l c d m LATIN SMALL LETTER I
    U+2160 () Ⅰ Ⅴ Ⅹ Ⅼ Ⅽ Ⅾ ↀ ↁ ↂ ROMAN NUMERAL ONE
    U+2170 () ⅰ ⅴ ⅹ ⅼ ⅽ ⅾ ⅿ ↁ ↂ SMALL ROMAN NUMERAL ONE
    U+FF29 (I) I V X L C D M FULLWIDTH LATIN CAPITAL LETTER I
    U+FF49 (i) i v x l c d m FULLWIDTH LATIN SMALL LETTER I

    U+0049、U+0069、U+FF29、U+FF49では、3999までの数値を表現できます。 U+2160、U+2170では、39999までの数値を表現できます。 制限を越える数値のとき、 U+0049、U+0069、U+2160、U+2170では format="1" として、 U+FF29、U+FF49では format="&#xFF11;" として評価されます。

  • ヘブライ数字

    ‭ א ב ג ד ה ... י אי בי גי די וט ... のような規則的表現を生成します。

    フォーマット​トークン 数字 説明
    U+05D0 (א) ‭ א ב ג ד ה ו ז ח ט י כ ל מ נ ס ע פ צ ק ר ש ת ך ם ן ף ץ HEBREW LETTER ALEF

    grouping-separatorプロパティの指定が有効ですが、grouping-sizeの値に1以上を指定した場合は常に3とみなされます。 ヘブライ数字でこれらを指定するときは、通常、 grouping-separator="&#x5F3;" grouping-size="3" と指定します。

  • アルファベット

    A B C ... Z AA AB AC ... のような規則的表現を生成します。

    フォーマット​トークン アルファベット 説明
    U+0041 (A) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z LATIN CAPITAL LETTER A
    U+0061 (a) a b c d e f g h i j k l m n o p q r s t u v w x y z LATIN SMALL LETTER A
    U+0391 (Α) Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ Υ Φ Χ Ψ Ω GREEK CAPITAL LETTER ALPHA
    U+03B1 (α) α β γ δ ε ζ η θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω GREEK SMALL LETTER ALPHA
    U+0410 (А) А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я CYRILLIC CAPITAL LETTER A
    U+0430 (а) а б в г д е ж з и к л м н о п р с т у ф х ц ч ш щ ы э ю я CYRILLIC SMALL LETTER A
    U+0623 (أ) ‭ أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي ARABIC LETTER ALEF WITH HAMZA ABOVE
    U+3042 (あ) あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん あいうえお
    U+3044 (い) い ろ は に ほ へ と ち り ぬ る を わ か よ た れ そ つ ね な ら む う ゐ の お く や ま け ふ こ え て あ さ き ゆ め み し ゑ ひ も せ す いろは
    U+30A2 (ア) ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン アイウエオ
    U+30A4 (イ) イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ヰ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヱ ヒ モ セ ス イロハ
    U+3131 (ㄱ) ㄱ ㄴ ㄷ ㄹ ㅁ ㅂ ㅅ ㅇ ㅈ ㅊ ㅋ ㅌ ㅍ ㅎ HANGUL CHOSUNG
    U+5B50 (子) 子 丑 寅 卯 辰 巳 午 未 申 酉 戍 亥 十二支
    U+7532 (甲) 甲 乙 丙 丁 戊 己 庚 辛 壬 癸 十干
    U+7532 U+5B50 (甲子) 甲子 乙丑 丙寅 丁卯 戊辰 己巳 庚午 辛未 壬申 癸酉 甲戍 乙亥 丙子 丁丑 戊寅 己卯 庚辰 辛巳 壬午 癸未 甲申 乙酉 丙戍 丁亥 戊子 己丑 庚寅 辛卯 壬辰 癸巳 甲午 乙未 丙申 丁酉 戊戍 己亥 庚子 辛丑 壬寅 癸卯 甲辰 乙巳 丙午 丁未 戊申 己酉 庚戍 辛亥 壬子 癸丑 甲寅 乙卯 丙辰 丁巳 戊午 己未 庚申 辛酉 壬戍 癸亥 干支
    U+AC00 (가) 가 나 다 라 마 바 사 아 자 차 카 타 파 하 HANGUL GANADA
    U+FF21 (A) A B C D E F G H I J K L M N O P Q R S T U V W X Y Z FULLWIDTH LATIN CAPITAL LETTER A
    U+FF41 (a) a b c d e f g h i j k l m n o p q r s t u v w x y z FULLWIDTH LATIN SMALL LETTER A
    U+FF71 (ア) ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン 半角アイウエオ
    U+FF72 (イ) イ ロ ハ ニ ホ ヘ ト チ リ ヌ ル ヲ ワ カ ヨ タ レ ソ ツ ネ ナ ラ ム ウ ノ オ ク ヤ マ ケ フ コ エ テ ア サ キ ユ メ ミ シ ヒ モ セ ス 半角イロハ

  • 2文字以上のすべて同じ文字から成る文字列

    例えば、format="*****" と指定すると、1~5に対して、* ** *** **** ***** という文字列を生成します。 文字数以上の数値に対しては、指定された文字1文字の後に数値を続けたものとなります。例えば、*6。

  • 全角複数文字列

    以上のどの規則にも該当しない全角複数文字列は、それ自身で生成規則を表します。 例えば、 "上中下" という文字列は、 上 中 下 上上 上中 上下 ... という規則的表現を生成します。

internal-destination

以下の太字の値が拡張されます。

Value: empty string | <idref> | <number-with-fragment>

値の意味は以下のとおりです。

<number-with-fragment>

PDFへの内部リンクのとき有効で、ページ番号を示します。 この文字列は、単純な数字列(<number>)または、数字列とフラグメントを#で繋げた次のような文字列です。 フラグメントに関しては、リンクの作成を参照してください。

123#zoom=50

ページ番号をフラグメント中へ指定することもできます。

#page=123&zoom=50

ページ番号が指定されていないとき、通常は1ページ目とみなされます。ただし、topの位置が指定されているときは、internal-destinationの含まれるブロックのページの先頭とみなされます。例えば、次のように指定します。

#view=fit
#view=fith
#zoom=,,0

overflow

以下の太字の値が拡張されます。

Value: visible | hidden | scroll | error-if-overflow | repeat | replace | condense | auto | inherit

値の意味は以下のとおりです。

replace

axf:overflow-replace で指定されている文字列を、領域いっぱいに繰り返して埋めます。指定されている文字列が空なら空文字列に置き換えられます。元の文字列は捨てられます。

condense

あふれた文字列を領域内に詰め込みます。詰め込む方法は、axf:overflow-condense で指定されます。

これらの値は、fo:block-container または fo:inline-container にのみ適用されます。

text-align

<string> と他の値が併記できるように拡張されています。

Value: relative | justify | [[ start | center | end | inside | outside | left | right ] || <string> ] | inherit
Initial: relative
Applies to: fo:block, fo:external-graphic,fo:instream-foreign-object, fo:table-and-caption
Inherited: yes
Percentages: N/A

fo:table-cell に対する <string> の指定は、小数点などの指定された文字位置を揃えますが、文字列全体をどちらに寄せるかの規定がありません。 デフォルトで、XSL Formatter V4 は、CSS2の 17.5.4 Horizontal alignment in a column の例示に従って右寄せで表示します。 XSL Formatter V4 は、これを拡張して左寄せや中央揃えを可能にしています。

text-align="'.' center"

のように指定します。


Copyright © 1996-2010 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.