タグ別アーカイブ: 自動組版

[AH Formatter] より良い欧文組版を目指して その3

[AH Formatter] より良い欧文組版を目指して
[AH Formatter] より良い欧文組版を目指して その2
上記の記事の続きです。

欧文組版で考慮すべき事柄には以下もあります。
読み手に違和感が発生しないように工夫して組版する必要があります。
適切なプロパティの値を設定したり、元文書を直すことで対処できます。

・ハイフネーションできない単語を含む行の前後で字間が空き過ぎる
ハイフネーションができない単語が行末にある場合、その行前後で空白が空きすぎる場合、表現を変えるか、固定幅の空白文字を挿入する等の対処が考えられます。

・widow や orphan を回避したことによるページ量の増加
『AH Formatter』では widowsプロパティで最低何行から次ページに送るかを設定をすることができますが、プロパティの値によってはページ数が増える可能性があります。もし、それが許容できる範囲ではない場合、widowsプロパティの値を変える、行の高さを再設定するなどで対応することが出来ます。

組版で審美的な問題が発生したとき、いちいち手で修正するのは面倒です。
『AH Formatter』では自動組版をもっと便利に利用できるよう、有用なプロパティを開発しています。

また、目視で組版結果を判定せずプログラムによって自動で判定し、上記のような審美的な問題を自動検出できれば文書作成のコストはぐっと下がるだろうと思います。対応策などもサジェストしてくれるものだとなお良いでしょう。
 
 
AH Formatter ロゴ

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

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


XML と oXygen の勉強会

XML 入門と oXygen を使って JATS(学術雑誌論文記述用のXMLボキャブラリー)を入力してみるという二本立てでした。
事務局さんのご意向で「エラーを体験することでより深く XML を理解する」というような内容にさせていただいたのですが、これが結構新鮮で私も楽しませてもらいました。

もう3か月くらい前の話になってしまいますが、学術情報XML推進協議会さんの主催したセミナーでスピーカーを務めさせていただきました。
https://xspa.jp/post/183836958072/jats-xml初心者セミナー2-実践編2019513

XML-1

XML-2

とは言え、oXygen は誰でもエラーのないデータが入力できることを売りとしているツールですので、無理やりエラーを発生させるのはしんどかったです(笑)

弊社ではお客様のご要望に応じた内容でセミナーを開催しておりますので、ご興味のある方はいつでもご連絡ください。


久しぶりの XSLSchool(XSLTとXSL-FOの勉強会)

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

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

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

XSLSchool-2

XSLSchool-1

先日、久しぶりに XSLSchool 開催のご依頼をいただき、静岡にあるお客様のオフィスに出向き開催させていただきました。
来月も他のお客様から開催の打診をいただいています。

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


[AH Formatter] line-heightプロパティ

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

今回は XSL-FO の line-height プロパティのお話です。
line-heightプロパティは、行高さを指定するものですが、
その値は次のような種類があります。

normal:
line-height-“normal” のように指定します。既定値です。ユーザエージェント(AH Formatter)が適切な値に設定します。
AH Formatterではline-height=”1.2″ を初期設定としています。この値はオプション設定によって変更することも可能です。
<length>:
line-height=”20pt” のように数値+単位を指定します。
<number>:
フォントサイズに対する倍数を指定します。line-height=”1.5″ のように指定します。
<percentage>:
フォントサイズに対するパーセンテージを指定します。line-height=”150%” のように指定します。

ここで、1つ疑問に思われた方がいるかもしれません。
line-height=”1.5″ と line-height=”150%” って結局同じじゃないの? と。

実際に組版してみると、このようになります。
例1:
<fo:block line-height=”1.5″>line-height=”1.5″</fo:block>
<fo:block line-height=”150%”>line-height=”150%”</fo:block>
line-height プロパティ

そうです、”この場合”の行高さは同じです。
例えばフォントサイズが 30pt の場合、どちらもフォントサイズ 30pt × 1.5 で行高さは 45pt になります。
では、<number> と <percentage> で何が違うのか。
XSL-FO の仕様説明をみてみましょう。

<number>
The computed value of the property is this number multiplied by the element’s font size. Negative values are illegal.
However, the number, not the computed value, is inherited.

<percentage>
The computed value of the property is this percentage multiplied by the element’s computed font size. Negative values are illegal.

どちらの説明も前半の意味は同じですが、<number> にはこの一文が追加されています。

However, the number, not the computed value, is inherited.
日本語訳:しかしながら、計算された値ではなく、数値が継承される。

line-height プロパティの値は継承されます。親block で指定された値が子(子孫)block にも適用されます。
親block に line-height=”1.5″ または 150% が指定されていて、
子(子孫)の block でフォントサイズが変更されたとき、この “the number, not the computed value, is inherited.” が関係してくるのです。
例えば、次のような場合です。

例2:
<fo:block font-size=”30pt” line-height=”1.5″>
<fo:block font-size=”20pt”>line-height=”1.5″</fo:block>
<fo:block >line-height=”1.5″</fo:block>
</fo:block>
line-height プロパティ

