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

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



At Fri, 24 Jan 2003 20:47:04 +0900,
Tatsuya Kinoshita wrote:
> 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タグの文字列を一方に変換しておくのが確実です。

短かすぎて誤判定の可能性がある、というところは全く気づいていませんでし
た。また、EUC-JP だと他プラットホームへの可搬性に欠けるので、やはり
実質 SJIS しか選択肢がなさそうですね…。

しかし、grip + cdparanoia + gogo で変換するとき、文字列に SJIS で入れ
るのが困難です。今は EUC-JP で入力していますので、仕方なしに上記のよう
な問題が発生していました。Input Method 側が SJIS で送ってくれる方法が
あればいいのですが。

この話題に限っていえば Ogg Vorbis を使って UTF-8 で格納してしまうのが
一番かもしれませんが。

>     *
> 
> なお、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を起動する。

xmms でも出そうと思えば出せるのですね。

# LANG=ja_JP.SJIS がちゃんと動作している例をはじめてみました :-)

-- gotom