しろもじメモランダム

文字についてあれこれと。

unofficial fontforge-cygwin を script モードで動かすには

以前にも何度か紹介したことがあるが、Windows 環境で比較的手軽に FontForge を動かすことのできる “unofficial fontforge-cygwin”というパッケージがある*1

ダウンロードファイルをした解凍して fontforge.bat を実行すれば、すぐにGUI環境の FontForge を利用することができる。


さて、FontForge はウィンドウを表示させずにスクリプトによって処理を行わせることもでき、これを活用するとなかなか便利にフォントの編集をすることができる。

Linux 環境などでは、上のページに説明されているように -script オプションを利用して

$ fontforge -script hoge.pe [arg1 arg2 ...]

とすれば、スクリプト hoge.pe を実行してくれる。

しかし、これと同じことを unofficial fontforge-cygwin でやろうとして

> fontforge.bat -script hoge.pe [arg1 arg2 ...]

コマンドプロンプトから入力しても、FontForge がウィンドウを表示してフォントを開こうとしてしまい、残念ながら思い通りにいかない。

これを解決するためには、以下のようなバッチファイルを作成しておく。

@echo off

setlocal

set PATH=%~dp0cygwin\bin;%PATH%
set CYGWIN=nodosfilewarning
set HOME=%~dp0
set AUTOTRACE=potrace
set LANG=ja_JP.UTF-8

fontforge.exe -script %*

これに例えば fontforge_script.bat などと名前を付け、

> fontforge_script.bat hoge.pe [arg1 arg2 ...]

とすれば、FontForge が起動してちゃんとスクリプトを処理してくれる。

*1:旧 “Windowsfontforge 簡単 お手軽パッケージ”。