タグ別アーカイブ: AH Formatter

XSL-FO 試行錯誤 SVG 2.0 inline-sizeのTips

2023年01月19日に『Antenna House Formatter V7.3』がリリースされました!
関連して、2023年01月31日(火)16:00-17:00 にZoomウェビナーとして『Antenna House Formatter V7.3 リリース!  新機能と利用シーン紹介』を開催します。


https://us06web.zoom.us/webinar/register/4716717860524/WN_ElB-ZrzFQzShzKGqWZMHqg

新機能紹介ということで、XSL-FOやCSSページ組版の基礎知識があることを前提としています。しかし、特に知識の無い方でも「自動組版でこんな細かいレイアウト調整が効くのか」と楽しめることを目指していますので、お時間が合いましたら是非参加登録いただければ幸いです。

ウェビナースライドはFormatter V7.3で組版しています。スライドはCSSで組んでいるのですが、話題がSVGについてなので、暫くぶりとなる「XSL-FO 試行錯誤」シリーズを題に含めました。
(前回のXSL-FO試行錯誤のカレンダー作成の続きについてはまた時間があるときにさせていただければ……)

さて、本記事ではウェビナーで割愛する部分について、先行して補足します。
ということで、見た目が地味なのであまり深く掘り下げない予定のinline-sizeによるテキストの折り返しについてです。

発表スライドの見出し部分にはSVG 2.0を使っています。

テキストを配置するとき、SVG 1.xでは折り返しを扱えませんでした。
よって、複数行のテキストを配置するときは次の手順(これ以外にもなくはないですが)です。

右揃えで3行でテキストを描画するとします。座標は適当です。

  1. 改行位置でテキストを分割し、別のtspanに分ける
  2. それぞれのtspanにx,yの座標を指定する。2行目であれば1行目から1文字分以上離れた位置にyを設定する
<!-- SVG 1.x -->
<text x="0" y="0">
<tspan text-anchor="end" x="250" y="0">Formatter V7.3</tspan>
<tpsan text-anchor="end"  x="250" y="10">リリース!</tspan>
<tspan text-anchor="end"  x="250" y="20">新機能と利用シーン</tspan>
<text>

text-anchor=”end”によって、xの位置がテキストの終端になっています。

x,yはSVG内の座標系なので、font-size:18ptのように絶対単位で指定されていると対応する高さを調整するのはちょっと手間ですね。
他にも拡大縮小の際などにこれを忘れずに変更しなければなりません。

メリット、といえるかは分かりませんが、あらかじめ分割しているので、意図しない行分割が発生するということはないでしょう。

SVG 2.0のテキスト折り返し機能を使えば、折り返しを自動化可能です。Formatter V7.3ではinline-sizeによる折り返しをサポートしています。
Scalable Vector Graphics (SVG) 2 11.4.1. The ‘inline-size’ property



<text x="0" y="0" inline-size="1000">Formatter V7.3リリース! 新機能と利用シーン</text>

inline-sizeにはテキストの行長を指定します。

  • 両端揃えができない
  • 日本語は行頭・行末禁則以外では基本的に改行可能と判断される

また、見出しのような箇所で使う場合、次のことを意識しておくとよいでしょう。

今まで手動でやっていた行分割を自動処理にする都合上、特に、本文でない箇所での行分割規則は意識しておかなければなりません。
言語処理が日本語になっていれば(xml:lang=”ja”が適用されるような箇所であれば)
意図してそうしない限り「ー」は先頭に来ませんが、「リ」はそうではないので、

Formatter V7.3 リ
リース!

となるかもしれません。

特定単語の行分割を防ぐため、その箇所のマークアップをtspanにして、分割禁止のプロパティを付けることにします。
「tspanを使うなら結局SVG 1.xとあまり変わらない?」と思われるかもしれませんが、座標の明示がなくなるので処理はかなり単純化します。
「この単語で行分割されるのは困るが、ここ以外であれば別に構わない」というケースが多いとみているのですが、どうでしょうか。

