らんだむな記憶

blogというものを体験してみようか!的なー

FreeTypeで文字を書く(3)

FreeTypeで文字を書く(2) - らんだむな記憶以来まともに触ってないんだけど。

https://github.com/rougier/freetype-py/blob/v2.1.0/examples/agg-trick.py#L37とかの

face.set_char_size( size * 64, 0, hres, 72 )

64 って何だよ?って話。 https://github.com/rougier/freetype-py/blob/v2.1.0/freetype/__init__.py#L1060を見てもうーんって感じで。 https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_set_char_sizeを見てhttps://www.freetype.org/freetype2/docs/reference/ft2-basic_types.html#ft_f26dot6を見て考えて、うーんって。 A signed 26.6 fixed-point type って何だろうなぁ〜と思ったけど、要は 32-bit 変数において「上位 26-bit が整数パート、下位 6-bit が小数パートの固定小数点ですよ」ってやつか!それってこの blog の 2 番目の記事のF2DOT14フォーマット - らんだむな記憶F2DOT14 と同じじゃないか!?と思うんだけど、

>>> difflib.SequenceMatcher(None, "F26Dot6", "F2DOT14").ratio()
0.42857142857142855

であんまり似てなかったから気がつかなかったゎ〜ってやつ。ってか、ドキュメントほとんど読んでない。ってか、読んだけどよく分からなかったからスルーした。

>>> 2**6
64

なので、

>>> 48*64 == 48<<6
True

だから、 width = 48*64 って普通の感覚では 48.0 のことだったんだな。この手のはビットシフトでないと理解できないや。全然気が付いてなかったゎ。 FreeTypeで文字を書く - らんだむな記憶でもやらかしちゃってるし。 128*128 って何だよと。3 年以上「これは何だろう・・・」と思ってやっと分かった。コピペグラマすぎて普段一次資料なんか読まないし、Qiita のコピって貼り付けるだかだからもう全然ダメだなぁ〜って感じた。