カテゴリー別アーカイブ: 構造化文書

アンテナハウス製品におけるJava 11以降の動作確認と動作保証

2019年1月でJava 8のサポートが切れます。
そして、2018年9月下旬、Java 11が予定通り出荷され、お客様からの問い合わせが入っていますので、アンテナハウス製品におけるJava 11以降の動作確認、動作保証について、現段階での方針をお知らせします。

Oracleが、これまで無償で配布してきたJDKのサポートを有償化するという話が出て、いろいろと混乱した話が飛び交いましたが、OpenJDKを使えば、無償で使えます。
OpenJDKは、OracleからJDKのソースコードの提供を受けて、いろんな企業や団体がビルドして無償で配布しているもので、企業や団体によって、有償サポートがあったりなかったり、サポート料やサポート期間もマチマチです。
この辺は、Linuxに各種のディストリビューションがあるのと似ています。
詳しい話は、参考に挙げた記事やサイトをお読みください。

アンテナハウスは、OpenJDKの中でも、LTS(Long Term Support)バージョンのOpenJDKを、無償で、最低4年間は、セキュリティやバグフィックスのアップデートを提供するといっているAdoptOpenJDKによって、動作確認と動作保証を始めています。
AdoptOpenJDKのJava 11は、最低、2022年9月までアップデートが提供される予定です。

AdoptOpenJDK

AdoptOpenJDK Support

First Availability End of Availability [1]
Java 8 (LTS) March 2014 At Least Sep 2023 [2]
Java 9 Sept 2017 March 2018
Java 10 March 2018 Sept 2018
Java 11 (LTS) Sept 2018 At Least Sept 2022 [2]

AdoptOpenJDKでダウンロードできるバイナリのうち、アンテナハウスが動作確認、動作保証の対象とするJava 11は、「OpenJDK 11 Hotspot」です。
Hotspotは、元々Sun(Javaの本家)が作ったJVM(Java仮想マシン)です。Oracleがメンテナンスや機能拡張をしています。これがリファレンスと考えてよいので、このJVMのみ動作保証対象にする予定です。
理由は、JVMは多くの実装があるので、やり出したら、きりがないからです。
たとえば、上記サイトには、Java 11でも、
「OpenJDK 11 with Eclipse OpenJ9」
がありますが、OpenJ9は、IBMが開発したJVMです。これは動作保証の対象にはしない予定です。
アンテナハウス自身が、動作確認、動作保証をするJVMを限定することについては、何卒、ご了承ください。

現在、アンテナハウス製品で使われているJavaのコードは、Java 8のコンパイラでビルドして出荷していますが、動作確認を始めた製品では、いずれも、問題なくJava 11で動いています。
アンテナハウスの製品のうち、Javaを使っている製品については、いずれ、各製品のウェブページで、動作確認が取れたことをお知らせしていく予定です。
なお、Java 8のコンパイラからJava 11のコンパイラに切り替える時期は未定です。
Java 11のコンパイラでビルドすると、Java 11の実行環境が必要になり、Java 8では動かなくなることが予想されます。
2019年1月でJava 8のサポートが切れるといっても、すぐ、Java 11に乗り換えられるお客様は、そんなに多くないだろうと考えていますので、2019年早々のコンパイラの切り替えは考えていません。
Javaを使っているアンテナハウス製品のリリース時期によりますが、今後、1年から数年をかけて、コンパイラを切り替えていくことになるでしょう。

参考:
【GlassFish勉強会レポート】各JDKベンダの動向を知ってJava 11に備えよう
2018年10月5日
杉山貴章

Javaは今も無償です

Oracle Java SE サポート・ロードマップ
(2018年 9月25日更新)

Time to look beyond Oracle’s JDK
Monday, 3 September 2018


Breaking Paragraphs into Lines

Breaking Paragraphs into Lines は、Donald E. Knuth と Michael F. Plass の行分割に関する論文で、40年近く前のものです。ここで示されているアルゴリズムは、パラグラフ全体を Box/Glue/Penalty という要素(Paragraph Item)でモデル化して、行分割位置を決定するものです。処理の流れは次のようになります。

  1. アプリケーションが、文書から Paragraph Items を構築する。
  2. 分割可能位置に対して、そこで行分割したときの不具合度を示すデメリット値と呼ばれる値を計算する。
  3. もっともデメリット値の合計の少ない位置を選択し、行分割位置とする。

