XSL/CSS拡張

Antenna House Formatter V7.4 では、多くのXSLの独自拡張要素・プロパティを用意しています。 XSLで拡張要素・プロパティを利用する場合、名前空間に必ず http://www.antennahouse.com/​names/​XSL/​Extensions を指定してください。

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">

また、Antenna House Formatter V7.4 では、多くのCSSの独自拡張プロパティも用意しています。ここでは、CSS拡張プロパティと、制限のある CSS 2.1 または CSS3 の各プロパティ等が、XSLのプロパティと併記されています。 XSL/CSSプロパティを参照してください。 CSS3仕様のものも多く含まれますが、CSS3仕様の多くは勧告以前の状態です。これらCSS3仕様のプロパティには、プレフィクス -ah- を付けて使うのが安全です。ここでは、(-ah-) と示されています。Antenna House Formatter V7.4 では、-ah- を付けない形式でも動作しますが、将来仕様変更される可能性があります。 CSS 2.1 など勧告(または勧告候補や勧告案)仕様のプロパティには、-ah- を付ける必要はありません。 プロパティ値の構文については、プロパティ値の構文を参照してください。

拡張要素

要素の拡張は、XSLに対してのみの拡張です。

要素名説明
<fo:change-bar-begin>子要素に<fo:float>を記述できるように拡張されています。
<axf:counter-style> / CSS @counter-style カウンタスタイルを定義します。
<axf:custom-property> / HTML <meta>カスタムプロパティを指定します。この情報はPDF中に埋め込まれます。
<axf:document-info> / HTML <meta>文書情報を指定します。この情報はPDF中に埋め込まれます。
<axf:font-face> / CSS @font-face フォントを追加します。
<axf:footnote-number> 脚注番号を生成します。
<axf:footnote-number-citation> 脚注番号を引用します。
<axf:form>フォームアクションの単位を囲みます。
<axf:form-field>フォームフィールドを生成します。
<axf:form-field-event>イベントに対応したフォームアクションを定義します。
<axf:form-field-option>リストボックス、コンボボックスの構成要素を指定します。
<axf:formatter-config>追加のオプション設定情報を指定します。
<axf:hyphenation-info>追加のハイフネーション情報を指定します。
<axf:index-page-citation-range-f-suffix>merge-sequential-page-numbers="merge-f" のときの接尾辞を指定します。
<axf:index-page-citation-range-ff-suffix>merge-sequential-page-numbers="merge-ff" のときの接尾辞を指定します。
<axf:output-volume-info>多分冊PDFを出力します。
<fo:page-sequence><fo:page-sequence> が入れ子にできるように、または空要素が許されるように拡張されています。
<axf:ruby>ルビ構造を生成します。
<axf:ruby-base>ルビの親文字を示します。
<axf:ruby-text>ルビを示します。
<axf:script-font> スクリプト別のゼネリックフォントを指定します。
<axf:space-end-punctuation>欧文約物の後の空白量を指定します。
<axf:space-start-punctuation>欧文約物の前の空白量を指定します。
<axf:space-between-digit-and-punctuation>数字と欧文約物の間の空白量を指定します。
<axf:space-between-punctuation-and-digit>欧文約物と数字の間の空白量を指定します。
<axf:spread-page-master>見開きページマスタを指定します。
<axf:spread-region>見開きページの領域を指定します。
<axf:tab>タブ位置までスペースを空けます。
<axf:table-cell-repeated-marker>分割されたセルでの表示内容を指定します。

値の拡張

値の拡張は、XSL/CSS両方に対して、または一方に対して行われます。XSL/CSSで、拡張される値が異なることがあります。

プロパティ名説明
<border-style>古いCSS3にあった dot-dashdot-dot-dashwave などが指定できるよう拡張されています。 これらの優先順位は次のようになります。
  1. hidden
  2. thin-thick-thin
  3. triple
  4. thick-thin
  5. thin-thick
  6. double
  7. solid
  8. dashed
  9. dot-dash
  10. dot-dot-dash
  11. dotted
  12. ridge
  13. outset
  14. groove
  15. inset
  16. emboss
  17. imprint
  18. double-wave / double-wavy
  19. wave / wavy
この順位は、CSS3では規定されていません。
<color>XSL-FO における <color> の値は、次のいずれかです。
  • #RRGGBB または #RGB 形式の値
  • 16の基本色名、すなわち aquablackbluefuchsiagraygreenlimemaroonnavyolivepurpleredsilvertealwhite および yellow
  • rgb()rgb-icc()system-color() 関数
以下の値が指定できるように拡張されています。 CSS仕様 では、transparentrgba(0,0,0,0) と等価となっています。Antenna House Formatter V7.4では、transparent な文字は、大きさは確保されますが出力されません。rgba(0,0,0,0) では文字が出力されます。
break-after, break-beforebreak-afterbreak-beforeプロパティの値を拡張しています。
displayCSSのdisplayプロパティの値を拡張しています。
display-aligndisplay-alignプロパティの値を拡張しています。
font-size-adjustfont-size-adjustプロパティの値を拡張しています。
font-stretchfont-stretchプロパティの値を拡張しています。
font-variantfont-variantプロパティの値を拡張しています。
force-page-countforce-page-countプロパティの値を拡張しています。
formatformatプロパティの値を拡張しています。
hyphenatehyphenateプロパティの値を拡張しています。
hyphenation-push-character-counthyphenation-push-character-countプロパティの値を拡張しています。
hyphenation-remain-character-counthyphenation-remain-character-countプロパティの値を拡張しています。
initial-page-numberinitial-page-numberプロパティの値を拡張しています。
internal-destinationinternal-destinationプロパティの値を拡張しています。
leader-alignmentleader-alignmentプロパティの値を拡張しています。
merge-sequential-page-numbersmerge-sequential-page-numbersプロパティの値を拡張しています。
odd-or-evenodd-or-evenプロパティの値を拡張しています。
overflowoverflowプロパティの値を拡張しています。
page-positionpage-positionプロパティの値を拡張しています。
sizesizeプロパティの値を拡張しています。
table-omit-footer-at-breaktable-omit-footer-at-breakプロパティの値を拡張しています。
table-omit-header-at-breaktable-omit-header-at-breakプロパティの値を拡張しています。
text-transformtext-transformプロパティの値を拡張しています。

関数の拡張

FO関数、CSS関数を拡張しています。 CSS3関数についてはCSS3 Functionsも参照してください。

関数名説明
rgb-icc()rgb-icc() 関数を拡張しています。  <color>
rgb() rgb() 関数がCSS、FO共利用できます。rgb(<R>,<G>,<B>) と、引数を3つ与えます。<R>,<G>,<B> には、%値、または 0~255 を与えます。  <color> CSSページ組版入門rgb()
rgba()CSS3の RGBA color values にある rgba() 関数がCSS、FO共利用できます。rgba(<R>,<G>,<B>,<A>) と、引数を4つ与えます。<R>,<G>,<B> には、%値、または 0~255 を与えます。 <A> には、%値、または 0.0~1.0 を与えます。 <R>,<G>,<B> の代わりに色名を与えて、rgba(green,0.5) のように書くこともできます。  <color> CSSページ組版入門rgba()
hsl()CSS3の HSL color values にある hsl() 関数がCSS、FO共利用できます。hsl(<H>,<S>,<L>) と、引数を3つ与えます。<H> には単位なし数値を与えます。 <S>,<L> には、%値、または 0.0~1.0 を与えます。  <color> XSL-FO Samples CollectionHSL:色相、彩度、輝度による色指定
hsla()CSS3の HSLA color values にある hsla() 関数がCSS、FO共利用できます。hsla(<H>,<S>,<L>,<A>) と、引数を4つ与えます。<H> には単位なし数値を与えます。<S>,<L> には、%値、または 0.0~1.0 を与えます。<A> には、%値、または 0.0~1.0 を与えます。  <color> XSL-FO Samples CollectionHSL:色相、彩度、輝度による色指定
cmyk()cmyk() 関数が利用できます。cmyk(<C>,<M>,<Y>,<K>) と、引数を4つ与えます。<C>,<M>,<Y>,<K> には、%値、または 0.0~1.0 を与えます。 cmyk(<C>,<M>,<Y>,<K>)rgb-icc(#CMYK,<C>,<M>,<Y>,<K>) と等価です。  <color> CSSページ組版入門cmyk()
cmyka()cmyka() 関数が利用できます。cmyka(<C>,<M>,<Y>,<K>,<A>) と、引数を5つ与えます。<C>,<M>,<Y>,<K>,<A> には、%値、または 0.0~1.0 を与えます。  <color> CSSページ組版入門cmyka()
linear-gradient() グラデーションを表現する関数です。
radial-gradient()
repeating-linear-gradient()
repeating-radial-gradient()
counter() CSSの counter() 関数を拡張しています。CSSのみで利用できます。
attr() CSS3 Valuesattr() 関数を利用できます。CSSのみで利用できます。
-ah-attr-img() attr() と同じですが、<img> など画像の width/height を参照するときのために用意されています。CSSのみで利用できます。
-ah-attr-from() attr() 関数の拡張関数です。CSSのみで利用できます。

単位の拡張

XSL仕様で利用できる単位の他に、以下の単位を利用できます。 これらは、CSSでも利用できます。

単位名説明
remルート要素におけるem単位です。ルート要素のfont-sizeプロパティの値に使用することはできません。  CSS Values and Units
dcemドロップキャップされた文字のフォントサイズを基準とした値です。axf:initial-lettersプロパティが指定された要素で利用することができます。axf:initial-lettersプロパティの値に使用することはできません。dcemが利用できないときはemとして扱われます。
exフォントのx-heightを基準とした値です。フォントがx-heightを持っていないときは0.5em換算となります。  CSS Values and Units
capフォントのcap-heightを基準とした値です。フォントがcap-heightを持っていないときはフォントのaltitude換算となります。  CSS Values and Units
jptJIS Z 8305 で定められている絶対値の単位で、1jpt=0.3514mm。
qJIS X 4052、JIS Z 8125 で定められている級を表す絶対値の単位で、1q=0.25mm。
dpiaxf:image-resolution などで、解像度を示すときに利用できます。
dpcmaxf:image-resolution などで、解像度を示すときに利用できます。
emu English Metric Unit。絶対値の単位で、1emu=1in/914400=1cm/360000。
ch文字「0」U+0030 の幅を1とした単位です。フォントにそのグリフがないときは0.5em換算となります。  CSS Values and Units
ic文字「水」U+6C34 の幅を1とした単位です。フォントにそのグリフがないときは1em換算となります。  CSS Values and Units
lhline-heightを1とした単位です。line-height="2" のような指定のときでも、lh換算時に絶対値に変換されます。line-heightプロパティの値に使用することはできません。  CSS Values and Units
rlhルート要素におけるlh単位です。ルート要素のline-heightプロパティの値に使用することはできません。  CSS Values and Units
vwビューポートの幅を100とした単位です。ルート要素などのビューポートが確立していない要素で使用することはできません。  CSS Values and Units
vhビューポートの高さを100とした単位です。ルート要素などのビューポートが確立していない要素で使用することはできません。  CSS Values and Units
vminvwとvhで小さい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。  CSS Values and Units
vmaxvwとvhで大きい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。  CSS Values and Units
pvwページの幅を100とした単位です。ルート要素などのビューポートが確立していない要素で使用することはできません。
pvhページの高さを100とした単位です。ルート要素などのビューポートが確立していない要素で使用することはできません。
pvminpvwとpvhで小さい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。
pvmaxpvwとpvhで大きい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。
gr段抜き指定の単位です。ルート要素などの参照領域が存在しない要素で使用することはできません。
frグリッドコンテナ内の利用可能な空間の比を表します。 V7.4

その他のXSL拡張

  1. XSL仕様では、長さを表す値には単位を付けなければならないことになっています。 Antenna House Formatter V7.4 では、長さゼロのときに限って、単位なしの "0" も受け付けます。

  2. XSL仕様では、<fo:region-*>XSL-FO Samples Collectionページの各領域と境界線ページ内の各領域の紹介 の記述順序は

    (region-body+,region-before?,region-after?,region-start?,region-end?)

    と規定されています。しかし、その描画順序は規定されていません。そのため、区画の一部が重なるとき、どちらを先に描画するかが重要になります(z-indexではregion-*間の順序を制御できません)。Antenna House Formatter V7.4 では、<fo:region-*> の記述順序は任意としています。そして、その順序どおりに描画します。<fo:region-body> を最後に記述すれば、その内容を他の <fo:region-*> よりも上に描画することができます。

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

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

  4. XSL仕様では、XML仕様のxml:langだけが明記されていますが、Antenna House Formatter V7.4 では、以下のXML入力を受け付けます。XHTMLやXML+CSSのときも同様です。


文書情報

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

<axf:document-info> / HTML <meta>XSL-FO Samples CollectionPDFを開いたときのページレイアウト文書情報の埋め込みCSSページ組版入門<meta>

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

Common Usage:

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

Areas:

なし。

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

EMPTY

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

HTMLでは、<meta> タグのname属性で、axf:document-info と同等の指定をすることができます。 <title> の指定よりも、<meta name="document-title"> の指定の方が優先します。 <meta> については (-ah-)display も参照してください。

  <meta name="document-title" content="文書のタイトルを指定する" />
  <meta name="subject" content="文書のサブタイトルを指定する" />
  <meta name="author" content="著者名を指定する" />
  <meta name="keywords" content="キーワードをカンマ区切りで列挙する" />
  ...

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

<axf:document-info> のプロパティは namevalue で、いずれも必須です。name の値は、以下のいずれかでなければなりません。* の付いた情報は、多分冊出力時には axf:document-info-include プロパティの指定によって、第1分冊にのみ出力されるか全分冊に出力されます。それ以外は常に全分冊に出力されます。

  • document-title

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

  • subject

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

  • author

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

  • author-title

    文書の著者の役職などを指定します。

  • description-writer

    文書の説明の書き手を指定します。

  • keywords

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

  • copyright-status

    著作権のステータスを以下のいずれかで指定します。

    • Unknown
    • Copyrighted
    • PublicDomain

    PDF1.4以降のとき有効です。

  • copyright-notice

    著作権の情報を指定します。 PDF1.4以降のとき有効です。

  • copyright-info-url

    著作権情報のURLを指定します。このURLは単なる文字列として扱われ、そのURLへのアクセスは行いません。 PDF1.4以降のとき有効です。

  • xmp

    XMPのURLを指定します。このURLは、XSL仕様の <uri-specification> に従います。URIを参照してください。 XMPファイルの妥当性については、整形式であるかなどの簡単な検査しかしません。 PDF1.4以降のとき有効です。

    XMPを指定したとき、以下の指定は無効となります。

    <axf:document-info> に以下の指定があるとき、XMP内に対応する記述が存在しない場合は補われます。

    • document-title
    • subject
    • author
    • author-title
    • description-writer
    • keywords
    • copyright-status
    • copyright-notice
    • copyright-info-url

    また、XMP中の次の内容には、Antenna House Formatter V7.4 のもの、または現在の時刻が設定されます。

    • <pdf:Producer>
    • <xmp:CreatorTool>
    • <xmp:CreateDate>
    • <xmp:ModifyDate>

  • pagemode *

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

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

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

    「文書アウトライン」は Adobe Acrobat や Reader では「しおり」と表現されています。

  • pagelayoutXSL-FO Samples CollectionPDFを開いたときのページレイアウト *

    文書を開いたとき、使われるページレイアウトを指定します。以下のいずれかを指定できます。

    • SinglePage
      一度に1ページを表示
    • OneColumn
      ページを1列で表示
    • TwoColumnLeft
      奇数ページを左側にして2列で表示
    • TwoColumnRight
      奇数ページを右側にして2列で表示
    • TwoPageLeft
      奇数ページを左側にして見開きの2ページずつを表示
    • TwoPageRight
      奇数ページを右側にして見開きの2ページずつを表示

    TwoPageLeftTwoPageRightは、PDF1.5以降のときに指定できます。 指定されなかったときは、PDFのビューアアプリケーションの動作に依存します。

  • hidetoolbar *

    文書を開いたとき、ツールバーを隠すかどうかを true または false で指定します。 既定値はfalseです。

  • hidemenubar *

    文書を開いたとき、メニューバーを隠すかどうかを true または false で指定します。 既定値はfalseです。

  • hidewindowui *

    文書を開いたとき、ユーザインターフェイス要素(スクロールバーやナビゲーション用コントロールなど)を隠すかどうかを true または false で指定します。 既定値はfalseです。

  • fitwindow *

    文書を開いたとき、ページのサイズに適合するように文書ウィンドウのサイズを変更するかどうかを true または false で指定します。 既定値はfalseです。

  • centerwindow *

    文書を開いたとき、文書ウィンドウを画面の中央に配置するかどうかを true または false で指定します。 既定値はfalseです。

  • displaydoctitle *

    文書を開いたとき、文書のタイトルを表示するかどうかを true または false で指定します。 既定値はfalseです。 PDF1.4以降のとき有効です。

  • 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を指定することはできません。 オプション設定ファイルallow-javascript="false" に設定されているときは、指定されたJavaScriptは無視されます。

  • createdate, modifydate

    PDFの /CreationDate、/ModDate を指定します。modifydate を指定していないときは現時刻とみなされます。createdate を指定していないときは modifydate とみなされます。modifydatecreatedate よりも過去のときは、createdate に調整されます。

    日付の書式は、ISO 8601JIS X 0301)の形式の文字列です。この規格のうち次の書式を受け付けます。

    • YYYY-MM-DD(Thh(:mm(:ss)?)?)?(Z|±hh(:mm)?)?
    • NYY.MM.DD(Thh(:mm(:ss)?)?)?

    ここに、Y M D h m s は 0~9 の数字、± は + または - のいずれか、N は元号で、 昭 平 令 S H R のいずれかを示します。日付や時刻の区切り文字 - : . は省略しても構いません。 例えば、次のような文字列です。

    • 2018-04-13T12:34:56+09:00
    • 2018-04-13T12:34+09
    • 20180413T123456+09
    • 20180413T1234
    • 平30.04.13T12:34

    西暦でタイムゾーンが省略されたときは、システムのタイムゾーン(ローカルタイム)とみなされます。和暦にタイムゾーンは指定できません。和暦では常に +09:00 とみなされます。存在しない日付などでも、適当に補正されます。1970年以前の日付や不正な文字列、補正できない日付のときは、指定は無視されます。

  • duplex

    両面印刷するかどうかを指定します。以下のいずれかを指定できます。

    • Simplex
      片面
    • Vertical
      両面(左右に開く)
    • Horizontal
      両面(上下に開く)

    <fo:declarations> の子の <axf:document-info> でのみ有効です。PDF1.7以降で有効です。

  • binding

    ページの綴じ方を指定します。以下のいずれかを指定できます。

    • Left
      Left binding左綴じ
    • Right
      Right binding右綴じ

    <fo:declarations> の子の <axf:document-info> でのみ有効です。

<axf:custom-property> / HTML <meta> CSSページ組版入門<meta>

PDFにカスタムプロパティを設定します。PDF1.4以降のとき有効です。また、PDF/Aでは無効です。

Common Usage:

カスタムプロパティを指定します。この要素はエリアを生成しません。

Areas:

なし。

Constraints:
<!ELEMENT axf:custom-property EMPTY>
<!ATTLIST axf:custom-property name  CDATA #REQUIRED>
<!ATTLIST axf:custom-property value CDATA #REQUIRED>
Contents:

