[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