a wee tool to build colr font from png image
png画像からCOLRカラーフォント規格のttfファイルを出力するpythonコード
解説動画
- 1.py: は画像処理AIに入力する文字の画像を書き出すコード
- 2.py: 画像からフォントを出力するコード
- JIS.txt: JIS第一水準の漢字とちょっとキリル文字やギリシャ文字を足してあるテキストファイル
- fontTester.html: buildフォルダのtest1.ttfというフォントを表示するように設定してあるhtmlファイル。作ったフォントのデバッグ用
cmd用にパスを通すもの:
- potrace
- nanoemoji
pythonライブラリ: - pillow
- cv2
- lxml
anaconda https://www.anaconda.com/ pythonを動かす環境を作るのに使う
ダウンロードしてインストールしpathを通す。windows10の場合
設定>システム>詳細情報>システムの詳細設定>環境変数(N)>ユーザーの環境変数>編集(E)>新規
から「C:\Users\UserName\anaconda3\Scripts」などとanacondaのあるフォルダを入力しOKを押す
potrace https://potrace.sourceforge.net/#downloading 画像をトレースしてsvgにするのに使う
ダウンロードしpathを通す。windows10の場合
設定>システム>詳細情報>システムの詳細設定>環境変数(N)>ユーザーの環境変数>編集(E)>新規
から「C:\p\potrace」などとpotrace.exeのあるフォルダを入力しOKを押す
nanoemoji https://github.com/googlefonts/nanoemoji svgからカラーフォントを作るのに使う
win+rから出る入力フォームにcmdと書いてcmdを起動する。pip install nanoemojiと打ってインストールする
cmdからpip install pillowと打ってインストールする
cmdからpip install cv2と打ってインストールする
cmdからpip install lxmlと打ってインストールする
JIS.txtにフォントに入れる文字を入れる
1.pyのfont_file = r'.\SourceHanSerif-Heavy.otf'のところを自分の持っているフォントファイルの位置に置き換える
cmdを起動し、cdコマンドで1.pyのあるフォルダに移動し、python 1.pyと打って実行
txtファイルにある文字が一つずつ画像に吐き出される
コード中の
colorDic = {
"main": "#111111",
"c1":"#19285D",
"c2":"#465850",
"c3":"#0E5E3F",
"back": "#FFFFFF"
}
の箇所にフォントに入れたい色コードを入れる。backの色は特別で背景としてカウントされフォントには入らない
2.pyをフォントにしたいpng画像(uni2367のようなファイル形式)があるフォルダに入れる
cmdを起動し、cdコマンドで2.pyのあるフォルダに移動し、python 2.pyと打って実行
3000文字くらいだと2時間以上かかるので気長に待つ。固まって動かないように見えることもあるが、再びC: >のような表示が出るまで触らずに待つ
test1.ttfという名前のカラーフォントがbuildフォルダの中に作成される。フォント名を変えたいときは、コード中のfontname = "test1"の部分を書き換える。
png2ttf
姉妹プログラム。こっちは画像から普通の白黒フォントを自動生成する