<!-- <heading>Formatter V7.3<keep>リリース!</keep><keep>新機能</keep>と<keep>利用シーン</keep></heading> -->
...
<xsl:template match="heading">
  <svg:svg viewBox="0 0 1920 1080" >
  ...
    <svg:style>
      svg|tspan.keep {
        word-break: keep-all;
      }
    </svg:style>

    <svg:text x="1800" y="100" text-anchor="end"><xsl:apply-templates mode="#current"/></svg:text>
  </svg:svg>
</xsl:template>
...

<xsl:template match="keep">
  <svg:tspan class="keep"><xsl:apply-templates mode="#current"/></svg:tspan>
</xsl:template>

上記は実際に使用したコードではないため、参考程度にお考えください。
inline-sizeが対応するalign調整はtext-anchorによるものになるため、両端揃えの自動配置はできません。

その他、SVGのテキストを使う場合の注意点として、FOのブロックやHTMLのテキストと異なり、
「viewBoxは伸長しないため、想定よりテキストが長くなると表示が見切れる」という点があります。
つまり、「ページ単位で表示領域を確保できる」など、特に高さ・テキスト長があらかじめ想定できる
範囲で使うようにするとよいでしょう。

そして、Formatter V7.3で対応したSVGフィルタ・マスク機能と組み合わせることで文字列に効果を付加できます!

SVGテキストとマスク

画像に対し、テキストをマスクとして被せたものになります。このSVGではtext-anchor=”middle”です。
実のところ、SVGマスク以外の方法もあります、ただ、SVGマスクやフィルタは汎用的ですし、追加の独自仕様無しでXSL-FOでも使えるというメリットがあります。


【動画公開】FormatterClub 2021秋 ウェビナー

に開催した『FormatterClub 2021秋 ウェビナー』のアンテナハウス社員発表の録画を編集、分割し「アンテナハウスPDFチャンネル」にて動画を公開しました。

『AH Formatter20年の歩み』 ~FormatterClub 2021秋 ウェビナー ~

「PDFは当初ターゲットとしていなかった」「最初はActivXアプリだった」など、最近アンテナハウスやAH Formatterを知った方には驚きの内容もあったのではないでしょうか。

『XSL Formatter 拡張仕様使いこなしガイドの紹介』~FormatterClub 2021秋 ウェビナー~

『使いこなしガイド』の紹介です。ショウケースの紹介、『使いこなしガイド』を使って入力項目のある書類を作成するデモを行いました。

『AH Formatter V7.2 のご紹介』~FormatterClub 2021秋 ウェビナー ~

AH Formatter V7.2公開がウェビナー前日の16日だったため、非常にタイムリーな話題でした。
GUIのしおり表示やaxf:float-y="anchor"など、動画映えする機能が追加されています。機能のほかにも対応プラットフォームの拡大など、見逃せない内容を紹介しています。

FormatterClubについて

Formatter Club は、アンテナハウスの XML 自動組版ソフト『AH Formatter』を導入されているユーザーや関心を持っていただいている皆様と開発者とを繋ぎ、会員同士の交流、情報交換により『AH Formatter』の利用技術を向上させ、より皆様のお役に立てる製品としていくために役立てることを目的として発足いたしました。
『AH Formatter』とその関連技術(XSL、CSS、XML 多言語組版など)に関心のある方でしたらどなたも参加できます。参加費は無料です。
Formatter Club の活動には会員メーリングリストを情報交換のために利用し、会員専用の Web ページも提供いたします。また定例会を開催し、会員相互の親睦をはかります。定例会は、『AH Formatter』開発者から最新バージョンの紹介・デモ、活用事例紹介、組版技術の向上のための勉強会などを行います。

FormatterClubについて アンテナハウス株式会社


https://www.antenna.co.jp/AHF/formatterclub.html

関連記事




【動画公開しました】1月26日火曜日のちょっと一息・アンテナハウスウェビナーは「PDF自動生成超入門 PDF自動生成へ挑戦する人のための始めの一歩」

アンテナハウスでは、昨年8月から第2、第4火曜日の16時から「ちょっと一息・アンテナハウスウェビナー」*と題する無償のZoomウェビナーを開催しています。

