hoge diary - May 3, 2005

[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

コメント

名前(何でも可):

テキスト(http:// を含む内容は投稿できません):

トラックバック

トラックバック URI: https://www.pakunet.jp/hoge/trackback/2005050302

トラックバックはありません.


Valid XHTML 1.1! Valid CSS!
© 2004-2009 ぱくちゃん.
Last modified: Thu Nov 01 01:16:46 JST 2007