カテゴリー別アーカイブ: XSL-FO・CSS

[XSL-FO] Formatter サポートが語る orphans と widows プロパティの話

こんにちは。
AH Formatterのサポート担当です。

今日はうっかり忘れがちなorphansとwidowsプロパティのお話です。
(….うっかり忘れるのは私だけかもしれませんが)

CSSやXSLで定義されているorphansとwidowsプロパティは次のように説明があります。
The “orphans” property specifies the minimum number of lines of a paragraph that must be left at the bottom of a page. The “widows” property specifies the minimum number of lines of a paragraph that must be left at the top of a page.

orphansプロパティはページ下に残される段落の最低の行数、widowsはページの1番上に残される段落の最低の行数を指定するということになります。
図1 を見ると解りやすいかと思います。

【図1 orphansとwidows】
【図1 orphansとwidows】

このorphans/widowsというプロパティの値は規定値が”2″に決められています。
これは、段落の始まりの1行だけがページ下にあったり、段落の最後の1行だけがページ上部にあるのは組版ルール上好ましくないとされているためです。
そのため、orphans=”2″の状態で組版すると図2 のような結果になります。

【図2 orphans=
【図2 orphans=”2″での組版結果】

Page1の下には1行分の空きがありますが、orphans=”2″なのでここに入るはずだった行(文字列)は次ページの先頭に移動します。その結果Page1の下には空きが発生します。
この段落でorphans=”1″を指定すると、図3 のようになります。

【図3 orphans=
【図3 orphans=”1″での組版結果】

widowsも同じです。

【図4 widows=
【図4 widows=”2″での組版結果】

図4 で最後の段落は4行分のデータです。普通に並べるとPage1に3行、Page2に1行と入るはずですが、widows=”2″にしたがってPage2のtopに1行だけ配置することはできないのでPage1の最後の行はPage2に移動します。結果的にPage1の下には1行分の空きが発生することになります。
これも、widows=”1″を指定すると図5 のようになります。

【図5 widows=
【図5 widows=”1″での組版結果】

※ここからうっかりポイント

このプロパティは段落の中に画像を埋め込んだ場合も適用されます。
例えば次のようなXSL-FOの記述があったします。
<fo:block>
<fo:external-graphic src=”1.jpg”/>
<fo:external-graphic src=”2.jpg”/>
</fo:block>

fo:external-graphicで埋め込まれた画像はインラインオブジェクトなので文字列と同様に行エリアを生成します。画像の大きさにもよりますが、これを組版したとき、次のような結果になる場合があります。

【図6 画像を2つ埋め込んだケース】
【図6 画像を2つ埋め込んだケース】

この例では1つの画像が1行分になります。
orphans=”2″,widows=”2″のままだと1行だけの配置はできないので最低の2行を同じページに配置しなくてはなりません。したがってこのように画像2つ(2行)が並んだ結果、ページからオーバーフローしてしまうことがあります。
こういう場合もorphans=”1″,widows=”1″を指定することで図7 のように解決します。

【図7 orphans=
【図7 orphans=”1″ widows=”1″ を指定して解決】

他にも、
<fo:external-graphic src=”embedded.pdf#page=3-5″/>
AH Formatterの拡張機能を使ってこのようなPDFの連続ページ埋め込みを行った場合も同じです。

先日、お客様からこういったお問い合わせを受けて
orphans/widowsの仕業だということを思い出すのに3時間ほどかかってしまったのでした。
 
 


AH Formatter V6.2 製品発表会のお知らせ

アンテナハウス株式会社は、XML/HTML 自動組版ソフトのベストセラー『AH Formatter』をバージョンアップした『AH Formatter V6.2』を 2014年2月28日に出荷開始いたしました。これにともない、3月7日(金)に製品発表会を開催いたします。どなたでも無料で参加できますので、是非、『AH Formatter』の進化を知っていただきたく存じます。

製品発表会の詳細は次のページでご覧いただけます。
Formatter Club「AH Formatter V6.2 発表会」

今回のバージョンでは、MathML 描画エンジンが完全に書き換えられ、数式の組版がより一層強化されました。このとき、MathML の対応バージョンも AH Formatter V6.1 までの MathML 2.0 から 3.0 へ更新しました。
MathML 3.0 を含む MathML のサンプル(zip)出力結果 PDF

MathML 組版結果例
– MathML 組版例 –

また、ご要望の多かった次の機能などに対応いたしました。

  • フォント構築ファイルの設定でフォントフォルダのサブフォルダ内のフォントも検索が可能になりました。
  • font-variant に指定できる値が追加されました。
  • ボックスシャドウに対応しました。
  • テキストシャドウに対応しました。
  • 行グリッドに対応しました。
  • 複数ページに渡る脚注が可能になりました。
  • 表の各段に独立に行番号を振ることが可能になりました。
  • ページ分割されたセルでの表示内容が指定可能になりました。
  • tab-size プロパティに対応しました。
  • rgba() 関数が利用可能になりました。
  • トンボに見開きの背表紙の幅を指定可能になりました。
  • GUI 上に表示されるページサイズの単位が指定が可能になりました。
  • GUI で使用する表示上の言語の切り替えが可能になりました。
  • CSS で評価される @media の種別を指定できるようになりました。
  • PDF レイヤの指定が可能になりました。
  • PDF の埋め込み時に埋め込まれる PDF 内にあるリンクなどの注釈が保持可能になりました。
  • PDF へ埋め込むマルチメディアのプロパティが追加されました。
  • 組版の設定の既定値の見直しを行いました。
  • PDF 出力の設定の既定値の見直しを行いました。

