LilyPond は日本語ローカライズされているが,Windows 版は文字コードの違いにより文字化けが発生する。
楽譜組版{くみはん}ソフトの LilyPond は多国語対応になっている (LilyPond, music notation for everyone)。日本語にも対応しているが,Windows 版はログが文字化けする。
LilyPond の現時点での最新安定板は 2.10.33 で,配布ライセンスは GPL である。Linux や MacOS X など,様々なプラットフォームで動作するが,以下は Windows 版に限定したものである。
Windows 版のログが文字化けするのは,Windows の文字コードが Shif_JIS であるのに対し,メッセージの文字コードが UTF-8 であるためである。文字化けをなくすには,メッセージファイルの文字コードを Shift_JIS にすればよい。LilyPond は GUI インターフェースを持たないため,文字化けするのはログのみ。
LilyPond のメッセージカタログファイルは,「C:\Program Files\LilyPond\usr\share\locale\ja\LC_MESSAGES」ディレクトリにある次の3つである。
同様の文字化けは vim でも起こるらしい。変換スクリプトを公開してくれている方がいるので,そのまま使わせてもらう (日本語メッセージの文字化けに対応する)。Cygwin 上で実行する。スクリプト moconv.sh で,変更するのは最後の部分のみである。ただし,パス名に空白が入っていると動作しないので,.mo ファイルを適当なディレクトリに移してから実行すればよい。
スクリプトが呼ぶプログラムは,デフォルトの Cygwin には入っていないため,別途インストールする必要がある。nkf は,ソースからコンパイルする (nkf Network Kanji Filter)。sed はデフォルトでインストールされている。msgfmt, msgunfmt (メッセージフォーマット) は,Cygwin の gettext-devel パッケージに入っている。
Cygwin 環境がないということもあるので,変換後のファイルを公開しておく。
ライセンスは GPL である。もとの .mo ファイルに上書きすれば完了である。
LilyPond 関連:
nlog(n): LilyPond のテンポ指定
Master Archive Index
Total Entry Count: 1957