ちょっと時間の余裕があれば、お気軽にご参加いただけて有用な知識を持ち帰っていただける、肩が凝らないウェビナーを目指しています。

来週は、「PDF自動生成超入門 PDF自動生成へ挑戦する人のための始めの一歩」と題して、自動組版は初めてという人向けに、弊社が目指す自動組版のお話をさせていただきます。

自動組版にはDTPソフトを組版エンジンとして使う方式から、自動組版専用エンジンを使う方式までいろいろな方法がありますが、26日のウェビナーでは、自動組版専用エンジンであるAH Formatter**を使う方法についての簡単な説明を致します。


※画像をクリックすると「こくちーず」の本ウェビナーご案内ページに移動します。
終了しました。

本ウェビナーご視聴いただければ、今すぐでなくてもいずれは必ずお役に立つ情報を得られるでしょう。自動組版に少しでも関心をお持ちの方はぜひご参加ください。


2021年2月:追記ウェビナーの録画を編集した動画を公開しました。

なお、「ちょっと一息・アンテナハウスウェビナー」の過去開催分は録画を、YouTubeのアンテナハウスPDFチャンネルにて公開しています。
チャンネル登録をお願い致します。

Antenna House YouTube Channel

アンテナハウスPDFチャンネル


Antenna House XML Services
AH Formatter

[AH Formatter V7.0 の新機能] BPIL による行分割

2020年2月20日にリリースされた『AH Formatter V7.0』の新機能、今回は行分割についてご紹介します。

『AH Formatter V7.0』では行分割を Knuth-Plass の Breaking Paragraphs into Lines(以降、BPIL)のアルゴリズムに従って行う方法を導入しました。BPIL は、主に欧文組版のためのアルゴリズムで、ブロック全体のバランスを考慮して分割位置を決定します。

BPIL については過去のブログで詳しく触れていますので、こちらもご覧ください。
Breaking Paragraphs into Lines

例えば、『AH Formatter』の従来の行分割では次のように組版されます。
従来の行分割の例

BPIL で組版すると以下のような結果になります。
BPILの行分割の例

全体のバランスが考慮され行末のアキの幅がより均等になります。
※ 行末のアキの幅を分かりやすくするため、あえて justify していません。

BPIL が機能するのは既定値でオプション設定ファイルの bpil で指定されている言語 “Latn Grek Cyrl” または axf:line-break=”bpil” が設定されているブロックです。制御はオプション設定ファイルなどで行え、もちろん従来の行分割になるよう機能を無効にすることも可能です。詳しくは行分割をご覧ください。

新しい行分割アルゴリズムが導入された『AH Formatter V7.0』を非是お試しください。

この記事の画像は公開サンプルを用いたものとなります。実際のデータは公開サンプルのページよりダウンロードいただけます。

評価版は以下よりお申し込みいただけます。
AH Formatter 評価版のお申し込み


2/7のXMLパブリッシング交流会に参加してきました

2020年2月7日、先週の金曜日に開催されたXMLパブリッシング交流会『ウェブ出版と日本語組版の未来』に参加してきました。アンテナハウスもブースを出展していた、page2020のイベントの1つという位置付けでした。

会場到着

会場は池袋サンシャインシティの文化会館7F会議室。最近の技術書典の会場として2F、3Fには来たことがあったので、まあ結構ギリギリの到着でも大丈夫かと高を括っていたのですが、素直にエスカレータを登っていたらスポーツジムに着いてしまい、慌ててエレベータを探しました。

そんなこんなで本当にギリギリの時間に会場に到着すると、席は前方から後方まで割と満遍無く埋まっていました。こくちーずでの申込数上限は80人で、終了後に確認したら登録者数は57人となっていましたね。

以下、スライドや発表に解釈を加えて記述している箇所がありますが、発表者の方の意図に沿えているか分からない箇所もございます。ご了承、ご指摘ください。

木田泰夫氏『JLReqタスクフォース』

Keynote for iCloud上の資料となるので、環境によってはご覧になれないかもしれません。FireFoxやSafariなら見られる筈です。

JLReq Task Force Chairmanの木田氏による、「W3C 日本語組版の処理要件」とその周辺の話となります。