例3:
<fo:block font-size=”30pt” line-height=”150%”>
<fo:block font-size=”20pt”>line-height=”150%”</fo:block>
<fo:block >line-height=”150%”</fo:block>
</fo:block>
line-height プロパティ

どちらも親block で line-height を指定しています。
1つめの子block で、フォントサイズを変更しています。

<number>の場合は、指定された数値が継承されます。
line-height=”1.5″ の場合、”1.5″ の値が継承されて
フォントサイズが変更になると、その block のフォントサイズ×1.5 の行高さになります。
例2では1つめの子block は、20pt×1.5 で35pt、2つめの子block が 30pt×1.5 で 45pt の行高さになります。

<percentage>の場合は、それが指定されたときのフォントサイズから計算された値が継承されます。
例3では、親block の font-size=”30pt” line-height=”150%” から行高さは 45pt と計算されます。
(line-height の指定がない)子block には、その “45pt” の値が継承されます。
1つめの子block も 2つめの子block も同じ 45pt の行高さとなります。

両者の違いに注意してお使いください。

AH Formatter ロゴ

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

XSL-FO の基本仕様と『AH Formatter』の拡張機能をお試しいただけるよう「サンプル FO 集」もご用意しています。

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


[AH Formatter] より良い欧文組版を目指して その2

前記事:
[AH Formatter] より良い欧文組版を目指して

欧文組版では避けるべき現象があります。
注意することは多々あり、それらは審美的なものであったり、読み辛さを誘発するものであったりします。

例えば
・「複数段落で最後の行に一単語残る」
『AH Formatter』では axf:avoid-widow-words に true を設定することで、出来る限りその現象を避けます。
ただし行の長さが短いときは、追い込む余地が少ないのであまり効果がありません。
また、一単語を追い込む余地がない場合などでは、axf:avoid-widow-words の効果は現われません。

・「ページをまたがって一行、一単語残る」
かなり見た目が悪いので、欧文組版以外でも避けるべきでしょう。
『AH Formatter』では widowsプロパティで最低何行から次ページに送るかを設定をすることができます。
規定値は 2 ですが、ページ送りなどの設定により、1ページに少数行だけあるといった現象は美しいとは言えないでしょう。

・「同じ単語で始まるまたは連続している行が多すぎる」
このような現象があると、読み手の目線がその単語の連続に移ってしまいます。
これはあまり良い組版とは言えません。手作業で直す必要があるでしょう。

欧文組版において、考える必要のあることはこれらだけではありません。
より美しく、読みやすい組版結果を目指して『AH Formatter』は改良され続けています。
 
 
AH Formatter ロゴ

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

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


AH Formatter へのご意見募集

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

今年は春が早くにやってきたような気がします。
桜の開花予想も少し早いみたいですね。
こちらには高遠城址公園という有名な桜の名所があります。
毎年、桜の時期は多くの観光客で賑わっています。
タカトオコヒガンザクラというソメイヨシノより少し濃い色の桜で
ライトアップされた夜桜も綺麗です。

暖かいのはうれしいのですが、花粉の季節も早かったようで
花粉症のわたくしは毎日ぐずぐずしております。
周りの方、くしゃみうるさくてゴメンナサイ。

さてさて、お仕事の話をしなくては。

先日、均等割り付けの方法でお問い合わせがありました。
通常、text-align で均等割り付け(justify)を指定した場合に、
日本語(漢字やひらがなカタカナのとき)は文字間が広がります。
連続した英数字などでは単語間の空白が広げられますが、これを日本語と同じように
文字間を広げたい場合にはどうすればいいかということでした。
XSL-FO の仕様ではこの機能はありませんが、
CSS3(W3Cドラフト仕様)では用意されていました。
もちろん!AH Formatter V6では、拡張機能として XSL-FO でも対応しています。

axf:text-justify=”inter-character” を指定してください。

AH Formatter は XML自動組版ソフトとして、
これまでにも多くの機能を実装してお客様にご利用いただいております。
毎日お客様からご意見やご報告をいただいておりますが
こんな機能が欲しいというご相談も承っております。
時々、目から鱗なご相談もあって驚くことがあります。
その時点では実装されていない、実現が困難な場合もあるかもしれませんが
今後の検討課題として日々努めてまいります。
実際に業務で運用されているお客様やこれから運用を考えていらっしゃるお客様の
ご意見、ご要望は大変ありがたいです。
どうぞご遠慮なくご相談ください。

AH Formatter ロゴ

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

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


Dockerイメージ(AH Formatter、Web Interface for AH Formatter)

AH Formatter』の V6.6 を昨年の 2018年8月30日にリリースいたしました。こちらの V6.6 から Linux 64ビット版のコマンドラインインターフェイスを Dockerイメージでご用意いたしました。