EMPTY

HTMLでは、<meta> タグのitemprop属性で、<axf:custom-property> と同等の指定をすることができます。itemprop属性とname属性を両方指定したときは、name属性は無視されます。

  <meta itemprop="Custom-Prop" content="なんたらかんたら"/>
  ...

<axf:custom-property> 拡張要素は、<fo:declarations> の子に置くことができます。また、そのプロパティは namevalue で、いずれも必須です。どちらも空ではいけません。 name には、以下を指定することはできません。name の大文字小文字は区別されます。<meta>itempropnameと同様です。

  • Title
  • Author
  • Subject
  • Keywords
  • Creator
  • Producer
  • CreationDate
  • ModDate
  • Trapped

HTML <meta name="color-profile">

<fo:color-profile> をHTMLで指定するには <meta> を利用します。例えば、

<fo:color-profile color-profile-name="#CMYK" src="JapanColor2001Coated.icc#OutputConditionIdentifier=JC200103"/>

は、次のように記述します。

<meta name="color-profile" content="name='#CMYK' src='JapanColor2001Coated.icc#OutputConditionIdentifier=JC200103'"/>

content<name>=<value> を空白で区切って列挙したもので、次のいずれかが指定できます。

  • name=<string>
  • src=<string>
  • rendering-intent=[auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric]

axf:pdftag / CSS -ah-pdftag

タグ付きPDFのタグ名を指定します。

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

タグ付きPDFに出力するタグ名をカスタマイズします。例えば、該当要素のタグ名を Paragraph にするときは、次のようにします。

<fo:block axf:pdftag="Paragraph">

new-tagging-modetrue に設定した場合、下記のように明示的に空文字列を指定したときにその要素はタグを作成せず、親のエリアが属するタグに属するようになります。

<fo:block axf:pdftag="''">

axf:expansion-text / CSS -ah-expansion-textXSL-FO Samples Collectionタグ付きPDFでのタグに拡張テキストを指定

タグ付きPDFでのタグに拡張テキストを指定します。

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

タグ付きPDFで略字に対する説明文などを指定します。

axf:require / CSS -ah-require

組版に必要な Antenna House Formatter のバージョンを指定します。

Value:<string>
Initial:empty string
Applies to:root element
Inherited:no
Percentages:N/A

FOやHTMLなどを組版するにあたって、要求する Antenna House Formatter のバージョンを指定することができます。指定バージョンに満たない場合、組版は行われません。例えば、

axf:require="7.3"

とした場合、7.3 以降でないと組版できません。

axf:require="7.3.2"

とした場合、7.3.2 以降でないと組版できません。数字は4つまで指定できます。


多分冊PDF出力

Antenna House Formatter V7.4 では、PDFを複数に分冊して出力することができます。 CSSではこの機能を利用することはできません。

<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 NMTOKEN "1"><!-- digits -->
<!ATTLIST axf:output-volume-info format                CDATA   "1">
<!ATTLIST axf:output-volume-info bookmark-include (first|all|separate) "separate">

<axf:output-volume-info> 拡張要素は、<fo:declarations> の子に置くことができます。

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 プロパティによって以下から選択することができます。ただし、<fo:bookmark> によるしおりでは無効です。axf:outline-* を利用してください。

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

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

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

分冊出力される PDF ごとに言語を指定したいときは、<fo:page-sequence>languageプロパティで言語を指定してください。

axf:bookmark-include

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

Value:first | all | separate | separate-group
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:outline-group によってグループ化されたしおりは、最後の分冊にまとめて付けられます。

separate-group

separate と同じですが、グループ化されたしおりも各分冊に付けます。

axf:document-info-include

多分冊出力したときの文書情報の扱いを指定します。

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

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

first

第1分冊にのみ文書情報を付けます。

all

全分冊に文書情報を付けます。

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-sequence>axf: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ファイル名を省略することはできません。


Antenna House Formatter V7.4 で、PDF出力する場合の、PDFのしおりとリンクを作成する方法を説明します。

しおりの作成

PDFにはしおりと呼ばれる機能があります。Adobe Acrobat または Reader ではしおりは、目次を階層化した概観を持っており、項目をクリックすることにより目的の位置へジャンプすることができます。Antenna House Formatter V7.4 の GUI のしおりウィンドウでもしおりの表示を確認することができます。

PDFのしおり

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

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

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" xml:lang="ja">
         ...
         <fo:block axf:outline-level="1"
                   axf:outline-expand="false"
                   axf:outline-title="前付け">
                   ...
         </fo:block>
         <fo:block axf:outline-level="1"
                   axf:outline-expand="false"
                   axf:outline-title="目次">
                   ...
         </fo:block>
         <fo:block axf:outline-level="1"
                   axf:outline-expand="true"
                   axf:outline-title="1. 導入及び概要">
                   <fo:block axf:outline-level="2"
                             axf:outline-expand="true"
                             axf:outline-title="1.1. スタイルシートの処理">
                             <fo:block axf:outline-level="3"
                                       axf:outline-expand="false"
                                       axf:outline-title="1.1.1. ツリーの変換">
                                       ...
                             </fo:block>
                             <fo:block axf:outline-level="3"
                                       axf:outline-expand="false"
                                       axf:outline-title="1.1.2. フォーマット化">
                                       ...
                             </fo:block>
                   </fo:block>
                   <fo:block axf:outline-level="2"
                             axf:outline-expand="false"
                             axf:outline-title="1.2. XSLの利点">
                             ...
                   </fo:block>
         </fo:block>
         <fo:block axf:outline-level="1"
                   axf:outline-expand="false"
                   axf:outline-title="2. XSL変換">
                   ...
         </fo:block>
...

axf:outline-expand / CSS -ah-outline-expand

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

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

true の場合は下位項目が展開されて表示され、false の場合はたたみ込み表示されます。 CSS では (-ah-)bookmark-state も利用できます。

axf:outline-group / CSS -ah-outline-group

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

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

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

axf:outline-level / CSS -ah-outline-level

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

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

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

axf:outline-title / CSS -ah-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>

CSS では (-ah-)bookmark-label も利用できます。

axf:outline-color / CSS -ah-outline-color

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

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

transparent を指定すると、PDFへ色情報は設定されません。

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

axf:outline-font-style / CSS -ah-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 / CSS -ah-outline-font-weight

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

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

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

normal

通常の太さ。

bold

太字。

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

注意事項

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

XSL-FOでは、<fo:basic-link> を使用すれば、PDFのリンクを簡単に作成することができます。 HTMLでは、<a> で行います。

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

ローカルファイル指定の外部リンクは、PDF出力の設定use-launch-for-local-file によって、「ファイルを開く」、「World Wide Web リンク」のいずれかで動作するようにPDFへ変換されます。 ローカルファイル指定以外指定の外部リンクは、常に「World Wide Web リンク」に変換されます。

さらに、次のような高度なリンクを指定することができます。これらの理解のために、ISO 32000-1 または ISO 32000-2 を参照することをお勧めします。

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

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

  • The application/pdf Media Type (RFC3778)

例えば、次のように指定します。

  • 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#page=3&pagemode=thumbs

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

  • nameddest
  • page
  • zoom
  • view
  • viewrect

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

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

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

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

axf:action-type / CSS -ah-action-type

外部リンクの動作を指定します。 フォームアクションも参照してください。

Value:auto | gotor | launch | uri
Initial:auto
Applies to:fo:basic-link
Inherited:no
Percentages:N/A

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

auto

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

gotor

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

launch

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

uri

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

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

axf:destination-type / CSS -ah-destination-type XSL-FO Samples Collection宛先形式を指定したリンク

宛先形式を指定したリンクを生成することができます。これは、リンク先でのPDFの宛先形式です。

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

宛先形式には次の種類があります。指定のないときは axf:destination-type="xyz-top" とみなされます。値の大文字小文字の違いは無視されます。axf:destination-type と内部リンク、外部リンクでのID指定、ページ番号指定など組み合わせた例に関しては、外部リンクでのID指定内部リンクでのID指定外部リンクでのページ番号指定内部リンクでのページ番号指定外部リンクのしおり内部リンクのしおり を参照してください。

PDFの宛先形式指定方法
[page /XYZ left top zoom]left/top の値は、Antenna House Formatter V7.4 が計算しますが、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 の値は、Antenna House Formatter V7.4 が計算します。内部リンクでの指定のみ有効です。
axf:destination-type="fith"
[page /FitV left]left の値は、Antenna House Formatter V7.4 が計算します。
axf:destination-type="fitv"
[page /FitR left bottom right top]left/bottom/right/top の値は、Antenna House Formatter V7.4 が計算します。内部リンクでの指定のみ有効です。
axf:destination-type="fitr"
[page /FitB]
axf:destination-type="fitb"
[page /FitBH top]top の値は、Antenna House Formatter V7.4 が計算します。内部リンクでの指定のみ有効です。
axf:destination-type="fitbh"
[page /FitBV left]left の値は、Antenna House Formatter V7.4 が計算します。
axf:destination-type="fitbv"

axf:outline-external-destination / CSS -ah-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 / CSS -ah-outline-internal-destination

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

Value: <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を指定するとき、宛先形式は axf:destination-type を指定してidプロパティにリンク先のIDを設定することで作成できます。

<fo:block id="Chapter6" axf:destination-type="xyz-top">

リンク先が、異なるPDFへの外部リンクの場合、IDに external-destination を指定します。URI中のパラメータは nameddest のみが有効です。

<fo:basic-link external-destination="http://mydocs/doc.pdf#nameddest=Chapter6"
               axf:action-type="gotor">

内部リンクでIDを指定するとき、宛先形式は axf:destination-type を指定してidプロパティにリンク先のIDを設定することで作成できます。

<fo:block id="Chapter6" axf:destination-type="xyz-top">

内部リンクを作成するには、IDに internal-destination を指定します。

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

ページ番号指定は、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のパラメータに pagenameddest も含まれないときは、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-destinationexternal-destination はいずれか一方のみを指定してください。
  • 多分冊出力のとき、内部リンクで指定されていたリンクが、外部リンクになることがあります。このとき、リンクの動作は、axf:action-type="gotor" とみなされます。
  • 意図しないリンクが作成されたときは、まずご使用の PDF のビューアアプリケーションの設定をご確認ください。例えば Adobe Reader や Adobe Acrobat では「URL からリンクを作成」機能が自動でリンクを作成している場合があります。

注釈

Antenna House Formatter V7.4 では、PDFへ注釈を付けることができます。 注釈の詳細は、ISO 32000-1 または ISO 32000-2 を参照してください。ここで指定できる注釈は、その一部です。

axf:annotation-type / CSS -ah-annotation-type XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

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

  • 空文字列

    注釈はありません。

  • Text

    テキスト注釈です。

  • FreeText

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

  • Stamp

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

  • FileAttachment

    ファイル添付注釈です。

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

<fo:basic-link> とHTMLの <a> は常にリンク注釈を生成します。

axf:annotation-author / CSS -ah-annotation-author XSL-FO Samples CollectionPDFへ注釈を付ける

注釈の作成者を指定します。

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

axf:annotation-title / CSS -ah-annotation-title XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

PDF1.5 以降で有効です。

axf:annotation-contents / CSS -ah-annotation-contents XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

<fo:basic-link> や HTMLの <a> または axf:annotation-type で次の注釈の種類のいずれかを指定するときに表示される文字列を指定します。

  • Text
  • FreeText
  • Stamp
  • FileAttachment

代替テキストの指定 を参照してください。

axf:annotation-color / CSS -ah-annotation-color XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

axf:annotation-flags / CSS -ah-annotation-flags XSL-FO Samples CollectionPDFへ注釈を付ける

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

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
  • LockedContents

これらの意味については、ISO 32000-1 または ISO 32000-2 を参照してください。

axf:annotation-open / CSS -ah-annotation-open XSL-FO Samples CollectionPDFへ注釈を付ける

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

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 / CSS -ah-annotation-icon-name XSL-FO Samples CollectionPDFへ注釈を付ける

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

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 / CSS -ah-annotation-position-horizontal XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

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

axf:annotation-position-vertical / CSS -ah-annotation-position-vertical XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

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

axf:annotation-width / CSS -ah-annotation-width XSL-FO Samples CollectionPDFへ注釈を付ける

注釈の幅を指定します。

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

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

axf:annotation-height / CSS -ah-annotation-height XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

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

axf:annotation-font-family / CSS -ah-annotation-font-family XSL-FO Samples CollectionPDFへ注釈を付ける

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

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 / CSS -ah-annotation-font-size XSL-FO Samples CollectionPDFへ注釈を付ける

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

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 / CSS -ah-annotation-font-weight XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

axf:annotation-font-style / CSS -ah-annotation-font-style XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

axf:annotation-text-color / CSS -ah-annotation-text-color XSL-FO Samples CollectionPDFへ注釈を付ける

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

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 / CSS -ah-annotation-text-align XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

axf:annotation-border-style / CSS -ah-annotation-border-style XSL-FO Samples CollectionPDFへ注釈を付ける

フリーテキスト注釈のボーダーのスタイルを指定します。

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

<border-style> には以下が指定できます。これ以外は solid とみなされます。

  • solid
  • dotted
  • dashed
  • dot-dash
  • dot-dot-dash

axf:annotation-border-width / CSS -ah-annotation-border-width XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

axf:annotation-border-color / CSS -ah-annotation-border-color XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

axf:annotation-file-attachment / CSS -ah-annotation-file-attachment XSL-FO Samples CollectionPDFへ注釈を付ける

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

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

data:スキームを指定することができます。そのとき、axf:annotation-file-name の指定が必要です。 V7.3MR1

axf:annotation-file-name / CSS -ah-annotation-file-name V7.3MR1 XSL-FO Samples CollectionPDFへ注釈を付ける

ファイル添付注釈のとき、出力する代替ファイル名を指定します。

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

axf:annotation-createdate / CSS -ah-annotation-createdate XSL-FO Samples CollectionPDFへ注釈を付けるPDF注釈の作成日や修正日を指定

注釈の作成日を指定します。

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

注釈辞書の /CreationDate の値となります。省略したときは axf:annotation-modifydate と同じとみなされます。指定できる文字列については日付の書式を参照してください。

axf:annotation-modifydate / CSS -ah-annotation-modifydate XSL-FO Samples CollectionPDFへ注釈を付けるPDF注釈の作成日や修正日を指定

注釈の修正日を指定します。

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

注釈辞書の /M の値となります。省略したときは <axf:document-info>modifydate の値とみなされます。axf:annotation-modifydateaxf:annotation-createdate よりも過去のときは、axf:annotation-createdate に調整されます。指定できる文字列については日付の書式を参照してください。


フォーム

Antenna House Formatter V7.4 は、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-typesubmitreset である場合、それらが機能しなくなります。それ以外の <axf:form-field> は、<axf:form> に関係なく動作します。

HTML のフォームでは、以下のタグの体裁が html.css で指定されています。これら以外のタグは無視されます。

  • <form>
  • <input>
  • <button>
  • <textarea>
  • <select>
  • <option>

<axf:form> / HTML <form> XSL-FO Samples Collectionフォームイベントフォームフィールドフォームフィールドの名前にページ番号を付加

Common Usage:

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

Areas:

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

Contents:

