Index > 段落書式でフォント SimSun で指定してもMS明朝になってしまう問題その2(Adobe Structured FrameMaker8)
Tue, May 12, 2009

段落書式でフォント SimSun で指定してもMS明朝になってしまう問題その2(Adobe Structured FrameMaker8)

XML文書(Unicode,UTF-8)をFrameMaker8に読み込んでフォーマットして印刷用データを作成している。 しかし、多言語展開時に中国語(簡体字)の対応をしていて困ったことになってしまった。

FrameMakerのテンプレートで段落書式(本文)に SimSun を設定しているのに、 XML文書をそのテンプレートを使ってフォーマットすると、なぜか段落書式(本文)の 一部がMS 明朝に変わってしまうのだ。 全部 MS 明朝になるのではなく、設定通り SimSun になっているところもある。

他の言語展開(ドイツ語・フランス語・スペイン語など)ではこのような現象は起きないので (もっともそれら言語で使用してるフォントは Times New Roman だが)なんでだろうと。

いろいろ調べてみたものの原因がわからないので、 以下の方法で対処しました。

解消方法その1 Arial Unicode MS を使う

SimSunではなく、Arial Unicode MS を使う。

Arial Unicode MS は、Unicode 2.1 が対応する全言語の約4万文字を持つ大きなサイズのフォントです。

しかし、このフォントを使ってネイティブチェックに出したところNGと言われてしまいました。 字形が違うと。

解消方法その2 MIFを経由して置き換え

FrameMaker8 で XML をフォーマットした結果を いったん mif 形式で保存します。 mifファイルをテキストエディタで開いてみると、MS 明朝という文字列が出てきます。 これをまとめて SimSun に置き換えてから、再度 FMで開くと (一応)問題が解消します。

面倒なので以下のsedスクリプトを使ってexコマンドで置き換えしています。

msmincho2mysimsun.exs

%s/MS 明朝/mysimsun/g
wq

※ここでは、MS 明朝を mysimsun というフォント名に変更しています。mysimsun は合成フォント(Combined Font)です。

使い方

$ ex foo.mif < msmincho2mysimsun.exs
 Twitter
follow me on Twitter
 Categories