[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2334] Re: JPN16.FNT from Shinonome font.



小柳です。

Hidemi KAWAI wrote:
> 
>   こんにちは、川合です。
> 
> Koyanagi Masaaki さんは 2001/10/17 13:32:12 の「[OSASK 2329] Re:
>  JPN16.FNT from Shinonome font.」で書きました:
> 

>   げっ、本当ですか?・・・バグかなあ・・・参ったなあ。
> 
>   ・・・と思ったら、僕のバグじゃないような気がしてきました。
> 
> static unsigned int get_offset_hankaku(unsigned int jiscode)
> {
>   unsigned int high, low, result;
> 
>   high = jiscode >> 8;
>   low = jiscode & 0xff;
>   result = (high - 0x21) * 0xbc0 + (low - 0x21) * 0x10;
> 
>   return result;
> }
> 
>   この関数で0x2e40をコンバートすると、0x09ca0にならない気がしま
> す。そのせいではないでしょうか?

が〜ん(笑)。頭が働いてません。

(1)/* 漢字コードをフォントデーターのオフセットに変換する方法 */ の式を
半角カタカナに適用したら、ぼろぼろだった。
(2)半角カタカナは左用と右用に分ける必要がないので、*0x20ではなく
*0x10にすれば OK だ!
(3)でもまだずれているから、引数の方にオフセットを加えたらうまくいった。

という流れでやってしまいました。
result = (high - 0x21) * 0xbc0 + (low - 0x40) * 0x10;
とするのが正しいですね。道理で 0x1f ずれるわけです。

>   さて僕はこのフォントをバンドルするために、メーリングリストに入
> ってきます。PDSなので黙って使っても問題はないのでしょうが、お礼
> は言いたいですし、ついでにOSASKの紹介もできますから(笑)。

なるほど、いい考えです。


-- 
小柳 雅明(Koyanagi.Masaaki !Atmark! nifty.ne.jp)
「人の足を止めるのは"絶望"ではなく"諦観"
  人の足を進めるのは"希望"ではなく"意志"」
                  -- ARMS