Paragraph Item の要素 Box/Glue/Penalty は、それぞれが幅を持っています。

  • Box は常に幅が確保される。伸縮性はない。
  • Glue も幅が確保されるが、そこで分割が起こったとき幅がなくなる。Glue には伸縮性がある。
  • Penalty はその逆で、通常は幅が確保されないが、そこで分割が起こったとき前の行末にその幅が確保される。Penalty に伸縮性はない。また、行分割の起こり易さを調整するペナルティ値という値を持っており、分割不可では ∞ を、分割必須では −∞ を与えることになっている。 ハイフネーションは Penalty を利用して実現されている(通常の Penalty と区別するために Flagged Penalty と呼ばれる)。

次のような文書(論文に出てくるグリム童話)を例に、このアルゴリズムがどのように行分割位置を決定するのかをざっと見てみましょう。

fig-12

これから次のような Paragraph Items が構築されます。
x は要素、t は要素の種別、w は要素の幅、y は伸ばせる幅、z は縮められる幅、p はペナルティ値を示しています。

x0 empty box for indentation t0 = box w0 = 20
x1 box for ‘In’ t1 = box w1 = 17.44
x2 glue for space U+0020 t2 = glue w2 = 4.54 y2 = 5 z2 = 2
x3 box for ‘old’ t3 = box w3 = 25.68
x4 penalty for hyphenation t4 = flagged-penalty w4 = 7.12 p4 = 100
x5 box for ‘en’ t5 = box w5 = 19.44
x6 glue for space U+0020 t6 = glue w6 = 4.54 y6 = 5 z6 = 2
x7 box for ‘times’ t7 = box w7 = 43.7
x8 glue for space U+0020 t8 = glue w8 = 4.54 y8 = 5 z8 = 2
x9 box for ‘when’ t9 = box w9 = 43.88
......
x24 glue for space U+0020 t24 = glue w24 = 4.54 y24 = 5 z24 = 2
x25 box for ‘lived’ t25 = box w25 = 38.54
x26 glue for space U+0020 t26 = glue w26 = 4.54 y26 = 5 z26 = 2
x27 box for ‘a’ t27 = box w27 = 8.78
x28 glue for space U+0020 t28 = glue w28 = 4.54 y28 = 5 z28 = 2
x29 box for ‘king’ t29 = box w29 = 35.5
x30 glue for space U+0020 t30 = glue w30 = 4.54 y30 = 5 z30 = 2
x31 box for ‘whose’ t31 = box w31 = 50.64
......
x51 box for ‘young’ t51 = box w51 = 49.76
x52 penalty for hyphenation t52 = flagged-penalty w52 = 7.12 p52 = 100
x53 box for ‘est’ t53 = box w53 = 21.84
x54 glue for space U+0020 t54 = glue w54 = 4.54 y54 = 5 z54 = 2
x55 box for ‘was’ t55 = box w55 = 29.82
x56 glue for space U+0020 t56 = glue w56 = 4.54 y56 = 5 z56 = 2
x57 box for ‘so’ t57 = box w57 = 17.7
x58 glue for space U+0020 t58 = glue w58 = 4.54 y58 = 5 z58 = 2
x59 box for ‘beau’ t59 = box w59 = 38.36
x60 penalty for hyphenation t60 = flagged-penalty w60 = 7.12 p60 = 100
x61 box for ‘ti’ t61 = box w61 = 11.56
x62 penalty for hyphenation t62 = flagged-penalty w62 = 7.12 p62 = 100
x63 box for ‘ful’ t63 = box w63 = 21.82
......
x143 box for ‘old’ t143 = box w143 = 25.68
x144 glue for space U+0020 t144 = glue w144 = 4.54 y144 = 5 z144 = 2
x145 box for ‘lime-‘ t145 = box w145 = 42.34
x146 penalty for inter-word t146 = flagged-penalty w146 = 0 p146 = 100
x147 box for ‘tree’ t147 = box w147 = 30.46
x148 glue for space U+0020 t148 = glue w148 = 4.54 y148 = 5 z148 = 2
x149 box for ‘in’ t149 = box w149 = 16.3
......
x267 box for ‘her’ t267 = box w267 = 26.52
x268 glue for space U+0020 t268 = glue w268 = 4.54 y268 = 5 z268 = 2
x269 box for ‘fa’ t269 = box w269 = 14.7
x270 penalty for hyphenation t270 = flagged-penalty w270 = 7.12 p270 = 100
x271 box for ‘vor’ t271 = box w271 = 26.48
x272 penalty for hyphenation t272 = flagged-penalty w272 = 7.12 p272 = 100
x273 box for ‘ite’ t273 = box w273 = 19.6
x274 glue for space U+0020 t274 = glue w274 = 4.54 y274 = 5 z274 = 2
x275 box for ‘play’ t275 = box w275 = 33.42
x276 penalty for hyphenation t276 = flagged-penalty w276 = 7.12 p276 = 100
x277 box for ‘thing.’ t277 = box w277 = 47.02
x278 finishing glue t278 = glue w278 = 0 y278 = ∞ z278 = 0
x279 forced break t279 = flagged-penalty w279 = 0 p279 = −∞

