[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [MD:4201] Re: bdffont



At Thu, 20 Feb 2003 04:39:17 +0900,
MIYASHITA Hisashi(宮下 尚:HIMI) wrote:

> さて、encoding_typeで、fontのcodepointのdimension sizeを
> 暗黙的に、指定するというのはどうかと思うので、この辺の指定を
> dimで統一した方が良いように思えます。世の中には、4byte単位で
> 指定するという、とんでもないfontも存在しますので。
> 
> で、dimが指定されていないときは、encoding_typeの指定に従って、dimを
> 自動設定するというのが良さそうです。

この辺のことを考えていたんですが、大体現状の設計は複雑すぎてばかげているように
思えてきました。いい加減、昔の悪いところは切り捨ててしまおうかと思います。

encoder, encoding_typeが分かれているのがそもそも混乱の元です。
そこで、

encoding

というキーを新設し、dim, encoder, encoding-typeは廃止します。

encodingは、以下の値をとります。

nil ... これが、default。charset dimensionの値に従って、internal codepointそのままを
        fontのcode pointとする。現状での、encoding_type == 0に相当。

MSB1 ... fontのcode pointは、1byte。MSBを立てる。
MSB2 ... fontのcode pointは、2byte。MSBを立てる。
sjis ... Shift JIS形式でencodingする。
ucs  ... Unicode形式でencodingする。
<encoder> ... 外部encoderを用いる。w32-regist-font-encoderで登録したencoderで
	      無くてはならない。w32-regist-font-encoderには、もう一つ引数を加えて、
              (w32-regist-font-encoder <name> <real-encoder> <font-codepoint-dimension>)
              という形式にして、fontのcode pointのbyte数を指定する。

こんな感じでどうかな。

でも、こんな修正すると、low level APIを使っている人たちへの波及効果は絶大
なんですよね。^^;;; やっちゃっていいですかね?

from himi