(#PCDATA | %inline; | %block;)*

axf:field-submit-method / CSS -ah-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 / CSS -ah-field-submit-coordinates

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

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

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

false

座標を送出しません。

true

座標を送出します。

<axf:form-field> / HTML <input> <button> <textarea> <select> XSL-FO Samples Collectionフォームイベントフォームフィールドフォームフィールドの名前にページ番号を付加

Common Usage:

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

Areas:

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

Contents:

(axf:form-field-option | axf:form-field-event)*

HTML のフォームで生成されるフォームフィールドの主な制約は以下のとおりです。対応している機能の詳細は html.css 内容を確認してください。html.css に明記されていない機能は制約に記載されていなくても無効です。

  • <input><button><textarea><select> に指定できるすべての属性に対応しているわけではありません。
  • <input> に指定できるすべての type に対応しているわけではありません。
  • <input>typesearchtelurlemailmonthweekdatetime-local を指定した場合は -ah-field-type:text として扱われます。
  • <input type="button"><button type="button"> でボタンは表示されますがフィールドとして機能しません。また、<button> のボタンへの表示内容はテキストのみ有効となります。

axf:field-type / CSS -ah-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 / CSS -ah-field-name

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

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

名前を省略した場合は、適当な名前が生成されます。

axf:field-name-suffix-page-number XSL-FO Samples Collectionフォームフィールドの名前にページ番号を付加

フィールドの名前にページ番号を付加することができます。

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

axf:field-name で指定された名前に、ページ番号を付加します。axf:field-name が指定されていないときは無効です。 指定できる文字列は、format で指定できる文字列です。ページ番号は書式化されて付加されます。空の文字列のときは、何も付加されません。

このプロパティは、<fo:static-content> 内にフォームを作るとき、各ページで独立のフォームにしたいときに指定します。

axf:field-description / CSS -ah-field-description

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

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

ここで指定した文字列は、Acrobatなどではツールチップとして表示されます。

axf:field-value / CSS -ah-field-value

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

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

axf:field-flags / CSS -ah-field-flags

フィールドのフラグを指定します。

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

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

  • ReadOnly
    読取り専用フィールドにします。 axf:field-readonly="true" と同じですが、axf:field-flags の指定が優先します。
  • Required
    入力必須フィールドにします。 axf:field-required="true" と同じですが、axf:field-flags の指定が優先します。
  • Multiline
    テキストフィールドを複数行にします。 axf:field-multiline="true" と同じですが、axf:field-flags の指定が優先します。
  • Scroll
    テキストフィールドをスクロール可能にします。 axf:field-scroll="true" と同じですが、axf:field-flags の指定が優先します。
  • Password
    テキストフィールドをパスワード化します。 axf:field-password="true" と同じですが、axf:field-flags の指定が優先します。
  • Checked
    チェックボックス、ラジオボタンをチェック状態にします。 axf:field-checked="true" と同じですが、axf:field-flags の指定が優先します。
  • Multiple
    リストボックスで複数項目を選択可能にします。 axf:field-multiple="true" と同じですが、axf:field-flags の指定が優先します。
  • Editable
    コンボボックスで値を編集可能にします。 axf:field-editable="true" と同じですが、axf:field-flags の指定が優先します。
  • Hidden
    非表示フィールドにします。ただし、フィールドの大きさは確保されています。背景やボーダーなどは表示されます。

axf:field-readonly / CSS -ah-field-readonly

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

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

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

true

読取り専用です。

false

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

axf:field-required / CSS -ah-field-required

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

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

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

true

入力必須です。

false

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

axf:field-default-text / CSS -ah-field-default-text

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

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

axf:field-multiline / CSS -ah-field-multiline

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

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

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

false

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

true

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

axf:field-scroll / CSS -ah-field-scroll

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

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

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

false

スクロールできません。

true

スクロールできます。

axf:field-password / CSS -ah-field-password

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

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

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

false

パスワードにしません。

true

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

axf:field-maxlen / CSS -ah-field-maxlen

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

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

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

axf:field-format-category / CSS -ah-field-format-category

テキストフィールドの書式の種類を指定します。

Value:none | number | percentage | date | time
Initial:none
Applies to:axf:form-field
Inherited:no
Percentages:N/A

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

none

書式を指定しません。

number

数値の書式を指定します。

percentage

パーセンテージの書式を指定します。

date

日付の書式を指定します。

time

時刻の書式を指定します。

実際の書式は、axf:field-format で指定します。

axf:field-format / CSS -ah-field-format

テキストフィールドの書式を指定します。

Value:auto | [ [<string> | <number>] [<string> | <number> | true | false]* ]
Initial:auto
Applies to:axf:form-field
Inherited:no
Percentages:N/A

書式の指定方法は、axf:field-format-category で指定された書式の種類によって異なります。autoの場合はすべて既定値が採用されます。それ以外の場合は、axf:field-format-category の値によって、以下のように指定します。

number

値は、次のように最大5個指定します。

axf:field-format="2 0 1 '$ ' true"

これらは、順に次の意味です。

  1. 小数点以下の桁数。(既定値:2)

    入力された値の小数点以下の桁数が多い場合は、四捨五入されて表示されます。

  2. 桁区切りの方法。以下の値のいずれかを指定します。(既定値:0)
    0.1,234.56
    1. 1234.56
    2.1.234,56
    3. 1234,56
    4.1'234.56
  3. 負数の表示方法。(既定値:0)
    0.何も加工しません。
    1.赤で表示します。
    2.括弧付きで表示します。
    3.赤で括弧付きで表示します。
  4. 通貨記号。任意の文字列を指定します。(既定値:空文字列)

    通貨記号を前置するときは、"$ " のように後に空白を入れるとよいでしょう。後置するときは前に空白を入れます。

  5. 通貨記号の位置。trueのとき数値の前に、falseのとき後に表示します。(既定値:true

percentage

値は、次のように最大2個指定します。

axf:field-format="2 0"

値の意味は、numberと同じです。

date

書式を数値または文字列で指定します。数値は、以下の値のいずれかを指定します。(既定値:0)

0.m/d
1.m/d/yy
2.mm/dd/yy
3.mm/yy
4.d-mmm
5.d-mmm-yy
6.dd-mmm-yy
7.yy-mm-dd
8.mmm-yy
9.mmmm-yy
10.mmm d, yyyy
11.mmmm d, yyyy
12.m/d/yy h:MM tt
13.m/d/yy HH:MM

次の指定はどちらも同じ意味です。

axf:field-format="2"
axf:field-format="'mm/dd/yy'"

文字列では任意の書式を指定できますが、誤った書式を指定した場合の動作は保証されません。書式中の文字の意味については、JavaScriptの仕様書等を参照してください。

time

書式を数値または文字列で指定します。数値は、以下の値のいずれかを指定します。(既定値:0)

0.HH:MM
1.h:MM tt
2.HH:MM:ss
3.h:MM:ss tt

次の指定はどちらも同じ意味です。

axf:field-format="0"
axf:field-format="'HH:MM'"

文字列では任意の書式を指定できますが、誤った書式を指定した場合の動作は保証されません。書式中の文字の意味については、JavaScriptの仕様書等を参照してください。

axf:field-text-align / CSS -ah-field-text-align

テキストフィールドの配置を指定します。

Value:left | center | right
Initial:left
Applies to:axf:form-field
Inherited:no
Percentages:N/A

axf:field-font-size / CSS -ah-field-font-size

フィールドに表示する文字列のフォントサイズを指定します。

Value:font-size | auto | <length>
Initial:font-size
Applies to:axf:form-field
Inherited:no
Percentages:N/A

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

font-size

font-size プロパティで指定されている値を設定します。

auto

フォントサイズを指定せず、自動に設定します。

<length>

明示的にフォントサイズを設定します。

axf:field-button-layout / CSS -ah-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 / CSS -ah-field-button-face

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

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

axf:field-button-icon / CSS -ah-field-button-icon

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

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

axf:field-button-face-down / CSS -ah-field-button-face-down

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

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

axf:field-button-icon-down / CSS -ah-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 / CSS -ah-field-button-face-rollover

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

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

axf:field-button-icon-rollover / CSS -ah-field-button-icon-rollover

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

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

axf:field-checked / CSS -ah-field-checked

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

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

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

false

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

true

チェック状態にします。

axf:field-checked-style / CSS -ah-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 / CSS -ah-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 / CSS -ah-field-multiple

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

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

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

false

複数選択できません。

true

複数選択できます。

axf:field-editable / CSS -ah-field-editable

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

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

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

false

編集できません。

true

編集できます。

axf:field-lock-document / CSS -ah-field-lock-document

電子署名フィールドで、署名の時点で文書をロックするかどうかを指定します。

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

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

auto

PDFビューアは、ロックするかどうかダイアログなどのユーザインターフェイスを表示します。

false

署名の後で文書をロックしません。

true

署名の時点で文書をロックします。

PDF1.7以降のとき有効です。

<axf:form-field-option> / HTML <option>

Common Usage:

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

Areas:

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

Contents:

#PCDATA

axf:field-selected / CSS -ah-field-selected

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

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

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

false

何もしません。

true

最初の選択項目に指定します。

axf:field-selected="true" の指定は、axf:field-top-index の指定を上書きします。 複数の項目に指定があるときの動作は不定です。

フォームフィールド

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

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

テキストフィールド

テキストフィールドは 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 を持つラジオボタンとして識別されます。チェックが付けられるボタンは、その中で高々ひとつです。field-checked="true" が複数あったとしても、どれかひとつにしかチェックが付きません。

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

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

リストボックスフィールドは、field-type="listbox" で指定します。内容には、<axf:form-field-option> が必要です。空ではいけません。 <axf:form-field-option> は、リストの内容を表し、出現順序どおりにリストに並びます。<axf:form-field-option>field-value の値と、内容テキストのいずれもが空または空白文字であってはいけません。

<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-editable="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"
     width="40pt"
     height="50pt"
/>

組版時には、署名用の領域を確保することだけが行われます。署名フィールドは生成されません。署名フィールドの生成は、PDFを生成するときに行われます。

フォームアクション

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

axf:action-type は、外部リンクのために用意されていますが、フォームアクションでは、それよりも指定できる内容が増えています。

axf:action-type

フォームアクションの動作を指定します。

Value:auto | goto | gotor | launch | uri | reset | submit | javascript
Initial:auto
Applies to:axf:form-field
Inherited:no
Percentages:N/A

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

auto

システム既定値に依存します。外部リンクのための axf:action-type を参照してください。

goto

内部リンク先に "GoTo" アクションで移動します。

gotor

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

launch

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

uri

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

reset

フォームアクションとしてリセットを起こさせます。

submit

フォームアクションとしてサブミットを起こさせます。

javascript

JavaScript によるアクションを発生させます。この指定は、axf:form-field-event でのみ指定できます。 オプション設定ファイルallow-javascript="false" に設定されているときは無視されます。

リセット

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

<axf:form>
 <axf:form-field field-type="button" action-type="reset"/>
 <axf:form-field field-type="text" field-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" field-default-text="YYY"/>
 ...
</axf:form>

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

<axf:form-field field-type="button" internal-destination="IDREF" 
                                    action-type="goto"/>

action-typegoto を指定するか、省略します。 アクションは、ボタンを放したときに発生します。

外部リンクは次のように指定します。

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

action-type は、gotorlaunchuri のいずれでも構いません。

<axf:form-field-event> XSL-FO Samples Collectionフォームイベント

Common Usage:

イベントに対応したフォームアクションを定義します。

Areas:

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

Contents:
<!ELEMENT axf:form-field-event #PCDATA>
<!ATTLIST axf:form-field-event name        CDATA #REQUIRED>
<!ATTLIST axf:form-field-event action-type CDATA #REQUIRED>

<axf:form-field-event> 拡張要素は、<axf:form-field> の子要素に置くことができます。そのプロパティは nameaction-type で、いずれも必須です。name には、イベントの種類を以下のいずれかで指定します。大文字小文字は区別されません。

MouseUp

マウスボタンがフォームフィールド上で放されたときにアクションが発生します。

MouseDown

マウスボタンがフォームフィールド上で押されたときにアクションが発生します。

MouseEnter

マウスカーソルがフォームフィールドに入ったときにアクションが発生します。

MouseExit

マウスカーソルがフォームフィールドから出たときにアクションが発生します。

OnFocus

フォームフィールドがフォーカスを得たときにアクションが発生します。

OnBlur

フォームフィールドがフォーカスを失ったときにアクションが発生します。

<axf:form-field action-type> によるアクションは、MouseUp でのアクションです。 <axf:form-field-event name="MouseUp"> と両方指定したときは、<axf:form-field-event> の方が優先します。<axf:form-field-event> に同じイベントを複数指定したときは、どれが採用されるかは不定です。

action-type="javascript" のとき、内容文字列には JavaScriptプログラムを記述します。不正なプログラムを指定したときの動作は保証されません。 ただし、オプション設定ファイルallow-javascript="false" に設定されているときは無視されます。


レイヤ

Antenna House Formatter V7.4 は、PDF にレイヤを指定することができます。レイヤの指定は、PDF1.5以降のときのみ有効です。レイヤを作成することで、Adobe Acrobat または Reader で PDF を開いたときに表示と非表示を切り替えたり、特定の条件で表示と非表示が可変のコンテンツを作成したりすることができます。Antenna House Formatter V7.4 の GUI のレイヤウィンドウでもレイヤの表示を確認することができます。

axf:layer-settings / CSS -ah-layer-settings XSL-FO Samples CollectionPDF出力におけるレイヤ

レイヤを定義します。

Value: none | <layer-setting>#
Initial:none
Applies to:root element
Inherited:no
Percentages:N/A

<layer-setting> = <layer-name> [on | off]? [ intent [view | design] || view [on | off] || print [on | off] || export [on | off] || zoom <number> <number>? || lang <string> preferred? || locked ]?
<layer-name> = <string>

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

none

レイヤを定義しません。

<layer-setting>

カンマで区切りで複数のレイヤを定義することができます。 レイヤの定義で必須なのは <layer-name> です。他のパラメータは省略可能です。

<layer-name>

レイヤを識別する名前を指定します。on または off は、文書を開いたときのレイヤの初期状態を指定します。省略したときは on とみなされます。同じ名前が複数存在する場合、先に指定したものが優先されます。

intent

レイヤのインテントを指定します。view を指定するとレイヤの表示と非表示を切り替えることができます。design を指定すると切り替えができません。省略したときは view とみなされます。

view

レイヤの表示、非表示を指定します。on で文書を開いたときに表示、off で非表示になります。省略したときは on とみなされます。

print

レイヤを印刷するかどうかを指定します。on で印刷され、off では印刷されません。省略したときは on とみなされます。

export

PDF のビューアアプリケーションから PDF のレイヤをサポートするファイル形式へ書き出すとき、結果の文書にレイヤを含めるかどうかを指定します。on で含まれ、off では含まれません。省略したときは on とみなされます。

zoom

レイヤが表示される倍率の最小値と最大値を指定します。値をひとつだけ指定した場合は最小値とみなされます。負の値を指定することはできません。省略したときは無制限とみなされます。

lang

レイヤの言語を指定します。文書を開いたときPDFのビューアアプリケーションの言語と指定した lang が一致すればレイヤを表示します。preferred はビューアの言語と lang が部分的に一致したときにもレイヤを表示します。lang の文字列が有効か否かはPDFのビューアアプリケーションに依存します。

locked

レイヤをロックして編集を無効にします。locked は、PDF1.6以降で有効です。

PDF/X、PDF/A、PDF/UA では、viewprintexport の指定は無視されます。

axf:layer / CSS -ah-layer XSL-FO Samples CollectionPDF出力におけるレイヤ

エリアをどのレイヤに配置するかを指定します。

Value:none | <layer-name>
Initial:none
Applies to:formatting object that generates area
Inherited:yes
Percentages:N/A

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

none

エリアをレイヤに配置しません。

<layer-name>

axf:layer-settings で指定されている名前のレイヤにエリアを配置します。

axf:layer-settings にない名前を指定した場合、レイヤとして出力されません。


欧文組版のための拡張

Antenna House Formatter V7.4 は、欧文組版における約物前後の空白量を調整するための拡張を行っています。 CSSではこの機能をスタイルとして利用することはできませんが、オプション設定ファイル<space-end-punctuation> などの指定は有効です。

<axf:space-end-punctuation>XSL-FO Samples Collection欧文約物前後、約物と数字間の空白量の調整

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

<axf:space-start-punctuation>XSL-FO Samples Collection欧文約物前後、約物と数字間の空白量の調整

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

<axf:space-between-digit-and-punctuation>XSL-FO Samples Collection欧文約物前後、約物と数字間の空白量の調整

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

<axf:space-between-punctuation-and-digit>XSL-FO Samples Collection欧文約物前後、約物と数字間の空白量の調整

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

これらの拡張要素はいずれも空要素で、<fo:declarations> の直下に置くことができ、エリアを生成しません。<axf:space-between-digit-and-punctuation> または <axf:space-between-punctuation-and-digit> の指定が <axf:space-end-punctuation> または <axf:space-start-punctuation> の指定よりも優先されます。 以下のプロパティを指定することができます。

language

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

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

space

空白の量を指定します。負の場合、指定は無効です。

Value:<number> | <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-start-punctuation code="?" space="1 div 3" language="fr"/>
<axf:space-start-punctuation code="!" space="1 div 3" language="fr"/>
<axf:space-start-punctuation code=";" space="1 div 3" language="fr"/>
<axf:space-start-punctuation code=":" space="1 div 4" language="fr"/>
<axf:space-start-punctuation code="&#xBB;" space="1 div 4" language="fr"/>
<axf:space-end-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中での指定は、それを上書きします。


オプション設定情報の追加

Antenna House Formatter V7.4 は、文書内で利用するオプション設定情報を追加指定することができます。 CSSではこの機能を利用することはできません。

<axf:formatter-config>

Common Usage:

追加のオプション設定情報を指定します。この要素はエリアを生成しません。

Areas:

なし。

Constraints:
<!ELEMENT axf:formatter-config (%axs-settings;)*>
<!ATTLIST axf:formatter-config src CDATA #IMPLIED>

<axf:formatter-config> 拡張要素は、fo:declarations の直下にいくつでも置くことができます。

src プロパティはオプションで、外部にあるオプション設定ファイルを指定できます。これは、元の設定に対する追加指定となり、この文書中でだけ有効です。相対パスの場合は、base-uri相対になります。指定されたファイル中の %axs-settings; と同じ一部の要素が評価されます。

Contents:

%axs-settings; は、名前空間 http://www.antennahouse.com/​names/​XSL/​Settings に属する要素です。この名前空間には、オプション設定ファイルに含まれる要素が含まれますが、現在記述できるのは、次の要素とその子要素だけです。他の要素は無視されます。 また、初期化にかかわるものなど、一部の指定は無視されます。

  • <formatter-settings>
  • <pdf-settings>
  • <text-settings>
  • <svg-settings>
  • <ps-settings>
  • <mathml-settings>
  • <cgm-settings>
Examples:
<fo:declarations>
 <axf:formatter-config src="add-settings.xml"
  xmlns:axs="http://www.antennahouse.com/names/XSL/Settings">
  <axs:pdf-settings pdf-version="PDF1.6" tagged-pdf="true"/>
 </axf:formatter-config>
</fo:declarations>

この例では、追加のオプション設定ファイル add-settings.xml を指定し、さらに、PDFの設定を追加しています。

注意事項

通常、<axf:formatter-config>での追加設定が、次の文書の組版に影響することはありませんが、GUIで次を行ったときは、<axf:formatter-config>での追加設定が、デフォルトの設定に反映され、次の文書の組版に反映されます。

<axf:formatter-config>での追加設定情報は、エリアツリーには反映されません。

オプション設定ファイルaxf-formatter-config="false" が指定されているときは、<axf:formatter-config> の内容は無視されます。


トンボ

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

Printer Marks

axf:crop-offset / CSS -ah-crop-offset
axf:crop-offset-top / CSS -ah-crop-offset-top
axf:crop-offset-bottom / CSS -ah-crop-offset-bottom
axf:crop-offset-left / CSS -ah-crop-offset-left
axf:crop-offset-right / CSS -ah-crop-offset-right XSL-FO Samples Collectionトンボの描画

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

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

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

axf:crop-area-visibility / CSS -ah-crop-area-visibility

仕上がり寸法からはみ出した領域を表示するかどうか指定します。

Value:hidden | visible
Initial:hidden
Applies to:fo:simple-page-master / CSS @page
Inherited:no
Percentages:N/A

axf:crop-offsetで指定された余白にはみ出した領域を、仕上がり寸法の位置、塗り足しがあれば塗り足しの位置でクリップしてしまうか、はみ出して表示させるか指定します。

axf:bleed / CSS (-ah-)bleed
axf:bleed-top / CSS -ah-bleed-top
axf:bleed-bottom / CSS -ah-bleed-bottom
axf:bleed-left / CSS -ah-bleed-left
axf:bleed-right / CSS -ah-bleed-right XSL-FO Samples Collectionトンボの描画CSSページ組版入門bleed

裁ち落としのための塗り足しの領域の幅を指定します。 [CSS3-GCPM] Page marks and bleed area (bleed は、2014-05-13以降のGCPMから削除されています)

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

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

axf:printer-marks / CSS (-ah-)marks XSL-FO Samples Collectionトンボの描画内トンボ、センタートンボ、西洋トンボ

トンボなどの印刷マーク類を指定します。 [CSS3-GCPM] Page marks and bleed area (marks は、2014-05-13以降のGCPMから削除されています)

Value:[ [ crop | crop-trim ] || [ cross | cross-circle | cross-registration ] || <uri-specification>+ ] | none
Initial:none
Applies to:fo:simple-page-master / CSS @page
Inherited:no
Percentages:N/A

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

crop

コーナートンボを出力します。仕上がり寸法の位置と、塗り足しがあれば塗り足しの位置にトンボを出力します。仕上がり寸法と塗り足しの両方の位置にトンボを出力した場合は、日本式の内トンボ(crop marks)と外トンボ(bleed marks)をあわせたものになります。

crop-trim

仕上がり寸法の位置にのみコーナートンボを出力します(内トンボ)。

cross

十字のセンタートンボを出力します。

cross-circle

十字のセンタートンボに円を付けて出力します。

cross-registration

西洋トンボ(registration marks)を出力します。

<uri-specification>

SVGなどの画像を指定することにより、独自のトンボやカラーバーなどを出力することができます。URIは複数指定することができます。 画像は塗り足しの領域でクリップされます。クリップされないようにするには、axf:printer-marks-over-content="true" を指定してください。

axf:printer-marks-line-color / CSS -ah-printer-marks-line-color

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

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

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

axf:printer-marks-line-length / CSS -ah-printer-marks-line-length

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

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

ふたつ目の値を指定すると、トンボを塗り足しの領域にはみ出させることができます。塗り足しの領域の幅を超える値はその値に切り詰められます。省略したときは 0 とみなされます。 V7.4

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

axf:printer-marks-line-width / CSS -ah-printer-marks-line-width

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

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

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

axf:printer-marks-zero-margin / CSS -ah-printer-marks-zero-margin

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

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

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

axf:printer-marks-spine-width / CSS -ah-printer-marks-spine-width

見開きの背表紙の幅を指定します。

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

0pt より大きな値を指定したとき、版面が左右の見開きで組まれていると仮定し、背表紙部分のセンタートンボを背幅トンボとして出力します。

axf:printer-marks-over-content / CSS -ah-printer-marks-over-content V7.4 XSL-FO Samples Collectionトンボをページ内容の上に描く

トンボをページ内容の上に描くか指定します。

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

true を指定すると、トンボをページ内容の上に描くことができます。


印刷制御

axf:printer-bin-selection / CSS -ah-printer-bin-selection

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

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

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

axf:printer-duplex / CSS -ah-printer-duplex

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

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

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

  1. 片面印刷。
  2. 両面印刷。裏面は左右に開く。
  3. 両面印刷。裏面は上下に開く。

オプション設定ファイルSeparatePrinterDuplexJob も参照してください。

axf:overprint / CSS -ah-overprint XSL-FO Samples Collectionオーバープリント

オーバープリントを指定します。

Value:auto | <overprint>#
Initial:auto
Applies to:all formatting objects
Inherited:yes
Percentages:N/A

<overprint> = <opcolor> [[stroke || paint || [full | nonzero]] | none]?
<opcolor> = <color> | k100 | separation | all

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

auto

オプション設定ファイルoverprint の指定が採用されます。オプション設定ファイルoverprint="k100" と指定しておけば、FO中で何も指定しなくても、すべてのページで墨ノセが行われます。

<color>

オーバープリントを適用したい色を指定します。α値を持っている色には指定できません。

k100

rgb-icc(#CMYK,0,0,0,1) にオーバープリントを適用します。

separation

rgb-icc(#Separation) で示されるセパレーションカラーにオーバープリントを適用します。レジストレーションカラーは含まれません。

all

すべての色にオーバープリントを適用します。ただし、α値を持っている色には適用されません。

stroke

線の描画に対してオーバープリントを適用します。

paint

塗りの描画に対してオーバープリントを適用します。

full
nonzero

オーバープリントを適用するとき、カラー成分が0であるときの動作を指定します。full のときはそのカラー成分を 0 にし、nonzero のときはそのカラー成分を変更しません(色がないとみなされます)。CMYKのときにのみ効果があります。

none

オーバープリントを適用しません。

次のように

axf:overprint="<color>"

色だけ指定したときは、

axf:overprint="<color> stroke paint nonzero"

とみなされます。また、strokepaint も指定されていないときは、strokepaint が指定されているとみなされます。オーバープリントから除外したいときは none を指定してください。

axf:overprint="k100, rgb-icc(#CMYK,0,0,0,1) stroke full, all paint"

のようにある色が複数に解釈できるとき、次の順序で調べて最初にマッチした指定が採用されます。

  1. <color>
  2. k100
  3. separation
  4. all

オーバープリントの効果は、実際の印刷環境によって、背景色とオーバープリントを指定された前景色の関係でさまざまです。カラースペースによる代表的なオーバープリントの効果を次に示します。オプション設定ファイルcolor-conversion="all-cmyk" と指定されているときの RGB は CMYK となります。

前景(オーバープリントを指定)
CMYKSeparationRGBGrayscale
背景CMYK × ×
Separation
RGB × ×
Grayscale× × ×

オーバープリントに関する詳細は ISO 32000-1 または ISO 32000-2 の 4.5.6 Overprint Control を参照してください。


ページ制御の拡張

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:reverse-page / CSS -ah-reverse-page XSL-FO Samples Collectionページ番号の逆順振り、通しノンブル

ページを逆順に出力します。

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

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

true

ページを逆順で出力します。

false

ページを正順で出力します。

fo:page-sequence 内のページを逆順で出力するかどうかを指定します。この指定は、すべての出力先に対して有効というわけではありません。今のところ、PDF出力のときにのみ有効です。また、多分冊出力には対応していません。 CSSでは<html>要素にのみ指定できます。

force-page-count / CSS -ah-force-page-countCSSページ組版入門-ah-force-page-count

以下の太字の値が拡張されます。

Value:auto | even | odd | doubly-even | end-on-even | end-on-odd | end-on-doubly-even | even-document | odd-document | doubly-even-document | [ end-on | document ]? <number> <number>? | no-force

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

doubly-even

指定されたpage-sequenceのページ数を強制的に4の倍数にします。

end-on-doubly-even

指定されたpage-sequenceの最後のページ番号を強制的に4の倍数にします。

even-document

文書先頭から数えたページ数を強制的に偶数にします。

odd-document

文書先頭から数えたページ数を強制的に奇数にします。

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が指定されたときは文書先頭から数えたページ数が対象となります。 例を示します(5ページの内容があると仮定)。

  • 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" と等価です。
  • force-page-count="end-on 2"
    総ページ数6ページとなります。最後の1ページはブランクページです。
  • force-page-count="end-on 4"
    総ページ数8ページとなります。最後の3ページはブランクページです。
  • force-page-count="end-on 4 1"
    総ページ数5ページとなります。ブランクページはありません。
  • force-page-count="end-on 4 3"
    総ページ数7ページとなります。最後の2ページはブランクページです。
  • force-page-count="end-on 6 5"
    総ページ数5ページとなります。ブランクページはありません。
  • force-page-count="end-on 6 4"
    総ページ数10ページとなります。最後の5ページはブランクページです。

空の <fo:page-sequence> も参照してください。

CSSでは、@page に指定したときに評価されます。

odd-or-evenXSL-FO Samples Collection文書先頭から奇数、偶数ページのページマスタを指定

以下の太字の値が拡張されます。

Value: odd | even | odd-document | even-document | any

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

odd-document

文書先頭からのページ数が奇数の場合にページマスタが選択されます。

even-document

文書先頭からのページ数が偶数の場合にページマスタが選択されます。

page-positionXSL-FO Samples Collectionページの最初、最後などのページマスタを指定出現順序を指定したページマスタ

以下の太字の値が拡張されます。

Value: only | first | last | rest | any | second | <An+B>

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

second

2ページ目(first の次のページ)。

<An+B>

CSSの :nth() と同じ形式の値を指定できます。

size / CSS (-ah-)sizeCSSページ組版入門size

以下の太字の値が拡張されます。 [CSS3-Page] Page size: the ‘size’ property

Value: <length>{1,2} | auto | [ <paper-name> || [ portrait | landscape] ]

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

auto

オプション設定ファイルdefault-page-width×default-page-height のサイズとなります。

<paper-name>

用紙の名前を指定します。 以下が指定できます。大文字小文字は区別されません。

<paper-name>横×縦
A3297×420mmISO 216
A4210×297mmISO 216
A5148×210mmISO 216
A6105×148mmISO 216
B4250×353mmISO 216
ISO-B4
JIS-B4257×364mmJIS P 0138
B5176×250mmISO 216
ISO-B5
JIS-B5182×257mmJIS P 0138
B6125×176mmISO 216
ISO-B6
JIS-B6128×182mmJIS P 0138
Letter8.5×11inNorth American Paper Sizes
Government-Letter8×10.5inNorth American Paper Sizes
Legal8.5×14inNorth American Paper Sizes
Ledger17×11inNorth American Paper Sizes
Tabloid11×17inNorth American Paper Sizes
Statement5.5×8.5in
Executive7.25×10.5in
Folio210×330mm
C 17×22inANSI Paper Sizes
D 22×34inANSI Paper Sizes
E 34×44inANSI Paper Sizes
ISO-DL 110×220mmISO 269
ISO-C3 324×458mmISO 269
ISO-C4 229×324mmISO 269
ISO-C5 162×229mmISO 269
ISO-C6 114×162mmISO 269
Hagaki 100×148mm日本郵便

CSS @page CSSページ組版入門@page

CSS仕様で @page に指定できるページセレクタは :blank :first :left :right :nth() だけですが、Antenna House Formatter V7.4では、XSL-FOの <fo:conditional-page-master-reference> で指定できるものを含めて以下が指定できます。 [CSS3-Page] Page selectors

  • :blank :not-blank
  • :first :last :only :rest
  • :left :right :odd :even :recto :verso
  • :nth()

[CSS3-Page] で定義されているページセレクタの詳細度には、:nth() は含まれていず、拡張された :only なども含まれていません。そこで、Antenna House Formatter V7.4は、詳細度を次のように実装しています。

  1. <page-type-name>
  2. :blank
  3. :only
  4. :first :last
  5. :left :right :odd :even :recto :verso :nth()
  6. :rest
  7. :not-blank

次のような調整が行われます。

  • :first:last:only とみなされます。
  • :only が指定されているとき :first:last の指定は捨てられます。

また、例えば @page :left:right のように、矛盾する指定をしてもエラーにはなりませんが、そのような @page は採用されないでしょう。

break-after / CSS (-ah-)break-after
break-before / CSS (-ah-)break-before XSL-FO Samples Collection改ページ時の残り領域の高さを指定文書先頭から数えて偶数または奇数ページで改ページする

以下の太字の値が拡張されます。 [CSS3-Multicol] ‘break-before’, ‘break-after’, ‘break-inside’

Value: auto | column | page | even-page | odd-page | even-document | odd-document (XSL)
auto | always | page | column | avoid | avoid-page | avoid-column | left | right | even-document | odd-document (CSS)

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

even-document

文書先頭から数えて偶数ページに改ページします。

odd-document

文書先頭から数えて奇数ページに改ページします。

axf:break-distance も参照してください。

axf:break-distance / CSS -ah-break-distance XSL-FO Samples Collection改ページ時の残り領域の高さを指定

break-afterbreak-beforeの有効な高さを指定します。

Value:always | <length> | <percentage>
Initial:always
Applies to:block-level formatting objects
Inherited:no
Percentages:refer to the height of containing block

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

always

常にbreak-afterbreak-beforeが有効です。

<length> | <percentage>

指定された高さより残り領域の高さが少ないとき、break-afterbreak-beforeが有効となります。


ブロックの拡張

axf:suppress-if-first-on-page / CSS -ah-suppress-if-first-on-page

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

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

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

false

何もしません。

true

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

unless

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

変形

axf:transform / CSS (-ah-)transform XSL-FO Samples Collectionブロックの変形

ブロックの変形を指定します。 [CSS3-Transforms] The ‘transform’ Property

Value: none | <transform-function>+
Initial:none
Applies to:transformable objects
Inherited:no
Percentages:N/A

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

none

変形を行いません。

<transform-function>

指定された変形を行います。以下の変形を指定できます。

  • matrix(<number>, <number>, <number>, <number>, <number>, <number>)
  • translate(<translation-value>[, <translation-value>])
  • translateX(<translation-value>)
  • translateY(<translation-value>)
  • scale(<number>[, <number>])
  • scaleX(<number>)
  • scaleY(<number>)
  • rotate(<angle>)
  • skew(<angle>[, <angle>])
  • skewX(<angle>)
  • skewY(<angle>)

axf:transform-origin / CSS (-ah-)transform-origin XSL-FO Samples Collectionブロックの変形

ブロックの変形の基点を指定します。 [CSS3-Transforms] The ‘transform-origin’ Property

Value: [ <percentage> | <length> | left | center | right | top | bottom] | [ [ <percentage> | <length> | left | center | right ] && [ <percentage> | <length> | top | center | bottom ] ]
Initial:center center
Applies to:transformable objects
Inherited:no
Percentages:refer to the size of the bounding box

行グリッド

axf:baseline-grid / CSS -ah-baseline-grid XSL-FO Samples Collectionタイトルをテキストブロックの上部に揃える行グリッド

行グリッドを設定または解除します。

Value:normal | none | root | new
Initial:normal
Applies to:block-level formatting objects, fo:page-sequence, fo:flow and fo:static-content / block containers
Inherited:yes
Percentages:N/A

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

normal

行グリッドを新たに設定することも解除することもしません。

none

行グリッドを解除します。コンテンツは行グリッド揃えしません。

root

ルート要素で定義される行グリッドを設定します。ルート要素のfontline-height設定が行グリッドの設定に利用されます。

new

新しい行グリッドを設定します。この要素のfontline-height設定が行グリッドの設定に利用されます。

行グリッドが設定された領域内での行の配置は、行グリッドで設定されるベースライン位置に揃えられます。先頭の行の前側と最後の行の後側には半行間のアキは入らず、仮想ボディ(em-box)の端が領域の内容領域の端に揃うようになります。

display-alignauto以外の値が指定された領域内では行グリッドは無効です。

HTML+CSSで行グリッドを使用する例:

:root {
  font-size: 10pt;
  line-height: 18pt;
  font-family: "Yu Mincho", serif;
}

@page {
  size: 128mm 188mm;
  margin: auto;
  width: 28rem;
  height: calc(24rlh - (1rlh - 1rem));
}

body {
  -ah-baseline-grid: root;
}

h1 {
  -ah-baseline-grid: new;
  -ah-baseline-block-snap: center;
  font-size: 16pt;
  line-height: 20pt;
  margin-top: 16pt;
  margin-bottom: 16pt;
}

figure {
  -ah-baseline-grid: none;
  -ah-baseline-block-snap: auto;
}

XSL-FOで行グリッドを使用する例:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
         font-size="10pt" line-height="18pt" font-family="Yu Mincho, serif">
  ...
  <fo:page-sequence master-reference="master">
    <fo:flow flow-name="xsl-region-body" axf:baseline-grid="root">
      <fo:block axf:baseline-grid="new" axf:baseline-block-snap="center"
          font-size="16pt" line-height="20pt" space-before="16pt" space-after="16pt">
        Heading ...
      </fo:block>
      <fo:block>The quick brown fox jumps ...</fo:block>
      ...
      <fo:block axf:baseline-grid="none" axf:baseline-block-snap="auto">
         Figure ...
      </fo:block>
      ...
    </fo:flow>
  </fo:page-sequence>
</fo:root>

axf:baseline-block-snap / CSS -ah-baseline-block-snap XSL-FO Samples Collectionタイトルをテキストブロックの上部に揃える行グリッド

ブロックを行グリッドにどのように揃えるかを指定します。

Value:none | [auto | before | after | center] || [border-box | margin-box]
Initial:auto border-box
Applies to:block-level elements
Inherited:no
Percentages:N/A

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

none

ブロックを行グリッドに揃えません。

auto

段の先頭ではbefore、最後ではafter、それ以外ではcenterと同じです。

before

ブロックの前側を行グリッド上の上端(text-before-edge)ラインに揃えます。

after

ブロックの後側を行グリッド上の下端(text-after-edge)ラインに揃えます。

center

ブロックを行グリッド上の上端(text-before-edge)ラインと下端(text-after-edge)ラインの間で中央寄せします。

border-box

ブロックを行グリッドに配置するのにボーダーボックスの端を使います。

margin-box

ブロックを行グリッドに配置するのにマージンボックスの端を使います。

このプロパティは通常の行以外のブロック(見出しや図表)をどう行グリッドに配置するかを指定します。

baseline-block-snap

使用方法は axf:baseline-grid を参照してください。


行分割

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

axf:line-break / CSS (-ah-)line-breakXSL-FO Samples CollectionBreaking Paragraphs into Lines (BPIL)行頭禁則和字の扱い

行分割の方法を指定します。 [CSS3-Text] Breaking Rules for Punctuation: the ‘line-break’ property

Value: auto | [[normal | strict | loose | anywhere] || [line | bpil]]
Initial: auto
Applies to:all block-level formatting objects
Inherited:yes
Percentages:N/A

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

auto

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

normal

CJKのNonstarter文字のうち、JIS X 4051:2004 での行頭禁則和字の禁則処理をしません。 下の一覧の [NS] の文字が処理されます。

strict

CJKのNonstarter文字を禁則処理します。 下の一覧の [NS][JIS] の文字が処理されます。

line

行分割を1行ずつ逐次分割する単純なアルゴリズムで行います。

bpil

行分割を Knuth-Plass の Breaking Paragraphs into Lines の行分割アルゴリズムに従って行います。このとき、オプション設定ファイルbpil の指定は無視されます。条件によってこのアルゴリズムが適用できない場合があります。技術的資料行分割を参照してください。

normalstrict も指定されていないときは normal が指定されているとみなされます。linebpil も指定されていないときは、オプション設定ファイルbpil の指定により、アルゴリズムが選択されます。詳しくは、技術的資料行分割を参照してください。

CJKのNonstarter文字以外の行分割は UAX#14: Line Breaking Properties に従います。このとき axf:append-non-starter-charactersaxf:except-non-starter-charactersaxf:append-non-end-of-line-charactersaxf:except-non-end-of-line-characters で指定された文字も考慮されます。

CJKでのNonstarter文字は以下のとおりです。

U+203CDOUBLE EXCLAMATION MARK [NS]
U+203DINTERROBANG [NS]
U+2047DOUBLE QUESTION MARK [NS]
U+2048QUESTION EXCLAMATION MARK [NS]
U+2049EXCLAMATION QUESTION MARK [NS]
U+3005IDEOGRAPHIC ITERATION MARK [NS] [JIS]
U+301CWAVE DASH [NS]
U+303BVERTICAL IDEOGRAPHIC ITERATION MARK [NS] [JIS]
U+303CMASU MARK [NS]
U+3041HIRAGANA LETTER SMALL A [JIS]
U+3043HIRAGANA LETTER SMALL I [JIS]
U+3045HIRAGANA LETTER SMALL U [JIS]
U+3047HIRAGANA LETTER SMALL E [JIS]
U+3049HIRAGANA LETTER SMALL O [JIS]
U+3063HIRAGANA LETTER SMALL TU [JIS]
U+3083HIRAGANA LETTER SMALL YA [JIS]
U+3085HIRAGANA LETTER SMALL YU [JIS]
U+3087HIRAGANA LETTER SMALL YO [JIS]
U+308EHIRAGANA LETTER SMALL WA [JIS]
U+3095HIRAGANA LETTER SMALL KA [JIS]
U+3096HIRAGANA LETTER SMALL KE [JIS]
U+309BKATAKANA-HIRAGANA VOICED SOUND MARK [NS]
U+309CKATAKANA-HIRAGANA SEMI-VOICED SOUND MARK [NS]
U+309DHIRAGANA ITERATION MARK [NS] [JIS]
U+309EHIRAGANA VOICED ITERATION MARK [NS] [JIS]
U+30A0KATAKANA-HIRAGANA DOUBLE HYPHEN [NS]
U+30A1KATAKANA LETTER SMALL A [JIS]
U+30A3KATAKANA LETTER SMALL I [JIS]
U+30A5KATAKANA LETTER SMALL U [JIS]
U+30A7KATAKANA LETTER SMALL E [JIS]
U+30A9KATAKANA LETTER SMALL O [JIS]
U+30C3KATAKANA LETTER SMALL TU [JIS]
U+30E3KATAKANA LETTER SMALL YA [JIS]
U+30E5KATAKANA LETTER SMALL YU [JIS]
U+30E7KATAKANA LETTER SMALL YO [JIS]
U+30EEKATAKANA LETTER SMALL WA [JIS]
U+30F5KATAKANA LETTER SMALL KA [JIS]
U+30F6KATAKANA LETTER SMALL KE [JIS]
U+30FBKATAKANA MIDDLE DOT [NS]
U+30FCKATAKANA-HIRAGANA PROLONGED SOUND MARK [JIS]
U+30FDKATAKANA ITERATION MARK [NS] [JIS]
U+30FEKATAKANA VOICED ITERATION MARK [NS] [JIS]
U+31F0KATAKANA LETTER SMALL KU [JIS]
U+31F1KATAKANA LETTER SMALL SI [JIS]
U+31F2KATAKANA LETTER SMALL SU [JIS]
U+31F3KATAKANA LETTER SMALL TO [JIS]
U+31F4KATAKANA LETTER SMALL NU [JIS]
U+31F5KATAKANA LETTER SMALL HA [JIS]
U+31F6KATAKANA LETTER SMALL HI [JIS]
U+31F7KATAKANA LETTER SMALL HU [JIS]
U+31F8KATAKANA LETTER SMALL HE [JIS]
U+31F9KATAKANA LETTER SMALL HO [JIS]
U+31FAKATAKANA LETTER SMALL MU [JIS]
U+31FBKATAKANA LETTER SMALL RA [JIS]
U+31FCKATAKANA LETTER SMALL RI [JIS]
U+31FDKATAKANA LETTER SMALL RU [JIS]
U+31FEKATAKANA LETTER SMALL RE [JIS]
U+31FFKATAKANA LETTER SMALL RO [JIS]
U+FE54SMALL SEMICOLON [NS]
U+FE55SMALL COLON [NS]
U+FF1AFULLWIDTH COLON [NS]
U+FF1BFULLWIDTH SEMICOLON [NS]
U+FF65HALFWIDTH KATAKANA MIDDLE DOT [NS]
U+FF67HALFWIDTH KATAKANA LETTER SMALL A [JIS]
U+FF68HALFWIDTH KATAKANA LETTER SMALL I [JIS]
U+FF69HALFWIDTH KATAKANA LETTER SMALL U [JIS]
U+FF6AHALFWIDTH KATAKANA LETTER SMALL E [JIS]
U+FF6BHALFWIDTH KATAKANA LETTER SMALL O [JIS]
U+FF6CHALFWIDTH KATAKANA LETTER SMALL YA [JIS]
U+FF6DHALFWIDTH KATAKANA LETTER SMALL YU [JIS]
U+FF6EHALFWIDTH KATAKANA LETTER SMALL YO [JIS]
U+FF6FHALFWIDTH KATAKANA LETTER SMALL TU [JIS]
U+FF70HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK [JIS]
U+FF9EHALFWIDTH KATAKANA VOICED SOUND MARK [NS]
U+FF9FHALFWIDTH KATAKANA SEMI-VOICED SOUND MARK [NS]

[NS]Line Break Properties で NS に分類される文字、[JIS] は JIS X 4051:2004 で行頭禁則和字に分類される文字です。

axf:append-non-starter-characters / CSS -ah-append-non-starter-characters

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

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

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

axf:except-non-starter-characters / CSS -ah-except-non-starter-characters

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

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

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

axf:append-non-end-of-line-characters / CSS -ah-append-non-end-of-line-characters

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

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

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

axf:except-non-end-of-line-characters / CSS -ah-except-non-end-of-line-characters

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

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

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

axf:word-break / CSS (-ah-)word-break

単語の途中でも行分割可能にするかどうかを指定します。 [CSS3-Text] Breaking Rules for Letters: the ‘word-break’ property

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

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

normal

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

keep-all

単語内で分割しません。ここでの単語とは、Unicode の次のカテゴリ(General Category)で構成される文字列です。

  • Letter
  • Mark
  • Number

これら以外の文字との境界で分割するかどうかは、通常の行分割の規則に従います。 また、hyphenate="true" は無視されます。

break-all

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

  • Latn
  • Cyrl
  • Grek
  • Zyyy

axf:word-wrap="normal" は無視されます。

keep-non-spaces

空白以外の文字間で分割しません。

axf:text-orientation="upright" によって正立させられた単語中では、常に axf:word-break="break-all" とみなされます。

axf:word-wrap / CSS (-ah-)word-wrap

行分割できないとき、無理やり分割するかどうかを指定します。 [CSS3-Text] Overflow Wrapping: the overflow-wrap/word-wrap property

Value:normal | break-word | break-spaces
Initial:break-word (XSL) / normal (CSS)
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

normal

無理やり分割しません。テキストは領域をあふれるでしょう。

break-word

どこか適当な場所で無理やり分割します。

axf:url-break / CSS -ah-url-break V7.4

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

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

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

normal

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

chicago

テキスト中のURLのような部分文字列に対して、The Chicago Manual of Style のように行分割します。すなわち、以下の規則に従います。

  • ハイフネーション禁止にします。
  • https:// のようなスキーム部分を分割禁止にします。
  • スキーム以降の次の文字の前で分割可、後ろで分割禁止にします。
    # % , - . / ? _ ~
  • スキーム以降の次の文字の前後で分割可にします。
    & =
  • これ以外は通常の行分割規則に従います。

以下の場合は機能しません。

  • wrap-option="no-wrap" などで分割禁止のとき
  • word-break="break-all" のとき

axf:abbreviation-character-count / CSS -ah-abbreviation-character-countXSL-FO Samples Collection略語とみなす最大文字数と行分割制御

略語とみなす最大文字数を指定します。

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

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

auto

オプション設定ファイルabbreviation-character-count の指定が採用されます。

<number>

略語とみなす文字数を指定します。

axf:abbreviation-character-count は、U+002F / で区切られた略語の行分割を制御します。通常、/ の直後は行分割の対象であるため、km/h や w/o などで行分割が起こり得ます。これは好ましいとは言えません。UAX#14: Line Breaking Properties にも、このような場合に分割しないように書かれています。 Antenna House Formatter V7.4 では、/ の後の語が axf:abbreviation-character-count で指定された文字数以下のときは略語とみなして行分割を行いません。また、/ 直後の語に対しては、axf:abbreviation-character-count 以下でのハイフネーションも行いません。略語とみなされるのは、文字列が次のスクリプトのときだけです。

  • Latn
  • Cyrl
  • Grek
  • Zyyy

axf:abbreviation-character-count は、0以上の整数でなければなりません。0 のときは、略語に関する制御を行いません。また、分割位置が見つからずにオーバーフローしてしまうようなときは、/ の直後で強制的に分割されることがあります。 10を越える文字数のときは 10とみなされます。

axf:quotetype XSL-FO Samples Collection引用符の向きを指定

引用符の向きを指定します。

Value:QU | OP | CL
Initial:empty
Applies to:fo:character
Inherited:no
Percentages:N/A

値の意味は以下のとおりです。大文字小文字は区別されません。

QU

向きのない引用符とみなします。

OP

開き引用符とみなします。

CL

閉じ引用符とみなします。

U+0022 のような向きのない引用符に対して、次のように明示的に向きを指定して、適切な行分割を促します。

Lorem
<fo:character character="&#x22;" axf:quotetype="OP"/>ipsum<fo:character character="&#x22;" axf:quotetype="CL"/>
dolor sit amet,

引用符以外の文字に指定しても無効です。 引用符の扱いについては技術的資料引用符を参照してください。指定のないときはその設定に従います。


ハイフネーションの拡張

Antenna House Formatter V7.4 は、ハイフネーションのための拡張を行っています。

hyphenate XSL-FO Samples Collectionハイフネーション処理と SOFT HYPHEN大文字からなる語のハイフネーション処理

以下の太字の値が拡張されます。

Value:none | false | true

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

none

辞書によるハイフネーションも、SOFT HYPHEN(U+00AD)でのハイフネーションも行いません。 CSS の hyphens:none に対応します。

false

辞書によるハイフネーションは行いませんが、SOFT HYPHEN(U+00AD)でのハイフネーションは行います。 CSS の hyphens:manual に対応します。

true

辞書によるハイフネーションと、SOFT HYPHEN(U+00AD)でのハイフネーションを行います。 CSS の hyphens:auto に対応します。

ハイフネーション を参照してください。

hyphenation-push-character-count

以下の太字の値が拡張されます。

Value:<number> | auto

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

auto

ハイフネーション例外辞書<hyphen-min>after が指定されていればその値となります。指定されていないときは 2 となります。

CSSでは、(-ah-)hyphenate-after が対応します。

hyphenation-remain-character-count

以下の太字の値が拡張されます。

Value:<number> | auto

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

auto

ハイフネーション例外辞書<hyphen-min before>before が指定されていればその値となります。指定されていないときは 2 となります。

CSSでは、(-ah-)hyphenate-before が対応します。

axf:hyphenation-minimum-character-count / CSS -ah-hyphenation-minimum-character-countXSL-FO Samples Collectionハイフネーションする文字数と範囲

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

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

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

axf:hyphenation-zone / CSS -ah-hyphenation-zoneXSL-FO Samples Collectionハイフネーションする文字数と範囲

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

Value:none | <length> | <percentage>
Initial:none
Applies to:fo:block
Inherited:yes
Percentages:refer to the width of containing block

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

none

何も制限しません。

<length>

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

axf:hyphenate-hyphenated-word / CSS -ah-hyphenate-hyphenated-wordXSL-FO Samples Collectionハイフン付き単語のハイフネーション処理

すでにハイフン付けされている語をハイフネーションするかどうかを指定します。

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

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

true

ハイフネーションします。

false

ハイフネーションしません。ハイフンの位置でのみ行分割の可能性があります。

ハイフン付けされているとみなされるハイフンは、次のいずれかです。

U+002DHYPHEN-MINUS
U+2010HYPHEN
U+2011NON-BREAKING HYPHEN

hyphenate="true" のときに有効です。

axf:hyphenate-caps-word / CSS -ah-hyphenate-caps-wordXSL-FO Samples Collection大文字からなる語のハイフネーション処理

大文字からなる語をハイフネーションするかどうかを指定します。

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

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

true

ハイフネーションします。

false

すべてが大文字である単語はハイフネーションしません。先頭文字のみ大文字の単語のように、すべてが大文字でない単語はハイフネーションします。

false-all

先頭文字が大文字の単語はすべてハイフネーションしません。

ハイフンの含まれる ANTENNA-HOUSE のようなものは、複数の単語とみなされます。ハイフンの位置で行分割の可能性があります。 small-caps 処理された文字でも、元の文字が小文字なら小文字とみなされます。 hyphenate="true" のときに有効です。

axf:double-hyphen-translineation / CSS -ah-double-hyphen-translineation V7.4

ハイフンの位置での行分割でハイフンを行頭にも置くかどうか指定します。

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

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

auto

オプション設定ファイルの double-hyphen-translineation で指定された言語のとき true として動作します。

true

ハイフンの位置で行分割が起こったとき行頭にもハイフンを置きます。

false

ハイフンの位置で行分割が起こったとき行頭にハイフンを置きません。

hyphenate="true" のときに有効です。

CSS (-ah-)hyphenate-afterCSSページ組版入門hyphenate-after

[CSS3-GCPM] Hyphenate properties (hyphenate-after は、2011-11-29以降のGCPMから削除されています)

Value:<integer> | auto
Initial:auto
Applies to:all elements
Inherited:yes
Percentages:N/A

 [XSL 1.1] hyphenation-push-character-count, hyphenation-push-character-count

CSS (-ah-)hyphenate-beforeCSSページ組版入門hyphenate-before

[CSS3-GCPM] Hyphenate properties (hyphenate-before は、2011-11-29以降のGCPMから削除されています)

Value:<integer> | auto
Initial:auto
Applies to:all elements
Inherited:yes
Percentages:N/A

 [XSL 1.1] hyphenation-remain-character-count, hyphenation-remain-character-count

CSS (-ah-)hyphenate-character

[CSS3-GCPM] Hyphenate properties (hyphenate-character は、2011-11-29以降のGCPMから削除されています)

Value:auto | <string>
Initial:auto
Applies to:all elements
Inherited:yes
Percentages:N/A

 [XSL 1.1] hyphenation-character

CSS (-ah-)hyphenate-lines

[CSS3-GCPM] Hyphenate properties (hyphenate-lines は、2011-11-29以降のGCPMから削除されています)

Value:no-limit | <integer>
Initial:no-limit
Applies to:all elements
Inherited:yes
Percentages:N/A

 [XSL 1.1] hyphenation-ladder-count

CSS (-ah-)hyphensCSSページ組版入門hyphens

[CSS3-Text] Hyphenation Control: the ‘hyphens’ property

Value:none | manual | auto
Initial:manual
Applies to:all elements
Inherited:yes
Percentages:N/A

 [XSL 1.1] hyphenate

<axf:hyphenation-info> XSL-FO Samples Collectionハイフネーション情報の追加

Common Usage:

追加のハイフネーション情報を指定します。この要素はエリアを生成しません。 CSSではこの機能を利用することはできません。

Areas:

なし。

Constraints:
<!ELEMENT axf:hyphenation-info (%axh-elements;)*>
<!ATTLIST axf:hyphenation-info language CDATA #REQUIRED>
<!ATTLIST axf:hyphenation-info src      CDATA #IMPLIED>

<axf:hyphenation-info> 拡張要素は、<fo:declarations> の直下にいくつでも置くことができます。

language プロパティは必須で、この要素をどの言語に関連付けるかを示します。もともとハイフネーションできない言語を指定しても、ハイフネーションができるようになるわけではありません。指定できる言語についてはハイフネーションを参照してください。

src プロパティはオプションで、外部にある例外辞書を指定できます。これは、元の辞書に対する追加指定となり、このFO中でだけ有効です。元の辞書のように、ファイル名に言語依存性の制約はありません。相対パスの場合は、base-uri相対になります。環境変数のハイフネーション辞書パス相対ではありません。 指定された辞書中の<exceptions>が評価されます。同じ綴りの単語が複数登録されていた場合は、後から登録されている単語の情報が有効となります。

Contents:

%axh-elements; は、名前空間 http://www.antennahouse.com/​names/​XSL/​Hyphenations に属する要素です。この名前空間には、ハイフネーション例外辞書に含まれる要素が含まれますが、現在記述できるのは、<exceptions>(およびその子である<hyphen>)だけです。

Examples:
<fo:declarations>
 <axf:hyphenation-info language="eng" src="en-add.xml"
  xmlns:axh="http://www.antennahouse.com/names/XSL/Hyphenations">
  <axh:exceptions>
  abc-defg
  </axh:exceptions>
 </axf:hyphenation-info>
</fo:declarations>

この例では、英語に対して、追加の例外辞書 en-add.xml を指定し、さらに、abcdefg という単語に対して例外のハイフネーションが指定してあります。

SOFT HYPHEN の扱い

通常、SOFT HYPHEN(U+00AD)は、行分割しなかったときは表示せず、行分割した場合は表示されます。しかし、この処理では、Unicodeでないシンボルフォントを使用した場合、U+00AD に割り当てられたグリフが印字されない場合が発生してしまいます。 Antenna House Formatter V7.4 では、axf:soft-hyphen-treatment によってこの問題を回避することができます。

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

axf:soft-hyphen-treatment / CSS -ah-soft-hyphen-treatment

SOFT HYPHEN の扱いを指定します。

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

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

auto

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

preserve

SOFT HYPHEN は削除されず、対応するグリフが出力されます。 ハイフネーションはされなくなります。

SOFT HYPHEN を参照してください。


詰めとぶら下げ

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

axf:punctuation-trim / CSS (-ah-)punctuation-trimXSL-FO Samples Collection全角約物の詰め処理CSSページ組版入門punctuation-trim

日本語で、全角約物の詰め処理をするかどうかを指定します。 [CSS3-Text] Fullwidth Punctuation Kerning: the ‘punctuation-trim’ property (punctuation-trim は、名前の変遷などを経て、2012-01-19以降のCSS3-Textから削除されています)

Value: [ none | auto | all | [ [ start | start-except-first ] || [ end | allow-end | end-except-fullstop ] || adjacent ] ] || <string>
Initial:auto
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

none

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

start

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

start-except-first

start と同じですが、先頭の行や強制改行直後の行を除きます。

end

text-align="right" または text-align="justify"(または text-align-last="justify") のとき、全角約物(閉じ括弧など)が行末に位置した場合、その文字は強制的に半角に扱います。

allow-end

text-align="right" または text-align="justify"(または text-align-last="justify") のとき、全角約物(閉じ括弧など)が行末に位置した場合、行に収まるときは全角のままとし、収まらないときは半角に扱います。

end-except-fullstop

end と同じですが、次の2文字を除外します。

U+3002IDEOGRAPHIC FULL STOP
U+FF0EFULLWIDTH FULL STOP

adjacent

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

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

全角句読点は全角閉じ括弧と同様に扱われます。 adjacent は、XSL Formatter V4 での axf:kerning-mode="contextual" に相当します。

all

全角の括弧類、中点類、句読点類をすべて詰めて半角扱いにします。

<string>

<string> と他のキーワードが併記できます。<string> だけの指定は <string> none と等価です。<string> で指定した文字列と他のキーワードで指定された文字が半角扱いされます。

auto

システムの既定値に依存します。 オプション設定ファイルpunctuation-trim によって、none または start end adjacent とみなされます。

axf:punctuation-trim で処理される全角開き括弧は以下のとおりです。

U+2018LEFT SINGLE QUOTATION MARK
U+201CLEFT DOUBLE QUOTATION MARK
U+3008LEFT ANGLE BRACKET
U+300ALEFT DOUBLE ANGLE BRACKET
U+300CLEFT CORNER BRACKET
U+300ELEFT WHITE CORNER BRACKET
U+3010LEFT BLACK LENTICULAR BRACKET
U+3014LEFT TORTOISE SHELL BRACKET
U+3016LEFT WHITE LENTICULAR BRACKET
U+3018LEFT WHITE TORTOISE SHELL BRACKET
U+301ALEFT WHITE SQUARE BRACKET
U+301DREVERSED DOUBLE PRIME QUOTATION MARK
U+FF08FULLWIDTH LEFT PARENTHESIS
U+FF3BFULLWIDTH LEFT SQUARE BRACKET
U+FF5BFULLWIDTH LEFT CURLY BRACKET
U+FF5FFULLWIDTH LEFT WHITE PARENTHESIS  

axf:punctuation-trim で処理される全角閉じ括弧は以下のとおりです。

U+2019RIGHT SINGLE QUOTATION MARK
U+201DRIGHT DOUBLE QUOTATION MARK
U+3009RIGHT ANGLE BRACKET
U+300BRIGHT DOUBLE ANGLE BRACKET
U+300DRIGHT CORNER BRACKET
U+300FRIGHT WHITE CORNER BRACKET
U+3011RIGHT BLACK LENTICULAR BRACKET
U+3015RIGHT TORTOISE SHELL BRACKET
U+3017RIGHT WHITE LENTICULAR BRACKET
U+3019RIGHT WHITE TORTOISE SHELL BRACKET
U+301BRIGHT WHITE SQUARE BRACKET
U+301EDOUBLE PRIME QUOTATION MARK
U+301FLOW DOUBLE PRIME QUOTATION MARK
U+FF09FULLWIDTH RIGHT PARENTHESIS
U+FF3DFULLWIDTH RIGHT SQUARE BRACKET
U+FF5DFULLWIDTH RIGHT CURLY BRACKET
U+FF60FULLWIDTH RIGHT WHITE PARENTHESIS  

axf:punctuation-trim で処理される全角句読点は以下のとおりです。

U+3001IDEOGRAPHIC COMMA
U+3002IDEOGRAPHIC FULL STOP
U+FF0CFULLWIDTH COMMA
U+FF0EFULLWIDTH FULL STOP

axf:punctuation-trim で処理される全角中点類は以下のとおりです。

U+30FBKATAKANA MIDDLE DOT
U+FF1AFULLWIDTH COLON
U+FF1BFULLWIDTH SEMICOLON

axf:punctuation-trim は、プロポーショナルフォントには影響しません。 また、glyph-orientation-*auto 以外が指定されているときは常に none とみなされます。

axf:text-justify-trim / CSS (-ah-)text-justify-trimXSL-FO Samples Collection行末での追い込み

追い込みの処理方法を指定します。 [CSS3-Text] Additional compression: The 'text-justify-trim' property (text-justify-trim は、2005-06-27以降のCSS3-Textから削除されています)

Value:none | [ punctuation || punctuation-except-fullstop || punctuation-except-middledot || [ kana | ideograph ] || inter-word ] | auto
Initial:auto
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

none

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

punctuation

日本語で、全角の括弧類、中点類、句読点類を詰めの対象として追い込み処理をします。

punctuation-except-fullstop

punctuation と同じですが、次の2文字を除外します。

U+3002IDEOGRAPHIC FULL STOP
U+FF0EFULLWIDTH FULL STOP

punctuation-except-middledot

punctuation と同じですが、次の中点類を除外します。

U+30FBKATAKANA MIDDLE DOT
U+FF1AFULLWIDTH COLON
U+FF1BFULLWIDTH SEMICOLON

kana

ひらがな、カタカナを多少詰めて追い込み処理をします。

ideograph

漢字やかなの間を詰めの対象として追い込み処理をします。

inter-word

欧文単語間のスペースを詰めの対象として追い込み処理をします。

auto

システムの既定値に依存します。これは、オプション設定ファイルpunctuation-trimtext-justify-mode で指定されている値です。ただし、axf:avoid-widow-words が有効なときは、ideograph inter-word とみなされます。

指定された詰めを行って、行に入るだけ文字を追い込みます。 axf:punctuation-trim="all" などによって、追い込む余地がない場合もあります。

axf:text-justify / CSS (-ah-)text-justify

均等割り付けの処理方法を指定します。 [CSS3-Text] Justification Method: the ‘text-justify’ property

Value:auto | inter-word | inter-character | distribute
Initial:auto
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

auto

スクリプトによって適切な処理をします。すなわち、漢字やひらがなカタカナのとき文字間を広げ、アラビア文字ではKashida処理し、その他では単語間の空白を広げます。

inter-word

単語間の空白を広げて均等割り付けを行います。

inter-character

文字間を広げて均等割り付けを行います。

distribute

2017-08-22 の CSST-Text で inter-character に変更されました。 互換のために distribute も受け付けます。

axf:kerning-mode / CSS -ah-kerning-modeXSL-FO Samples Collection欧文ペアカーニング

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

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

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

none

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

pair

ペアカーニングを処理します。

auto

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

ペアカーニングを行うかどうかは、オプション設定ファイルの pair-kerning で初期値を設定しておくことができます。 これは、GUIの 組版オプション設定ダイアログ でも設定することができます。

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

axf:punctuation-spacing / CSS -ah-punctuation-spacingXSL-FO Samples Collection全角約物と全角文字の詰め間隔

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

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

この間隔は、オプション設定ファイルpunctuation-spacing で初期値を設定しておくことができます。

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

<length>

絶対値で詰めの間隔を指定します。

<percentage>

実際に適用されるときのフォントサイズ相対の指定となります。

auto

システムの既定値に依存します。これは、オプション設定ファイルpunctuation-spacing で指定されている値です。

この間隔は、axf:punctuation-trim="adjacent" での以下のアキ量に使用されます。

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

axf:hanging-punctuation / CSS (-ah-)hanging-punctuationXSL-FO Samples Collection行頭での突き出し、行末でのぶら下げ行頭での突き出し、行末でのぶら下げ(英文)CSSページ組版入門hanging-punctuation

行頭での突き出し、行末でのぶら下げを行うかどうかを指定します。 [CSS3-Text] Hanging Punctuation: the ‘hanging-punctuation’ property (hanging-punctuation は、2017-08-22以降のCSS3-Textから削除されています)

Value:none | [ start || first || [ force-end | allow-end ] || last ]
Initial:none
Applies to:fo:block
Inherited:yes
Percentages:N/A

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

none

行頭での突き出し、行末でのぶら下げを処理しません。

start

行頭での突き出しを処理します。 このとき、突き出し対象文字が行頭に位置した場合、その文字は強制的に突き出されます。

first

段落の先頭行でのみ、start と同じ処理をします。

force-end

行末でのぶら下げを処理します。 text-align="right" または text-align="justify"(または text-align-last="justify") のとき、ぶら下げ対象文字が行末に位置した場合、その文字は強制的にぶら下げられます。 text-align がそれ以外のときは、なりゆきでぶら下げが起こります。

allow-end

行末でのぶら下げを処理します。 text-align="right" または text-align="justify"(または text-align-last="justify") のとき、ぶら下げ対象文字が行末に位置した場合、行に収まるときはぶら下げず、収まらないときはぶら下げられます。 text-align がそれ以外のときは、なりゆきでぶら下げが起こります。

last

段落末でのみ、force-end と同じぶら下げを処理します。

対象となる約物は以下のとおりです。

  • force-end, allow-end
    日本語または簡体字中国語の場合
    U+3001IDEOGRAPHIC COMMA
    U+3002IDEOGRAPHIC FULL STOP
    U+FF0CFULLWIDTH COMMA
    U+FF0EFULLWIDTH FULL STOP
    繁體字中国語の場合
    U+FE50SMALL COMMA
    U+FE51SMALL IDEOGRAPHIC
    U+FE52SMALL FULL STOP
    U+FF64HALFWIDTH IDEOGRAPHIC COMMA
    その他の場合 last と同じ。
  • last
    引用符類、閉じ括弧類、ピリオド、カンマ、ハイフン
  • start, first
    引用符類、開き括弧類、Bullet類

axf:avoid-widow-words / CSS -ah-avoid-widow-wordsXSL-FO Samples Collection段落末尾の処理段落末尾の文字数に約物を含めない

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

Value:false | true | [<length> || <percentage>]
Initial:false
Applies to:fo:block
Inherited:yes
Percentages:refer to the width of containing block

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

false

何もしません。

true

段落の最後の行が1語(CJKのときは1文字)だけにならないようにします。axf:text-justify-trim="auto" のときは、ideograph inter-word が指定されているとみなされます。

<length>
<percentage>

段落の最後の行に指定した幅のテキストを残すようにします。<length><percentage> の両方が指定されたときは、どちらか小さい方が採用されます。 0以下のときは false とみなされます。0超で axf:text-justify-trim="auto" のときは、axf:text-justify-trim="ideograph inter-word" が指定されているとみなされます。 この指定は、axf:line-break="bpil" のときなど、Breaking Paragraphs into Lines の行分割アルゴリズムが適用されるときのみ有効です。そうでないとき、0超の指定は true とみなされます。

true の指定で、段の幅(行の長さ)が短いときには、追い込む余地が少ないのであまり効果がありません。また、追い出されている1語を追い込む余地がない場合などでは、axf:avoid-widow-words の効果は現われません。axf:punctuation-trimaxf:text-justify-trim の設定によって、追い込む余地がなくなることもありますので、注意してください。 CJKでの行末の約物の扱いについては、オプション設定ファイルavoid-widow-words-cjk-punctuation を参照してください。

axf:avoid-widow-words-cjk-punctuation / CSS -ah-avoid-widow-words-cjk-punctuation XSL-FO Samples Collection段落末尾の文字数に約物を含めない

CJKで axf:avoid-widow-word="true" のとき、1文字に最後の約物を含めて勘定するかどうかを指定します。

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

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

auto

オプション設定ファイルの avoid-widow-words-cjk-punctuation の指定に従います。

false

約物も1文字に勘定するので「す。」のような行になることがあります。

true

約物は1文字に勘定しないので「す。」のような行にはならず、「です。」のような行になります。ここで対象となる約物は、次の文字です。

<string>

axf:avoid-widow-words-cjk-punctuation="&#xFF1F;&#xFF01;" のように true/false 以外の文字列を指定すると、それらの文字も上記に加えて対象となる約物として扱われます。

axf:intrude-into-punctuation / CSS -ah-intrude-into-punctuation XSL-FO Samples Collectionインライン要素を句読点に食い込ませる

インライン要素を句読点に食い込ませます。

Value:none | [start || end]
Initial:none
Applies to:inline elements
Inherited:yes
Percentages:N/A

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

none

何もしません。

start

日本語で、start側の直前の文字が以下のいずれかのとき、その文字を半角に扱います。

  • 全角閉じ括弧
  • 全角句読点

これらの文字については axf:punctuation-trim を参照してください。

end

日本語で、end側の直後の文字が以下のいずれかのとき、その文字を半角に扱います。

  • 全角開き括弧

これらの文字については axf:punctuation-trim を参照してください。

axf:punctuation-trim="adjacent" のときに機能します。

このプロパティは、脚注の合印を句点の後ろに配置して句点を半角に扱いたいときなどに指定します。axf:punctuation-trim="all" でも同様な配置にできますが、それでは特定のインライン要素にだけ適用させることはできません。


スペースと配置

スペース

axf:text-autospace / CSS (-ah-)text-autospace

和欧文間にアキを入れるかどうかを指定します。 [CSS3-Text] Adding space: the ‘text-autospace’ property (text-autospace は、2011-04-12以降のCSS3-Textから削除されています)

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

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

none

アキを入れません。

ideograph-numeric

仮名漢字-欧文数字間にアキを入れます。ここで、欧文数字は、Unicode で Nd で、Full Width でない文字です。

ideograph-alpha

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

ideograph-parenthesis

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

auto

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

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

axf:text-autospace-width / CSS -ah-text-autospace-width

和欧文間のアキ量を指定します。

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

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

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

<length>

絶対値でアキ量を指定します。

<percentage>

実際に適用されるときのフォントサイズ相対の指定となります。

auto

システムの既定値に依存します。これは、オプション設定ファイルtext-autospace-width で指定されている値です。

この間隔は、axf:text-autospace で利用されます。

axf:text-treat-as / CSS -ah-text-treat-as

和欧文間のアキや全角約物の詰めのためのみなし文字列を指定します。

Value:<string> [both | start | end]?
Initial:empty string
Applies to:inline formatting objects
Inherited:no
Percentages:N/A

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

<string>

みなし文字列を指定します。空のときはみなし文字列処理を行いません。

both

両側に対してみなし文字列処理を行います。both/start/endいずれも省略されたときはbothとみなされます。

start

start側に対してのみみなし文字列処理を行います。

end

end側に対してのみみなし文字列処理を行います。

text-autospace による和欧文間のアキや、punctuation-trim による全角約物の詰めは、隣接する文字との間に対してのみ作用します。つまり、<img><math> などには作用しません。例えばHTMLで、

いろは<math>...</math>ほへと

のようなとき、<math>の前後に和欧文間のアキはありません。そこで、

math { -ah-text-treat-as: "A" }

のように指定すると、あたかも

いろはAほへと

と文字列が指定されたかのように和欧文間の処理を行い、<math> の前後に和欧文間のアキができます(html.css にはこの指定が含まれています)。 text-treat-asの文字列は先頭と最後の文字のみが有効です。先頭の文字はstart側の文字列との和欧文間に、最後の文字はend側の文字列との和欧文間に利用されます。 start側とend側で和欧文間の扱いを変えたいときには、"A." などと指定すればよいでしょう。 また、通常は和欧文間のアキが適用されないような文字に対しても適用を促したいことがあります。

いろは#123ほへと

のようなとき、# の前にアキはありませんが、3 の後にはアキができます。そこで、次のようにすれば、# の前にもアキができます。

いろは<span style="-ah-text-treat-as:'1'">#123</span>ほへと
いろは<fo:inline axf:text-treat-as="'1'">#123</fo:inline>ほへと

次のようにして、閉じ括弧直後の合印に全角約物の詰めを適用させることもできます。

ちりぬ)<sup style="-ah-text-treat-as:')' start">2)</sup>

<img> では alt を利用することもできるでしょう。

img { -ah-text-treat-as: attr(alt) }

axf:letter-spacing-side / CSS -ah-letter-spacing-side

letter-spacingによるアキを文字のどちら側に付けるかを指定します。

Value:both | start | end
Initial:both
Applies to:inline-level formatting objects
Inherited:yes
Percentages:N/A

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

both

文字の両側に半分ずつのアキを付けます。

start

文字のstart側にのみアキを付けます。

end

文字のend側にのみアキを付けます。

axf:auto-letter-spacing / CSS -ah-auto-letter-spacing

文字数によってletter-spacingを変化させます。

Value:[ none | <length> | <percentage> ]*
Initial:none
Applies to:inline-level formatting objects
Inherited:no
Percentages:refer to the font size

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

none

letter-spacingを指定しません。

値は、2文字以上の文字数に対応して必要なだけ列挙します。例えば、次のように指定した場合、

axf:auto-letter-spacing="2em 1em 0.5em 0.25em"

このFO内の文字数が、2文字のときletter-spacing="2em"、3文字のときletter-spacing="1em"、4文字のときletter-spacing="0.5em"、5文字のときletter-spacing="0.25em" に強制します。それ以外の文字数では何もしません。文字数は、最初のインライン要素に含まれる文字のみが数えられます。

このプロパティは、CJKでの見出しを主に想定しています。

第1章 はじめに

のような場合、axf:letter-spacing-side を併用して、

第1章 <fo:inline axf:auto-letter-spacing="2em 1em 0.5em 0.25em" axf:letter-spacing-side="end">はじめに</fo:inline>

のようにするとよいでしょう。

ページ番号など、文字数が決まっていないテキストに適用することはできません。

CSS -ah-margin-breakXSL-FO Samples Collectionブロック内、テキスト周りのアキ

ページ・段の分割が起こったときのマージンの扱いを指定します。

Value:[ auto | discard | keep ] keep?
Initial:auto
Applies to:block elements
Inherited:no
Percentages:N/A

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

auto

文書先頭または強制改ページ・改段の直後のブロックのbefore側のマージンを保持する以外はdiscardと同じです。

discard

マージンを捨てます。

keep

before側のマージンを保持します。ふたつ目のkeepを指定すると、after側のマージンも保持します。

CSS -ah-ignore-leading-newline

開始タグ直後の改行を無視するかどうか指定します。

Value:false | true | auto
Initial:false
Applies to:<pre> element
Inherited:no
Percentages:N/A

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

false

開始タグ直後の改行を無視しません。

true

開始タグ直後の改行を無視します。

auto

HTMLでは開始タグ直後の改行を無視し、XHTMLでは無視しません。

これは、<pre> のように改行が無視されない要素で効果があります。

テキストの配置

axf:text-align-string / CSS -ah-text-align-stringXSL-FO Samples Collectionセル内の指定文字による揃えと配置調整

text-align="<string>" のときのテキストの配置を指定します。

Value:start | center | end | inside | outside | left | right
Initial:end
Applies to:fo:table-cell
Inherited:yes
Percentages:N/A

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

start
center
end
inside
outside
left
right

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

<fo:table-cell> に対する <string> の指定は、小数点などの指定された文字位置を揃えますが、文字列全体をどちらに寄せるかの規定がありません。 デフォルトで、Antenna House Formatter V7.4 は、CSS2の 17.5.4 Horizontal alignment in a column の例示に従って右寄せで表示します。 Antenna House Formatter V7.4 は、これを拡張して左寄せや中央揃えを可能にしています。

axf:text-align-first / CSS -ah-text-align-first

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

Value:relative | start | center | end | justify | inside | outside | left | right
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-aligntext-align-last と同じです。

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

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

axf:flush-zone / CSS -ah-flush-zoneXSL-FO Samples Collection最後の行末のアキの調整最終行の空白の調整

最後の行末のアキの調整をします。

Value:none | <length> | <percentage>
Initial:none
Applies to:fo:block
Inherited:yes
Percentages:refer to the width of containing block

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

none

何もしません。

<length>
<percentage>

text-align="justify"text-align-last="justify" でないとき、最後の行末のアキが指定された値以下の場合には、text-align-last="justify" として最後の行を処理します。

axf:balanced-text-align / CSS -ah-balanced-text-align

最後の行も含めてブロック全体をバランスさせるか指定します。

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

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

true

最後の行も含めてブロック全体がバランスするように調整されます。

false

最後の行をバランスさせる処理はしません。

auto

次のいずれかの条件のブロックに適用したとき、最後の行も含めてブロック全体がバランスするように調整されます。

  • text-align="justify" かつ text-align-last="justify"
  • text-align="center" かつ text-align-last="center"

このプロパティは、axf:line-break="bpil" のときなど、Breaking Paragraphs into Lines の行分割アルゴリズムが適用されるときのみ有効です。そうでないときは false とみなされます。

axf:adjust-last-line-spacing / CSS -ah-adjust-last-line-spacing XSL-FO Samples Collection最終行の空白の調整

最終行の空白の調整をします。

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

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

false

何もしません。

true

最終行の空白のアキと直前の行のアキの差を小さくします。

この処理は次の条件のときに適用されます。

  • text-align が justify である
  • text-align-last が justify でない
  • axf:line-break="bpil" のときなど、Breaking Paragraphs into Lines の行分割アルゴリズムが適用されるとき

もしアキの調整をした結果、axf:flush-zone の条件を満たすと、axf:flush-zone が適用されます。

leader-alignmentXSL-FO Samples Collectionリーダの位置揃え

以下の太字の値が拡張されます。

Value:none | reference-area | page | start | center | end
Initial:none
Applies to:fo:leader
Inherited:yes
Percentages:N/A

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

start

leader-pattern="dots" または leader-pattern="use-content" で内容がテキストだけのとき、リーダをstart側に寄せます。

center

leader-pattern="dots" または leader-pattern="use-content" で内容がテキストだけのとき、リーダを中央に寄せます。

end

leader-pattern="dots" または leader-pattern="use-content" で内容がテキストだけのとき、リーダをend側に寄せます。

axf:leader-expansion

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

Value:auto | force
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 Loooooooooooooooooooooooooooooooooooooong Label ...
    ............................................. 10, 20, 30
    
  4. Very Loooooooooooooooooooooooooooooooooooooong Label ...
    ..... 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
                                               130, 140, 150
    
  5. Very Very Very Loooooooooooooooooooooooooooooooooooooong
    Long Long Label ............................. 10, 20, 30
    
  6. Very Very Very Loooooooooooooooooooooooooooooooooooooong
    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>

とすることで、1. ~ 6. すべてに対して期待する結果が得られます。

axf:text-kashida-space / CSS -ah-text-kashida-space

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

Value:<percentage> | auto
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 / CSS -ah-justify-nbsp

NON-BREAKING SPACE を均等割り付けの対象にするかどうかを指定します。

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

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

true

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

false

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

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

axf:indent-here / CSS -ah-indent-here

改行時のインデント位置を領域の位置に合わせます。

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

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

none

何もしません。

<length>

改行時のインデント位置を、指定された行領域の先頭から<length>ずれた位置に合わせます。

インデントするには、次のようにこのプロパティを含む <fo:inline> を指定します。<fo:inline> の先頭位置がインデントの基準となります。

<fo:block>Indent-here: <fo:inline axf:indent-here="0pt"/>The quick brown fox jumps over the lazy dog ...</fo:block>

axf:text-indent-if-first-on-page / CSS -ah-text-indent-if-first-on-page XSL-FO Samples Collectionページ先頭の text-indent

ページ先頭または段先頭のブロックの text-indent を指定します。

Value: <length> | <percentage> | auto
Initial: auto
Applies to:fo:block, fo:block-container
Inherited:yes
Percentages:refer to the logical width of the containing block

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

<length>
<percentage>

ブロックがページ先頭または段先頭に来たとき、最初の行がそのページまたは段にあれば、text-indent の値をこのプロパティの値で代替します。

auto

何もしません。

タブ

タブ文字(U+0009)は、FO では空白文字(U+0020)に正規化されてしまい、通常は空白としての意味しか持ちません。しかし、JIS X 4051:2004 など、タブによって位置を揃える文書構造が多く存在しています。Antenna House Formatter V7.4 では、タブ構造を表現できるような拡張を用意しています。

<axf:tab> XSL-FO Samples Collectionタブ段落最後の文字列を右寄せにする

Common Usage:

タブ位置までスペースを空けます。 タブ位置は、axf:tab-stops で指定します。

Areas:

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

Contents:

EMPTY

この要素は、<fo:character character="&#9;"/> と等価ではありません。<fo:character> には white-space-collapsewhite-space-treatment などの空白関係のすべてのプロパティが適用されます。

axf:tab-align XSL-FO Samples Collectionタブ

タブ位置での配置を指定します。

Value:auto | start | center | end | left | right | decimal | <string>
Initial:auto
Applies to:axf:tab
Inherited:no
Percentages:N/A

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

auto

対応する axf:tab-stops でのタブ位置で指定されている配置とみなされます。

start

タブ位置に文字列先頭を揃えます。

center

タブ位置に文字列中央を揃えます。

end

タブ位置に文字列末尾を揃えます。

left

タブ位置に文字列の左側(縦書きでは上側)を揃えます。writing-mode="lr-tb""tb-rl" のときは、start と同じです。

right

タブ位置に文字列の右側(縦書きでは下側)を揃えます。writing-mode="lr-tb""tb-rl" のときは、end と同じです。

decimal

"." を指定したとみなされます。

<string>

指定された文字列先頭をタブ位置に揃えます。例えば、axf:tab-align="." では次のように揃います。

1.2345
123.45
12345.
12345

axf:tab-stops XSL-FO Samples Collectionタブ

タブ位置を指定します。

Value: [ [ <tab-align>? [ <length> | <number> ] ]* [ <tab-align>? eol ]? ]!
Initial:8
Applies to:all block-level formatting objects
Inherited:yes
Percentages:N/A
<tab-align> = start | center | end | left | right | decimal | <string>

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

<tab-align>

タブ位置での配置を指定します。省略されたときは直前のタブ位置の配置と同じとみなされます。先頭で省略されたときは start とみなされます。axf:tab-align を参照してください。

<length>

タブ間隔を指定します。

<number>

指定された文字数の空白(U+0020)分の間隔とみなされます。

eol

行末にタブ位置があるとみなされます。ただし、直前のタブ指定がすでに行末を超えているときは、常に行末にタブ位置があるとみなされます。

指定される間隔は、参照領域先頭を基点として加算された距離となります。負の値は指定できません。 eol が指定されていないときは、最後の値が行末に達するまで繰り返し指定されているとみなされます。ただし、それがゼロのときはタブは無視されます。 例えば、次のように指定します。

axf:tab-stops="80pt decimal 40pt end 8 eol"

CSS の tab-size:8 は、axf:tab-stops="8" と等価です。

axf:tab-treatment XSL-FO Samples Collectionタブ

タブ文字(U+0009)の扱いを指定します。

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

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

<number>

指定された文字数の空白(U+0020)として扱います。負の値は指定できません。 この空白は、white-space-treatmentwhite-space-collapse などの処理対象となります。

preserve

<axf:tab/>として扱います。

axf:tab-overlap-treatment XSL-FO Samples Collectionタブ

タブ揃えで文字が重なるときの扱いを指定します。

Value:auto | ignore-tab | next-tab
Initial:auto
Applies to:fo:block, fo:character
Inherited:yes
Percentages:N/A

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

auto

システムの既定値に依存します。これは、オプション設定ファイルtab-overlap-treatment で指定されている値です。

ignore-tab

タブを無視します。文字列は直前の文字列に続けて表示されます。

next-tab

次のタブ位置にタブを進めます。

axf:tab-align="start" では文字が重なることはありません。


文字とテキスト修飾

axf:text-line-color / CSS -ah-text-line-color

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

Value:<color>
Initial:the value of the ‘color’ property
Applies to:all elements with and generated content with textual content
Inherited:no
Percentages:N/A

axf:text-line-style / CSS -ah-text-line-style

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

Value:<border-style>
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 / CSS -ah-text-line-width

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

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

axf:text-underline-position / CSS (-ah-)text-underline-position

下線の位置を指定します。 [CSS3-Text] Other text decoration simple properties: 'text-underline-position'

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

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

auto

位置を自動的に調整して下線を引きます。縦書きでの axf:vertical-underline-side の指定が有効です。

before-edge

下線を before-edge に引きます。<percentage>または<length>が指定されていないときは、下線の幅の上端が before-edge に位置します。<percentage>または<length>が指定されているときは、下線の幅の中心が before-edge に位置します。

alphabetic

下線をベースラインの位置に引きます。<percentage>または<length>が指定されていないときは、下線の幅の上端がベースラインに位置します。<percentage>または<length>が指定されているときは、下線の幅の中心がベースラインに位置します。

after-edge

下線を after-edge に引きます。<percentage>または<length>が指定されていないときは、下線の幅の下端が after-edge に位置します。<percentage>または<length>が指定されているときは、下線の幅の中心が after-edge に位置します。

<percentage>
<length>

指定された量だけ、下線の位置をずらします。axf:vertical-underline-side によって右側に下線が引かれているときは、左側とは逆方向にずらされます。

axf:vertical-underline-side / CSS -ah-vertical-underline-side

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

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

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

left

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

right

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

depend-on-language

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

auto

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

axf:text-underline-position="auto" のときにのみ、このプロパティは有効です。 また、上線は下線と反対の位置に引かれます。

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

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

axf:text-stroke / CSS -ah-text-stroke XSL-FO Samples Collection文字の輪郭

文字の輪郭を指定します。

Value:<length> <color>? | <color>
Initial:0pt transparent
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

このプロパティは、axf:text-stroke-widthaxf:text-stroke-color のショートハンドです。

axf:text-stroke-width / CSS -ah-text-stroke-width

文字の輪郭の幅を指定します。

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

文字の輪郭の幅を指定します。0 以下のときは輪郭は描かれません。

axf:text-stroke-color / CSS -ah-text-stroke-color

文字の輪郭の色を指定します。

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

文字の輪郭の色を指定します。透明のときは輪郭は描かれません。

CSS (-ah-)text-decorationXSL-FO Samples Collection文字修飾CSSページ組版入門text-decoration

[CSS 2.1] 16.3.1 Underlining, overlining, striking, and blinking
[CSS3-TextDecor] Text Decoration Shorthand: the ‘text-decoration’ property

Value:<text-decoration-line> || <text-decoration-color> || <text-decoration-style>
Initial:none
Applies to:all elements and generated content
Inherited:no
Percentages:N/A

CSS (-ah-)text-decoration-colorCSSページ組版入門text-decoration-color

[CSS3-TextDecor] Text Decoration Color: the ‘text-decoration-color’ property

Value:<color>
Initial:currentColor
Applies to:all elements and generated content
Inherited:no
Percentages:N/A

 axf:text-line-color

CSS (-ah-)text-decoration-lineCSSページ組版入門text-decoration-line

[CSS3-TextDecor] Text Decoration Lines: the ‘text-decoration-line’ property

Value:none | [ underline || overline || line-through || blink ]
Initial:none
Applies to:all elements and generated content
Inherited:no (but see prose)
Percentages:N/A

 [XSL 1.1] text-decoration

CSS (-ah-)text-decoration-styleCSSページ組版入門text-decoration-style

[CSS3-TextDecor] Text Decoration Style: the ‘text-decoration-style’ property

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

 axf:text-line-style

axf:text-orientation / CSS (-ah-)text-orientation

mixed upright縦書きでの文字の向きを指定します。 [CSS3-WritingModes] Orienting Text: the ‘text-orientation’ property

Value:mixed | upright | sideways-rl | sideways | none | auto
Initial: auto
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

mixed

英数字などを90°時計回りに回転させます。(図の右側)

upright

括弧などの約物を除き、すべて正立させます。(図の左側)

sideways-rl
sideways

すべての文字を90°時計回りに回転させます。これは、縦書き中で一部分を横書きにするのと同じような効果があります。

none

システムに依存します。動作としては、mixed と近い結果となりますが、どの文字を回転させるかは、旧版との互換性を考慮して決められています。

auto

XSL-FO では、オプション設定ファイルtext-orientation-mode の値が 7のとき mixed と、6以下では none とみなされます。 CSS では、mixed とみなされます。

mixedupright の振る舞いについては、縦書きでの文字の正立を参照してください。正立された文字列中では常に axf:word-break="break-all"hyphenate="false" とみなされます。

このプロパティは、横書き中では無効です。また、ArabicやThaiなどの複雑なスクリプトを正立させることはできません。

axf:text-combine-horizontal / CSS (-ah-)text-combine-horizontal

縦書きでの自動縦中横たてちゅうよこを行います。 [CSS3-WritingModes] Horizontal-in-Vertical Composition: the ‘text-combine-horizontal’ property (text-combine-horizontal は、2014-03-20以降のCSS3-WritingModeから削除されています)

Value: none | all | [ digits <integer> || alpha <integer> || alphanumeric <integer> || emoji ]
Initial:none
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

none

自動縦中横を行いません。

all

テキスト(含絵文字)のみから成る要素の全体を縦中横にします。

digits

<integer> で指定された桁数以下の数字(0-9)の連続を縦中横にします。

alpha

<integer> で指定された桁数以下の英字(A-Z, a-z)の連続を縦中横にします。

alphanumeric

<integer> で指定された桁数以下の英数字(0-9, A-Z, a-z)の連続を縦中横にします。

emoji

絵文字を縦中横にします。

通常、縦中横は次のようにマークアップされるでしょう。

<fo:inline-container writing-mode="lr-tb"
                     line-height="1"
                     text-align-last="center"
                     text-indent="0pt"
                     start-indent="0pt"
                     end-indent="0pt"
                     padding="0pt"
                     wrap-option="no-wrap">
 <fo:block>12</fo:block>
</fo:inline-container>

自動縦中横は、この手間を省きます。

axf:text-combine-horizontalの適用は、axf:text-orientationtext-transformaxf:number-transformなどの適用よりも前に行われます。 縦中横対象文字列の前後にあった除去可能な空白は除去されます。

axf:text-combine-horizontalがdigitsで、axf:text-orientation="upright"のときは、小数点が隣接する長さ <integer> 以下の縦中横対象の数字列に対して、次のようなことをします。

  • 小数点とみなされるのは、U+002E および U+FF65 です。
  • 小数点に後続する縦中横対象の数字列は、縦中横にしません。ただし、小数点は U+FF65 に変換されます。
  • 縦中横対象の数字列に小数点が後続するときは、その数字列は縦中横処理され、小数点は U+FF65 に変換されます。

右図は、次のように "12.34" を自動縦中横した例です。

<fo:block axf:text-combine-horizontal="digits 2"
          axf:text-orientation="upright"
>12.34</fo:block>

さらに、text-transformと組み合わせると、2文字以上の縦中横は全角にせず、他を全角変換することができます。

<fo:block axf:text-combine-horizontal="digits 2"
          axf:text-orientation="upright"
          text-transform="full-width"
>平成25年4月16日</fo:block>

自動縦中横は、以下の場合は無効です。また、縦中横部分の圏点は削除されます。

  • 横書きのとき(縦中横の中、axf:text-orientationの値がsidewaysのときを含む)
  • CJK以外の言語が明示されているとき
  • ルビの中
  • <fo:page-number>などの動的に生成される文字列

圏点

Antenna House Formatter V7.4 では、文字列に圏点を付けることができます。ただし、圏点を任意のスクリプトに付けることはできません。CJK以外では、以下のスクリプトにのみ適用できます。

  • Latn
  • Cyrl
  • Grek
  • Zyyy

また、ルビの親文字に圏点を付けることはできますが、ルビ文字に圏点を付けることはできません。

一般のフォント中の圏点のグリフは、字形の大きさがまちまちなため、使用する圏点に応じて位置と大きさを調整しなければならないでしょう。

axf:text-emphasis-style="sesame"
axf:text-emphasis-offset="-0.25"
axf:text-emphasis-font-size="1"
axf:text-emphasis-position="before"
axf:text-emphasis-style="circle"
axf:text-emphasis-offset="0.25"
axf:text-emphasis-font-size="0.25"
axf:text-emphasis-position="before"

圏点専用のフリーのフォントが用意されています( Kenten Generic OpenType Font)。このフォントは、圏点の大きさが揃っているので、どの圏点に対しても同じ指定で済みます。

axf:text-emphasis-style="sesame"
axf:text-emphasis-offset="0"
axf:text-emphasis-font-size="0.5"
axf:text-emphasis-font-family="KentenGeneric"
axf:text-emphasis-position="before"

axf:text-emphasis-style / CSS (-ah-)text-emphasis-styleXSL-FO Samples Collection圏点とルビ

圏点のスタイルを指定します。 [CSS3-TextDecor] Emphasis Mark Style: the ‘text-emphasis-style’ property

Value:none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>
Initial:none
Applies to:all elements
Inherited:yes
Percentages:N/A

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

none

圏点はありません。

filled

塗りつぶし文字を指定します。

open

白抜き文字を指定します。

dot

点を指定します。filled dot は U+2022 open dot は U+25E6 です。

circle

円を指定します。filled circle は U+25CF open circle は U+25CB です。

double-circle

二重円を指定します。filled double-circle は U+25C9 open double-circle は U+25CE です。

triangle

三角形を指定します。filled triangle は U+25B2 open triangle は U+25B3 です。

sesame

ゴマ点を指定します。filled sesame は U+FE45 open sesame は U+FE46 です。

<string>

任意の文字列を指定します。複数文字が指定されているときはすべてが表示されますが、圏点の重なりは考慮されません。

filled または open が指定されていないときは filled とみなされます。filled または open だけが指定されているときは、横書きでは circle が、縦書きでは sesame が指定されているとみなされます。

axf:text-emphasis-position / CSS (-ah-)text-emphasis-position

圏点を親文字のどちら側に付けるか指定します。 [CSS3-TextDecor] Emphasis Mark Position: the ‘text-emphasis-position’ property

Value:before | after
Initial:before
Applies to:all elements
Inherited:yes
Percentages:N/A

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

before

before側へ圏点を付けます。

after

after側へ圏点を付けます。

axf:text-emphasis-offset / CSS -ah-text-emphasis-offsetXSL-FO Samples Collection圏点とルビ

圏点と親文字の間隔を指定します。

Value:<number> | <length> | <percentage>
Initial:0pt
Applies to:all elements
Inherited:yes
Percentages:refer to the font size

<number> の指定では、text-emphasis-font-size と掛け合わせたものとなります。ルビと圏点を同じ側に付けるとき、指定されている値とルビの高さの大きい方に調整されます。

axf:text-emphasis-skip / CSS -ah-text-emphasis-skip

圏点を付けない文字を指定します。

Value:none | [ spaces || punctuation || symbols || narrow ]
Initial:spaces
Applies to:all elements
Inherited:yes
Percentages:N/A

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

spaces

空白文字を除きます。

punctuation

約物を除きます。

symbols

シンボルを除きます。

narrow

幅広文字以外(いわゆる半角文字など)を除きます。

axf:text-emphasis-font-family / CSS -ah-text-emphasis-font-family

圏点のフォントファミリを指定します。

Value:[ <family-name> | <generic-family> ]#
Initial:empty string
Applies to:emphasis elements
Inherited:yes
Percentages:N/A

指定されなかったときは、font-family と同じになります。

axf:text-emphasis-font-size / CSS -ah-text-emphasis-font-size

圏点のフォントサイズを指定します。

Value:<number> | <absolute-size> | <relative-size> | <length> | <percentage>
Initial:0.5
Applies to:emphasis elements
Inherited:yes
Percentages:refer to the font size

<number> の指定では、font-size と掛け合わせたものとなります。

axf:text-emphasis-font-style / CSS -ah-text-emphasis-font-style

圏点を斜体にするかどうかを指定します。

Value:normal | italic
Initial:empty
Applies to:emphasis elements
Inherited:yes
Percentages:N/A

指定されなかったときは、font-style と同じになります。

axf:text-emphasis-font-weight / CSS -ah-text-emphasis-font-weight

圏点のフォントの太さを指定します。

Value:normal | bold | bolder | lighter | 1...1000
Initial:empty
Applies to:emphasis elements
Inherited:yes
Percentages:N/A

指定されなかったときは、font-weight と同じになります。

axf:text-emphasis-font-stretch / CSS -ah-text-emphasis-font-stretch

圏点のフォントの伸縮を指定します。

Value:normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage> | <number>
Initial:empty
Applies to:emphasis elements
Inherited:yes
Percentages:refer to the text-emphasis-font-size

指定されなかったときは、font-stretch と同じになります。

axf:text-emphasis-color / CSS (-ah-)text-emphasis-color

圏点の色を指定します。 [CSS3-TextDecor] Emphasis Mark Color: the ‘text-emphasis-color’ property

Value:<color>
Initial:currentColor
Applies to:emphasis elements
Inherited:yes
Percentages:N/A

指定されなかったときは、color と同じになります。

テキストシャドウ

text-shadow / CSS (-ah-)text-shadow XSL-FO Samples Collectionテキストシャドウ

テキストシャドウを指定します。 [CSS3-TextDecor] Text Shadows: the ‘text-shadow’ property

Value: none | [ <length>{2,3} && <color>? ]#
Initial:none
Applies to:all elements which can have borders
Inherited:yes
Percentages:N/A

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

none

影を付けません。

<length><color> の意味は次のとおりです。

  • 最初の <length> は、水平方向の影のオフセットです。正の値のとき領域の右側に、負の値のとき左側の影となります。
  • 2番目の <length> は、垂直方向の影のオフセットです。正の値のとき領域の下側に、負の値のとき上側の影となります。
  • 3番目の <length> は、非負の値でなければならず、ぼかし半径を指定します。0ならぼかしはありません。0より大きい値が指定されるとラスタ画像形式でテキストシャドウを描写します。
    描写する画像の解像度設定は textshadow-resolution-minimum-dpitextshadow-resolution-pixel-per-em で行います。なお、ぼかし半径をpx単位の長さで与えた場合、ぼかし半径はこれら解像度設定ではなく pxpi によって決まります。
  • <color> で影の色を指定します。

この組は複数指定でき、幾重にも影を付けることができます。

ぼかし処理を行う場合、以下の点に注意してください。

  • GUIおよびPDF出力のみで有効です。他の出力では、ぼかしは無視されます。
  • PDF/X のように透過を出力できないデバイスでは、ぼかしは無視されます。
  • フォントのグリフをラスタ画像に変換、加工します。フォントによっては画像化、加工しての頒布を禁止などしています。フォントの提供元が定めるライセンス的に問題ないか十分にご確認ください。
  • フォントを埋め込まずにぼかし処理を行った場合、そのフォントがインストールされていない環境で出力物を開いたときにテキストシャドウと本文のエリアで字の形状が一致しません。ぼかし処理を行う場合フォントを埋め込むことをお勧めします。また、埋め込み禁止フォントに対してぼかし処理を行うかどうかは textshadow-blur-cannot-embed-font で設定できます。
  • 装飾線や圏点等の文字修飾には描写されません。
  • PDF出力における圧縮設定は、本機能で作成される画像に対しても適用されます。
  • transparencyfalse に設定した場合、ぼかしは無視されます。

ドロップキャップ

axf:initial-letters / CSS (-ah-)initial-letters XSL-FO Samples Collectionドロップキャップ

ドロップキャップを行います。 [CSS3-Inline] Initial Letters

Value:normal | [[<number> | <length>] <integer>? | [<number> | <length>] && [drop | raise]] [adjacent | <integer2>]?
Initial:normal
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:no
Percentages:N/A

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

normal

何もしません。

<number>

ドロップキャップする文字サイズを行数で指定します。1未満のときは無効です。

<length>

ドロップキャップする文字サイズを実際の寸法で指定します。指定された寸法が何行分に相当するのか換算されます。1行に満たないときは無効です。

<integer>

ドロップキャップする文字を何行分沈み込ませるかを指定します。省略したときまたは0のときは行数を整数に切り捨てた値とみなされます。0未満のときは無効です。

drop

<integer> に行数を整数に切り捨てた値を指定したのと等価です。

raise

<integer> に 1を指定したのと等価です。

adjacent

ドロップキャップされる文字部分だけでなく、ブロック内すべての行をインデントします。

<integer2>

adjacent と似ていますが、指定された行数だけ、ドロップキャップされる文字部分以降の行をインデントします。省略したときは0とみなされます。負のときは無効です。

このプロパティは、XSL-FO では <fo:block> に、CSS では ::first-letter 擬似要素にのみ指定できます。 ドロップキャップされる文字は、axf:initial-letters が指定された要素の子を辿って最初のテキストから選ばれます。XSL-FO の場合、以下の要素がテキストよりも前に現れたら axf:initial-letters は無視されます。CSS の場合は ::first-letter 擬似要素に従います(ただし ruby は除く)。

  • axf:initial-letters の指定されている fo:block
  • インライン要素内の fo:block
  • fo:block 以外のブロック要素
  • fo:inline-container
  • fo:bidi-override
  • fo:page-number
  • fo:page-number-citation
  • fo:page-number-citation-last
  • axf:footnote-number
  • axf:footnote-number-citation

axf:initial-letters の指定されたブロックの文字列が短く沈み込ませる行数に満たないとき、後行する axf:initial-letters の指定されていないブロックもインデントして配置されます。ただし、以下の場合はインデントせず、ドロップキャップの次の行へ配置されます。

  • clear="start" または "both" の指定されたブロック
  • clear="end" の指定されたブロックで、end側にフロートが含まれるとき
  • マージンなどでブロック間にアキが含まれるとき

ドロップキャップされる文字は、最初のテキストから以下の約物以外の最初の文字とそれを修飾するアクセントなどです。そのとき、::first-letter の仕様により隣接している以下のすべての約物も選ばれます。

  • Ps : open punctuation
  • Pe : close punctuation
  • Pi : initial punctuation
  • Pf : final punctuation
  • Po : other punctuation

例えば、“Hello のようなときは “H がドロップキャップされます。

文字サイズはフォントが持つ cap-height などから自動的に計算されるため、::first-letter に指定されている font-size は無視されます。ドロップキャップされる文字の次の文字が小文字で small-caps が指定されているときは、文字サイズは cap-height だけではなくて x-height も考慮して計算されます。詳しくは axf:initial-letters-first-line-head-height を参照してください。フォントによっては cap-height や x-height を持っていないことや、適切な値でないことがあります。そのようなときは、フォント構築ファイルに指定することで調整できます。

最初の文字がルビだった場合、そのルビの最初のルビコンテナがドロップキャップされます。最初が <fo:external-graphic> などの画像のときは、その画像がドロップキャップされます。そのとき、その画像のスケーリングに関する指定はすべて無視されます。 initial-letters の指定がない ::first-letter では、ルビや画像に ::first-letter は適用されません。

::first-letter が入れ子になることもあります。

div::first-letter { ... }
p::first-letter { ... }
<div><p>Hello...

この例では、次のようにすべての ::first-letter が評価されます。

<div><p><div::first-letter><p::first-letter>H</p::first-letter></div::first-letter>ello...

initial-letters::first-letter に指定した場合は、次の制約があります。

  • initial-letters は最初の ::first-letter のみが有効で、それ以外に指定されたものは無視されます。
  • initial-letters が指定されたら以降の ::first-letter は無視されます。

ドロップキャップの行数以内に含まれる axf:float-x="start" であるフロートは、そのアンカーがブロックの先頭に含まれるときはドロップキャップのstart側に配置されますが、それ以外はドロップキャップのafter側に追い出されて配置されます。  axf:initial-letters-start-intrusion

axf:initial-letters-first-line-head-height / CSS -ah-initial-letters-first-line-head-height

ドロップキャップの高さをどこに合わせるのか指定します。

Value:cap-height | x-height | auto
Initial:auto
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:yes
Percentages:N/A

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

cap-height

最初の行の cap-height に合わせます。図は行数が2のときの例です。

initial-letters-cap-height

x-height

最初の行の x-height に合わせます。図は行数が2で、最初の行にsmall-capsが指定されているときの例です。

initial-letters-x-height

auto

次の条件のときに x-height に合わせます。それ以外では cap-height に合わせます。

  • ドロップキャップされる文字または画像の次の文字が小文字の small-caps のとき(ただし、ドロップキャップされる文字または画像と次の文字が同じ要素に属しているときに限る)
  • ドロップキャップする行数と沈み込ませる行数が等しいとき(ただし、行数が単位なしで指定されているときに限る)

axf:initial-letters-end-indent / CSS -ah-initial-letters-end-indent

ドロップキャップのend側のアキを指定します。

Value:<length>+
Initial:0pt
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:yes
Percentages:N/A

値は複数指定できます。最初の値は最初の行に、次の値は次の行に適用されます。最後の値は対応する行以降に適用されます。

axf:initial-letters-leading-punctuation / CSS -ah-initial-letters-leading-punctuation

ドロップキャップの先行する約物の大きさなどを指定します。

Value:normal | hide | [<length> || <color>]
Initial:normal
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:yes
Percentages:N/A

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

normal

特別なことは何もしません。

hide

先行する約物を表示しません。

<length>

先行する約物のフォントサイズを指定します。

<color>

先行する約物の色を指定します。

axf:initial-letters-leading-punctuation-position / CSS -ah-initial-letters-leading-punctuation-position

ドロップキャップの先行する約物の行進行方向の位置を指定します。

Value:normal | [[hang | intrude] && <length>?]
Initial:normal
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:yes
Percentages:N/A

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

normal

特別なことは何もしません。

hang

先行する約物をstart側に突き出します。 axf:hanging-punctuation="start" では1文字の約物しか突き出しませんが、hangの指定ではすべての約物を突き出します。

intrude

先行する約物をドロップキャップする文字に食い込ませて重ねます。

<length>

先行する約物の位置を調整します。hang または intrude が指定されていなければなりません。その位置から指定された長さだけ行進行方向に約物をずらします。

axf:initial-letters-leading-punctuation-shift / CSS -ah-initial-letters-leading-punctuation-shift

ドロップキャップの先行する約物のブロック進行方向の位置を指定します。

Value:normal | [[baseline | before | middle | after] || <length>]
Initial:normal
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:yes
Percentages:N/A

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

normal

特別なことは何もしません。横書きではベースラインに、縦書きでは中央に揃えます。

baseline

先行する約物を最後の行のベースラインに揃えます。

before

先行する約物をドロップキャップのbefore側に揃えます。

middle

先行する約物をドロップキャップの中央に揃えます。

after

先行する約物をドロップキャップのafter側に揃えます。

<length>

先行する約物のbaseline-shift量を指定します。baselinebeforemiddleafter と同時に指定したときは、その位置からのシフト量となります。

axf:initial-letters-width

ドロップキャップの幅を指定します。

Value:auto | <length> | <percentage>
Initial:auto
Applies to:fo:block
Inherited:yes
Percentages:refer to the width of containing reference area

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

auto

ドロップキャップの幅は含まれる文字列または画像から計算されます。

<length>
<percentage>

ドロップキャップの幅を指定の幅に強制します。

CSSのときは ::first-letterwidth を指定してください。

axf:initial-letters-text-align

ドロップキャップの配置を指定します。

Value:start | center | end | left | right
Initial:end
Applies to:fo:block
Inherited:yes
Percentages:N/A

axf:initial-letters-width の値が auto のときは、右寄せしたりする余地がないので効果はありません。

CSSのときは ::first-lettertext-align を指定してください。

axf:initial-letters-color

ドロップキャップの文字色を指定します。

Value:<color>
Initial:the value of the ‘color’ property
Applies to:fo:block
Inherited:yes
Percentages:N/A

CSSのときは ::first-lettercolor を指定してください。

axf:initial-letters-start-intrusion / CSS -ah-initial-letters-start-intrusion V7.4

ドロップキャップのstart側のフロートの配置を指定します。

Value:none | first-line
Initial:none
Applies to:fo:block (XSL) / ::first-letter (CSS)
Inherited:yes
Percentages:N/A

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

none

ドロップキャップを避けてafter側に配置します。

first-line

フロートのアンカーがドロップキャップされる文字よりも後で、かつそのブロックの先頭行にあるとき、フロートをドロップキャップのstart側に配置します。そうでないときはドロップキャップを避けてafter側に配置します。 ただし、以下の条件を満たさないときは、axf:initial-letters-start-intrusion="none" とみなされてafter側に配置されます。

ドロップキャップの指定されたブロックに含まれている axf:float-x="start" であるフロートのアンカーがドロップキャップされる文字よりも後にあるときのフロートの配置を指定します。 ドロップキャップされる文字よりも前にアンカーがあるフロートは、この指定によらずstart側に配置されます。

また、intrusion-displace="block" のときは、フロートは常にブロックの外に配置されるので、このプロパティは無効です。


文字列変換

axf:normalize / CSS -ah-normalize

文字列の正規化を指定します。

Value: auto | none | nfc | nfkc | nfd | nfkd
Initial:auto
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

auto
オプション設定ファイルnormalize の値に依存します。
none
正規化を行いません。
nfc
NFCを行います。
nfkc
NFKCを行います。
nfd
NFDを行います。
nfkd
NFKDを行います。

UAX#15: Unicode Normalization Forms にある正規化処理を行うかどうかを指定します。 正規化は、テキスト領域に記述されている文字列に対して行われます。始めから正規化済みのコードのみを用いるのなら、指定する必要はありません。そうでないならば、実用的にはNFCによる正規化がよいでしょう。

これらの変換では、axf:normalize-exclude="full-composition-exclusion" のときは合成除外文字(Composition Exclusion)のすべてが正規化処理から除外されます。

axf:normalize-exclude / CSS -ah-normalize-exclude

文字列の正規化(axf:normalize)のときに、合成除外文字(Composition Exclusion)を除外するかどうかを指定します。

Value: full-composition-exclusion | none
Initial:full-composition-exclusion
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

full-composition-exclusion
合成除外文字に指定されている文字すべてを除外します。
none
除外しません。

axf:text-replace / CSS (-ah-)text-replaceXSL-FO Samples Collection文字列の置換

文字列の置換をします。 [CSS3-GCPM] Character substitution (text-replace は、2010-06-08以降のGCPMから削除されています)

Value:none | [ <string> <string> ]+
Initial:none
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

none

何もしません。

<string> <string>

対の最初の文字列を後の文字列にすべて置換します。 文字列は対で指定しなければなりません。奇数個だったり、最初の文字列が空の場合は置換されません。 空白文字は、white-space-treatmentなどで処理された後で、置換が行われます。

text-transformaxf:number-transform と同時に指定した場合、axf:text-replace が最後に評価されます。

text-transform / CSS (-ah-)text-transformXSL-FO Samples Collectionテキストの大文字と小文字の調整

以下の太字の値が拡張されます。 [CSS3-Text] Transforming Text: the ‘text-transform’ property

Value:none | [ [ capitalize | uppercase | lowercase | capitalize-lowercase ] || [ fullwidth | fullwidth-if-vertical ] || fullsize-kana ] ]

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

capitalize-lowercase

頭文字を大文字にし、残りを小文字にします。 XSL Formatter V4 との相違を参照してください。

fullwidth

U+0021~U+007E の文字を全角に変換します。

fullwidth-if-vertical

writing-mode="tb-rl" などで、縦書きのときのみ text-transform="fullwidth" を適用します。そうでないときは何も変換しません。

fullsize-kana

小書きのかなを普通のかなに変換します。変換されるのは全角文字のみです。半角文字は変換されません。

axf:number-transform / CSS -ah-number-transform

文字列中の数字列の変換をします。

Value:none | kansuji | kansuji-if-vertical | <list-style-type> | <string>
Initial:none
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

none

何もしません。

kansuji

含まれる数字列を漢数字に変換します。 漢数字の形式の詳細は、axf:kansuji-styleaxf:kansuji-letteraxf:kansuji-grouping-letter で指定します。

kansuji-if-vertical

writing-mode="tb-rl" などで、縦書きのときのみ axf:number-transform="kansuji" を適用します。そうでないときは何も変換しません。

<list-style-type>

list-style-typeと同じ値を指定できます。スタイルによって変換できる数値の範囲が異なります。

<string>

文字列を指定した場合は、含まれる数字列に対してformatでその文字列を指定したときのように振る舞います。

ここでの数字列(number)は、次の形式の文字列です。

number ::= '-'? digits
digits ::= [0-9]+

text-transformaxf:text-replace と同時に指定した場合、axf:number-transform の方が先に評価されます。 axf:counter-style または symbols() で指定されたカウンタスタイルが採用されたとき、prefix/suffix は付加されません。

CSS (-ah-)list-style-typeCSSページ組版入門list-style-type

リストスタイルを指定します。 [CSS3-Lists] 3 Default Marker Contents

Value: none | <name> | <string>
Initial:disc
Applies to:all elements with 'display:list-item'
Inherited:yes
Percentages:N/A

以下の <list-style-type> に対応しています。  axf:number-transform, format, axf:counter-style, counter()

<name> で示されたカウンタスタイルが見つからない場合は decimal とみなされます。 <string> はその文字列そのものが表示されます。

漢数字

Antenna House Formatter V7.4 では、数字を漢数字に変換することができます。これは、axf:number-transform を利用して行います。

axf:kansuji-style / CSS -ah-kansuji-style

漢数字の形式を指定します。

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

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

simple

一〇方式の変換を行います。すなわち、数字列を一対一対応で漢数字に変換します。

12340   ⇒ 一二三四〇
6700000 ⇒ 六七〇〇〇〇〇

grouping

一〇方式の変換に加え、万億兆京垓𥝱穣溝澗正載極 の位取りを挿入します。

  • ある位取りより下がすべてゼロのとき、それらは捨てられます。

12340   ⇒ 一万二三四〇
6700000 ⇒ 六七〇万

readable

十方式の変換を行います。すなわち、万億兆… の位取りを挿入し、さらに 十百千 を使用して可読な文字列に変換します。

  • 先行するゼロは捨てられます。
  • の次の位取りが必要な巨大な数値では、より上の桁は一〇方式で変換されます。

12340   ⇒ 一万二千三百四十
6700000 ⇒ 六百七十万
1000000 ⇒ 百万
000015  ⇒ 十五
0       ⇒ 〇

axf:kansuji-letter / CSS -ah-kansuji-letter

漢数字に使用する文字を指定します。

Value:kanji | latin | <string>
Initial:kanji
Applies to:all block-level and inline-level formatting objects
Inherited:yes
Percentages:N/A

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

kanji

数字に漢数字を利用します。 axf:kansuji-letter="〇一二三四五六七八九" と指定したのと等価です。

: U+3007
: U+4E00
: U+4E8C
: U+4E09
: U+56DB
: U+4E94
: U+516D
: U+4E03
: U+516B
: U+4E5D

latin

数字に全角洋数字を利用します。 axf:kansuji-letter="0123456789" と指定したのと等価です。

: U+FF10
: U+FF11
: U+FF12
: U+FF13
: U+FF14
: U+FF15
: U+FF16
: U+FF17
: U+FF18
: U+FF19

<string>

使用する数字に任意の文字を指定できます。例えば、大字を使いたいときには、axf:kansuji-letter="零壱弐参肆伍陸柒捌玖" のように指定することができます。"一二三" だけを大字にしたければ、axf:kansuji-letter="〇壱弐参四五六七八九" とします。axf:kansuji-letter="〇壱弐参" のように先頭の一部だけを指定した場合は、axf:kansuji-letter="〇壱弐参四五六七八九" と補われます。

: U+96F6
: U+58F1
: U+5F10
: U+53C2
: U+8086
: U+4F0D
: U+9678
: U+67D2
: U+634C
: U+7396

axf:kansuji-grouping-letter / CSS -ah-kansuji-grouping-letter

漢数字に使用する位取り文字を指定します。

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

空文字列は、"十百千万億兆京垓𥝱穣溝澗正載極" とみなされます。 万を萬にしたいときなど、対応する文字だけを変更して指定してください。 "拾佰阡萬" のように先頭の一部だけを指定した場合は、"拾佰阡萬億兆京垓𥝱穣溝澗正載極" と補われます。

: U+5341 : 10
: U+767E : 100
: U+5343 : 1000
: U+4E07 : 104
: U+5104 : 108
: U+5146 : 1012
: U+4EAC : 1016
: U+5793 : 1020
𥝱 : U+25771 : 1024
: U+7A63 : 1028
: U+6E9D : 1032
: U+6F97 : 1036
: U+6B63 : 1040
: U+8F09 : 1044
: U+6975 : 1048

: U+62FE : 10
: U+4F70 : 100
: U+9621 : 1000
: U+842C : 104

<axf:counter-style> / CSS @counter-style XSL-FO Samples CollectionカウンタスタイルCSSページ組版入門@counter-style

Antenna House Formatter V7.4 は、独自のカウンタスタイルを定義することができます。 CSS仕様については CSS Counter Styles Level 3 を参照してください。

Common Usage:

カウンタスタイルを定義します。この要素はエリアを生成しません。

Areas:

なし。

Constraints:
<!ELEMENT axf:counter-style EMPTY>
<!ATTLIST axf:counter-style name             CDATA #REQUIRED>
<!ATTLIST axf:counter-style system           CDATA "symbolic">
<!ATTLIST axf:counter-style negative         CDATA "-">
<!ATTLIST axf:counter-style prefix           CDATA "">
<!ATTLIST axf:counter-style suffix           CDATA ". ">
<!ATTLIST axf:counter-style range            CDATA "auto">
<!ATTLIST axf:counter-style pad              CDATA "0 ''">
<!ATTLIST axf:counter-style fallback         CDATA "decimal">
<!ATTLIST axf:counter-style symbols          CDATA #IMPLIED>
<!ATTLIST axf:counter-style additive-symbols CDATA #IMPLIED>

<axf:counter-style> 拡張要素は、<fo:declarations> の直下に置くことができます。

Contents:

EMPTY

Examples:
<fo:declarations>
  <axf:counter-style name="trinary"
                     system="numeric"
                     symbols="'0' '1' '2'"
                     suffix="') '"/>
</fo:declarations>

<axf:counter-style> / @counter-style には、以下のプロパティを指定することができます。

name

カウンタスタイルの名前を指定します。

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

この名前は list-style-typeaxf:number-transform などで利用することができます。defaultdecimal および none は指定できません。 以下のカウンタスタイルは定義済みです。 Ready-made Counter Styles および 7. Complex Predefined Counter Styles を参照してください。