次の位置が分割可能位置となります。上の例では、x2、x4 などです。

  1. xb が Penalty であり pb < ∞ である xb
  2. xb が Glue であり xb-1 が Box である xb

デメリット値は、そこで行分割するとどの程度よろしくないのかを示す値であり、この値が小さいほどよい分割位置と判断されます。 あまりに大きなデメリット値のときは分割位置の候補から除外されます。 デメリット値の算出方法の詳細はここでは触れませんが、外部から与えるいくつかのパラメタによって、デメリット値を調整できるようになっています。

上の例では、x2 や x4 のデメリット値は非常に大きく、候補から除外されます。最初(1行目)の分割位置候補となるのは x26 と x28 で、デメリット値を d とすると、d26 = 975.065、d28 = 23.5004 となっています。
x26 で行分割したとき、次の行(2行目)の分割位置候補は、x52 と x54 で、d52 = 29412.2、d54 = 1288.3 です。
x28 で行分割したときは、x56 と x58 が次の候補となり、d56 = 24.6185、d58 = 6446.52 です。
パラグラフ全体にこれを繰り返すと、次のようなネットワークができ上がります(パスのいくつかは省略されています)。数値は、下に示された語の後で分割したときのデメリット値を示しています。この例では、太い枠の語で分割するのが最良となっています。

fig-12-network

 

現在の AH Formatter はこのアルゴリズムを利用していません。そこで、このアルゴリズムを利用すると、どのように行分割位置が変化するのかを見てみます。

AH Formatter の結果 — ハイフネーションなし
V6-1
Knuth-Plass アルゴリズム の結果 — ハイフネーションなし
V7-1

これは、行あたりの単語数の少ない文書です。つまり、分割可能位置が少ない。 行末のアキの幅がより均等に近いのは、Knuth-Plass アルゴリズム の方であるのが見て取れます。

ハイフネーションをしたときは次のようになります。

AH Formatter の結果 — ハイフネーションあり
V6-2
Knuth-Plass アルゴリズム の結果 — ハイフネーションあり
V7-2

AH Formatter はハイフネーションが多く発生しています。
Knuth-Plass アルゴリズム は、ハイフネーションの発生を少なく抑えるように作られていますが、パラメタを調整して、もう少しハイフネーションが起こり易くすると、次のようにもなります。

Knuth-Plass アルゴリズム の結果 — ハイフネーション多め
V7-2a

行あたりの単語数が多いときは分割可能位置も多いので、結果に差はなくなってきます。

AH Formatter の結果 — ハイフネーションなし
V6-3
Knuth-Plass アルゴリズム の結果 — ハイフネーションなし
V7-3