原型としてはJIS X 4051:2004の「日本語文書の組版方法」となり、これを国際的な文書にまとめ直したもの、というのがJLReqの概要となります。

しかし、JLReqはJIS X 4051の単純な移植に留まらない、ということを発表を聴いて改めて意識させられました。

まず、非日本語話者にも要件を伝えるということから、JIS X 4051よりも詳細にその背景や用語の解説や図示が行われているということ。「ルビとはなにか」という説明が、ルビ文化が無い人のために必要になるといった例が挙げられました。

また、世界に向けて日本語組版における要件を発信したJLReqは、様々な言語における要件をまとめていく活動の先駆けとなりました。総称すると「xLReq」とでも言うべきこの活動は、世界が協力し多言語組版を実現していく上での重要なファクターとも言えそうです。

業界的な意味でも、W3Cの専門家と言語の専門家を繋ぐ架け橋としてxLReqがあるということでした。

JLReqTFとしても活動は続けられています。これは公開された活動で、GitHub上にインターフェースがあります。英語での意見投稿はハードルが高いと感じている方も、日本語で投稿した内容をJLReqのチームが拾い上げ、翻訳を行ってくれるとのことなので、積極的な参加を呼びかけておられました。

まず、JLReqの2版に向けた内容のアップデート。これは1版にドラスティックに変更が走るといった類のことではなく、

  •  正誤表の反映
  •  英語での記述の表現をより良くする、
  •  曖昧だった箇所の詳細化(ルビなど)
  •  参照文書としての完成度の向上

といった内容だそうです。

次に、JLReqの機能を滿たすようなCSSが定義されているか、あればその動作の検証の諸々と、そのドキュメント化までを行っているそうです。事前にキーワードとして挙げられていた「gap analysis」ですね。スライドの表にその例示があります。要件があっても実際にそれを実現できる仕組みがないとどうしようもないので、こういった調査を行ってくださっていることに頭の下がる思いです。GitHubで課題、意見の吸上げを行っているので、その整理自体も重要な仕事ということでした。

結びとして、「未来に向けて」という題で幾つかのお話をされました。

紙面とデジタルテキストとの違いということを軸に話されていたものの、多くは組版そのものが持っていた問題のうち、今まで人が都度なんとかしており、また完成したものが紙面など固定されたものであったために表に出ていなかったもの、という印象でした。

人間が監督するものと完全に自動で組版するものとの課題の例として、縦書きで左ルビの行と右ルビの行が隣り合うときの行間制御の例など(大抵は人間が位置をずらすことで対処)、画面サイズで文字の配置が変わる場合などに確かに考えねばならないものです。

また、世界で使われるということは、これまでの和文と欧文の高々2つの関係の独自の世界から、「多言語のうちの1つとしての日本語」ということを意識した要求にしていく必要がある、ということも「xLReq」、そしてインターネットとWebブラウザが登場してより顕在化した事柄ではないでしょうか。

そして、そもそも紙面上での組版の時代でも、媒体の事情に合わせて組版要件が変化していったということも、言われてみればその通りであるのに、見落としがちであった視点であったと思います。パラグラフマーク「¶」が、飾りではなく紙の値段が現在よりも高かったときに段落区切りを余白以外の手法で表していた、という例示がありました。

冊子の持っていた優位性の消失というのも興味深い話でした。ページを捲ることでのランダムアクセス(巻物はシーケンシャルですね)、これはデジタルテキストであればリンク機能で事足ります。新技術が登場するときに旧来の技術・表現を模倣するという視点での「デジタルテキストでの組版とその処理要件」は、どこに自分の立ち位置を合わせるかを考える上で重要なものだと感じました。

そして、参加者からの質問タイム。

「禁則処理や和欧文間のアキがJIS X 4051から引き継いでいるが、この要件を変更する議論はあるのか?」というもの。例えば「四分アキが適当な箇所と適当で無い箇所」といった具合ですね。「Tシャツ」という日本語としての単語の「T」と「シ」のアキが四分だと広すぎる、というような例が挙げられていました。

返答として、議論は行われているということでした。

