タグ別アーカイブ: XML

[XSL-FO] side-float 使ったリストの謎

こんにちは。
AH Formatterサポート担当です。
ドラクエがまだ終わりませーん。
やり込み要素は全部クリアしないと気が済まないタイプです。
最強装備全て揃えるまで頑張ります。
えと、ドラクエも FF も初代からリアルタイムでやっております。
(あっ、年がばれる)
3DS のすれ違い通信機能、田舎なんで誰にも会いません。。。車移動だし。

少し前のブログで、AH Formatter(XSL Formatter)の発売当初から携わっているというお話を
書かせていただきましたが、
xx年もやっております間に、
国内/海外のたくさんのお客様の XSL-FO を見てきました。
こちらが勉強になるようなテクニックもたくさんありました。

そんな中でひとつ、ずーーーーっと疑問に思っていることがあるのです。
それは、リストを fo:float で実装されるケースが度々あること。

簡単に書くと、こんな感じ。

 <fo:block><fo:float float=”start”><fo:block>1.</fo:block></fo:float>リスト項目の内容です。</fo:block>

実際にはもう少し複雑だったりしますが。

自分で XSL-FO(XSLTスタイルシート)を書いてもリストに fo:float を使ったことはありませんし、
念のため、弊社の XSLT開発の者に聞いてみたんですが、そういう方法は使わない、とのこと。
まぁ、リストは fo:list-block で書くもんだと思ってるからかもしれませんけど。

特定の会社のマニュアルのみとかですと、そういう方針?なのかな?と思ったりしたのですが、
別々のお客様で同じような手法を使われていることがちょくちょくあったりするのです。
これって、どうしてなんでしょう。
どこかにお手本あったりしたんでしょうか?
しかも、日本国内のみで、海外ではまず見たことありません。

XSL-FO のfo:list-block、難しいですか?めんどくさいですか?

リストの構造

うん、めんどくさいかも。。。。

もしこのブログを見たお客様で、
こんな理由で float 使ってるよと教えてくださる方、
いらっしゃいませんでしょうか。

■XSL-FOの仕様紹介:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』(クリックで紹介文章へ)


[XSL-FO] margin-top と space-before

