をEBDT(1) - らんだむな記憶のスクリプトで16進数にした
□□□□□□□□□□□□
□□□■■□□■■□□□
□□■□■□□■□■□□
□□■■□□□□■■□□
□□□□□□□□□□□□
□□□□□□□□□□□□
□□□□□□□□□□□□
□□■■■■■■■■□□
□□■■□□□□■■□□
□□□■■□□■■□□□
□□□□□■■□□□□□
□□□□□□□□□□□□
00019829 430c0000 000003fc 30c19806 0000
を使う。
EBDT(3) - らんだむな記憶でM+ BITMAP FONTSをTTFに変換してEBLCを取り出して適当に加工する。EBDTには上記のhex値を放り込む。
[sample_bmp12.xml]
<?xml version="1.0" encoding="UTF-8"?> <ttFont sfntVersion="\x00\x01\x00\x00" ttLibVersion="3.40"> <EBLC> <header version="2.0"/> <strike index="0"> <bitmapSizeTable> <sbitLineMetrics direction="hori"> <ascender value="12"/> <descender value="12"/> <widthMax value="12"/> <caretSlopeNumerator value="1"/> <caretSlopeDenominator value="0"/> <caretOffset value="0"/> <minOriginSB value="0"/> <minAdvanceSB value="12"/> <maxBeforeBL value="12"/> <minAfterBL value="12"/> <pad1 value="0"/> <pad2 value="0"/> </sbitLineMetrics> <sbitLineMetrics direction="vert"> <ascender value="0"/> <descender value="0"/> <widthMax value="0"/> <caretSlopeNumerator value="0"/> <caretSlopeDenominator value="0"/> <caretOffset value="0"/> <minOriginSB value="0"/> <minAdvanceSB value="0"/> <maxBeforeBL value="0"/> <minAfterBL value="0"/> <pad1 value="0"/> <pad2 value="0"/> </sbitLineMetrics> <colorRef value="0"/> <startGlyphIndex value="1205"/> <endGlyphIndex value="1205"/> <ppemX value="12"/> <ppemY value="12"/> <bitDepth value="1"/> <flags value="1"/> </bitmapSizeTable> <!-- GlyphIds are written but not read. The firstGlyphIndex and lastGlyphIndex values will be recalculated by the compiler. --> <eblc_index_sub_table_2 imageFormat="5" firstGlyphIndex="1205" lastGlyphIndex="1205"> <imageSize value="20"/> <BigGlyphMetrics> <height value="12"/> <width value="12"/> <horiBearingX value="0"/> <horiBearingY value="12"/> <horiAdvance value="12"/> <vertBearingX value="-6"/> <vertBearingY value="0"/> <vertAdvance value="12"/> </BigGlyphMetrics> <glyphLoc id="1205" name="cid01461"/> </eblc_index_sub_table_2> </strike> </EBLC> <EBDT> <header version="2.0"/> <strikedata index="0"> <ebdt_bitmap_format_5 name="cid01461"> <rawimagedata> 00019829 430c0000 000003fc 30c19806 0000 </rawimagedata> </ebdt_bitmap_format_5> </strikedata> </EBDT> </ttFont>
これを源ノ角ゴシック JPに書きこむ。OTFは適当にTTFに変換しておく。(ここで、GID+1205=CID+1461は源ノ角ゴシック JPの「あ」に相当する)
ttx -m SourceHanSansJP-Regular.ttf sample_bmp12.xml
メモ帳あたりで、12*(72/96) = 9ptのフォントサイズを指定して表示させる。「あ」として変な顔文字が出ることが確認できる。この時、Windowsのディスプレイ設定が125%だとサイズが合わなくなるようで100%にしておかないとうまく合わない。Wordみたいに動的にスケールを変化させられるアプリの場合、スライダーを調整して丁度良い大きさにすると「あ」が変な顔文字になる。