関連して、和語の単語区切りのアイデアといったものも示されました。Webブラウザ表示では、日本語でも行末が不揃いであることもかなり受け入れられてきているので、今後そういった表現に関しての要件が必要になってくることも納得ですね。

「もっと皆さんに試してみてほしい」という言葉も印象的でした。

最後にされた「JLReqは今後『Rule』になるのか」という質問に対して「要件であり、複数あって良いものである」という姿勢が示されていました。その前にされたアキの変更議論なども含めての回答になっており、大変充実した内容でした。

田嶋淳氏『日本語組版に関連する CSS 規格の策定状況について』

https://speakerdeck.com/juntajima/ri-ben-yu-zu-ban-niguan-lian-surucssgui-ge-falsece-ding-zhuang-kuang-nituite

W3Cの作業草案(Working Draft)から勧告(Recommendation)に至る流れの解説の後、それに則って進められている本題のCSS規格の話へ移ります。

勧告候補まで行っても、状況によっては差し戻しされ議論に戻ることもあるというのは随時チェックする程でない身としてはショックがありました。

最新の仕様を追うならDraftを見ることになりますが、何せ草案なので揺れて怖いという話。

「CSS3」という呼称がCSS2.1までのバージョニングの話とは違うということは

不勉強であまり意識したことがありませんでした。CSS2.1に入っていた仕様をレベル3とし、各モジュールに分けて進行状況をレベルで表すということです。

各Webブラウザでの仕様の実装状況のチェック方法など、初学者に嬉しい内容のスライドとなっていました。

JLReqの発表でもあった、要件と対応するCSSのモジュールに関しても、そのモジュールを勧告まで持っていくには別のレイヤでの議論がある、ということでした。「行どり」のためのモジュールは2つほどあったけれどどちらもポシャってしまった話からも、その難しさが察せられます。

より高度なルビ機能の実装に向けたWebブラウザの動向という例も挙げられていました。FireFoxのみ両側ルビに対応を始めたものの、他ブラウザは行っていないといったズレがあるということでした。

定まっていない仕様が定まると、どのような場合に嬉しいのかということで、

text-spacingが規格化されれば、ぶら下げインデントでの約物の表示挙動が統一されたりする、といった例が挙げられていました。

自動縦中横のアイデアなど、どう実装するのか難しそうな話題もあるようです。

また、ルビと圏点を同時に使った場合の挙動といった、議論が定まっていないものもあります。ところで、Antenna House Formatterではルビと圏点の同時使用に対応しており、挙動としてはルビ文字の上に、親文字に対応する圏点を表示します。ルビ文字に合わせた圏点は行えません。

村上真雄氏『ウェブ出版と日本語組版の未来とCSS組版Vivliostyle』

https://vivliostyle.github.io/vivliostyle.js/viewer/vivliostyle-viewer.html#b=/vivliostyle_doc/ja/events/page2020xpub/&spread=false&renderAllPages=true

発表スライドもVivlioStyle製です。

紙とWebでの出版コンテンツの違いについてから始まりました。

どちらかというとページメディアとスクロールメディアの違いについてと言えなくもない内容でしたが、「CSSの表現力によってコンテンツの表現力が変わる」という主張は恐らくVivlioStyleの開発陣の情熱の起点となるものではないかと感じました。

電子書籍の形態として普及が進むEPUB3の話題も当然深く拘わってきます。EPUB3.0の仕様に縦書き機能が入ったことでも話題になりましたね。これも、W3CにおけるCSS標準化の進みによるもの、JLReqが貢献した1例といえます。

そして提示された「EPUBはウェブ出版といえるか」という疑問に対し、村上さんとしては現状そうではない、という立場のようです。

Web Publications」というそのものズバリなW3C Working Groupの存在と、それが現状停滞してしまっていること。この試みをそのまま形にする筈であったEPUB4.0も現状ではどうなるか分からない、とのこと。

また、メタデータの付与をJSON-LD形式で行うPublication Manifestについての言及もありました。こちらは勧告候補。

通常のWebページにSchema.orgに沿ったJSON-LDを付与することも聞くようになってきましたし、Webを志向する上ではそういった流れなのかもしれませんね。

