印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
DownloadWindows Windows 版 LilyPond のログが文字化けする

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つである。

gettext-runtime.mo
glib20.mo
lilypond.mo

同様の文字化けは vim でも起こるらしい。変換スクリプトを公開してくれている方がいるので,そのまま使わせてもらう (日本語メッセージの文字化けに対応する)。Cygwin 上で実行する。スクリプト moconv.sh で,変更するのは最後の部分のみである。ただし,パス名に空白が入っていると動作しないので,.mo ファイルを適当なディレクトリに移してから実行すればよい。

スクリプトが呼ぶプログラムは,デフォルトの Cygwin には入っていないため,別途インストールする必要がある。nkf は,ソースからコンパイルする (nkf Network Kanji Filter)。sed はデフォルトでインストールされている。msgfmt, msgunfmt (メッセージフォーマット) は,Cygwin の gettext-devel パッケージに入っている。

Cygwin 環境がないということもあるので,変換後のファイルを公開しておく。

ライセンスは GPL である。もとの .mo ファイルに上書きすれば完了である。

LilyPond 関連:
nlog(n): LilyPond のテンポ指定

Posted by n at 2008-04-06 11:05 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?