Knuth-Plass アルゴリズム には、いろいろ制約があることがわかっています。例えば以下のようなものです。

  • 空白によって分かち書きされる英語などの文書を想定しているので、日本語のように分かち書きせず、ほとんどの文字間で分割可能な言語のことは考慮されていない。
  • 非矩形の領域を扱えるが、そのとき行の高さが一定であることが仮定されている。つまり、途中で大きな文字が入っていたりすると処理できない。
  • ドロップキャップ、letter-spacing、カーニング、リガチャ、綴りの変化するハイフネーション、ルビなどは考慮されていない。
  • ページ分割は処理しないので、widows/orphans は処理できない。

AH Formatter にこのアルゴリズムを導入することが検討されています。

 


EPUBtoPDF変換ツールを使ってみる(Formatter最新バージョン対応)

ご無沙汰しております。
本日と明日のブログは、電子出版サービスグループからお送りいたします。

Formatter 最新バージョンに対応

「EPUBtoPDF変換ツール」は、ときどき、地味に引き合いがあります。EPUBをPDFにするという需要自体が、まだまだ少ないので引き合いが少ないのはやむを得ないところです。製品の方も少しずつですが、バージョンアップしています。

今回、AH Formatterのバージョンアップ(V6.6MR1)に合わせて同バージョンに対応しました。劇的な変化はありませんが、昨今の縦組み横組み混じりのEPUBも、そのとおりにPDF変換できますし、CSSからのページ組版上、行間のアキ処理で不自然に1,2行ほどページの最後の行が空いてしまう問題も、軽減しました。

  • 縦組みの中に横組みのページがある場合のパラメータ設定:mixed-writing-mode=”true”
  • ページ最後の空白軽減のパラメータ設定:baseline-grid=”true”

ただし、ページ最後の空白軽減については、行数(lines)が指定されているものに限ります。行数が設定されていない場合は無効ですのでご注意ください。

 

EPUBの本文と奥付

PDF変換してみる

上図は、EPUBの本文が縦書き、奥付を横組みに設定した例です。その下の図は、EPUBtoPDF変換ツールを使い、PDF変換してみた例です。
(出典:青空文庫-幸福のうわおい靴)

※余白等デザインがよろしくないのは、このためだけに作った見本EPUB/PDFなので、単純にCSSやツール側のパラメータ設定をしていないだけです。

これで、小洒落た(?)デザインのEPUBも、まずまずの出来具合でPDF変換が可能になりました。

「EPUBtoPDF変換ツール」はライセンスの販売のみではなく、これを使った変換サービスも承ります。EPUBの校正のためにPDFにしている版元さんもいらっしゃいます。EPUBから紙書籍の出版を考えている版元様、制作会社様、このままPDF入稿もできればイメージを掴むための校正用としてもご利用いただけますので、ぜひお問い合わせください。

「EPUBtoPDF変換ツール」のご紹介ページ

<お問い合わせ先>
電子出版サービスグループ:cas-info@antenna.co.jp


アンテナハウス PDF活用レシピ ~PDF の美味しいクッキング教室~ 

PDFの活用方法を実際の利用例を参考にして セミナー を開催いたします。

セミナーでご紹介する製品は、以下の予定です。

PDF Tool API V6

「Antenna House PDF Tool API」(PDF Tool API)は、PDFファイルの情報取得やPDFファイルの加工・編集を行うライブラリです。

PDF Tool APIに関する詳しい情報は、PDF Tool APIページ を御覧ください。

PDF CookBookに関する詳しい情報は、PDF CookBookのご紹介 を御覧ください。

PDF Tool APIを組み込んだブラウザベースでPDFを編集するデモサイトをお公開しております。詳しくは、PDF Tool API デモ を御覧ください。

Office Server Document Converter

「Office Server Document Converterを」(OSDC)は、Microsoft Officeを使わずに、サーバー上でWord/Excel/PowerPoint/RTF/PDFを様々な形式にダイレクト変換するライブラリです。Windows環境のみならず、Linux環境でも高速に処理できます。

Office Server Document Converterに関する詳しい情報は、Office Server Document Converterページ を御覧ください。

AH Formatter

「AH Formatter」は、大容量・多言語データに最適な自動組版ソフトです。独自開発した PDF出力エンジンで、アクセシブルなタグ付きPDF や印刷用の PDF/X、長期保存用の PDF/A などさまざまな PDF形式の出力ができます。

