XEP Personal Edition、フォントの設定

※ 本記事のXEPは"xep-4.18-20101125-personal.zip"をインストールしたもの。 ※

RenderX XEPのフォント設定。
XEPはデフォルトでは日本語フォントの設定はなされていない。
設定ファイル"xep.xml"中の"Sample configuration for Windows TrueType fonts."と書いてあるそばに、Windows用のフォント設定サンプルがある。
コメントアウトされているので、それを有効にしてやる。
("Arial"、"Times New Roman"、"Courier New"、"Tahoma"、"Verdana"、"Palatino"の定義がある)
そして、下のように"MS ゴシック"などの日本語フォントの設定を追加する*1。元からあるWindows用フォント設定は、単体のTrueTypeフォントファイル(*.ttf)の設定なので、以下はTrueType Collection(*.ttc)での設定例にもなるかと思う。
なお、"xep.xml"は「UTF-8。BOMなし」で保存する。BOMありで保存すると、最初のBOMを読み飛ばさず、おかしな文字があると考えるのか、エラーにしてくれる*2

      <!-- MSゴシック -->
      <font-family name="MS ゴシック">
        <font><font-data ttc="msgothic.ttc" subfont="1"/></font>
        <font style="oblique"><font-data ttc="msgothic.ttc" subfont="1"/></font>
        <font weight="bold"><font-data ttc="msgothic.ttc" subfont="1"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msgothic.ttc" subfont="1"/></font>
      </font-family>
      <font-family name="MS Pゴシック">
        <font><font-data ttc="msgothic.ttc" subfont="2"/></font>
        <font style="oblique"><font-data ttc="msgothic.ttc" subfont="2"/></font>
        <font weight="bold"><font-data ttc="msgothic.ttc" subfont="2"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msgothic.ttc" subfont="2"/></font>
      </font-family>
      <font-family name="MS UI Gothic">
        <font><font-data ttc="msgothic.ttc" subfont="3"/></font>
        <font style="oblique"><font-data ttc="msgothic.ttc" subfont="3"/></font>
        <font weight="bold"><font-data ttc="msgothic.ttc" subfont="3"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msgothic.ttc" subfont="3"/></font>
      </font-family>

      <!-- MS明朝 -->
      <font-family name="MS 明朝">
        <font><font-data ttc="msmincho.ttc" subfont="1"/></font>
        <font style="oblique"><font-data ttc="msmincho.ttc" subfont="1"/></font>
        <font weight="bold"><font-data ttc="msmincho.ttc" subfont="1"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msmincho.ttc" subfont="1"/></font>
      </font-family>
      <font-family name="MS P明朝">
        <font><font-data ttc="msmincho.ttc" subfont="2"/></font>
        <font style="oblique"><font-data ttc="msmincho.ttc" subfont="2"/></font>
        <font weight="bold"><font-data ttc="msmincho.ttc" subfont="2"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msmincho.ttc" subfont="2"/></font>
      </font-family>

      <!-- メイリオ -->
      <font-family name="メイリオ">
        <font><font-data ttc="meiryo.ttc" subfont="1"/></font>
        <font style="oblique"><font-data ttc="meiryo.ttc" subfont="2"/></font>
        <font weight="bold"><font-data ttc="meiryob.ttc" subfont="1"/></font>
        <font weight="bold" style="oblique"><font-data ttc="meiryob.ttc" subfont="2"/></font>
      </font-family>