各Webブラウザが機能を実装するにはとても時間がかかります。CSS Paged Media関連など、通常のWebページを表示するためのWebブラウザとしては後回しになりがちなCSS仕様もあります。一方で「標準化」のためには、いち早くその仕様を実装し、検証し、フィードバックを行うことも必要です。

CSSでの機能標準化をより強く進め、同じソースからCSSによって複数のレイアウトを実現し、印刷、EPUB、Web出版を1つのラインに載せたいという情熱を感じました。

「ここから本題です」と村上氏が発言し、会場に笑いが。確かにまだVivlioStyleの話が全然出ていませんでした。

商用のCSS組版ソフトウェアについても言及。弊社の「Antenna House CSS Formatter」の名前も上がりました。

VivlioStyleはオープンソースのJavaScriptプログラムで、EPUB Adaptive Layoutの機能やPaged Mediaなどの、Webブラウザが対応できていない機能をJavaScriptによって補完するものになります。大きなトピックとして、2019年からJavaScriptからTypeScriptに移行しました。

個人的にはVivlioStyle Flavored Markdownの話が聞きたかったのですが、デモもそこそこに時間終了となってしまいました。デモでは、同じHTMLソースからCSSの設定変更のみでレイアウトを大きく変更する例などを駆け足で紹介していました。

小形克宏氏『CSS組版とVivliostyleの未来』

https://www.slideshare.net/ogwata_1959/cssvivliostyle-227189333

VivlioStyleの沿革から。スライド外の情報としては、もともとInDesignのレイアウトをWebで実現したかったのがEPUB Adaptive Layoutの思想だったということで、驚きました。

開発の活発さをコミットログから見ると、会社時代と法人化以後を比較してもあまり衰えていない様子が表示されました。開発に参加してくれているメンバーなどにアンケートを取ったところ、「VivlioStyleの開発に加わると最新仕様の実装ができる」というところに魅力を感じている方が多いとコアメンバーが驚いたとか。ちなみに、コアメンバーがそのあたりに無自覚的だったことに会場から驚きの声が上がっていました。

開発者会議を現在月1度ほどの頻度で行っており、濃密な場となっているそうです。

そして、これからも開発を継続していくために、現在法人としてのVivlioStyleに欠けている、開発者支援のための費用など用意していくために、VivlioStyleを利用したサービスを構想中ということで、「VivlioStyle Pub」の構想が紹介されました。

VivlioStyleを利用したオンラインエディタ「Viola」を元に、「ブラウザで原稿執筆可能」「PDF/X-1a出力可能」「(独自仕様の)Markdown原稿をサポート」を目玉にサービスを行っていくというもののようです。VivlioStyle Pubとしては技術同人誌出版などを当面のターゲットとし、印刷所との連携などまで持っていくつもりとか。

VivlioStyle開発メンバーでもあるspring-raining氏のCSS組版・パブリッシング交流会でのViolaの発表が去年の6月ごろだったことを考えると、こういったプロジェクトでの歯車が噛み合う瞬間の速度というものの凄まじさを感じずにはいられません。同じく去年のCSS組版・パブリッシング交流会で課題として挙げられていたPDFの規格問題もGhostScriptでのアウトラインフォント埋め込みを実装したメンバーがVivlioStyle開発メンバーに参加したということです。

CSSの未だ定まっていない仕様も、それを実際に実装し、フィードバックしていくシステムを調えていくこともまた重要で、どんな立場からでもその立場なりにできることがあるということを強く印象づけるXMLパブリッシング交流会となりました。



Antenna House Formatter

DITA/XML Service Antenna House


page2020へ出展

からまで開催される「page2020」 にアンテナハウスは今年も出展いたします。

バリアブル印刷や印刷物制作業務の効率化でのAH Formatter、PDF Tool APIの利用方法等を中心にDBとの連携、PDFを作成するだけではなく、今あるPDFの再利用をテーマにご紹介いたします。また、PDF 変換などを行う各種システムコンポーネント製品など、企業内のシステム構築のための様々な支援ツールを、システム開発者、システム・インテグレータ向けにご紹介いたします。

