頼んでみるもんだ
我慢できずに、茄子の揚げ出汁ってできる?と、メニューにないのに相談。美味しい〜。幸せだ〜
。
我慢できずに、茄子の揚げ出汁ってできる?と、メニューにないのに相談。美味しい〜。幸せだ〜
。
久しぶり。今日は一人で夕食の日なので、ついこういうことになる。
ポータブル化とはあまり関係ないが、出来上がりのPDFにフォントが埋め込まれてないと、印刷時の環境に依存してしまう、ということで、日本語フォントの埋め込みの実験。フリーのIPAフォントというのを入手してきて、やってみた。
正式には、mapファイルやフォント関係を適切なディレクトリーに配置するべきだが、とりあえず実験ということで、文書と同じディレクトリーに mapファイルとTrueTypeフォントを置いた。IPAフォントを解凍して、すべてをカレントディレクトリーに配置。次に、
rml H ipam.ttf rmlv V ipam.ttf gbm H ipag.ttf gbmv V ipag.ttf
なる内容を、例えば IPA_font.map という名前で保存する。そして、コマンドラインから
> dvipdfmx -f IPA_font.map sample.dvi
とすれば、IPAフォントが埋め込まれた sample.pdf が作られる・・・のだが、何故か警告が。
** WARNING ** UCS-4 TrueType cmap …
という警告メッセージが出るのだが。これは無視して良いのかな?
WinShellを起動するときのバッチファイルを工夫すれば、ランチャーを使わなくても PATH の設定ができることがわかった。ポイントは、%~d0% によりバッチファイルが起動されたときのディスクが参照できること。うちの環境だと %~d0% には “H:” という文字列が入る。これ以外にも、ファイル自体のフルパスなど、いろいろと参照できるようだ。ふーん、Windowsってダメダメだと思っていたけど、UNIXの真似事が少しはできるんだ。
ということで、StartWinShell.bat とか適当にバッチファイルを作り、次のように記述。
@echo off
set PATH=%~d0\App\Win32TeX\bin;%~d0\App\FoxitReader23;%PATH%
start WinShell.exe
一行目の @echo off は、単にこれらのコマンドをターミナルで表示させないものだから、本質的ではない。2行目でパスの設定をしている。ここではTeX関係のプログラム類が入っているディレクトリーと PDF リーダーである FoxitReader にパスを通した。よく使うプログラムはUNIXみたいに \bin ディレクトリーにまとめて放り込む方が効率が良いかもね。パスを通したあとで、WinShell.exe を起動して終了。
これでランチャー不要のポータブル化ができた。WinShellでのプログラム類の設定では、プログラム名を書くだけで良い。忘れてならないのは、WinShellを直接起動させずに StartWinShell.bat の方を起動させること。
書いていて気づいたのだが、%~dp0% という、起動プログラムまでのフルパスを表す変数を使えば、完全にリロケータブルな (つまり、どのディレクトリーに配置しても作動する) パッケージを作ることも可能だと思う。それには、Win32TeXパッケージとWinShell、FoxitReaderなどをひとまとめにする必要があるが。