Windows TrueTypeフォント用のフォントグループ全体だと下のような定義になるかな。

    <font-group xml:base="file:/C:/Windows/Fonts/" label="Windows TrueType" embed="true" subset="true"> 
      <font-family name="Arial">
        <font><font-data ttf="arial.ttf"/></font>
        <font style="oblique"><font-data ttf="ariali.ttf"/></font>
        <font weight="bold"><font-data ttf="arialbd.ttf"/></font>
        <font weight="bold" style="oblique"><font-data ttf="arialbi.ttf"/></font>
      </font-family>

      <font-family name="Times New Roman" ligatures="&#xFB01; &#xFB02;">
        <font><font-data ttf="times.ttf"/></font>
        <font style="italic"><font-data ttf="timesi.ttf"/></font>
        <font weight="bold"><font-data ttf="timesbd.ttf"/></font>
        <font weight="bold" style="italic"><font-data ttf="timesbi.ttf"/></font>
      </font-family>

      <font-family name="Courier New">
        <font><font-data ttf="cour.ttf"/></font>
        <font style="oblique"><font-data ttf="couri.ttf"/></font>
        <font weight="bold"><font-data ttf="courbd.ttf"/></font>
        <font weight="bold" style="oblique"><font-data ttf="courbi.ttf"/></font>
      </font-family>

      <font-family name="Tahoma" embed="true">
        <font><font-data ttf="tahoma.ttf"/></font>
        <font weight="bold"><font-data ttf="tahomabd.ttf"/></font>
      </font-family>

      <font-family name="Verdana" embed="true">
        <font><font-data ttf="verdana.ttf"/></font>
        <font style="oblique"><font-data ttf="verdanai.ttf"/></font>
        <font weight="bold"><font-data ttf="verdanab.ttf"/></font>
        <font weight="bold" style="oblique"><font-data ttf="verdanaz.ttf"/></font>
      </font-family>

      <font-family name="Palatino" embed="true" ligatures="&#xFB00; &#xFB01; &#xFB02; &#xFB03; &#xFB04;">
        <font><font-data ttf="pala.ttf"/></font>
        <font style="italic"><font-data ttf="palai.ttf"/></font>
        <font weight="bold"><font-data ttf="palab.ttf"/></font>
        <font weight="bold" style="italic"><font-data ttf="palabi.ttf"/></font>
      </font-family>

      <!-- MSゴシック -->
      <font-family name="MS ゴシック">
        <font><font-data ttc="msgothic.ttc" subfont="1"/></font>
        <font style="oblique"><font-data ttc="msgothic.ttc" subfont="1"/></font>
        <font weight="bold"><font-data ttc="msgothic.ttc" subfont="1"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msgothic.ttc" subfont="1"/></font>
      </font-family>
      <font-family name="MS Pゴシック">
        <font><font-data ttc="msgothic.ttc" subfont="2"/></font>
        <font style="oblique"><font-data ttc="msgothic.ttc" subfont="2"/></font>
        <font weight="bold"><font-data ttc="msgothic.ttc" subfont="2"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msgothic.ttc" subfont="2"/></font>
      </font-family>
      <font-family name="MS UI Gothic">
        <font><font-data ttc="msgothic.ttc" subfont="3"/></font>
        <font style="oblique"><font-data ttc="msgothic.ttc" subfont="3"/></font>
        <font weight="bold"><font-data ttc="msgothic.ttc" subfont="3"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msgothic.ttc" subfont="3"/></font>
      </font-family>

      <!-- MS明朝 -->
      <font-family name="MS 明朝">
        <font><font-data ttc="msmincho.ttc" subfont="1"/></font>
        <font style="oblique"><font-data ttc="msmincho.ttc" subfont="1"/></font>
        <font weight="bold"><font-data ttc="msmincho.ttc" subfont="1"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msmincho.ttc" subfont="1"/></font>
      </font-family>
      <font-family name="MS P明朝">
        <font><font-data ttc="msmincho.ttc" subfont="2"/></font>
        <font style="oblique"><font-data ttc="msmincho.ttc" subfont="2"/></font>
        <font weight="bold"><font-data ttc="msmincho.ttc" subfont="2"/></font>
        <font weight="bold" style="oblique"><font-data ttc="msmincho.ttc" subfont="2"/></font>
      </font-family>

      <!-- メイリオ -->
      <font-family name="メイリオ">
        <font><font-data ttc="meiryo.ttc" subfont="1"/></font>
        <font style="oblique"><font-data ttc="meiryo.ttc" subfont="2"/></font>
        <font weight="bold"><font-data ttc="meiryob.ttc" subfont="1"/></font>
        <font weight="bold" style="oblique"><font-data ttc="meiryob.ttc" subfont="2"/></font>
      </font-family>
    </font-group>

"x4u"を起動すると設定したものを、目視で確認することができる。フォント設定の中に"MS ゴシック"とかが見えて、ファイル名とか間違ってなければ設定できていると思ってよいと思う。
なお、"x4u"でフォント設定とかいじって保存できるけど、そのさいに、たとえば"Palatino"に設定されている、ligatures="&#xFB00; &#xFB01; &#xFB02; &#xFB03; &#xFB04;"の実体参照なんかが、まんまUnicode文字に置き換えられて保存される。
それはデータとしては問題ないのだろうとは思うけど、表示できない文字もあって文字化けみたいに見えるから、それが嫌なら(俺は嫌)"x4u"に"xep.xml"をいじらせないようにしたほうがいいかも。

*1:"font-family"要素の"name"属性のところは自分の好みで変えてください。または好みの"name"属性をもった"font-family"要素を追加するか。

*2:UTF-8の場合、バイトオーダーは環境に依存しないから、BOM付ける必要がないけど、できたら読み飛ばしてほしいなあ……。