行グリッドを使った組版例
– 行グリッドを使った組版例 –

既に『AH Formatter』をご利用の方も、自動組版にご興味をお持ちの方も、是非この機会に製品誕生から 14年目を迎えた『AH Formatter』の性能に触れていただきたく存じます。

・追記(2014年3月10日):
「AH Formatter V6.2 発表会」で配布した資料を公開します。『AH Formatter』の機能をご理解いただくのにお薦めです。是非、ご覧ください。
『AH Formatter V6.2』の数式組版と多言語組版の解説(PDF)
『AH Formatter』従来の機能と V6.2 で追加された新機能の紹介(PDF)


[AH Formatter] FO 中での言語指定の重要性について

ユーザサポートに寄せられる問い合わせ(トラブル)で FO 中での言語指定がないことが原因となっている場合がよくあります。

font-family においてフォントの候補が複数列挙されている時や font-family の指定が無い時、AH Formatter は文字に対してどのフォントを適用すべきかをスクリプトによって決定します。これによって “ABC” などのラテン文字は欧文フォント、”あいうえお” などのひらがな(日本語)であれば和文フォントになります。

Unicode で定義されているスクリプト情報のみで判断できない場合には前後の文字などで判断しますが、それでも決定できない場合があります。例えば、段落に単独で ○(U+25CB)があったり、○ の前後に半角スペースが存在するような場合です。○ は和文フォントと欧文フォントでその字体には違いがあります。

FO 中での言語指定の重要性について

スクリプトが決定できない=フォントが決定できない時、AH Formatter はオプション設定ファイルの default-lang と default-lang2 の設定に従います(フォントの選択方法については、オンラインマニュアルの 技術的資料 – フォントの選択を参照してください)。この指定の既定値に従うと、言語指定のない FO では “eng” が指定されているものとみなします。したがって、上記のような ○ のスクリプトが決定できない場合は欧文フォントが選択されます。

FO 中での言語指定の重要性について

このように言語指定が無いことが原因で同じ ○ に対して適用されるフォントが欧文フォントだったり和文フォントだったりと統一されないことがあります。XSL-FO での言語指定は、xml:lang や language プロパティで行います。この指定を行うことでこのようなトラブルを未然に防ぐことができます。

組版対象の FO において、言語指定をすることは非常に重要です。日本語のドキュメントでは、ひらがな、カタカナ、漢字などの日本語とアルファベットや記号などが混在して文字の言語情報に関して意識しないことが多いのですが、このようなトラブルを防ぐために言語やフォントの指定を正しく行うことが必要です。


「CSS 書籍組版」セミナー開催のご案内(Formatter Club)

今週末 10月18日(金)に Formatter Club で「CSS 書籍組版」セミナーを開催いたします。
CSS でどこまで組版が可能かのご説明と、CSS 組版の実例のご紹介をいたします。

Formatter Club は会員様以外でも CSS 組版、自動組版にご興味のある方であればどなたでもご自由にご参加いただけます。

開催概要及びお申し込みにつきましては次のページをご覧ください。
Formatter Club 「CSS書籍組版」セミナーご案内(無料セミナー)

Formatter Club の詳細については次のページをご覧ください。
Formatter Club について


[書籍紹介] ページ組版のための CSS 指南

CSS により Web 上のコンテンツを DTP に匹敵する高度なレイアウト指定で PDF へ出力する機能を強化した『AH Formatter V6.0』の機能を使いこなすために、多くの事例を添えて解説した教本「ページ組版のための CSS 指南」が強化改訂されました。アンテナハウスによる追加機能の解説とその規格を収録しています。
◇ 書籍情報:
・ページ組版のための CSS 指南 第2版
・藤島雅宏 編著;村上真雄 監修
・B5 版 274 ページの冊子版
・CD(PDF・HTML・CSS データを収録)付属
・販売価格 8,925円(税込)
本書は、アンテナハウスオンラインショップでお買い求めいただけます。
ページ組版のための CSS 指南
姉妹書に「バッチ組版のための XSL-FO 指南」もございます。
「バッチ組版のための XSL-FO 指南」(アンテナハウスオンラインショップ)
 
 
続きを読む


[書籍紹介] バッチ組版のための XSL-FO 指南

かねてより発売しております「バッチ組版のための XSL-FO 指南」は、XSL-FO の学習に最適な入門書です。表題に「バッチ組版のための」とありますが、これから『AH Formatter』を導入される方の FO の学習にも役立つ内容になっています。本書の内容はその抜粋を PDF で見本としてご提供していますので是非ご覧ください。
見本 PDF ファイル(抜粋版)
書籍情報:
・バッチ組版のための XSL-FO 指南
・藤島雅宏 編著;アンテナハウス 監修
・B5 版 467ページ・CD データ付き
・販売価格 10,500円(税込)
本書は、アンテナハウスオンラインショップでお買い求めいただけます。
バッチ組版のための XSL-FO 指南 第4版

続きを読む


Pages: Prev 1 2 3 4 5