AH Formatterに関する詳しい情報は、AH Formatterページ を御覧ください。

セミナー当日には、各製品担当者も会場入りしておりますので、別室で個別にご相談いただくことも可能です。
是非、ご参加ください。

〒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/


EPUBをPDFに変換するのは結構厄介。PDFのためのEPUB作りの注意事項

おはようございます。

本日と明日は、電子出版サービスグループから話題をご提供いたします。

今日のお題は、「EPUBをPDFに変換するときの注意事項」です。

アンテナハウスの電子出版サービスグループは、EPUBをPDFに変換するサービスとして、「EPUBtoPDF変換サービス」を展開しています。

書店(ストア)から購入したDRMのかかったEPUBには対応しておりませんが、出版社や著者さんが持つEPUBがあれば、ご希望のページサイズ、フォントサイズ、ページのマージンなどでPDFに変換しますよ、という内容です(1冊/3000円+税)。

さて、EPUBからのPDF変換は、EPUBの持つCSSでの体裁を生かした上で、ページ情報など「印刷組版」(=ここではPDF組版のこと)に必要な情報を追加して行なっています(バックグラウンドで動いているのは、当社の主力製品より、 AH CSS Formatterです)。EPUBの内容を自動組版でPDF化するので、EPUB中に指定されている内容をそのままPDFにします。逆に言えばEPUBに対する編集は一切行いません。変換のお値段からも推測いただける通り、人手による調整は原則として一切行いません。

このサービスでは、EPUB用に作られたデザインを用いてPDF用に組版するため、そのEPUBのタグの付け方やデザインの仕方によっては、大層見栄えの悪いPDFになってしまうことになります。結果として、こんなはずではなかったという期待に沿わないPDFができあがってしまいます。

一番多く、且つ非常に困るのは、EPUBの中で改行”<br>”や空行”<p></p>”を多用して段落間の空きを作ったり、箇条書きなどで、全角空白文字でインデントを作るパターン、次点で”pagebreak”(改ページ)をやたらに使うパターン、またはその複合型です。

KindleやEPUBには紙のページに相当する固定サイズのページはありません。そこで上述のように空きを設定しても問題ないかもしれないですが、PDFに組版する際、EPUBのデザインを使って固定サイズのページ上にレイアウトしていくため、こうした<br>や<p></p>、全角空白文字、pagebreakは、「ページ」という決められたサイズに配置する時には悪手になることが多く、無駄に白紙ページを量産したり、箇条書きの場合は、折り返した2行目の文字の並びが最初の行より飛び出しすぎていたり、後ろに行き過ぎていたり、変なところで意図しない改行ができたりと、PDFのレイアウトがガタガタに崩れてしまいます。

EPUB制作に於いては便利でお手軽なデザイン手法ですが、将来PDFに出力して何らかの形でEPUBの再利用を考えている場合は、このあたりはきちんとCSSをつくってデザインを整えてください。CSSでレイアウトを整えることで、どんなデバイスやツールで閲覧しても見た目がさほど変化しないという、EPUBの品質も向上しますし、一石二鳥です。

ぜひご検討くださいますよう!


美味しいDITAの作り方セミナー「DITA再利用の原理とシステム活用」その2

ふたつめのセッションは「DITA運用編:再利用と協働制作を支援するCCMSとSchematron(スキマトロン)の活用法」と題し、アートダーウィン社が講演しました。
DITAの特性に応じたCMS製品(CCMS)が持つべき機能を、DITA専用CMSを使って具体的に解説し、さらにSchematron(スキマトロン)を使って、誤ったトピックライティングを矯正し、再利用を促進させる手法を実演を交えて解説しました。

DITAセミナー04出典:アートダーウィン著「再利用と協働制作を支援するCCMSとSchematronの活用法」から

ご参加された方々は皆さん熱心で、懸命にメモを取っていらっしゃる方もいらっしゃったのが印象的でした。
最後にアンケートにお答えいただいたのですが、80%以上の方に「期待以上に有意義だった」あるいは「期待通り有意義だった」とおっしゃっていただけました。

美味しいDITAの作り方セミナーは今後も続けていきたいと考えていますので、DITAに興味のある方は是非ご参加ください。

