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

XSLT と XSL-FO の勉強会(XSLSchool)

XML を自動組版するには XSLT の開発と XSL-FO の知識が不可欠です。HTML と CSS で組版しようという動きもあるにはありますが、まだまだ少数派でしょう。

弊社では XSLT と FO の両方を1日で学んでしまおうという、ちょっと贅沢なセミナーを開催しています。今まで25回以上開催し、ご参加者の延べ人数は100名様を超えてます。「XSLT や FO は名前を聞いたことはあるけれど…」という方々からご好評をいただいているセミナーで、6~7時間かけて XSL-FO の基礎を学びながら XSLT をひたすら入力していただく、ちょっとしたスパルタな内容です。

school-text

セミナーで使うテキストの一部

今月は12日と13日に二日連続で開催しました。二日連続というのは今までになかったかもしれません。講師はへとへとです(^^; が、皆さんに満足していただき、うれしい限りです。

詳しくは 「XSLSchoolのご案内」 をご参照ください。


DITA で WebHelp を作る

マニュアルを制作するにあたり「PDFよりもHTMLを優先したい」という声が最近増えて来ました。自動組版エンジン AHFormatter を開発している弊社としては、あまり面白くない話なのですが(笑)時代の流れには逆らえません。

タブレット端末やスマホがここまで浸透した今、固定レイアウトの PDF や紙マニュアルよりもリフロー型の HTML の方がニーズにマッチしているのでしょう。弊社でもレスポンシブな HTML の作成方法についてすでに研究を開始していますし、弊社の WEB サイトのレスポンシブ化もほぼ完了しています。

とは言え「紙マニュアルは絶対に必要。停電したときでも読めなければいけない。紙は最後の砦」このような、とあるプラントメーカー様の声もあります。

さて、そんな昨今ですが、DITA コンソーシアムジャパンの中に「DITA for WebHelp 研究部会」というものが立ち上がり、7月5日に最初のミーティングが行われました。

  • DITA から作成した WebHelp の実態を調査し、課題を明確にする
  • DITA から使い易い WebHelp を作るためのガイドラインを作成する
  • DITA から WebHelp 変換のプロトタイプを開発する

このような目的を掲げています。どのような研究成果が得られるか楽しみです。

CIDM(コンテンツマネジメントと情報開発のベストプラクティスに焦点を当てた会員組織)の調査によると、今年ついに HTML パブリッシングの方が PDF パブリッシングよりもわずかに多くなったようです。
この流れは確実に大きくなりますね。


MathML数式組版入門書の英語版を作成中です

海外営業担当です。

MathML数式組版入門書 は初版V1.0が昨年6月に出版され、今回改訂版V1.1の出版を間近に控えています。

本書は数式記述言語 MathML を使って数式組版を行うための入門書です。MathML を使って数式を組むためには、MathML に対応した組版ソフトが必要です。本書では弊社が独自開発した「AH Formatter MathML 描画エンジン」を用います。本書の内容の大半は特定のアプリケーションソフトに依存しないものですが、『AH Formatter』を使って MathML 組版を行ううえで有用な知識を随所に盛り込みました。本書で取り扱う MathML 仕様はバージョン 3.0(Mathematical Markup Language (MathML) Version 3.0 2nd Edition)を念頭に置いてあります。これから MathML を学習する方も、Web 上のサンプルをコピー&ペーストしてなんとなく使っていた方も、この一冊で MathML の基本がよく分かる構成になっています。

なお、本書は HTML と CSS で記述され、『AH Formatter』で組版(CSS 組版)されています。数式部分はもちろん MathML です

2014年2月リリースの『AH Formatter V6.2』では、MathML 描画エンジンが完全に書き換えられ、数式の組版がより一層強化されました。このとき、MathML の対応バージョンも『AH Formatter V6.1』までの MathML 2.0 から 3.0 へ更新しました。

海外でもこの時新しくなった MathML 描画機能を評価をしていただいた企業より、数式の組版精度が格段に良くなったとお褒めの言葉を頂いたのを覚えております。さて本書の改訂版の出版を機に、英語版を作って海外の皆さんにも幅広く利用していただこうと、現在翻訳に着手しております。翻訳をしながら、内容を理解していきますと、これなら初心者の方も試してみよう、数式をこの本書にあるサンプルのとおりコーディングして描画してみようという気になるのではという感想を持ちました。

是非読んでいただきたい書籍です。購入方法はこちらをご覧ください。

http://www.antenna.co.jp/AHF/ahf_publication/index.html#MathML

アンテナハウス海外サイト
http://www.antennahouse.com/
http://rainbowpdf.com/


Formatter Club 満員御礼!

早いもので、「Formatter Club」が発足してからこの7月で7年目を迎えました。
しかも、2017年7月7日とこれ以上の幸運は無いというに日に「Formatter Club【AH Formatter活用セミナー】」が開催されました。
「7」が続いてラッキー!な気分になっているところに、当初の定員を超える42名のご参加をいただきまして、お申込みをいただきました皆様には、この場をお借りてしてお礼を申し上げます。

3か月前の ブログ で開催を予告させていただきましたが、とかく腰の重たい性分で、まあまあそれなりに適当にと腰砕けになりそうなところでしたが、予告通りとは言えないまでも近い内容を実現できたのではないかと自負しています。

セミナーの概要は、こちら となります。
また、セミナー冒頭を飾りました「CAS-UB」のプレゼン資料については、こちら をご覧ください。 その他のプレゼン資料については、公開可能の承諾をいただきましたら、順次公開をさせていただく予定です。
ところで、なぜ開催の案内もなかったのに、突然に過去形の事後報告なのかという疑問は多々ありましょうが、実はこのブログの目的は次回の予告なのです。

次回は11月開催を予定しています。
既に、2社よりユーザー事例紹介の承諾をいただいています。
もし、「AH Formatter」を使った事例を紹介したい、「AH Formatter」を組み込んだオリジナルアプリの発表の場にしたい、という方がいらっしゃれば、ご連絡をいただけますでしょうか。 また、製品のお役立ち情報も、引き続きご提案をさせていただく予定です。

今後も、「AH Formatter」を導入されているユーザーや関心を持っていただいている皆様と開発者とを繋ぎ、会員同士の交流、情報交換により製品の利用技術を向上させ、より皆様のお役に立てる製品としていくために努めてまいります。

次回「Formatter Club」に、乞うご期待!

「Formatter Club」へ参加ご希望の方は、紹介サイト より、参加申込書用 PDF をダウンロードしていただき、ご記入の上メールもしくは FAX でお申し込みください。

メールアドレス:naganawa@antenna.co.jp または nukaga@antenna.co.jp(Fomatter Club 担当)
FAX 番号:03-5829-9024
また、「Formatter Club」へご要望も、同様の連絡先宛にお願い致します。


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版では設定されません。
 必要な環境変数はオンラインマニュアルの「環境変数」でご確認ください。

 


PDFのレイヤー

PDFには、レイヤーという便利な機能があります。
レイヤーは、PDFの内容をまとめて、表示を切り替えたり印刷を切り替えたりします。 Acrobatでは次のようなダイアログでコントロールします。

layer-dialog

AH Formatter には、このレイヤーを出力する機能があります。
今回は、PDFのレイヤーでの言語指定について取り上げます。

レイヤーで指定した言語は、どのように振る舞うのでしょうか。
仕様では次のように書かれています(PDF 32000-1:2008)。

Language dictionary (Optional) A dictionary specifying the language of the content controlled by this optional content group. It may contain the following two entries:

Lang (required) A text string that specifies a language and possibly a locale (see 14.9.2, “Natural Language Specification”). For example, es-MX represents Mexican Spanish.
Preferred (optional) A name whose values shall be either ON or OFF. Default value: OFF. it shall be used by conforming readers when there is a partial match but no exact match between the system language and the language strings in all usage dictionaries. See 8.11.4.4, “Usage and Usage Application Dictionaries” for more information.

Language については、次のようにも書かれています。

Language: This category shall allow the selection of content based on the language and locale of the application. If an exact match to the language and locale is found among the Lang entries of the optional content groups in the usage application dictionary’s OCGs list, all groups that have exact matches shall receive an ON recommendation. If no exact match is found, but a partial match is found (that is, the language matches but not the locale), all partially matching groups that have Preferred entries with a value of ON shall receive an ON recommendation. All other groups shall receive an OFF recommendation.

PDFに指定されたLanguageは、アプリケーションの言語と地域に基づくと書かれています。アプリケーションとは、PDFのビューア、例えばAcrobatのことです。アプリケーションがレイヤーをサポートしていなければ、もちろん何も起こりません。Acrobatはサポートしています。

PDFに、日本語用のレイヤーと英語用のレイヤーを用意しておけば、アプリケーションの言語によって自動的に一方が表示され、他方が表示されないということができます。では、アプリケーションの言語とは何でしょう。仕様書中でそのことについて書かれている部分はありません。
そこで、どうすれば言語によるコントロールが意図どおりにできるのかを、Acrobatを用いて、試行錯誤を交えながらいろいろ探ってみました。

PDFには、Catalog辞書に言語を明示することができます。これは、文書のプロパティで確認することができます。AH Formatter では、<fo:root> に記述した言語がそこに反映されます。

<fo:root ... xml:lang="ja" ...>

property-dialog

アプリケーションの言語とは、これのことでしょうか。
いいえ、この言語はレイヤーの言語とは関係ありません。
これは、PDFの言語であってアプリケーションの言語ではありません。
アプリケーションの言語とは、Acrobatでは環境設定の言語環境にあるアプリケーションを表示する言語に対応することがわかりました。

lang-env

では、アプリケーションの言語は、具体的にはどう表記されているのでしょうか。14.9.2.2 Language Identifiers には次のような記述があります。

A language identifier shall either be the empty text string, to indicate that the language is unknown, or a Language-Tag as defined in RFC 3066, Tags for the Identification of Languages.

Although language codes are commonly represented using lowercase letters and country codes are commonly represented using uppercase letters, all tags shall be treated as case insensitive.

ざっくり言えば、PDFに書かれるLangの値は、RFC 3066 に従っていて大文字小文字は区別しない、ということです。RFC 3066 の言語コードは ISO 639、国コードは ISO 3166 によります。アプリケーションの言語も、ISO 639 と ISO 3166 で表現されているはずです。
実際にAcrobatでアプリケーションを表示する言語を変更すると、どこにどういう情報が書かれるのかはわかりませんでした。しかし、日本語なら ja とか ja-JP などが設定されると、常識的には予想するでしょう。

Preferredを指定していないと、Langに指定したものとアプリケーションの言語の間では完全一致性が判断されることになっています。そこで、日本語環境のとき、どういう指定をしたら完全一致するのかを調べました。

  • ja ⇒ NG
  • jpn ⇒ NG
  • ja-JP ⇒ NG
  • jpn-JP ⇒ NG
  • jpn-JPN ⇒ NG
  • ja_JP ⇒ NG
  • jpn_JP ⇒ NG
  • jpn_JPN ⇒ NG
  • ja-jp ⇒ OK

結果は、まったく想定外でした。仕様には大文字小文字区別しないと明記してあるし、国コードは大文字で表記するのが普通とも明記されています。これはどういうことでしょうか。Acrobatは仕様どおりに動作しているようには見えません。Acrobatの不具合なんでしょうか。仕様の見落としがあるのでしょうか。

完全一致させるのにこんな試行錯誤した上、それが正しいのかどうか裏づけも取れないのでは、完全一致を使うのは現実的ではない気がします。Preferredを指定すると、かなりあいまいな指定でもマッチします。
日本語は、それを話す国は日本しかないですが、英語やポルトガル語スペイン語などはそんなことはありません。例えば、en-US(米国英語)と en-GB(英国英語)を区別したいこともあるはずです。Preferredでは、それらを区別させることはできませんでした。どちらもすべての en にマッチしてしまうようです。つまり、国コードを明示したいなら、Preferredを指定できないということになります。

次に Preferred な ja と、そうでない ja-jp の指定を混在させたらどうなるか見てみます。
日本語環境ではどちらも表示されそうなものですが、ja-jp の方だけ表示されて、ja は表示されません。完全一致するものが見つかったらそれしか表示されない、ということになっているからのようです。このことは、en-US と en-GB を用意し、両者の共通部分を en として表現したくても、できないということを意味します。

AH Formatter V6.4 では、次のようにレイヤーへの言語指定を行ないます。
実際には重なり合った領域に内容を配置するでしょうから、<fo:block-container> などを利用することになります。

<?xml version="1.0"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
         axf:layer-settings="'Japanese layer' lang 'ja' preferred,
                             'English layer' lang 'en' preferred">
...
<fo:block axf:layer="'Japanese layer'">
こんにちは
</fo:block>
...
<fo:block axf:layer="'English layer'">
Hello
</fo:block>
...

AH Formatter V6.4 MR3 以降を利用してください。

 


本はWeb化するか? PDFとブック型WebページとEPUBを考える

4月25日よりCAS-UBのバナーを次のように変更しました。この背景には、最近、本(PDF)、ブック型Webページ[1]、EPUBの関係について考えたことがあります。

CAS電子出版では『XSL-FOの基礎 第二版』を2017年3月に発売しました。詳しくはこちらをご覧ください:『XSL-FO の基礎 第2版 – XML を組版するためのレイアウト仕様』

本書は、現在、アマゾンなどのプリントオンデマンドによって紙の本として販売しています。一方で、4月から全文をWebページ版として公開しています。

もともと本書の出版は、本の販売収益よりもむしろ、XSL-FOという技術を普及促進し、ひいては弊社のAH Formatterの販売に繫げようということを意図しています。初版はKindle版などを販売しましたが、第二版からKindle版を見合わせて、Webページ版として公開することにしました。

これは、CAS-UB V4のユーザーガイドの体験に基づきます。CAS-UBは、V4からユーザーガイドなどのドキュメントをPDF版とWebページ版を作って両方ともWebで公開しています:CAS-UBサポート&ガイド一覧(V4よりも前はPDF版とEPUB版を公開していましたが、EPUB版はあまり利用されないようなので廃止しました)。

こうしてPDF版とWebページ版を並べておきますと、自分ではPDF版を参照することがなくなり、Webページ版を参照するようになってしまいました。主に、CAS記法の説明ページやPDF出力のガイドを参照するのですが、情報を参照する際の利便性という点ではPDFよりもWebページが圧倒的に便利です。(今頃になって! という感もありますが、情報参照のための利用という点では、PDFはWebページに決して勝てないと思います!)

利便性では:Webページ版≫PDF版>EPUB版 という状態です。

4月にMicrosoft Windows 10の大型アップデートがあり、新しいEdgeでEPUB3を表示できるようになりました。これを体験していただく参考として、Webページ版に加えて、4月21日からEPUB3の公開も始めました(EPUB復活?)。

(EPUBは、こちらからダウンロードできます:CAS電子出版出版物一覧のページ

Edgeの紹介ブログはこちら:Microsoft EdgeのEPUB表示機能はなかなか良い。これからはEdgeだと言いたいところですが、しかし、残念な点もあります。 EdgeでEPUBが復活として、ブック型情報をPDFとWebページ版とEPUB版の3つのかたちで提供できるようになりました。それが今後どうなるかです。

CAS-UBの場合は、ブック型Webページの作り方をさらに改善する必要があると考えています。CAS-UB V4のWebページ版は、短期間で作ったもので完成形とは言えない面があります。またPC版とモバイル版のWebページを統合できていないのも問題です。ということで、CAS-UBの次の課題は、Webページ版のテーマ化、レスポンシブWebページ版の選択を追加することです。

[1] 本やマニュアルのような冊子として提供されるものをWebページにしたものをブック型Webページと(勝手に)呼びます。ブック型Webページは、限定された読者を対象にします。大勢にPRすることを主目的にしませんので、横串検索あるいはSEOの観点よりも、ドリルダウンで情報を探す内部検索や、主にコンテンツ内部をナビゲーションしていく仕組みが重要と考えます。マニュアルの世界ではWebHelpと呼ぶことがあります。oXygenとか、RoboHelpなどの製品にはWebHelpという言葉が使われています。但し、WebHelpという言葉自体には厳密な定義はないようです。
[2] AH Formatter
[3] 補足ですが、今日は、ブック型Webページのデザインの考え方について書かれた本を探して、神田の三省堂本店に並んでいるWebデザインの本を端から見てみました。Webページのデザインについての解説書はたくさんありますが、大抵の解説書は魅せるデザインをどう作るかというテーマを中心に取リ上げているようです。しかも、トップページのレイアウトパターンと、1つのHTMLファイルの作り方の解説が主体です。ひと塊りのWebページをどのように構成するかという良い解説は見つかりません。テクニカルドキュメンテーションの業界ではどうなんでしょう?

続きを書きました本はWeb化するか? (続き)Webアプリケーション化したオンライン版の本 vs シンプルなHTML+CSSの本

■関連記事
「ワンソースマルチユースで拓く、ブック型Webページの未来」(本ブログと続きの2回分をまとめて整理し直しました)


oXygen 19.0がリリースされました

oXygen 19.0 がリリースされました。

待望のメジャーバージョンアップです。
新機能ですが、DITA 関連については以下のようなものがあります。

その他にもいろいろあるようなので、ご興味のある方は oXygen の WEB ページでチェックしてみてください。
https://www.oxygenxml.com/xml_editor/whats_new.html


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