WindowsXPでblockdiagを使うときの.blockdiagrcの保存場所

WindowsXPでblockdiagを使うときのフォント設定 - enduser’s monthly reportの続きです。

前回の記事を書くのと前後して、blockdiag作者の方とTwitterでやりとりができました。
いろいろ勝手な要望を出しましたが、かなり今後のリリースに取り込んでもらえそう。
要望が反映されるという体験自体が非常に珍しいので、すなおにうれしいですね。

今回は、Windows環境独特の問題についてひとつ。

blockdiagサイトに以下の記述があります。

$HOME/.blockdiagrc ファイルに設定を書くことで 常に同じフォントを利用することができます。

通常WindowsXPにはHOME環境変数は存在ないため、.blockdiagrc の配置場所を blockdiag に通知できません。
(この問題、作者から「HOME環境変数を参照しているだけです」とhintを聞くまで、かなりはまってしまいました)

Linux系列でホームディレクトリは $HOME で参照できます。
これに対し、WindowsXPでホームディレクトリは %USERPROFILE% で参照します。
そこで、当面の対策として環境変数 HOME を追加し、%USERPROFILE% と同じ場所を指すように設定することにしました。

(12/16 10:55追記)%USERPROFILE%と%APPDATA%のどちらに配置するか悩みましたが、.付きファイルはほぼ%USERPROFILE%直下に作成されていたため、%USERPROFILE%を選定しました。

  1. [システムのプロパティ]を開きます。
  2. [詳細設定]タブの[環境変数]ボタンをクリックします。
  3. ユーザー環境変数とシステム環境変数の両方に HOME という変数が存在しないことを確認します。
  4. [新規]ボタンが2つありますが、上側(ユーザー環境変数側)の[新規]ボタンをクリックします。
  5. 「変数名」に HOME と入力、「変数値」に %USERPROFILE% と入力して[OK]-[OK]-[OK]とクリックし、開いた画面を閉じます。
  6. コマンドプロンプトを開いて echo %HOME% と入力しEnterし、ディレクトリ名が表示されれば成功です。

コマンドプロンプトの実行イメージは以下のとおりです。

C:\>echo %USERPROFILE%
C:\Documents and Settings\hogehoge

C:\>echo %HOME%
C:\Documents and Settings\hogehoge

C:\>

これで C:\Documents and Settings\hogehoge ディレクトリに .blockdiagrc を置くことで、blockdiag が自動的に .blockdiagrc を読み込んでくれるようになります。

さて、.htaccess .blockdiagrc など、linux系列では一般的な . から始まるファイル名は Windowsエクスプローラでは作成できません。
そのため、普通に任意のファイル名でファイル保存後、コマンドプロンプト上で REN コマンドを使い、あとから .blockdiagrc へとファイル名を変更するとよいでしょう。

また、.blockdiagrc の文字コードは現時点では UTF-8(BOMなし)にしておくのが無難です。
今後のリリースで対応していただけるそうですが、UTF-8(BOMあり)では読み込み時にエラーが発生しました。
(BOMありにする利点があるようなら対応を考えればいい問題だと思っています)

blockdiag は急速な進歩を遂げつつあると感じます。
より快適に使用できるよう、なにか気づいたことがあったら今後もフィードバックしていきたいものです。