DITAセミナー

セミナーの様子

<< 「その1」


美味しいDITAの作り方セミナー「DITA再利用の原理とシステム活用」その1

7月10日にアンテナハウスとアートダーウィン社共催で「美味しいDITAの作り方セミナー」を開催しました。
このセミナー、テーマを変えて過去に数回開催してきたのですが、毎回好評でして今回もその例にもれず、多くの方に喜んでいただけたと自負しています。

ひとつめのセッションは「DITA基礎編:みんなが知りたい再利用のしくみ」と題し、トピックファイルとは何か、マップファイルとは何かという話から始め、DITAが用意する各種情報タイプ(concept、task、reference、glossary)の概要説明、そして本セッションのメインテーマであるコンテンツ再利用手法(conref、conkeyref、keyref、条件処理、関連テーブル)の解説を行いました。

使用したスライドのほんの一部
DITAセミナー01DITAセミナー02DITAセミナー03
「その2」に続く >>


[AH Formatter] HTML+LaTeX から HTML+SVG への変換

HTML の中に数式が LaTeX で記述されているとき、『AH Formatter』で数式を含めて PDF 出力したいというご要望を実現するため、弊社では HTML に記述された LaTeX部分を MathJax(※)で SVG に変換して、HTML と SVG にしてから『AH Formatter』で組版することをお勧めしています。
MathJax とは、MathML・TeX・ASCIImath で記述された数式をブラウザ上でレンダリングする JavaScript エンジンです。閲覧者は数式の表示のためにブラウザにアドオンのインストールや、フォントの用意などをすることなく、数式を表示できます。

この HTML+LaTeX から HTML+SVG の変換を実現するために弊社では SlimerJS / PhantomJS用のスクリプト「mathjaxToSVG.js」をご用意しました。次のようなコマンドラインで HTML+LaTeX を HTML+SVG にすることが可能です。(推奨環境:Linux+SlimerJS+Firefox)

使用例(入力ファイル input.html、出力ファイル output.html):

$ slimerjs mathjaxToSVG.js input.html > output.html
または
$ phantomjs mathjaxToSVG.js input.html > output.html

次のように中間生成物の HTMLファイルを出力せずに、PDFを出力することも可能です。

$ slimerjs mathjaxToSVG.js input.html | AHFCmd -d @STDIN -x 3 -o output.pdf
または
$ phantomjs mathjaxToSVG.js input.html | AHFCmd -d @STDIN -x 3 -o output.pdf

◆ mathjaxToSVG.js のお問い合わせ

SlimerJS / PhantomJS用のスクリプト「mathjaxToSVG.js」をお試しご希望の方、また、『AH Formatter』についてお問い合わせがございましたら、弊社システム営業グループ(sis@antenna.co.jp)までお問い合わせください。

◆ MathML の組版

なお、MathML については『AH Formatter』は独自開発したエンジンにより描画します。そのため、MathML が記述された FO や HTML を事前に変換する必要はなく、そのまま組版可能です。MathML の組版については、「MathML 描画エンジン」をご覧ください。

 


oXygen XML Editor 20.0 の販売を開始いたしました!

mb_author

 oXygen XML Editor 20.0 の販売を2018年03月16日から開始いたしました。

oXygen XML Editor は先進のXMLオーサリング・開発機能とグラフィカルな編集プラットホームを提供し、世界各国で愛用されています。
Windows、Mac OS X、Linuxに対応し、ユーザーインタフェースには日本語版も用意されています。

oXygen XML Editor にはDITAで書かれた文章を、HTMLで構成された WebHelp(Webページ)に変換する機能を備えています。

例えば以下のように書かれたDITA文書を WebHelpに変換すると・・
oXygen XML Editor01

 

ボタンひとつで、このようなWebページを作成することができます。
oXygen XML Editor02

 

先ほどのDITA文書をPDFに変換することもできますよ。
こちらレイアウトにはアンテナハウスで開発した pdf5.mlを使用しています。

oXygen XML Editor03

ひとつの文章から、Webページを作成したり、PDFを作成したり、色々なことができます。