また、弊社ブースへお越しいただき、お名刺の交換をさせていただいた方には、『PDF CookBook 簡易版』をご提供いたします。

■ ご紹介製品

AH Formatter

XSL-FO を忠実に実装し、日本語組版など多くの拡張機能で商品レベルの書籍組版ができます。

PDF Tool API

ページ結合・分割、しおり・注釈編集などのPDF加工機能を提供するAPIです。
ブラウザからの呼び出しでの利用方法をデモします。

Office Server Document Converter

Microsoft Officeがインストールされていない環境でも、Word/Excel/PowerPoint等の文書をPDF/SVG/TIFF/JPEG/PNG/TIFF/INX/XPS ファイルへダイレクトに変換するライブラリです。

その他

PDFをOffice文書やXMLデータに変換、PDF内の画像を抽出する各種ライブラリをご紹介します。

ご来場される際には、是非とも弊社ブースへお立ち寄りください。

■ 展示会詳細とアンテナハウスブース

「page2020」

 日時: 2020年2月5日(水)~7日(金)
会場: サンシャインコンベンションセンター
住所: 東京都豊島区東池袋3丁目1
ブースNO: D-28
イベント詳細ページ: https://page.jagat.or.jp/

〒103-0004
東京都中央区東日本橋2-1-6 東日本橋藤和ビル5F
アンテナハウス株式会社
◆ご購入に関するお問い合わせ(祝日を除く月~金曜日9:30~18:00)
TEL : 03-5829-9021
FAX : 03-5829-9023
E-mail: sis@antenna.co.jp
URL : https://www.antenna.co.jp/


[書籍紹介] MathML 数式組版入門 英語版の販売開始

この度、2019年11月12日に「MathML 数式組版入門」の英語版「An Introduction to MathML Typesetting」の販売を開始いたしました。

AH Formatter

Amazon.com より販売中となっています。
An Introduction to MathML Typesetting

こちらの書籍「An Introduction to MathML Typesetting」は 2017年8月に発売した「MathML 数式組版入門」をベースにしたもので、海外の皆さんにも幅広く利用していただこうと翻訳に着手し販売に至りました。翻訳にあたっては海外の皆さんにご理解いただけるよう表現の全般的な見直しも行いました。

MathMLとは?と思われた方、これまで当ブログで MathML について紹介した記事を以下にまとめていますので、是非ご覧ください!
[AH Formatter] MathML への取り組み

日本語版の「MathML 数式組版入門」の販売も継続しております。
書籍は次の販売店よりお買い求めいただけます。
販売店:
Amazon.co.jp
三省堂書店
楽天ブックス
honto

「MathML 数式組版入門」は全文を PDF形式で無料公開していますので、ご活用ください。
MathML 数式組版入門(PDF形式)
 
 
AH Formatter ロゴ

本書や MathML の組版に使用した『AH Formatter』は以下のページより評価版をお申し込みいただけます。こちらも合わせてお試しください。
AH Formatter 評価版のお申し込み

『AH Formatter』についてお問い合わせがございましたら sis@antenna.co.jp 宛てにご連絡ください。


マークダウン原稿を AH Formatter を使って PDF にする

自動組版を使って製本するにあたって、原稿を何で書くかという選択は後に使う労力を決定する重要な要素です。
その執筆形態はさまざまなものがあります。
例としては XML や HTML がありますが、これらはタグを駆使して書く必要があります。
これらに対して、マークダウンは基本的にタグを使いません。
マークダウンで原稿を書いて、それを製本に使用できれば執筆作業が簡便化されるかもしれません。

マークダウン原稿から AH Formatter 経由で製本用の PDF を作成することが可能です。
あくまで一例なので、この方法が絶対というわけではありません。

その手順の概要としては
1. 原稿をマークダウンで書く。
2. マークダウン原稿を HTML に変換。
3. HTML を XSLT で加工。
4. AH Formatter を使い HTML+CSS で PDF出力。
という手順です。

今回はその手順をごく大まかに説明します。

