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- を付ける必要はありません。 プロパティ値の構文については、プロパティ値の構文を参照してください。
注意: | Antenna House Formatter V7.4 の実装はCSS3仕様とは必ずしも一致しません。 |
---|
拡張要素
要素の拡張は、XSLに対してのみの拡張です。
値の拡張
値の拡張は、XSL/CSS両方に対して、または一方に対して行われます。XSL/CSSで、拡張される値が異なることがあります。
プロパティ名 | 説明 |
---|---|
<border-style> | 古いCSS3にあった dot-dash、dot-dot-dash、wave などが指定できるよう拡張されています。
これらの優先順位は次のようになります。
|
<color> | XSL-FO における <color> の値は、次のいずれかです。
|
break-after, break-before | break-after、break-beforeプロパティの値を拡張しています。 |
display | CSSのdisplayプロパティの値を拡張しています。 |
display-align | display-alignプロパティの値を拡張しています。 |
font-size-adjust | font-size-adjustプロパティの値を拡張しています。 |
font-stretch | font-stretchプロパティの値を拡張しています。 |
font-variant | font-variantプロパティの値を拡張しています。 |
force-page-count | force-page-countプロパティの値を拡張しています。 |
format | formatプロパティの値を拡張しています。 |
hyphenate | hyphenateプロパティの値を拡張しています。 |
hyphenation-push-character-count | hyphenation-push-character-countプロパティの値を拡張しています。 |
hyphenation-remain-character-count | hyphenation-remain-character-countプロパティの値を拡張しています。 |
initial-page-number | initial-page-numberプロパティの値を拡張しています。 |
internal-destination | internal-destinationプロパティの値を拡張しています。 |
leader-alignment | leader-alignmentプロパティの値を拡張しています。 |
merge-sequential-page-numbers | merge-sequential-page-numbersプロパティの値を拡張しています。 |
odd-or-even | odd-or-evenプロパティの値を拡張しています。 |
overflow | overflowプロパティの値を拡張しています。 |
page-position | page-positionプロパティの値を拡張しています。 |
size | sizeプロパティの値を拡張しています。 |
table-omit-footer-at-break | table-omit-footer-at-breakプロパティの値を拡張しています。 |
table-omit-header-at-break | table-omit-header-at-breakプロパティの値を拡張しています。 |
text-transform | text-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> |
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> |
hsl() | CSS3の HSL color values にある hsl() 関数がCSS、FO共利用できます。hsl(<H>,<S>,<L>) と、引数を3つ与えます。<H> には単位なし数値を与えます。 <S>,<L> には、%値、または 0.0~1.0 を与えます。 ☞ <color> |
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> |
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> |
cmyka() | cmyka() 関数が利用できます。cmyka(<C>,<M>,<Y>,<K>,<A>) と、引数を5つ与えます。<C>,<M>,<Y>,<K>,<A> には、%値、または 0.0~1.0 を与えます。 ☞ <color> |
linear-gradient() | グラデーションを表現する関数です。 |
radial-gradient() | |
repeating-linear-gradient() | |
repeating-radial-gradient() | |
counter() | CSSの counter() 関数を拡張しています。CSSのみで利用できます。 |
attr() | CSS3 Values の attr() 関数を利用できます。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 |
jpt | JIS Z 8305 で定められている絶対値の単位で、1jpt=0.3514mm。 |
q | JIS X 4052、JIS Z 8125 で定められている級を表す絶対値の単位で、1q=0.25mm。 |
dpi | axf:image-resolution などで、解像度を示すときに利用できます。 |
dpcm | axf: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 |
lh | line-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 |
vmin | vwとvhで小さい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。 ☞ CSS Values and Units |
vmax | vwとvhで大きい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。 ☞ CSS Values and Units |
pvw | ページの幅を100とした単位です。ルート要素などのビューポートが確立していない要素で使用することはできません。 |
pvh | ページの高さを100とした単位です。ルート要素などのビューポートが確立していない要素で使用することはできません。 |
pvmin | pvwとpvhで小さい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。 |
pvmax | pvwとpvhで大きい方の長さとなります。ルート要素などのビューポートが確立していない要素で使用することはできません。 |
gr | 段抜き指定の単位です。ルート要素などの参照領域が存在しない要素で使用することはできません。 |
fr | グリッドコンテナ内の利用可能な空間の比を表します。 V7.4 |
その他のXSL拡張
XSL仕様では、長さを表す値には単位を付けなければならないことになっています。 Antenna House Formatter V7.4 では、長さゼロのときに限って、単位なしの "0" も受け付けます。
XSL仕様では、<fo:region-*> の記述順序は
(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-*> よりも上に描画することができます。
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"/>
XSL仕様では、XML仕様のxml:langだけが明記されていますが、Antenna House Formatter V7.4 では、以下のXML入力を受け付けます。XHTMLやXML+CSSのときも同様です。
- xml:lang
- xml:base
axf:base-uri と同様に機能します。 - xml:id
7.30.8 id と同様に機能します。 - xlink:href
XLinkの名前空間(http://www.w3.org/1999/xlink)のhref属性をリンクとして扱います。
文書情報
Antenna House Formatter V7.4 からPDF出力する場合の、PDFへ文書情報を埋め込む方法を説明します。
<axf:document-info> / HTML <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> のプロパティは name と value で、いずれも必須です。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 では「しおり」と表現されています。
- UseNone
- pagelayout *
文書を開いたとき、使われるページレイアウトを指定します。以下のいずれかを指定できます。
- SinglePage
一度に1ページを表示 - OneColumn
ページを1列で表示 - TwoColumnLeft
奇数ページを左側にして2列で表示 - TwoColumnRight
奇数ページを右側にして2列で表示 - TwoPageLeft
奇数ページを左側にして見開きの2ページずつを表示 - TwoPageRight
奇数ページを右側にして見開きの2ページずつを表示
TwoPageLeftとTwoPageRightは、PDF1.5以降のときに指定できます。 指定されなかったときは、PDFのビューアアプリケーションの動作に依存します。
- SinglePage
- hidetoolbar *
文書を開いたとき、ツールバーを隠すかどうかを true または false で指定します。 既定値はfalseです。
- *
文書を開いたとき、メニューバーを隠すかどうかを 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は無視されます。
- value="#Named=Print"
- createdate, modifydate
PDFの /CreationDate、/ModDate を指定します。modifydate を指定していないときは現時刻とみなされます。createdate を指定していないときは modifydate とみなされます。modifydate が createdate よりも過去のときは、createdate に調整されます。
日付の書式は、ISO 8601(JIS 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以降で有効です。
- Simplex
- binding
ページの綴じ方を指定します。以下のいずれかを指定できます。
- Left
Left binding左綴じ - Right
Right binding右綴じ
<fo:declarations> の子の <axf:document-info> でのみ有効です。
- Left
<axf:custom-property> / HTML <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> の子に置くことができます。また、そのプロパティは name と value で、いずれも必須です。どちらも空ではいけません。 name には、以下を指定することはできません。name の大文字小文字は区別されます。<meta> のitempropもnameと同様です。
- 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-mode を true に設定した場合、下記のように明示的に空文字列を指定したときにその要素はタグを作成せず、親のエリアが属するタグに属するようになります。
<fo:block axf:pdftag="''">
axf:expansion-text / CSS -ah-expansion-text
タグ付きPDFでのタグに拡張テキストを指定します。
Value: | <string> |
Initial: | empty string |
Applies to: | all formatting objects |
Inherited: | no |
Percentages: | N/A |
タグ付きPDFで略字に対する説明文などを指定します。
注意: | タグ付き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> 要素が含まれていること。
- 各インターフェイスで以下が指定されていること。
GUI PDF出力ダイアログ で、[分冊出力] がチェックされていること。 コマンドライン -multivol パラメータ が指定されていること。 .NET Multi Volume プロパティに true が指定されていること。 COM Multi Volume プロパティに true が指定されていること。 Java XfoObj::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 と同じですが、グループ化されたしおりも各分冊に付けます。
注意: | <fo:bookmark> によるしおりでは無効です。axf:outline-* を利用してください。 |
---|
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.pdf、document-3.pdf、document-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.pdf、chapterX.pdf、document-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 のしおりウィンドウでもしおりの表示を確認することができます。
注意: | XSL 1.1 には同様の機能が備わっています。<fo:bookmark> を利用してください。 ただし、多分冊出力を行うときは、<fo:bookmark> ではなく、axf:outline-* を利用してください。 |
---|
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 プロパティで表します。次に例を示します。
- 内部リンク
<fo:block> 解答は<fo:basic-link internal-destination="appendix-a">付録A</fo:basic-link>にあります。 </fo:block> ... <fo:block id="appendix-a"> 付録A </fo:block>
- 外部リンク
<fo:block> ここが <fo:basic-link external-destination="https://www.w3.org/">W3Cのウェブサイト</fo:basic-link>です。 </fo:block>
ローカルファイル指定の外部リンクは、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
例えば、外部リンクの場合、fitH、fitR、fitBH の指定は無効です。これらは内部リンクでのみ有効です。 また、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
宛先形式を指定したリンクを生成することができます。これは、リンク先での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指定、外部リンクでのページ番号指定、内部リンクでのページ番号指定、外部リンクのしおり、内部リンクのしおり を参照してください。
注意: | GUIでもリンクは機能しますが、axf:destination-type は無効です。常に xyz-left-top とみなされます。 |
---|
PDFの宛先形式 | 指定方法 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
[page /XYZ left top zoom] | left/top の値は、Antenna House Formatter V7.4 が計算しますが、nullか非nullかを明示することができます。zoom は利用者が任意値を指定できます。
| ||||||||||
[page /Fit] |
| ||||||||||
[page /FitH top] | top の値は、Antenna House Formatter V7.4 が計算します。内部リンクでの指定のみ有効です。
| ||||||||||
[page /FitV left] | left の値は、Antenna House Formatter V7.4 が計算します。
| ||||||||||
[page /FitR left bottom right top] | left/bottom/right/top の値は、Antenna House Formatter V7.4 が計算します。内部リンクでの指定のみ有効です。
| ||||||||||
[page /FitB] |
| ||||||||||
[page /FitBH top] | top の値は、Antenna House Formatter V7.4 が計算します。内部リンクでの指定のみ有効です。
| ||||||||||
[page /FitBV left] | left の値は、Antenna House Formatter V7.4 が計算します。
|
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指定
外部リンクで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指定
内部リンクで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&view=fitH,100"
axf:action-type="gotor">
URIのパラメータに page も nameddest も含まれないときは、page=1 とみなされます。ページ番号は、PDFでの物理的なものと解釈されます。
内部リンクでのページ番号指定
internal-destination の値にページ番号も指定できるように拡張してあります。
<fo:basic-link internal-destination="72">
宛先形式の指定は、外部リンクURIのパラメータ部分を付加することで実現します。
<fo:basic-link internal-destination="72#view=fitH,100">
ページ番号は、PDFでの物理的なものと解釈されます。また、ページ番号だけの指定のときの宛先形式は view=fit とみなされます。
外部リンクのしおり
しおりに外部リンクを指定するには、次のように axf:outline-external-destination プロパティを指定します。
<fo:block axf:outline-level="1"
axf:outline-title="第6章"
axf:outline-external-destination="http://mydocs/doc.pdf#nameddest=Chapter6"
axf:action-type="gotor"
show-destination="new">
このとき、このしおりはそれが付いている fo:block などのブロックとは無関係となります。
内部リンクのしおり
しおりに内部リンクを指定するには、次のように axf:outline-internal-destination プロパティを指定します。
<fo:block axf:outline-level="1"
axf:outline-title="第6章"
axf:outline-internal-destination="Chapter6">
このとき、このしおりはそれが付いている fo:block などのブロックとは無関係となります。
注意事項
- internal-destination と external-destination はいずれか一方のみを指定してください。
- 多分冊出力のとき、内部リンクで指定されていたリンクが、外部リンクになることがあります。このとき、リンクの動作は、axf:action-type="gotor" とみなされます。
- 意図しないリンクが作成されたときは、まずご使用の PDF のビューアアプリケーションの設定をご確認ください。例えば Adobe Reader や Adobe Acrobat では「URL からリンクを作成」機能が自動でリンクを作成している場合があります。
注釈
Antenna House Formatter V7.4 では、PDFへ注釈を付けることができます。 注釈の詳細は、ISO 32000-1 または ISO 32000-2 を参照してください。ここで指定できる注釈は、その一部です。
axf:annotation-type / CSS -ah-annotation-type
注釈の種類を指定します。
Value: | <string> |
Initial: | empty string |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
注釈の種類は、次のいずれかを指定することができます。
- 空文字列
注釈はありません。
- Text
テキスト注釈です。
- FreeText
フリーテキスト注釈です。
- Stamp
ラバースタンプ注釈です。
- FileAttachment
ファイル添付注釈です。
文字列の大文字小文字は区別されません。
<fo:basic-link> とHTMLの <a> は常にリンク注釈を生成します。
axf:annotation-author / CSS -ah-annotation-author
注釈の作成者を指定します。
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
注釈のタイトルを指定します。
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
注釈の内容を指定します。
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
注釈の背景などに利用される色を指定します。
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
注釈のフラグを指定します。
Value: | <string> |
Initial: | empty string |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
以下の文字列を空白区切りで列挙して指定します。大文字小文字は区別されません。
- Invisible
- Hidden
- NoZoom
- NoRotate
- NoView
- ReadOnly
- Locked
- ToggleNoView
- LockedContents
これらの意味については、ISO 32000-1 または ISO 32000-2 を参照してください。
axf:annotation-open / CSS -ah-annotation-open
注釈の最初の状態を指定します。
Value: | true | false |
Initial: | false |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
注釈の種類(axf:annotation-type)が次のとき、その注釈が最初に開いた状態で表示されるかどうかを指定します。
- Text
値の意味は以下のとおりです。
- true
注釈を開いた状態で表示します。
- false
注釈を閉じた状態で表示します。
axf:annotation-icon-name / CSS -ah-annotation-icon-name
注釈の表示に用いるアイコンの名前を指定します。
Value: | <string> |
Initial: | empty string |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
注釈の表示に用いるアイコンの名前には、任意のものを指定できますが、それを表示できるかどうかは文書のビューアアプリケーションに依存します。 注釈の種類(axf:annotation-type)によって指定できる標準の名前を示します。
- Text
標準の名前は以下のとおりです。
- Comment
- Help
- Insert
- Key
- NewParagraph
- Note
- Paragraph
空文字列の場合は Note とみなされます。
- Stamp
標準の名前は以下のとおりです。
- Approved
- AsIs
- Confidential
- Departmental
- Draft
- Experimental
- Expired
- Final
- ForComment
- ForPublicRelease
- NotApproved
- NotForPublicRelease
- Sold
- TopSecret
空文字列の場合は Draft とみなされます。
- FileAttachment
標準の名前は以下のとおりです。
- Graph
- Paperclip
- PushPin
- Tag
空文字列の場合は PushPin とみなされます。
axf:annotation-position-horizontal / CSS -ah-annotation-position-horizontal
注釈の水平位置を指定します。
Value: | <length> |
Initial: | 0pt |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
指定する位置は領域の左端からの距離で、ポップアップやアイコンの位置、ラバースタンプ注釈の位置に利用されます。
axf:annotation-position-vertical / CSS -ah-annotation-position-vertical
注釈の垂直位置を指定します。
Value: | <length> |
Initial: | 0pt |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
指定する位置は領域の上端からの距離で、ポップアップやアイコンの位置、ラバースタンプ注釈の位置に利用されます。
axf:annotation-width / CSS -ah-annotation-width
注釈の幅を指定します。
Value: | <length> | auto |
Initial: | auto |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
このプロパティは、ポップアップの幅、ラバースタンプ注釈の幅に利用されます。
axf:annotation-height / CSS -ah-annotation-height
注釈の高さを指定します。
Value: | <length> | auto |
Initial: | auto |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
このプロパティは、ポップアップの高さ、ラバースタンプ注釈の高さに利用されます。
axf:annotation-font-family / CSS -ah-annotation-font-family
フリーテキスト注釈のフォントファミリを指定します。
Value: | <string> |
Initial: | depends on user agent |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
axf:annotation-font-size / CSS -ah-annotation-font-size
フリーテキスト注釈のフォントのサイズを指定します。
Value: | <absolute-size> | <relative-size> | <length> | <percentage> |
Initial: | depends on user agent |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | refer to the font size |
axf:annotation-font-weight / CSS -ah-annotation-font-weight
フリーテキスト注釈のフォントの太さを指定します。
Value: | normal | bold |
Initial: | normal |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
axf:annotation-font-style / CSS -ah-annotation-font-style
フリーテキスト注釈のフォントを斜体にするかどうか指定します。
Value: | normal | italic |
Initial: | normal |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
axf:annotation-text-color / CSS -ah-annotation-text-color
フリーテキスト注釈の色を指定します。
Value: | <color> |
Initial: | depends on user agent |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
axf:annotation-text-align / CSS -ah-annotation-text-align
フリーテキスト注釈の配置を指定します。
Value: | left | center | right |
Initial: | left |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | no |
Percentages: | N/A |
axf:annotation-border-style / CSS -ah-annotation-border-style
フリーテキスト注釈のボーダーのスタイルを指定します。
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
フリーテキスト注釈のボーダーの幅を指定します。
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
フリーテキスト注釈のボーダーの色を指定します。
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
ファイル添付注釈の関連付けられるファイルを指定します。
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
ファイル添付注釈のとき、出力する代替ファイル名を指定します。
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
注釈の作成日を指定します。
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
注釈の修正日を指定します。
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-modifydate が axf: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-type が submit か reset である場合、それらが機能しなくなります。それ以外の <axf:form-field> は、<axf:form> に関係なく動作します。
HTML のフォームでは、以下のタグの体裁が html.css で指定されています。これら以外のタグは無視されます。
- <form>
- <input>
- <button>
- <textarea>
- <select>
- <option>
<axf:form> / HTML <form>
- 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>
- Common Usage:
フォームフィールドを生成します。
- Areas:
正規行内領域を生成して返す。
- Contents:
HTML のフォームで生成されるフォームフィールドの主な制約は以下のとおりです。対応している機能の詳細は html.css 内容を確認してください。html.css に明記されていない機能は制約に記載されていなくても無効です。
- <input>、<button>、<textarea>、<select> に指定できるすべての属性に対応しているわけではありません。
- <input> に指定できるすべての type に対応しているわけではありません。
- <input> の type に search、tel、url、email、month、week、datetime-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
フィールドの名前にページ番号を付加することができます。
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-default-text に設定されている文字数がそれを超えたとき、初期値は捨てられます。 |
---|
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-default-text に設定されている文字列は、その妥当性が検査されます。不適合な初期値は捨てられます。 |
---|
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"
これらは、順に次の意味です。
- 小数点以下の桁数。(既定値:2)
入力された値の小数点以下の桁数が多い場合は、四捨五入されて表示されます。
- 桁区切りの方法。以下の値のいずれかを指定します。(既定値:0)
0. 1,234.56 1. 1234.56 2. 1.234,56 3. 1234,56 4. 1'234.56 - 負数の表示方法。(既定値:0)
0. 何も加工しません。 1. 赤で表示します。 2. 括弧付きで表示します。 3. 赤で括弧付きで表示します。 - 通貨記号。任意の文字列を指定します。(既定値:空文字列)
通貨記号を前置するときは、"$ " のように後に空白を入れるとよいでしょう。後置するときは前に空白を入れます。
- 通貨記号の位置。trueのとき数値の前に、falseのとき後に表示します。(既定値:true)
- 小数点以下の桁数。(既定値:2)
- 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の仕様書等を参照してください。
注意: | Acrobat のバージョンにより、指定した書式が無効となる場合があります。 |
---|
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>
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> には、多くの共通の拡張プロパティを指定することができますが、フィールドの種類によって有効なプロパティは異なります。 フィールドの大きさは、widthとheightプロパティで指定できます。省略された場合は適当な大きさとなります。以下に、各フォームフィールドの指定例を示します。
テキストフィールド
テキストフィールドは field-type="text" で指定します。内容は空です。単一行かどうかは、field-multiline によります。
<axf:form-field
field-type="text"
field-default-text="TEXT"
field-multiline="false"
field-scroll="false"
field-password="true"
field-maxlen="100"
/>
GUIでは、field-default-text の内容は表示されません。
プッシュボタンフィールド
プッシュボタンフィールドは、field-type="button" で指定します。内容は空です。 プッシュボタンは、通常何等かのアクションを伴います。
<axf:form-field
field-type="button"
field-button-layout="caption"
field-button-face="TEXT"
field-button-icon="URI"
field-button-face-down="DOWN"
field-button-icon-down="URI"
field-button-face-rollover="OVER"
field-button-icon-rollover="URI"
/>
GUIでは、field-button-face などの内容は表示されません。
チェックボックスフィールド
チェックボックスフィールドは、field-type="checkbox" で指定します。内容は空です。
<axf:form-field
field-type="checkbox"
field-checked="true"
field-checked-style="checkmark"
/>
GUIでは、field-checked="true" の状態は表示されません。
ラジオボタンフィールド
ラジオボタンフィールドは、field-type="radio" で指定します。内容は空です。
<axf:form-field
field-type="radio"
field-checked="true"
field-checked-style="checkmark"
field-name="Card"
field-value="MasterCard"
/>
ラジオボタンは、複数の組から成るのが普通です。その組は、同一の field-name を持つラジオボタンとして識別されます。チェックが付けられるボタンは、その中で高々ひとつです。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:field-name が設定されていないフィールドに対してはリセット・サブミットは動作しません。 |
---|
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-type は goto を指定するか、省略します。 アクションは、ボタンを放したときに発生します。
外部リンクは次のように指定します。
<axf:form-field field-type="button" external-destination="URI"
action-type="gotor"/>
action-type は、gotor、launch、uri のいずれでも構いません。
注意: | ボタンフィールドでの分冊をまたがる internal-destination は無効です。 |
---|
<axf:form-field-event>
- 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> の子要素に置くことができます。そのプロパティは name と action-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
レイヤを定義します。
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 とみなされます。
レイヤを印刷するかどうかを指定します。on で印刷され、off では印刷されません。省略したときは on とみなされます。
- export
PDF のビューアアプリケーションから PDF のレイヤをサポートするファイル形式へ書き出すとき、結果の文書にレイヤを含めるかどうかを指定します。on で含まれ、off では含まれません。省略したときは on とみなされます。
- zoom
レイヤが表示される倍率の最小値と最大値を指定します。値をひとつだけ指定した場合は最小値とみなされます。負の値を指定することはできません。省略したときは無制限とみなされます。
- lang
レイヤの言語を指定します。文書を開いたときPDFのビューアアプリケーションの言語と指定した lang が一致すればレイヤを表示します。preferred はビューアの言語と lang が部分的に一致したときにもレイヤを表示します。lang の文字列が有効か否かはPDFのビューアアプリケーションに依存します。
注意: PDFのビューアアプリケーションでの言語によるレイヤの表示と、GUIの言語選択による表示は、一致するとは限りません。 - locked
レイヤをロックして編集を無効にします。locked は、PDF1.6以降で有効です。
PDF/X、PDF/A、PDF/UA では、view、print、export の指定は無視されます。
axf:layer / CSS -ah-layer
エリアをどのレイヤに配置するかを指定します。
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>
約物の後の空白量を指定します。
<axf:space-start-punctuation>
約物の前の空白量を指定します。
<axf:space-between-digit-and-punctuation>
数字と約物の間の空白量を指定します。
<axf:space-between-punctuation-and-digit>
約物と数字の間の空白量を指定します。
これらの拡張要素はいずれも空要素で、<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="»" space="1 div 4" language="fr"/>
<axf:space-end-punctuation code="«" space="1 div 4" language="fr"/>
<axf:space-between-punctuation-and-digit code="+" space="thin" language="fr"/>
<axf:space-between-punctuation-and-digit code="−" space="thin" language="fr"/>
<axf:space-between-punctuation-and-digit code="±" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="%" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="℃" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="℉" 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-width、page-height プロパティで指定される通常のページサイズ(仕上がり寸法)の外側に描画されるので、文書内容に影響はありません。
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
出力媒体の物理的な端から仕上がり寸法までの距離を指定します。
Value: | <length> |
Initial: | 0pt |
Applies to: | fo:simple-page-master / CSS @page |
Inherited: | no |
Percentages: | N/A |
仕上がり寸法は page-width、page-height プロパティ(CSS size プロパティ)によって指定される寸法です。 axf:crop-offset はその外側にどれだけの余白をとるかを指定するものです。 上下左右に同じ値を指定するには axf:crop-offset を、個別の値を指定するには axf:crop-offset-top、axf:crop-offset-bottom、axf:crop-offset-left、axf:crop-offset-right を使用します。 axf:crop-offset と他を同時に指定したときは、個別の axf:crop-offset-* の方が優先します。
注意: | axf:bleed の値が axf:crop-offset の値よりも大きいときは、axf:crop-offset はその値に調整されます。仕上がり寸法を基本版面の寸法にするには、axf:bleed と axf:crop-offset の値を 0 にしてください。 |
---|
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
裁ち落としのための塗り足しの領域の幅を指定します。 [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-top、axf:bleed-bottom、axf:bleed-left、axf:bleed-right を使用します。 axf:bleed と他を同時に指定したときは、個別の axf:bleed-* の方が優先します。
axf:printer-marks / CSS (-ah-)marks
トンボなどの印刷マーク類を指定します。 [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" を指定してください。
注意: | CSS の (-ah-)marks で -ah-crop-offset が指定されていないときは、14mm とみなされます。 |
---|
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
トンボをページ内容の上に描くか指定します。
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版でのみ有効で、プリンタに出力する場合に機能します。また有効かどうかはプリンタにも依存します。プリンタドライバで指定されている値を指定します。たいていのプリンタでは、次の整数値が対応します。
- 片面印刷。
- 両面印刷。裏面は左右に開く。
- 両面印刷。裏面は上下に開く。
オプション設定ファイルの SeparatePrinterDuplexJob も参照してください。
axf:overprint / CSS -ah-overprint
オーバープリントを指定します。
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"
とみなされます。また、stroke も paint も指定されていないときは、stroke と paint が指定されているとみなされます。オーバープリントから除外したいときは none を指定してください。
axf:overprint="k100, rgb-icc(#CMYK,0,0,0,1) stroke full, all paint"
のようにある色が複数に解釈できるとき、次の順序で調べて最初にマッチした指定が採用されます。
- <color>
- k100
- separation
- all
オーバープリントの効果は、実際の印刷環境によって、背景色とオーバープリントを指定された前景色の関係でさまざまです。カラースペースによる代表的なオーバープリントの効果を次に示します。オプション設定ファイルで color-conversion="all-cmyk" と指定されているときの RGB は CMYK となります。
前景(オーバープリントを指定) | |||||
---|---|---|---|---|---|
CMYK | Separation | RGB | Grayscale | ||
背景 | CMYK | ○ | ○ | × | × |
Separation | ○ | ○ | ○ | ○ | |
RGB | ○ | ○ | × | × | |
Grayscale | × | ○ | × | × |
オーバープリントに関する詳細は ISO 32000-1 または ISO 32000-2 の 4.5.6 Overprint Control を参照してください。
注意: | オーバープリントは、PDF出力でのみ有効です。直接印刷するときなどは無効です。また、シェーディング、フォームフィールドには適用されません。 |
---|
注意: | 埋め込まれるPDFへは効果が及びません。あらかじめオーバープリントを指定して作成したPDFを埋め込んでください。 |
---|
ページ制御の拡張
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
ページを逆順に出力します。
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-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ページはブランクページです。
- force-page-count="even"
空の <fo:page-sequence> も参照してください。
CSSでは、@page に指定したときに評価されます。
odd-or-even
以下の太字の値が拡張されます。
Value: | odd | even | odd-document | even-document | any |
値の意味は以下のとおりです。
- odd-document
文書先頭からのページ数が奇数の場合にページマスタが選択されます。
- even-document
文書先頭からのページ数が偶数の場合にページマスタが選択されます。
page-position
以下の太字の値が拡張されます。
Value: | only | first | last | rest | any | second | <An+B> |
値の意味は以下のとおりです。
- second
2ページ目(first の次のページ)。
- <An+B>
CSSの :nth() と同じ形式の値を指定できます。
size / CSS (-ah-)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> 横×縦 A3 297×420mm ISO 216 A4 210×297mm ISO 216 A5 148×210mm ISO 216 A6 105×148mm ISO 216 B4 250×353mm ISO 216 ISO-B4 JIS-B4 257×364mm JIS P 0138 B5 176×250mm ISO 216 ISO-B5 JIS-B5 182×257mm JIS P 0138 B6 125×176mm ISO 216 ISO-B6 JIS-B6 128×182mm JIS P 0138 Letter 8.5×11in North American Paper Sizes Government-Letter 8×10.5in North American Paper Sizes Legal 8.5×14in North American Paper Sizes Ledger 17×11in North American Paper Sizes Tabloid 11×17in North American Paper Sizes Statement 5.5×8.5in Executive 7.25×10.5in Folio 210×330mm C 17×22in ANSI Paper Sizes D 22×34in ANSI Paper Sizes E 34×44in ANSI Paper Sizes ISO-DL 110×220mm ISO 269 ISO-C3 324×458mm ISO 269 ISO-C4 229×324mm ISO 269 ISO-C5 162×229mm ISO 269 ISO-C6 114×162mm ISO 269 Hagaki 100×148mm 日本郵便
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は、詳細度を次のように実装しています。
- <page-type-name>
- :blank
- :only
- :first :last
- :left :right :odd :even :recto :verso :nth()
- :rest
- :not-blank
注意: | [CSS3-Page] で定義されている specificity とは異なります。 |
---|
次のような調整が行われます。
- :first:last は :only とみなされます。
- :only が指定されているとき :first と :last の指定は捨てられます。
また、例えば @page :left:right のように、矛盾する指定をしてもエラーにはなりませんが、そのような @page は採用されないでしょう。
break-after / CSS (-ah-)break-after
break-before / CSS (-ah-)break-before
以下の太字の値が拡張されます。 [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
break-after、break-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-after、break-beforeが有効です。
- <length> | <percentage>
指定された高さより残り領域の高さが少ないとき、break-after、break-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
ブロックの変形を指定します。 [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
ブロックの変形の基点を指定します。 [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
行グリッドを設定または解除します。
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
ルート要素で定義される行グリッドを設定します。ルート要素のfontとline-height設定が行グリッドの設定に利用されます。
- new
新しい行グリッドを設定します。この要素のfontとline-height設定が行グリッドの設定に利用されます。
行グリッドが設定された領域内での行の配置は、行グリッドで設定されるベースライン位置に揃えられます。先頭の行の前側と最後の行の後側には半行間のアキは入らず、仮想ボディ(em-box)の端が領域の内容領域の端に揃うようになります。
注意: | axf:baseline-grid は、それが指定されているブロック内に作用します。そのブロック自身は親のブロックに依存します。 |
---|
display-alignにauto以外の値が指定された領域内では行グリッドは無効です。
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
ブロックを行グリッドにどのように揃えるかを指定します。
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
ブロックを行グリッドに配置するのにマージンボックスの端を使います。
このプロパティは通常の行以外のブロック(見出しや図表)をどう行グリッドに配置するかを指定します。
注意: | axf:baseline-block-snap は、それが指定されているブロックの親のブロックに axf:baseline-grid が設定されているときに有効となります。 |
---|
使用方法は axf:baseline-grid を参照してください。
行分割
行分割処理を制御するために、Antenna House Formatter V7.4 は拡張プロパティを用意しています。 通常、行分割は UAX#14: Line Breaking Properties に従います。 技術的資料の行分割も参照してください。
axf:line-break / CSS (-ah-)line-break
行分割の方法を指定します。 [CSS3-Text] Breaking Rules for Punctuation: the ‘line-break’ property
Value: |
auto | [[normal | strict | |
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 の指定は無視されます。条件によってこのアルゴリズムが適用できない場合があります。技術的資料の行分割を参照してください。
normal も strict も指定されていないときは normal が指定されているとみなされます。line も bpil も指定されていないときは、オプション設定ファイルの bpil の指定により、アルゴリズムが選択されます。詳しくは、技術的資料の行分割を参照してください。
CJKのNonstarter文字以外の行分割は UAX#14: Line Breaking Properties に従います。このとき axf:append-non-starter-characters、axf:except-non-starter-characters、axf:append-non-end-of-line-characters、axf:except-non-end-of-line-characters で指定された文字も考慮されます。
CJKでのNonstarter文字は以下のとおりです。
U+203C | DOUBLE EXCLAMATION MARK | ‼ | [NS] | |
U+203D | INTERROBANG | ‽ | [NS] | |
U+2047 | DOUBLE QUESTION MARK | ⁇ | [NS] | |
U+2048 | QUESTION EXCLAMATION MARK | ⁈ | [NS] | |
U+2049 | EXCLAMATION QUESTION MARK | ⁉ | [NS] | |
U+3005 | IDEOGRAPHIC ITERATION MARK | 々 | [NS] | [JIS] |
U+301C | WAVE DASH | 〜 | [NS] | |
U+303B | VERTICAL IDEOGRAPHIC ITERATION MARK | 〻 | [NS] | [JIS] |
U+303C | MASU MARK | 〼 | [NS] | |
U+3041 | HIRAGANA LETTER SMALL A | ぁ | [JIS] | |
U+3043 | HIRAGANA LETTER SMALL I | ぃ | [JIS] | |
U+3045 | HIRAGANA LETTER SMALL U | ぅ | [JIS] | |
U+3047 | HIRAGANA LETTER SMALL E | ぇ | [JIS] | |
U+3049 | HIRAGANA LETTER SMALL O | ぉ | [JIS] | |
U+3063 | HIRAGANA LETTER SMALL TU | っ | [JIS] | |
U+3083 | HIRAGANA LETTER SMALL YA | ゃ | [JIS] | |
U+3085 | HIRAGANA LETTER SMALL YU | ゅ | [JIS] | |
U+3087 | HIRAGANA LETTER SMALL YO | ょ | [JIS] | |
U+308E | HIRAGANA LETTER SMALL WA | ゎ | [JIS] | |
U+3095 | HIRAGANA LETTER SMALL KA | ゕ | [JIS] | |
U+3096 | HIRAGANA LETTER SMALL KE | ゖ | [JIS] | |
U+309B | KATAKANA-HIRAGANA VOICED SOUND MARK | ゛ | [NS] | |
U+309C | KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK | ゜ | [NS] | |
U+309D | HIRAGANA ITERATION MARK | ゝ | [NS] | [JIS] |
U+309E | HIRAGANA VOICED ITERATION MARK | ゞ | [NS] | [JIS] |
U+30A0 | KATAKANA-HIRAGANA DOUBLE HYPHEN | ゠ | [NS] | |
U+30A1 | KATAKANA LETTER SMALL A | ァ | [JIS] | |
U+30A3 | KATAKANA LETTER SMALL I | ィ | [JIS] | |
U+30A5 | KATAKANA LETTER SMALL U | ゥ | [JIS] | |
U+30A7 | KATAKANA LETTER SMALL E | ェ | [JIS] | |
U+30A9 | KATAKANA LETTER SMALL O | ォ | [JIS] | |
U+30C3 | KATAKANA LETTER SMALL TU | ッ | [JIS] | |
U+30E3 | KATAKANA LETTER SMALL YA | ャ | [JIS] | |
U+30E5 | KATAKANA LETTER SMALL YU | ュ | [JIS] | |
U+30E7 | KATAKANA LETTER SMALL YO | ョ | [JIS] | |
U+30EE | KATAKANA LETTER SMALL WA | ヮ | [JIS] | |
U+30F5 | KATAKANA LETTER SMALL KA | ヵ | [JIS] | |
U+30F6 | KATAKANA LETTER SMALL KE | ヶ | [JIS] | |
U+30FB | KATAKANA MIDDLE DOT | ・ | [NS] | |
U+30FC | KATAKANA-HIRAGANA PROLONGED SOUND MARK | ー | [JIS] | |
U+30FD | KATAKANA ITERATION MARK | ヽ | [NS] | [JIS] |
U+30FE | KATAKANA VOICED ITERATION MARK | ヾ | [NS] | [JIS] |
U+31F0 | KATAKANA LETTER SMALL KU | ㇰ | [JIS] | |
U+31F1 | KATAKANA LETTER SMALL SI | ㇱ | [JIS] | |
U+31F2 | KATAKANA LETTER SMALL SU | ㇲ | [JIS] | |
U+31F3 | KATAKANA LETTER SMALL TO | ㇳ | [JIS] | |
U+31F4 | KATAKANA LETTER SMALL NU | ㇴ | [JIS] | |
U+31F5 | KATAKANA LETTER SMALL HA | ㇵ | [JIS] | |
U+31F6 | KATAKANA LETTER SMALL HI | ㇶ | [JIS] | |
U+31F7 | KATAKANA LETTER SMALL HU | ㇷ | [JIS] | |
U+31F8 | KATAKANA LETTER SMALL HE | ㇸ | [JIS] | |
U+31F9 | KATAKANA LETTER SMALL HO | ㇹ | [JIS] | |
U+31FA | KATAKANA LETTER SMALL MU | ㇺ | [JIS] | |
U+31FB | KATAKANA LETTER SMALL RA | ㇻ | [JIS] | |
U+31FC | KATAKANA LETTER SMALL RI | ㇼ | [JIS] | |
U+31FD | KATAKANA LETTER SMALL RU | ㇽ | [JIS] | |
U+31FE | KATAKANA LETTER SMALL RE | ㇾ | [JIS] | |
U+31FF | KATAKANA LETTER SMALL RO | ㇿ | [JIS] | |
U+FE54 | SMALL SEMICOLON | ﹔ | [NS] | |
U+FE55 | SMALL COLON | ﹕ | [NS] | |
U+FF1A | FULLWIDTH COLON | : | [NS] | |
U+FF1B | FULLWIDTH SEMICOLON | ; | [NS] | |
U+FF65 | HALFWIDTH KATAKANA MIDDLE DOT | ・ | [NS] | |
U+FF67 | HALFWIDTH KATAKANA LETTER SMALL A | ァ | [JIS] | |
U+FF68 | HALFWIDTH KATAKANA LETTER SMALL I | ィ | [JIS] | |
U+FF69 | HALFWIDTH KATAKANA LETTER SMALL U | ゥ | [JIS] | |
U+FF6A | HALFWIDTH KATAKANA LETTER SMALL E | ェ | [JIS] | |
U+FF6B | HALFWIDTH KATAKANA LETTER SMALL O | ォ | [JIS] | |
U+FF6C | HALFWIDTH KATAKANA LETTER SMALL YA | ャ | [JIS] | |
U+FF6D | HALFWIDTH KATAKANA LETTER SMALL YU | ュ | [JIS] | |
U+FF6E | HALFWIDTH KATAKANA LETTER SMALL YO | ョ | [JIS] | |
U+FF6F | HALFWIDTH KATAKANA LETTER SMALL TU | ッ | [JIS] | |
U+FF70 | HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK | ー | [JIS] | |
U+FF9E | HALFWIDTH KATAKANA VOICED SOUND MARK | ゙ | [NS] | |
U+FF9F | HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK | ゚ | [NS] |
[NS] は Line Break Properties で NS に分類される文字、[JIS] は JIS X 4051:2004 で行頭禁則和字に分類される文字です。
注意: | loose、anywhere には対応していません。 |
---|
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 | |
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" とみなされます。
注意: | break-word には対応していません。 |
---|
axf:word-wrap / CSS (-ah-)word-wrap
行分割できないとき、無理やり分割するかどうかを指定します。 [CSS3-Text] Overflow Wrapping: the overflow-wrap/word-wrap property
Value: | normal | break-word | |
Initial: | break-word (XSL) / normal (CSS) |
Applies to: | all block-level and inline-level formatting objects |
Inherited: | yes |
Percentages: | N/A |
値の意味は以下のとおりです。
- normal
無理やり分割しません。テキストは領域をあふれるでしょう。
- break-word
どこか適当な場所で無理やり分割します。
注意: | break-spaces には対応していません。 |
---|
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:// のようなスキーム部分を分割禁止にします。
-
スキーム以降の次の文字の前で分割可、後ろで分割禁止にします。ただし最後の文字の場合を除きます。
# % , - . / ? _ ~
-
スキーム以降の次の文字の前後で分割可にします。ただし最後の文字の場合を除きます。
& =
- これ以外は通常の行分割規則に従います。
注意: | 文字列がURLかどうかは、厳密にURLの構文に従っているかどうかを判断するわけではありません。 http://、https://、file:// のいずれかで始まっているかどうかだけで判断されます。 |
---|
注意: | 矛盾する指定は分割禁止が優先されます。 |
---|
以下の場合は機能しません。
- wrap-option="no-wrap" などで分割禁止のとき
- word-break="break-all" のとき
axf:abbreviation-character-count / CSS -ah-abbreviation-character-count
略語とみなす最大文字数を指定します。
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
引用符の向きを指定します。
Value: | QU | OP | CL |
Initial: | empty |
Applies to: | fo:character |
Inherited: | no |
Percentages: | N/A |
値の意味は以下のとおりです。大文字小文字は区別されません。
- QU
向きのない引用符とみなします。
- OP
開き引用符とみなします。
- CL
閉じ引用符とみなします。
U+0022 のような向きのない引用符に対して、次のように明示的に向きを指定して、適切な行分割を促します。
Lorem
<fo:character character=""" axf:quotetype="OP"/>ipsum<fo:character character=""" axf:quotetype="CL"/>
dolor sit amet,
引用符以外の文字に指定しても無効です。 引用符の扱いについては技術的資料の引用符を参照してください。指定のないときはその設定に従います。
ハイフネーションの拡張
Antenna House Formatter V7.4 は、ハイフネーションのための拡張を行っています。
hyphenate
以下の太字の値が拡張されます。
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-count
ハイフネーション処理をする語の最小文字数を指定します。
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-zone
ハイフネーション可能な範囲を制限します。
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-word
すでにハイフン付けされている語をハイフネーションするかどうかを指定します。
Value: | true | false |
Initial: | true |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
値の意味は以下のとおりです。
- true
ハイフネーションします。
- false
ハイフネーションしません。ハイフンの位置でのみ行分割の可能性があります。
ハイフン付けされているとみなされるハイフンは、次のいずれかです。
U+002D | HYPHEN-MINUS |
U+2010 | HYPHEN |
U+2011 | NON-BREAKING HYPHEN |
hyphenate="true" のときに有効です。
axf:hyphenate-caps-word / CSS -ah-hyphenate-caps-word
大文字からなる語をハイフネーションするかどうかを指定します。
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-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-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 |
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 |
CSS (-ah-)hyphens
[CSS3-Text] Hyphenation Control: the ‘hyphens’ property
Value: | none | manual | auto |
Initial: | manual |
Applies to: | all elements |
Inherited: | yes |
Percentages: | N/A |
<axf:hyphenation-info>
- 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 という単語に対して例外のハイフネーションが指定してあります。
注意: 上の例で、 とするのは正しくありません。(<hyphen/>は無視されてしまいます)abc<hyphen/>defg
としなければならないことに注意してください。abc<axh:hyphen/>defg
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­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-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+3002 IDEOGRAPHIC FULL STOP 。 U+FF0E FULLWIDTH 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+2018 | LEFT SINGLE QUOTATION MARK | ‘ |
U+201C | LEFT DOUBLE QUOTATION MARK | “ |
U+3008 | LEFT ANGLE BRACKET | 〈 |
U+300A | LEFT DOUBLE ANGLE BRACKET | 《 |
U+300C | LEFT CORNER BRACKET | 「 |
U+300E | LEFT WHITE CORNER BRACKET | 『 |
U+3010 | LEFT BLACK LENTICULAR BRACKET | 【 |
U+3014 | LEFT TORTOISE SHELL BRACKET | 〔 |
U+3016 | LEFT WHITE LENTICULAR BRACKET | 〖 |
U+3018 | LEFT WHITE TORTOISE SHELL BRACKET | 〘 |
U+301A | LEFT WHITE SQUARE BRACKET | 〚 |
U+301D | REVERSED DOUBLE PRIME QUOTATION MARK | 〝 |
U+FF08 | FULLWIDTH LEFT PARENTHESIS | ( |
U+FF3B | FULLWIDTH LEFT SQUARE BRACKET | [ |
U+FF5B | FULLWIDTH LEFT CURLY BRACKET | { |
U+FF5F | FULLWIDTH LEFT WHITE PARENTHESIS |
axf:punctuation-trim で処理される全角閉じ括弧は以下のとおりです。
U+2019 | RIGHT SINGLE QUOTATION MARK | ’ |
U+201D | RIGHT DOUBLE QUOTATION MARK | ” |
U+3009 | RIGHT ANGLE BRACKET | 〉 |
U+300B | RIGHT DOUBLE ANGLE BRACKET | 》 |
U+300D | RIGHT CORNER BRACKET | 」 |
U+300F | RIGHT WHITE CORNER BRACKET | 』 |
U+3011 | RIGHT BLACK LENTICULAR BRACKET | 】 |
U+3015 | RIGHT TORTOISE SHELL BRACKET | 〕 |
U+3017 | RIGHT WHITE LENTICULAR BRACKET | 〗 |
U+3019 | RIGHT WHITE TORTOISE SHELL BRACKET | 〙 |
U+301B | RIGHT WHITE SQUARE BRACKET | 〛 |
U+301E | DOUBLE PRIME QUOTATION MARK | 〞 |
U+301F | LOW DOUBLE PRIME QUOTATION MARK | 〟 |
U+FF09 | FULLWIDTH RIGHT PARENTHESIS | ) |
U+FF3D | FULLWIDTH RIGHT SQUARE BRACKET | ] |
U+FF5D | FULLWIDTH RIGHT CURLY BRACKET | } |
U+FF60 | FULLWIDTH RIGHT WHITE PARENTHESIS |
axf:punctuation-trim で処理される全角句読点は以下のとおりです。
U+3001 | IDEOGRAPHIC COMMA | 、 |
U+3002 | IDEOGRAPHIC FULL STOP | 。 |
U+FF0C | FULLWIDTH COMMA | , |
U+FF0E | FULLWIDTH FULL STOP | . |
axf:punctuation-trim で処理される全角中点類は以下のとおりです。
U+30FB | KATAKANA MIDDLE DOT | ・ |
U+FF1A | FULLWIDTH COLON | : |
U+FF1B | FULLWIDTH SEMICOLON | ; |
axf:punctuation-trim は、プロポーショナルフォントには影響しません。 また、glyph-orientation-* に auto 以外が指定されているときは常に none とみなされます。
注意: | XSL Formatter V4 での axf:punctuation-trim="both" は、Antenna House Formatter V7.4 では axf:punctuation-trim="start end" または axf:punctuation-trim="start allow-end" としてください。 また、axf:kerning-mode="contextual" と併用していた場合は、axf:punctuation-trim="start end adjacent" などとしてください。 |
---|
axf:text-justify-trim / CSS (-ah-)text-justify-trim
追い込みの処理方法を指定します。 [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+3002 IDEOGRAPHIC FULL STOP 。 U+FF0E FULLWIDTH FULL STOP . - punctuation-except-middledot
punctuation と同じですが、次の中点類を除外します。
U+30FB KATAKANA MIDDLE DOT ・ U+FF1A FULLWIDTH COLON : U+FF1B FULLWIDTH SEMICOLON ; - kana
ひらがな、カタカナを多少詰めて追い込み処理をします。
- ideograph
漢字やかなの間を詰めの対象として追い込み処理をします。
- inter-word
欧文単語間のスペースを詰めの対象として追い込み処理をします。
- auto
システムの既定値に依存します。これは、オプション設定ファイルの punctuation-trim、text-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 の CSS Text で inter-character に変更されました。 互換のために distribute も受け付けます。
注意: |
inter-character のときは、カーニングやリガチャが制限されます。 |
---|
axf:kerning-mode / CSS -ah-kerning-mode
カーニング(詰め処理)を行うかどうかを指定します。
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の 組版オプション設定ダイアログ でも設定することができます。
注意: | XSL Formatter V4 での axf:kerning-mode="contextual" は廃止されました。 axf:punctuation-trim="adjacent" を利用してください。 |
---|
axf:kerning-mode は、letter-spacing が指定されている場合は機能しません。
axf:punctuation-spacing / CSS -ah-punctuation-spacing
日本語で、全角約物と全角文字の間の詰めの間隔を指定します。
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-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+3001 IDEOGRAPHIC COMMA 、 U+3002 IDEOGRAPHIC FULL STOP 。 U+FF0C FULLWIDTH COMMA , U+FF0E FULLWIDTH FULL STOP .
その他の場合 last と同じ。U+FE50 SMALL COMMA ﹐ U+FE51 SMALL IDEOGRAPHIC ﹑ U+FE52 SMALL FULL STOP ﹒ U+FF64 HALFWIDTH IDEOGRAPHIC COMMA 、 - last
引用符類、閉じ括弧類、ピリオド、カンマ、ハイフン - start, first
引用符類、開き括弧類、Bullet類
axf:avoid-widow-words / CSS -ah-avoid-widow-words
段落の最後の行が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-trim や axf:text-justify-trim の設定によって、追い込む余地がなくなることもありますので、注意してください。 CJKでの行末の約物の扱いについては、オプション設定ファイルの avoid-widow-words-cjk-punctuation を参照してください。
axf:avoid-widow-words-cjk-punctuation / CSS -ah-avoid-widow-words-cjk-punctuation
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文字に勘定しないので「す。」のような行にはならず、「です。」のような行になります。ここで対象となる約物は、次の文字です。
- UAX#14: Line Breaking Properties での CL または CP に分類される文字(閉じ括弧や句読点などです)
- U+2019 および U+201D
- <string>
axf:avoid-widow-words-cjk-punctuation="?!" のように true/false 以外の文字列を指定すると、それらの文字も上記に加えて対象となる約物として扱われます。
axf:intrude-into-punctuation / CSS -ah-intrude-into-punctuation
インライン要素を句読点に食い込ませます。
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-break
ページ・段の分割が起こったときのマージンの扱いを指定します。
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-string
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-align や text-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-align や text-align-last と同じです。
最初の行領域の子の配置、直前の行の最後がU+000Aである行の配置を指定します。 text-align-last よりも優先します。
axf:leader-expansion を参照してください。
axf:flush-zone / CSS -ah-flush-zone
最後の行末のアキの調整をします。
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
最終行の空白の調整をします。
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-alignment
以下の太字の値が拡張されます。
Value: | none | reference-area | |
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側に寄せます。
注意: | page には対応していません。 |
---|
axf:leader-expansion
リーダを強制的に広げるかどうか指定します。
Value: | auto | force |
Initial: | auto |
Applies to: | fo:block |
Inherited: | yes |
Percentages: | N/A |
値の意味は以下のとおりです。
- auto
-
text-align の指定により、従来どおりの動作をします。
- force
-
リーダの含まれる行を、強制的に text-align="justify" とみなします。その結果、リーダが広がることになります。
注意: | CSS では常に force とみなされます。 |
---|
リーダを使った目次を考えます。そのとき、ラベルの長さやページ数の長さによって、次のように組版したいとします。
Short Label ................................. 10, 20, 30
Short Label ... 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150
Very Loooooooooooooooooooooooooooooooooooooong Label ... ............................................. 10, 20, 30
Very Loooooooooooooooooooooooooooooooooooooong Label ... ..... 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150
Very Very Very Loooooooooooooooooooooooooooooooooooooong Long Long Label ............................. 10, 20, 30
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
ページ先頭または段先頭のブロックの 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 では、タブ構造を表現できるような拡張を用意しています。
注意: | タブが含まれる行では、text-align="start" に強制されます。 |
---|
注意: | BIDI処理を要するテキストでは、タブ処理のもっともらしい効果を期待することはできません。 |
---|
<axf:tab>
- Common Usage:
-
タブ位置までスペースを空けます。 タブ位置は、axf:tab-stops で指定します。
- Areas:
正規行内領域を生成して返す。
- Contents:
EMPTY
この要素は、<fo:character character="	"/> と等価ではありません。<fo:character> には white-space-collapse や white-space-treatment などの空白関係のすべてのプロパティが適用されます。
axf:tab-align
タブ位置での配置を指定します。
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
タブ位置を指定します。
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
タブ文字(U+0009)の扱いを指定します。
Value: | <number> | preserve |
Initial: | 4 |
Applies to: | fo:block, fo:character |
Inherited: | yes |
Percentages: | N/A |
値の意味は以下のとおりです。
- <number>
指定された文字数の空白(U+0020)として扱います。負の値は指定できません。 この空白は、white-space-treatment や white-space-collapse などの処理対象となります。
- preserve
<axf:tab/>として扱います。
axf:tab-overlap-treatment
タブ揃えで文字が重なるときの扱いを指定します。
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
文字の輪郭を指定します。
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-width、axf:text-stroke-color のショートハンドです。
注意: | このプロパティは、GUIとPDF出力、SVG出力で有効です。他の出力では無視されます。 |
---|
注意: | Arabic や Devanagari などの繋がった文字列では、文字境界に輪郭線が描かれてしまいます。 |
---|
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 以下のときは輪郭は描かれません。
注意: | このプロパティは、GUIとPDF出力、SVG出力で有効です。他の出力では無視されます。 |
---|
注意: | Arabic や Devanagari などの繋がった文字列では、文字境界に輪郭線が描かれてしまいます。 |
---|
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 |
文字の輪郭の色を指定します。透明のときは輪郭は描かれません。
注意: | このプロパティは、GUIとPDF出力、SVG出力で有効です。他の出力では無視されます。 |
---|
注意: | Arabic や Devanagari などの繋がった文字列では、文字境界に輪郭線が描かれてしまいます。 |
---|
CSS (-ah-)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-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 |
CSS (-ah-)text-decoration-line
[CSS3-TextDecor] Text Decoration Lines: the ‘text-decoration-line’ property
Value: | none | [ underline || overline || line-through || |
Initial: | none |
Applies to: | all elements and generated content |
Inherited: | no (but see prose) |
Percentages: | N/A |
CSS (-ah-)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-orientation / CSS (-ah-)text-orientation
縦書きでの文字の向きを指定します。
[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 とみなされます。
mixed と upright の振る舞いについては、縦書きでの文字の正立を参照してください。正立された文字列中では常に axf:word-break="break-all"、 hyphenate="false" とみなされます。
このプロパティは、横書き中では無効です。また、ArabicやThaiなどの複雑なスクリプトを正立させることはできません。
axf:text-combine-horizontal / CSS (-ah-)text-combine-horizontal
縦書きでの自動
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-orientationやtext-transform、axf: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>
注意: | 縦中横にされた文字数が2文字以上のときは、axf:number-transformの指定は無視されます。 |
---|
注意: | axf:text-orientation="upright"以外での自動縦中横の指定はお勧めできません。 |
---|
自動縦中横は、以下の場合は無効です。また、縦中横部分の圏点は削除されます。
- 横書きのとき(縦中横の中、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-style
圏点のスタイルを指定します。 [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-offset
圏点と親文字の間隔を指定します。
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
テキストシャドウを指定します。 [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-dpi、textshadow-resolution-pixel-per-em で行います。なお、ぼかし半径をpx単位の長さで与えた場合、ぼかし半径はこれら解像度設定ではなく pxpi によって決まります。 - <color> で影の色を指定します。
この組は複数指定でき、幾重にも影を付けることができます。
注意: | XSL仕様ではこのプロパティは継承せずごく限られたFOにしか適用できませんが、Antenna House Formatter V7.4 ではCSS仕様に合わせて拡張されています。 ☞ [XSL 1.1] text-shadow |
---|
注意: | 文字色が透明やα値を含むとき、その色は正しく表示されません。 |
---|
ぼかし処理を行う場合、以下の点に注意してください。
- GUIおよびPDF出力のみで有効です。他の出力では、ぼかしは無視されます。
- PDF/X のように透過を出力できないデバイスでは、ぼかしは無視されます。
- フォントのグリフをラスタ画像に変換、加工します。フォントによっては画像化、加工しての頒布を禁止などしています。フォントの提供元が定めるライセンス的に問題ないか十分にご確認ください。
- フォントを埋め込まずにぼかし処理を行った場合、そのフォントがインストールされていない環境で出力物を開いたときにテキストシャドウと本文のエリアで字の形状が一致しません。ぼかし処理を行う場合フォントを埋め込むことをお勧めします。また、埋め込み禁止フォントに対してぼかし処理を行うかどうかは textshadow-blur-cannot-embed-font で設定できます。
- 装飾線や圏点等の文字修飾には描画されません。
- PDF出力における圧縮設定は、本機能で作成される画像に対しても適用されます。
- transparency を false に設定した場合、ぼかしは無視されます。
ドロップキャップ
axf:initial-letters / CSS (-ah-)initial-letters
ドロップキャップを行います。 [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 を持っていないことや、適切な値でないことがあります。そのようなときは、フォント構築ファイルに指定することで調整できます。
注意: | 文字サイズは、行の高さが一定であるという前提で計算されます。例えば、line-stacking-strategy="max-height" で途中に大きな文字があるような行のときは期待した文字サイズと異なるかも知れません。 |
---|
注意: | axf:text-align-first が指定してあるときはその値が、そうでないときは text-align の値が "left" または "start" または "justify" 以外のブロックでは、ドロップキャップは機能しません。 |
---|
最初の文字がルビだった場合、そのルビの最初のルビコンテナがドロップキャップされます。最初が <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
注意: | ドロップキャップの行数以内に fo:table など複雑な構造を含めることはできません。 なるべく単純な構造を用いてください。 |
---|
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のときの例です。
- x-height
最初の行の x-height に合わせます。図は行数が2で、最初の行にsmall-capsが指定されているときの例です。
- auto
次の条件のときに x-height に合わせます。それ以外では cap-height に合わせます。
- ドロップキャップされる文字または画像の次の文字が小文字の small-caps のとき(ただし、ドロップキャップされる文字または画像と次の文字が同じ要素に属しているときに限る)
- ドロップキャップする行数と沈み込ませる行数が等しいとき(ただし、行数が単位なしで指定されているときに限る)
注意: | 縦書きまたはCJKのときは無効です。 |
---|
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量を指定します。baseline、before、middle、after と同時に指定したときは、その位置からのシフト量となります。
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-letter に width を指定してください。
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-letter に text-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-letter に color を指定してください。
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 が none 以外のとき
- axf:float-wrap が wrap のとき
ドロップキャップの指定されたブロックに含まれている 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)のすべてが正規化処理から除外されます。
注意: | 例えば、NFKCでの正規化では、U+00A0がU+0020に変化するなど、FOとして意味のあるコードが変換されてしまうので注意してください。 |
---|
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-replace
文字列の置換をします。 [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-transform や axf:number-transform と同時に指定した場合、axf:text-replace が最後に評価されます。
text-transform / CSS (-ah-)text-transform
以下の太字の値が拡張されます。 [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-style、axf:kansuji-letter、axf: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-transform や axf:text-replace と同時に指定した場合、axf:number-transform の方が先に評価されます。 axf:counter-style または symbols() で指定されたカウンタスタイルが採用されたとき、prefix/suffix は付加されません。
CSS (-ah-)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()
- none
- axf:counter-style / @counter-style で定義されているスタイル
- 定義済みカウンタスタイル
- symbols()
<name> で示されたカウンタスタイルが見つからない場合は decimal とみなされます。 <string> はその文字列そのものが表示されます。
注意: | Antenna House Formatter V6.2 との相違 を参照してください。 |
---|
漢数字
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" と指定したのと等価です。
0 : U+FF10 1 : U+FF11 2 : U+FF12 3 : U+FF13 4 : U+FF14 5 : U+FF15 6 : U+FF16 7 : U+FF17 8 : U+FF18 9 : 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
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 には、以下のプロパティを指定することができます。
注意: | <symbol> には、文字列のみが指定できます。url() は指定できません。 |
---|
name
カウンタスタイルの名前を指定します。
Value: | <name> |
Initial: | N/A |
Inherited: | no |
Percentages: | N/A |
この名前は list-style-type や axf:number-transform などで利用することができます。default、decimal および none は指定できません。 以下のカウンタスタイルは定義済みです。 Ready-made Counter Styles および 7. Complex Predefined Counter Styles を参照してください。
- numeric
- alphabetic
- afar
- agaw
- ari
- blin
- cjk-earthly-branch
- cjk-heavenly-stem
- dizi
- fullwidth-lower-alpha
- fullwidth-lower-latin *
- fullwidth-upper-alpha
- fullwidth-upper-latin *
- gedeo
- gumuz
- hadiyya
- halfwidth-katakana *
- halfwidth-katakana-iroha *
- hangul *
- hangul-consonant *
- harari
- hindi
- hiragana
- hiragana-iroha
- japanese-formal
- kaffa
- katakana
- katakana-iroha
- kebena
- kembata
- khmer-consonant
- konso
- korean-consonant
- korean-hanja-formal
- korean-hanja-informal
- korean-syllable
- kunama
- lower-alpha
- lower-belorussian
- lower-bulgarian
- lower-greek
- lower-latin *
- lower-macedonian
- lower-norwegian *
- lower-oromo-qubee
- lower-russian
- lower-russian-full
- lower-serbo-croatian
- lower-ukrainian
- lower-ukrainian-full
- meen
- oromo
- saho
- sidama
- silti
- thai-alphabetic
- tigre
- upper-alpha
- upper-belorussian
- upper-bulgarian
- upper-greek *
- upper-latin *
- upper-macedonian
- upper-norwegian *
- upper-oromo-qubee
- upper-russian
- upper-russian-full
- upper-serbo-croatian
- upper-ukrainian
- upper-ukrainian-full
- wolaita
- yemsa
- additive
- symbolic
- fixed
- arabic-abjad
- circled-decimal
- circled-ideograph
- circled-katakana
- circled-korean-consonant
- circled-korean-syllable
- circled-lower-latin
- circled-upper-latin
- decimal-leading-zero
- dotted-decimal
- double-circled-decimal
- filled-circled-decimal
- fullwidth-lower-roman
- fullwidth-upper-roman
- maghrebi-abjad
- parenthesized-decimal
- parenthesized-hangul-consonant
- parenthesized-hangul-syllable
- parenthesized-ideograph
- parenthesized-lower-latin
- persian-abjad
- persian-alphabetic
- cyclic