[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:36043] Re: Bug#JP/1466: xmms-ja 1.2.7 is released



On January 24, 2003, [debian-users:36034],
GOTO Masanori <gotom@debian.or.jp> wrote:

> ところで、Linux で作成した mp3 (中身は EUC-JP) と Windows で作成した 
> mp3 (中身は SHIFT-JIS) を同時に xmms-ja でプレイリストにうまく表示でき
> ている方はいらっしゃるでしょうか? xmms 1.2.7j を使ってもうまくいかなかっ
> たもので…。
> 
> ソースを見ると、少しいじる必要がありそうな感じがするのですが、何かご存
> 知の方はいらっしゃりませんか。

MP3ファイル自身にはShift_JISなのかEUC-JPなのかというふうな情報は
保持されていない(ID3v1の仕様ではISO-8859-1が想定されている)ので、
アプリケーション側でそれらを指定・推測する必要があります。たとえ
ば、Shift_JISとして不正なコードであればEUC-JPとして判定、という
ふうに。

でも、Shift_JISとEUC-JPとはコードが重複しており、また、曲名のよう
に短い文字列だと誤判定の可能性が高くなります。推測での誤判定を修
正するには、手動でも各ファイルの文字集合/エンコーディングを指定
できるようにする必要がありそうです。

ともかく、あらかじめID3タグの文字列を一方に変換しておくのが確実です。

    *

なお、localeの設定(LANG, LC_CTYPE, LC_ALL)に応じた文字集合/エンコー
ディングのみを使うのであれば、xmms-jaでなくxmmsでも日本語が扱えます。

たとえば下記のようにすれば、xmmsでShift_JISのID3タグが使えます。

* root権限で、/etc/locale.genに「ja_JP.SJIS Shift_JIS」を加えて
  locale-genを実行する。(Shift_JISはUS-ASCII互換ではない、という
  警告は無視する)

* 「/usr/bin/env LC_ALL=C LANGUAGE=C /usr/bin/xmms」でxmmsを起動する。

* Options - Preferences - Options

「Convert underscore to space」のチェックを外す。(Shift_JISの文字
が別の文字に化けてしまうのを防ぐため)

* Options - Preferences - Title

「Title Format」の末尾にスペース以外のASCII文字を追加する。たとえば
「%p - %t -」というふうに。(マルチバイト文字処理のバグ
(http://bugs.xmms.org/show_bug.cgi?id=694)を回避するため)

* Options - Preferences - Fonts

「Use fontsets (Enable for multi-byte charset support)」のチェック
を入れる。

「Use X font」のチェックを入れる。

「Playlist」と「Main Window」のフォント設定を変更する。たとえば下記
のように。

-adobe-helvetica-bold-r-*-*-10-*,-misc-fixed-medium-r-normal--11-90-*-*-*-*-*

* xmmsを終了する。

* 「/usr/bin/env LC_ALL=ja_JP.SJIS /usr/bin/xmms」(日本語メッセージ)
  または「/usr/bin/env LC_ALL=ja_JP.SJIS LANGUAGE=C /usr/bin/xmms」
  (英語メッセージ)でxmmsを起動する。

-- 
木下達也