PowerShellで外字コピー屋さんの外字インストール時の挙動を模倣する
外字コピー屋さんのメンテナンスが終了している事もあり、代替を考えたが、わりと単純な挙動のようなので PowerShell で行ってみた。
調査
以下、マイクロソフトが提供しているトラブルシュート用のツールがあり、それを使用して 外字コピー屋さん の挙動を確認する。
プロセスを監視しつつ、外字コピー屋さんで外字をシステムに適用する。
以下、プロセスの WriteFile と RegSetValue をフィルタしたものになる。
- 外字ファイルをユーザ単位のフォルダ配下に配置している。
- C:\Users\{ユーザ名}\AppData\Local\cpeudc
- (ユーザ単位の)レジストリに外字ファイルの配置場所を設定している。
- HKEY_CURRENT_USER\EUDC\932\SystemDefaultEUDCFont
この2点を押さえれば、同じ挙動になると思う。
前提条件
- Windows 7 Professional
- ファイルを選択し右クリック → PowerShell で実行
- ps1ファイルは外字ファイル EUDC.euf, EUDC.TTE と同じ場所にある事
外字適用.ps1
$targetPath = "C:\Users\$env:USERNAME\AppData\Local\cpeudc" New-Item -Path $targetPath -ItemType "directory" -Force Copy-Item "EUDC.euf" $targetPath -Force Copy-Item "EUDC.TTE" $targetPath -Force Set-ItemProperty -Path "Registry::HKEY_CURRENT_USER\EUDC\932" -Name "SystemDefaultEUDCFont" -Value ($targetPath + "\EUDC.TTE")
確認
OS標準の 外字エディター を起動し、意図した外字が表示される事を確認する。
適用されているため、これで問題ないと思う。
余談ですが、ヘルプファイルである cpeudc.chm の内容がちゃんとしており助かりました。
こういうのをちゃんと書いている人、本当凄い、尊敬する。