Thu, January 29, 2009
構造化FrameMaker グラフィックを取り扱う方法
構造化FrameMakerでグラフィック(イメージ)を扱う方法。難しくはないがひどく手順が面倒ではある。
設定手順
既存のアプリケーションでイメージを扱えるようにするための手順・・・
- イメージを扱うエレメント名を決める → ここではHTMLにならって img とする
- EDDの編集
- EDDからDTDの書き出し
- 書き出したDTDはアプリケーションで定義しているDTDファイルに上書き
- EDDをテンプレート(template.fm)に読み込み
- アプリケーション定義の追加
- XML文書(インスタンス)の読み込み
EDDの編集1) img エレメントを新規追加
EDD文書

EDD(StructureView)

EDDの編集2) img エレメントを配置する親エレメントの設定
ここでは para エレメント内にインライングラフィックスとして出現させます。 EDDの記述は以下のようになります。
Element(Container): para
General rule: (<TEXT>|img)*
rules ファイルの用意
FrameMakerがXMLを開いたときに イメージとして処理する要素はどれか を判断するために ReadWriteRules(読み書きルール)を設定しておく必要があります。
※ここでは関係ありませんが、イメージ以外の要素では、テーブルの処理も読み書きルールで解決するようです。
fm version is "7.2";
element "img"
{
is fm graphic element;
writer facet default specify size in pt;
attribute "src" is fm property file;
attribute "dpi" is fm property dpi;
attribute "align"
{
is fm property alignment;
value "left" is fm property value align left;
value "middle" is fm property value align center;
value "right" is fm property value align right;
value "top" is fm property value top;
value "bottom" is fm property value bottom;
}
}
アプリケーション定義ファイルにReadWriteRulesを追記
該当アプリケーションにReadWriteRulesを追加し、先ほどの rules ファイルへのパスを指定します。

XML文書(インスタンス)の読み込み
以下のようにXML文書中に img エレメントを挿入します。
<para><img src="test.svg" /></para>
FrameMakerで開くと・・・
