Thu, July 23, 2009
構造化FrameMaker8 下矢印(downwards-arrow-sign, U+2193)がMS明朝になってしまう問題の回避
Structured Frame Maker 8 で xml をフォーマットすると、下矢印文字(U+2193)が EDDで Arial指定しているにも関わらず、なぜか書式がオーバライドされてしまいMS明朝になってしまう。
そんな場合の回避方法。
XML中には下矢印文字を入れないで解決する
XMLをFrameMakerに読み込ませる前に、XSLTなどを使って以下のように変換しておく。
- 下矢印文字が入っている部分を < downwards-arrow-sign /> という要素に変換
さらに、EDD で downwards-arrow-sign 要素に対して、次のようなEDD設定を行う。

※構造ビューでは文字化けしているが、赤丸部分は実際には下矢印を入れる。 フォントもSymbolに変更。 下矢印の入力は、Windowsの文字コード表からコピーペーストした。
フォントはSymbolでなくArialでもうまくいくのかどうかはテストしていない。
文中に下矢印が出現する場合は、 Prefixの設定だけなく、TextFormatRulesのTextFormatting/TextRange も設定しておく必要がある。
その他の効果
このようなデータの作り方をしておくと、FrameMaker8 で作成したデータを FrameMaker7 形式で 保存して FrameMaker7 で開いたときにも文字化けが起きなくなる。
逆にXML中にそのまま下矢印を入れていた場合はFrameMaker7にしたときに文字化けする。
FM8 → FM7 にしたときの文字化けは、いろいろな文字で起きるが、 この辺は、FrameMaker8 から内部含めてユニコード対応したのに関係していると思われる。 FrameMakerが文字をどのように扱っているかわたしがよくわかっていないので、 対処方法が難しい部分です。