DITA-OT1.4.3でユニコードの半角・全角形(Halfwidth and Fullwidth Forms)の文字化けを修正する

昨日の作業を行なうと,全角カンマや全角ピリオドの文字がPDFへ変換するとフォントが埋め込まれません.

なぜに文字化け?

DITA−OT1.4.2では問題なかったのに1.4.3では一部文字化けしたので,自分の操作が悪いのかと思ったりしたが....
PDF変換前のstage3.foをみるとこんな感じ.(改行を入れてます)

<fo:block id="" space-after="0.6em" space-after.optimum="3pt" space-before="0.6em" text-indent="0em">
  PizzaFactory3<opentopic-i18n:text-fragment char-set="Japanese">をご利用いただき</opentopic-i18n:text-fragment><opentopic-i18n:text-fragment char-set="Japanese">ありがとうございます</opentopic-i18n:text-fragment></fo:block>

全角カンマや全角ピリオドがchar-set="Japanese"から外されているわけです.
この処理をしている箇所は%DITA-OT%\demo\fo\cfg\fo\i18n\ja_JP.xmlです.

    <alphabet char-set="Japanese">
        <character-set>
            <character-range>
                <start include="yes">&#x3000;</start>
                <end include="yes">&#x30FF;</end>
            </character-range>
            <character-range>
                <start include="yes">&#x3100;</start>
                <end include="yes">&#x34FF;</end>
            </character-range>
            <character-range>
                <start include="yes">&#x4E00;</start>
                <end include="yes">&#x9FFF;</end>
            </character-range>
			<character>&#xFF62;</character>
			<character>&#xFF63;</character>
        </character-set>
    </alphabet>

イケテません.
Halfwidth and Fullwidth Formsが範囲に全然含まれてません.

文字範囲の変更

カスタマイズするために,設定ファイルをコピーします.

cp %DITA-OT%\demo\fo\cfg\fo\i18n\ja_JP.xml %DITA-OT%\demo\fo\Customization\fo\i18n\ja_JP.xml

以下のように変更しました.
使用するフォントがHalfwidth and Fullwidth Formsを持っているという前提で修正します.

    <alphabet char-set="Japanese">
        <character-set>
            <character-range>
                <start include="yes">&#x3000;</start>
                <end include="yes">&#x30FF;</end>
            </character-range>
            <character-range>
                <start include="yes">&#x3100;</start>
                <end include="yes">&#x34FF;</end>
            </character-range>
            <character-range>
                <start include="yes">&#x4E00;</start>
                <end include="yes">&#x9FFF;</end>
            </character-range>
            <character-range>
                <start include="yes">&#xFF00;</start>
                <end include="yes">&#xFFEF;</end>
            </character-range>
        </character-set>
    </alphabet>

最後に%DITA-OT%\demo\fo\Customization\catalog.xmlで上記の変更を上書きするようにします.

    <!-- I18N configuration override entries.-->
    <!--uri name="cfg:fo/i18n/de_DE.xml" uri="fo/i18n/de_DE.xml"/-->
    <!--uri name="cfg:fo/i18n/en_US.xml" uri="fo/i18n/en_US.xml"/-->
    <!--uri name="cfg:fo/i18n/es_ES.xml" uri="fo/i18n/es_ES.xml"/-->
    <!--uri name="cfg:fo/i18n/fr_FR.xml" uri="fo/i18n/fr_FR.xml"/-->
    <!--uri name="cfg:fo/i18n/it_IT.xml" uri="fo/i18n/it_IT.xml"/-->
    <uri name="cfg:fo/i18n/ja_JP.xml" uri="fo/i18n/ja_JP.xml"/>
    <!--uri name="cfg:fo/i18n/zh_CN.xml" uri="fo/i18n/zh_CN.xml"/-->

ビルドする

これでOKみたい.