まず原稿をマークダウンで書きます。
その原稿を Node.js の markdown-it というプラグインを使って HTML化します。
次に目次や索引を XSLT で付与します。
最後に、できた HTML と CSS を使って AH Formatter で組版します。
そうすると冊子本PDF が出来ます。

この手順により冊子本を作成する手段にマークダウンというもう一つの選択肢が出来ました。

今回は個々の手順をまったく掘り下げませんでしたが
アンテナハウスがこの実践を本にまとめたものがあるのでご興味のある方はチェックしていただけると幸いです。
→ 「簡単!Markdown+CSSによる冊子本作り -理論と実践-

販売は PDF版のみですが、300円(税抜)と非常にお求めやすくなっております。
 
 
AH Formatter ロゴ

『AH Formatter』の評価版は以下のページよりお申し込みいただけます。是非、お試しください。
AH Formatter 評価版のお申し込み

『AH Formatter』についてお問い合わせがございましたら sis@antenna.co.jp 宛てにご連絡ください。


ドロップキャップ

ドロップキャップとは段落先頭の文字を大きく組むことで、書籍の組版ではよく行われています。しかし、AH Formatter V6 にはドロップキャップの機能はありません。XSL-FOやCSSに勧告された仕様はありませんが、CSSにはドラフト仕様があります。

4. Initial Letters

そこには次のようなサンプルが最初に示されています。

sample-1
これをFOで強引に組むには、いろいろやり方がありますが、例えば次のようにしなければなりません。

<fo:block>
<fo:float axf:float-x="start" axf:float-wrap="wrap">
<fo:block-container height="5em" margin-top="-1.67em">
<fo:block font-size="5.53095em">É</fo:block>
</fo:block-container>
</fo:float>tudiant (au féminin étudiante) est un mot dérivé du latin ...

ここでは、font-size と margin-top などを手計算で設定して大きさと位置を合わせています。これらは、ドロップキャップが次のように配置されるように計算されています。cap-height や baseline の位置は、使用しているフォントによって決まります。

initial-letters-cap-height
AH Formatter でドロップキャップを自動組版するためには、これらの値を自動的に計算することが必要になります。そして、CSSのドラフトに合わせると次のように指定できればよいでしょう。

<fo:block axf:initial-letters="3">Étudiant (au féminin étudiante) est un mot dérivé du latin ...

これはもっとも単純な例で、実際のドロップキャップはこんな単純ではありません。<fo:float>を利用する実装では、本当の<fo:float>が絡んできたときの制御はとても複雑になります。CSSのドラフトは、行の高さが一定であるという暗黙の前提があります。行の高さが途中で変化するようなケースでは、結果を利用者が予測できず実装も極めて複雑になるでしょう。

ドロップキャップは、次期 AH Formatter で対応される予定です。


海外出展情報 その2

10月14から17日にロンドンで開催された S1000D User Forum は、航空宇宙および防衛分野の技術文書を作成する多くのアンテナハウスのパートナーおよび顧客と会うことができました。アンテナハウスは卓上展示とベンダーとしてのプレゼンテーションを行いました。フォーラムには世界中から300人以上の航空宇宙および防衛分野の専門家が集まりましたが、その出席者の多くに弊社の Antenna House XSL Formatter を使用していただいています。また同じく弊社の製品である Regressions Testing System と、OSDC (Office Server Document Converter) の PDF を SVG に変換する機能に大きな関心が寄せられました。航空宇宙および防衛分野で使用される技術文書においては、依然としてページ出力が非常に重要とされていますが、現在の目標はその文書をタブレット上に表示することです。SVG になぜ関心があるのかというと、そのページを表示する速度にあります。

プレゼンテーションでは Antenna House XSL Formatter を使用してS1000D サンプル文書をフォーマットし、PDF と SVG 出力を作成しました。次に Regressions Testing System のデモンストレーションでは2つのディレクトリにある8つのペアになっている文書(合計で2,000ページ)の内容の比較を行いました。 デモンストレーションでは各ペアの文書の全ての相違点を2分以内に発見することができました。


Pages: 1 2 3 4 5 6 7 8 9 10 ... 21 22 23 Next