Docker はコンテナ型の仮想化環境を実行、管理するオープンソースのソフトウェアです。Docker に関する詳しい説明は割愛させていただきますが、Docker の特徴としてホストOS のカーネルを共有するため消費するリソースが少なく起動や処理が早い、Docker が動く環境で Dockerイメージを配布、共有することで環境によるバージョンのずれをなくし、環境構築やセットアップに必要な負担の軽減などがあります。

『AH Formatter V6.6』はリリース以後、改訂版の公開タイミングで Dockerイメージも常に最新へ更新しています。ご用意している Dockerイメージの詳細とその実行方法など詳しくは『AH Formatter V6.6』の「Dockerイメージ」のページにまとめていますので是非ともご覧ください。

また、他にも『Web Interface V6.0 for AH Formatter』のサーバプログラムと『AH Formatter V6.6』Linux 64ビット版の組み合わせた Dockerイメージもご用意しています。こちらも『Web Interface V6.0 for AH Formatter』の「Dockerイメージ」のページで説明させていただいております。

評価をご希望の方は、弊社システム営業グループ sis@antenna.co.jp までご連絡ください。現在、該当する製品をご使用いただいている場合は、そのライセンスファイルで Dockerイメージを使用いただけます。

AH Formatter ロゴ


[AH Formatter] より良い欧文組版を目指して

良い欧文組版はどのようなものかという問いを解決するために
良い組版の「良さ」を受け取る相手は誰なのかを考える必要があります。
活字によって、利益を受け取るのは読み手です。
欧文組版は左から右のように、横へ視線が流れます。
スムーズに視線が流れると、読み手は読みやすいと感じることでしょう。
それに対して、横以外を意識させるような何らかの配置があると、視線の流れがその方向に移り、読みにくくなってしまいます。
欧文組版で、横以外の視線を意識させてしまうものに次のような例があります。

1. 連続したハイフネーション
欧文組版では、単語が行末で分割され、次の行に送られるときハイフネーションが起こります。
そして、ハイフネーションが数行にわたり続いてしまうと、行末にハイフンが縦に並んでしまいます。
読者はその縦に並んだハイフンの連続に視線が移ってしまいます。
※ これは『AH Formatter』で組版する場合、hyphenation-ladder-count によって抑制することができます。

2. リバー
欧文では文中の単語間に空白があります。
その空白が大きめになっている場合に、それらの空白が数行に渡って縦(斜め方向)に連続すると、目線がそちらの方向に移ってしまいます。
長い単語が規則的に並んだときに現れやすいものです。

これだけではありませんが、欧文組版ではこのような要素も考慮して、読みやすい文字の並びを作成する必要があります。
より良い欧文組版を目指して『AH Formatter』は現在も改良されています。

AH Formatter ロゴ

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

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


DITAをPDFに(PDF5-ML)

昨日 は DITA を docx に変換する DITA-OT プラグインのことを書きましたが、やはりいまだにマニュアル系は PDF が主流です。

DITA-OT には DITA で書かれたインスタンスを PDF にするためのスタイルシート(プラグイン)が標準で入っているのですが、残念ながら機能的にしょぼくて、あまり積極的に使いたいと思うようなものではありません。多くの人がまず「日本語が文字化けするんだけど」という問題にぶつかります。

アンテナハウスはこれに替わるプラグインを公開しました。”PDF5-ML”といいます。
https://github.com/AntennaHouse/pdf5-ml

“ML”というのは”Multiple Language”の略で、その名のとおり多言語対応を得意としています。
ひとつの DITA トピックファイルの中に複数言語が混在することがありますが、このような場合でも言語毎のフォント選択をきっちり行うことができます。
DITA 採用時にぜひお試しいただければと思います。

アンテナハウスはこのプラグインのカスタマイズ作業も請け負っております。PDF 生成でお悩みの方はご一報下されば幸いです。


DITAからWord(docx)への変換

最近「DITA から Word へ変換することはできないか」というお問い合わせをいただくようになりました。
日本で英語マニュアルを作って、それを各国の販社に送り、販社側でローカライズするには Word が便利なのでしょう。

Word へ変換する DITA OTプラグインはあるにはあります。
https://github.com/jelovirt/com.elovirta.ooxml
しかし、もう2年くらいメンテナンスがされておらず、ちょっと商用では使えないレベルのものです。docx の仕様があまりにも難しいというのが理由のひとつだと思われます。
XSL-FO の仕様は PDF にすると500ページ程度に対して、Word の Open XML File Format の仕様は PDF でなんと6700ページ。全部読み切った人はいるのでしょうか(^^;

ところがところが、昨年アンテナハウスはこの変換プラグインを開発しちゃいました。しかもオープンソースで、どなたでも自由にお使いいただくことができます。
https://github.com/AntennaHouse/ah-wml

そして、来る3月6日に DITAコンソーシアムジャパン主催の「DITA Festa 京都」の開催が計画されているようで、その中で上記のようなことをテーマにしたセッションがあるみたいです。
関西方面でご興味がある方は今のうちに予定に入れておいてください。

DITA


Pages: Prev 1 2 3 4 5 Next