こんにちは。
AH Formatterサポート担当です。
先日、私たちが暮らす長野県でもJアラートの音が鳴り響いて驚きました。
朝起きないことで定評のあるわたくしですが、一発で飛び起きました(^^;
一瞬で聴いた人を不安にさせるあの音?メロディ?を考えた人、ある意味すごいなぁと思います。
でも怖かった~。

丈夫な建物か地下に避難してください、って言われても
田舎なんで。。。。。。地下が。。。。ない。。。。(笑)

さて、今日は margin-top と space-before について、です。
margin-top は皆さまご存じのとおり、指定されたブロックの上端側にアキを作ります。
XSL-FO ではもうひとつ space-before というのがあります。
こちらは “before” なのでエリアの before側のアキということで
“top”(絶対位置指定)とはちょっと意味合いが違ってきますが
通常の横書き(lr-tb)の文書ですと “before” と “top” は同じですので
ここでは同じものとしてお話しします。

space-before を使った便利なケースはこんな場合です。

space-before を使った便利なケース

“1.1.1 Tree Transformations” と “1.1.2 Formatting” のサブタイトルのブロックには
どちらも space-before=”24pt” が指定してあります。
ページ途中にある場合は前のブロックとの区切りとしてアキを作り、
サブタイトルがページの先頭にある場合にはアキは不要ということでページ上端から始まります。
サブタイトルのブロックがどこに位置するか、ページの先頭にくるかどうかは
組版してみないとわからないですが、
space-before を指定しておくとこのような組版が可能です。

この振る舞いを定義するのが、
space-before の .conditionality です。
.conditionality の値は “discard” と “retain” です。
既定値は “discard” で、上記のような結果になります。
“retain” の場合は 常に(アキを)残す という意味なので
このサンプルのような場合でも、ページ先頭にアキが作られます。

XSL-FO で書く場合は、space-before.conditionality=”discard” のように指定します。
(既定値が discard なのでわざわざ指定しなくてもこうなります)

XSL-FO は元々 CSS2(2.1)を元に考えられているので
仕様の互換性のために margin-top が残されています。
では、margin-top と space-before のどこが違うのかというと、
この .conditionality です。

margin-top には .conditionality の概念はありません。指定もできません。
さらに (lr-tb のドキュメントにおいて)margin-top が指定された場合は
space-before.conditionality は “retain” が指定されたものとして扱うということが
XSL-FO の仕様で決められています。
space-before の方が実用的に考えられているんですね。

CSS は今のところ、残念ながら space-before はまだありません。
CSS3 の仕様策定が進んでいますので将来的には検討されるのかもしれませんね。

■XSL-FOの仕様紹介:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』(クリックで紹介文章へ)

 


[書籍紹介] MathML 数式組版入門

MathML 数式組版入門

昨年 6月に販売を開始した、W3C が定めた数式記述言語 MathML3.0 を使って数式組版を行うための入門書「数式組版入門」を、より MathML をご理解、ご活用いただけるよう、初版の内容を精査し、説明の追加や内容の整理を行い 8月に第1.1版をご用意しました。

本書はこの第1.1版より全文を PDF形式で無料公開しています。是非ともご覧ください。
PDF版

なお POD も販売しておりますので、
紙でお読みになりたい方は次の販売店よりお買い求めください。
販売店:Amazon.co.jp三省堂書店楽天ブックスhonto


CAS-UB にデジタル出版機構様の Picassol のXML のインポート機能を追加!

弊社で開発したクラウドサービス「CAS-UB」の「外部データの入力」機能に、新たに出版デジタル機構様が開発した「Picassol」で整理済みのXMLファイルをインポートする機能を追加しました!

「Picassol」とは、(株)講談社と日本電気(株)が共同開発した高機能編集プログラム Smart Source Editor(スマート・ソース・エディター、以下SSE)をクラウドサービス化したもので、文章の構成や校閲、ルビ付けなどをクラウド上で自動で再編集することも可能です。(公式サイトより引用 http://www.pubridge.jp/picassol/)

保存形式ファイルは、XMLファイルで採用しており、紙媒体、電子媒体向けに汎用性高く扱う事ができ、また、XML内のタグもわかりやすく構成されており、タグを再構成することで、Webページとして扱う事もできます。

今回追加した機能は、その「PIcassol」の整理済みXMLのファイルのタグの情報を元に読み込み、CAS 記法に書き換えて出版物の記事としてインポートする機能になります。
主な特徴として、まず、「Picassol」で編集した文章を大まかなスタイルと合わせてそのままインポートする事ができ、インポート時は、見出しレベル章(レベル1)、節(レベル2)、項(レベル3)ごとに記事をツリー構造の状態で分割することができ、また、その分割するレベルも選択することが可能です。さらに、文字列に添えた注釈とその注釈の内容、ルビもそのまま反映されます。

機能につきましての詳細は、以下になりますので、是非利用してみて下さい!!
http://www.cas-ub.com/outline/picassol-import.html


「Antenna House AHPDFXML 変換ライブラリ V2.0」の利用例

「Antenna House AHPDFXML 変換ライブラリ V2.0」は、PDFファイルの内部データを、XML(Extensible Markup Language:拡張可能なマークアップ言語)形式に変換するプログラムです。このライブラリが出力するXML形式を「AHPDFXML形式」と呼びます。PDF解析技術により文書構造を生成して、再利用に適したXMLデータを出力します。

「AHPDFXML形式」で表現された様々な情報から、必用な情報を読み取ることでPDFのデータを簡単に再利用できます。

  • 文字や画像の位置情報を利用することで、任意の範囲に含まれるデータを取り出せます。
    例えば、アンケートに使用したPDFの回答欄の文字列だけ取り出すことができます。
    例えば、特定の文字列や画像を含むPDFを探すことができます。
  • 表構造をデータベースに取り込むことにより、データのグループ化がおこなえます。
    PDFには表と言う概念はありませんが「AHPDFXML形式」は、表構造(行列及びセル)を生成します。
    これにより、文字としてでは無く、表としてデータを再利用できます。
    例えば、表構造をCSVに落とすことにより、表計算ソフトに取り出込めます。

XMLで表現することによって、データの扱いが容易になります。
XMLのメリットを最大限に活かしてPDFデータを活用できます。
弊社ウエブサイトより評価版の申し込みが可能です。是非ご評価ください。

製品に関するご質問は
sis@antenna.co.jp(SYSTEM担当)
または
oem@antenna.co.jp(OEM担当)
まで、お気軽にお問い合わせください。

評価版のお申込
評価版のお申込ページ

Webページ
https://www.antenna.co.jp/pdfxml/


「Antenna House AHPDFXML 変換ライブラリ V2.0」の概要

「Antenna House AHPDFXML 変換ライブラリ V2.0」は、PDFファイルの内部データを、XML(Extensible Markup Language:拡張可能なマークアップ言語)形式に変換するプログラムです。このライブラリが出力するXML形式を「AHPDFXML形式」と呼びます。PDF解析技術により文書構造を生成して、再利用に適したXMLデータを出力します。

PDFのデータは、文字、線、画像などが配置されているだけで、文字は見た目順に格納されているとは限らず、段落や表と言う概念もありません。本ライブラリでは、PDFのデータを単にXML化するだけで無く、文書構造を生成して、再利用に適したXMLデータを出力します。「AHPDFXML形式」として出力される主な情報は次の通りです。

  • 段落、行、パラグラフなどの文書情報を生成。
  • 線画情報から、水平/垂直の線分を抜き出して、表構造(行列及びセル)を生成。
  • 文字を見た目順に再配置してから出力。
  • 文字情報は、位置、フォント情報などを出力。
  • 画像情報は、位置、種別などを出力。
  • 画像本体は外部ファイルとして出力。

XMLで表現することによって、データの扱いが容易になります。
XMLのメリットを最大限に活かしてPDFデータを活用できます。
弊社ウエブサイトより評価版の申し込みが可能です。是非ご評価ください。

製品に関するご質問は
sis@antenna.co.jp(SYSTEM担当)
または
oem@antenna.co.jp(OEM担当)
まで、お気軽にお問い合わせください。

評価版のお申込
評価版のお申込ページ

Webページ
https://www.antenna.co.jp/pdfxml/


AH Formatter:縦書きのテーブルセルについて

こんにちは。
AH Formatterサポート担当です。
今週はAH Formatterのサポートで比較的よくあるご質問を紹介いたします。

今回は、縦書きのテーブルセルについて、です。
横書きの文書でも、テーブルヘッダだけ縦書きにしてセンタリング配置したいことってありますよね。
例えば、こんな感じ。
縦書きのテーブルセルについて

このように配置するための方法を順を追って説明します。

続きを読む


AH Formatter:”.precedence” の効果について

こんにちは。
AH Formatterサポート担当です。
今週はAH Formatterのサポートで比較的よくあるご質問を紹介いたします。

今回は、.precedence について、です。
XSL-FOの仕様の中で、space-before や space-after などのプロパティで Value に <space> が定義されているものがあります。

7.11.5 “space-before”
では、以下のように書かれています。

 XSL Definition:
 Value: <space> | inherit
 Initial: space.minimum=0pt, .optimum=0pt, .maximum=0pt, .conditionality=discard, .precedence=0

さらに
5.11 Property Datatypes
の中で、<space> の説明があります。

 A compound datatype, with components: minimum, optimum, maximum, precedence, and conditionality.

つまり、Value に <space> とあるプロパティについては
space-before.minimum=”2.0pt”
space-before.optimum=”3.0pt”
space-before.maximum=”4.0pt”
space-before.precedence=”0″
space-before.conditionality=”discard”
のような使い方ができます。

この中の “.precedence” について
どのような意味を持っているのか?
使い方がよくわからないというご質問を受けることがあります。

.precedence は指定値が競合するような場合の解決に用います。
競合した場合の強さを整数または”force”(最も強い)で表します。

space-after/space-beforeを例にしますと、

 <fo:block space-after=”2cm”>1のブロック</fo:block>
 <fo:block space-before=”1cm”>2のブロック</fo:block>

このような場合、どちらのblockも .precedence は指定されていないので
値は初期値の0です。したがって、
1のブロックと2のブロックの間の space は、
大きいほうの値が選択され、2cmとなります。

補足:
スペース指定子のこのような法則は
4.3.1 Space-resolution Rules
に定義されています。

次に、2のブロックに space-before.precedence=”force” を指定します。

 <fo:block space-after=”2cm”>1のブロック</fo:block>
 <fo:block space-before=”1cm” space-before.precedence=”force”>2のブロック</fo:block>

space-before の方が強制力を持つので、space は1cmになります。

次に両方に .precedence=”force” を指定すると、

 <fo:block space-after=”2cm” space-after.precedence=”force”>1のブロック</fo:block>
 <fo:block space-before=”1cm” space-before.precedence=”force”>2のブロック</fo:block>

両方とも強制的に space を出力するので、間の space は3cmとなります。

このような使い方を知っていると、章タイトル/節タイトルや本文との空きを調節するのに
便利なことがあるかもしれません。

参考資料
『XSL-FOの基礎』 6.8 複合データ型
 


AH Formatter:Windows版と非Windows版との違い(組版機能に違いはありません)

こんにちは。
AH Formatterサポート担当です。
今週はAH Formatterのサポートで比較的よくあるご質問を紹介いたします。

AH FormatterはWindows版、Linux版、Solaris版、Macintosh版など種々のOSに対応したバージョンがございます。
お客様のご利用環境に合わせたバージョンを選択されるのはもちろんですが、
例えば、Windows版とLinux版とでどちらがいいのか?違いがあるのか?といったご質問を受けることがあります。

AH Formatterの「組版機能」に関してはWindows版と非Windows版とで違いはありません。
ただし、Windows版以外では実行のためにいくつか設定等を行っていただく必要があります。

・AH FormatterのGUIはWindows版のみの機能です。

・非Windows版では直接プリンタへ出力することはできません。プリンタへ直接印刷指定できるのはWindows版のみの機能です。

・AH Formatterはフォントファイルを含みません。
 非Windows版では欧文基本14フォントのみインストールされますが、これはメトリクス情報ファイルのみ含まれます。
 フォントのアウトライン情報ファイルは含まれません。これらのフォントをPDFやPSに埋め込もうとする場合は、ご自身でフォントをご用意ください。
 それ以外のフォントのインストールはお客様の環境にて行ってください。
 Windows版ではインストール時にWindowsのフォントフォルダを参照するように設定されますが、
 非Windows版ではフォント構築ファイルにてお客様の環境に合わせて設定していただく必要があります。

・AH FormatterはXSLTプロセッサは含みません。
 Windows版は通常MSXMLがインストールされていますので(特に指定がない限り)それを自動的に使用しますが
 非Windows版ではお客様がXSLTプロセッサを選択、インストールしていただいたのち、
 オプション設定ファイルや環境変数にて使用するXSLTプロセッサを指定していただく必要があります。

・非Windows版では環境変数を設定する必要があります。
 Windows版ではインストール時に初期設定されますが非Windows版では設定されません。
 必要な環境変数はオンラインマニュアルの「環境変数」でご確認ください。

 


AH Formatter 機能のご紹介:CGM の描画(ISO/IEC 8632、WebCGM 2.1)

CGM(Computer Graphics Metafile)[1]は、ベクトルグラフィックスを表現する標準ファイル形式です。ISO/IEC 8632 の CGM[2] 及び W3C のWebCGM[3]で規定されています。自動車製造・航空機製造・機械などの製造業で良く使われています[4]

AH Formatter』はCGMとWebCGMを独自開発したエンジンにより描画し、描画した結果を画面に表示したり、印刷したり、PDFの中に線画(ベクタ画像)として作成できます。

CGM はベクタ画像として出力されるため画質は劣化せず高い解像度で描画することが可能です。また、『AH Formatter V6.4』において描画エンジンを完全に書き替え、これまで以上に多くの要素へ対応いたしました。
CGM仕様の実装状況(オンラインマニュアル)

一部ですが、V6.4 において新たに対応した描画を V6.3 と比較した結果を紹介します。
AH Formatter の CGM 描画

CGM 画像は W3C の Test Suite より引用しております。
引用元:WebCGM 2.1 Test Suite. “Copyright © 2002-2006, Lofton Henderson. All Rights Reserved.”

『AH Formatter』のサンプルFO集には、本機能の動作が確認できるサンプル「グラフィクス CGM の表示 (<fo:external-graphic>)」を掲載しております。

なお、CGM を描画するには、『AH Formatter CGM オプション』をご購入していただく必要があります。

『AH Formatter』は主にバージョンアップのたびに機能強化や新機能の追加を行っています。
“あったら便利な機能” も既に追加されていることがございますので、どうぞお気軽にサポートにお問い合わせください。
未実装の機能であれば、ご要望として承り、今後の開発の参考にさせていただきます。

『AH Formatter』の評価版にて CGM の描画をお試しいただけます。
評価版は次のページよりお申し込みいただけます。ご興味のある方は是非お試しください。
AH Formatter 評価版のお申し込み

[1] Computer Graphics Metafile
[2] ISO/IEC 8632-1:1999
[3] WebCGM 2.1
[4]HP Designjet Printers – Usage of the Computer Graphics Metafile (CGM)-Who uses CGM?

※3月26日冒頭部分を更新


Pages: Prev 1 2 3 4 5 6 7 8 Next