Skip to content

sozysozbot/lin-marn-bitmap-font

Repository files navigation

lin-marn-bitmap-font【網墨倉字】

燐字リポジトリにあるビットマップフォントをコンパイルするための仕組み。pngs にビットマップを入れる。

ttf / woff の出力

WOFF にはビットマップフォントを扱う仕組みがないので、それぞれのドットを SVG の正方形へと変換する必要がある。ということで

node to_svg.js

svgs/ に SVG が吐かれる。それを

node to_font.js

で変換してやることによって、 fonts フォルダに ttfwoff が出力される。

txt の出力

node to_txt.js

をすることで、txts フォルダに

0x9ed2
................
................
.........@......
..@......@......
..@@@@..@.@.....
.@...@..@.@.....
....@..@...@....
..@.@.@..@..@...
...@.....@...@..
...@@..@.@.@....
...@.@.@.@.@....
.@@......@......
........@@......
.........@......
................
................

みたいなのが吐かれる。ただし、現状では対応するコードポイントを U+3400~U+FFFF の範囲に絞っている。

これらを生成した後で、node merge_txts.js を走らせると、これらが文字コード順にソートされて一つの linglyph.txt に収まる。こいつは 改造 MikanOS への入力として使う。

開発者のための注意

package.json にある

  "overrides": {
    "fantasticon": {
      "glob": "7.2.0"
    }
  }

tancredi/fantasticon#470 を避けるためのもの。

以下のコマンドを実行していて No SVGs found というエラーに直面したら、

npm uninstall fantasticon && npm install fantasticon

で直ります。(cf. npm/cli#4232 )