[TeX関連] 90ms-RKSJ-H エンコーディングとの闘い (3)
四角いゴミがどこに出現しているかを見てみると,空白と改行の部分に現れていました.
ということは,CMap ファイルをいじって空白と改行のマッピングを変えてやればこの四角は消えるのではないでしょうか.
ということで作業開始.まずは 90ms-RKSJ-H を見てみます.
1 beginnotdefrange
<00> <1f> 231
endnotdefrange
という記述がありました.どうやら制御コードは 231 (0x00E7) にマッピングされているようです.
さて,Shift-JIS から UCS-2 へのマッピングが分かったので,あとは 0x00E7 が変な文字で印字されるのを止めさせるだけです.Adobe-Japan1-UCS2 をいじくります.
--- Adobe-Japan1-UCS2.org Tue May 3 11:13:55 2005 +++ Adobe-Japan1-UCS2 Tue May 3 11:14:20 2005 @@ -110,7 +110,7 @@ <00E4> <2122> <00E5> <017E> <00E6> <0030> -<00E7> <2002> +<00E7> <0020> <0123> <00A5> <0145> <203E> <0186> <FFFD>
デフォルトで 0x00E7 は 0x2002 にマッピングされています.この文字が何かはさておき,とりあえず強引に空白文字 0x0020 に修正しています.
これでレンダリングを行うと... 無事に所望の結果を得ることができました.めでたしめでたし.
ちなみに,90ms-RKSJ-H を次のように修正する方法では出力結果が全く変化しませんでした.
1 beginnotdefrange
<00> <1f> 32
endnotdefrange
トラックバック
トラックバック URI: https://www.pakunet.jp/hoge/trackback/2005050302
トラックバックはありません.