oXygen XML Editor の WebHelpは最初からレイアウトのテンプレートが用意されているので、簡単にレイアウトを変更することができます。
例えば、空と雲をモチーフとしたレイアウト。
oXygen XML Editor04

 

テクノロジーをモチーフとしたレイアウト。
oXygen XML Editor05

 

もちろんスタンダードでシンプルな青色をモチーフとしたレイアウトもあります。
oXygen XML Editor06

 

他にも色々なテンプレートが用意されています。
テクニカルな要素は増えますが、自分でテンプレートを作成することもできます。

テンプレートの作成方法(英語)
https://www.oxygenxml.com/doc/versions/20.0/ug-editor/topics/whr_publishing_template_contents.html

WebHelpはレスポンシブデザインで設計されているので、モバイル機器の表示にも対応しています。すごい!

ここまでくると、もはやエディタという感覚ではなく、システムという感覚に近いですね。

oXygen XML Editor 20.0 で追加された主な機能は以下です。

・ DITA

  • 未参照のキー定義をレポートする
    [DITA マップ 完全度の確認]ダイアログボックスに新しく[参照されていないキー定義を報告する]が追加され、 参照されていないキー定義をレポートすることができます。
  • 未参照の再利用可能な要素をレポートする
    [DITA マップ 完全度の確認]ダイアログボックスに新しく[参照されていない再利用可能な要素をレポートする]が追加され、 どこにも参照されない潜在的な再利用可能な要素をレポートすることができます。
    これらは、ID属性を持ち、リソースのみとしてマークされたトピック、または他の要素が再利用されるトピックで定義される要素です。

・ WebHelp

  • 公開テンプレート
    WebHelpレスポンシブ出力のルックアンドフィール(レイアウトとスタイル)を定義します。 これらのテンプレートは、チームと簡単に共有できるカスタマイズパッケージを表します。
  • ビルトイン公開テンプレートギャラリー
    oXygenには組み込みの公開テンプレートが付属しています。 これは、WebHelp変換シナリオの[ テンプレート ]タブで利用できます。 フィルタリングオプションとテンプレートプレビュー画像を使用して、 必要なテンプレートを簡単に見つけることができます。

・・・などなど、これらが追加された機能の一部となります。(追加機能が多すぎて書ききれません!)
詳細はアンテナハウスのホームページをご覧ください。
https://www.antenna.co.jp/oxygen/#v20.0

oXygen XML Editor はバージョンアップの度に、沢山の機能が追加されます。
こちらのページでは oXygen XML Editor 19.0 19.1 20.0 に追加された機能を紹介しています。
https://www.antenna.co.jp/oxygen/new-feature190-200.html

  • マスターファイルサポート
  •  DITA再利用コンポーネントビュー
  • PDFとXHTML出力のフロート画像
  • DITAトピックタイプの変換
  • oXygen WebHelp テンプレート

DITAやWebHelpに関する機能がとても充実していますね!

oXygen XML Editor に関してはアンテナハウスまで お問い合わせ ください!(oxygen@antenna.co.jp


Formatter で MathML を PDF にしてみる

弊社の AH Formatter は世界中で愛用されている XML 自動組版エンジンですが、今回はちょっと違った使い方をしてみます。
ただマニュアルに書かれた使い方ではないので、あくまでも自己責任ということで…

MathML を画像ファイルや PDF にしたいという話はたまに聞くのですが、これを Formatter を使ってやってみます。

まず Formatter の GUI を立ち上げます。

formatter01

ここに MathML で書かれたファイルをドラッグアンドドロップすると

formatter02
こんな感じに可視化することができます。Formatter って MathML のビューアとしても使えるんですね。

最後にファイルメニューから「PDF出力」を選ぶと、表示されたままのイメージで PDF 保存できます。

formatter03

GUI を使わずにコマンドライン インターフェースを使ってもできるみたいです。
ahfcmd -d sample.mathml -o sample.pdf

通常は MathML にリンクを張った XSL-FO を作って、それを Formatter にレンダリングさせなければならないのですが、XSL-FO を作らなくてもいいなんて、超便利。
繰り返しになりますが、公式な使い方ではないのでご注意を。


Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 Next