2009年5月5日火曜日

zipファイルの文字化け

他環境からDebianにファイルを持ってきた場合、文字コードの違いから日本語ファイル名が文字化けすることがあります。対処法としては以前このブログでも紹介した「convmv」を使い変換する方法があります。しかし、zipファイルから解凍したファイルには「convmv」で変換しても文字化けが直らないものがあります。
通常Debianでzipファイルを解凍するには「unzip」を使用します。「unzip」は解凍の際に文字コードを自動的に変換する機能を有していてるのですが、これが曲者で強制的にラテン語ベースで変換を行ってしまうらしいのです。これにより日本語のファイル名が破損し「convmv」で変換しても文字化けが直らないのです。当然これはバックエンドとして「unzip」を使用している「書庫マネージャー」(File-Roller)でも起こります。
対処法としては「unzip」のソースを書き換えて文字コードを変換する機能を無効にする等があるようですが、自分には些か敷居が高いです(´・ω・`)
色々考えた末に「unzip」の問題なのだから「unzip」以外でzipファイルを解凍すればいいことに気づきました。そこで最初に「p7zip-full」を試してみましたがやはり上手く生きません。更に色々と調べてようやくたどり着いたのが、jarコマンドを使う方法です。
jarはJavaARchiveと言ってJava環境で使用されるファイル形式ですが、実際はzipファイルです。
Debian5.0 (Lenny)ではJava環境があらかじめインストールされているのでjarコマンドをそのまま使用することが出来ます。

$ jar xvf zipファイルを指定

解凍後に $ convmv -r -f sjis -t utf8 ディレクトリをフルパスで指定 --notest で変換

以上で見事文字化けが直りました\(> <)/
この「unzip」による日本語ファイル名の不具合は周知の事実のようで、姉妹ディストリであるUbuntuでは既に「unzip」の修正版があるようです。zipファイルは普及率も高く使用する機会も多いのでDebianでも早く修正されることを期待しています。

2009年4月29日水曜日

EasyTAG

MP3ファイルはID3タグによって曲名やアーティスト、アルバム等の情報を記録することが出来ます。
このID3タグはMP3プレイヤーでは曲情報の表示に使用され、曲を管理する上で大変便利な機能なのですが、タグの文字コードが異なると日本語が文字化けを起こしてしまいます。自分もMacでエンコードしタグ付けしたMP3ファイルを「Rhythmbox」に読み込んだところ盛大に文字化けしました。
そこでID3タグ編集ソフトの「EasyTAG」を使用してみました。他にもID3タグ編集ソフトは幾つかありますが「EasyTAG」を選んだ理由はGUIであることと文字コードの変換が出来るからです。
「EasyTAG」で文字コードを変換するにはあらかじめ設定をしておく必要があります。設定メニューの「設定」>「ID3 タグの設定」で「Character Set for writing tags」の「Charset」を「Unicode UTF-8」に「Character Set for reading tags」は「Non-standart」にチェックを入れ「日本語(Shift_JIS)」を選択しOKを押します。
以上で文字コード変換の設定は終了です。ツリーから変換したいMP3ファイルのあるディレクトリを選択するとファイルが読み込まれるので上手く変換されているか確認します。文字化けが解消されていないようでしたら「Character Set for reading tags」の文字コードを別のもの変えて再度ファイルを読み込ませます。上手く変換されているようなら変換したいファイルを選択し、ファイルメニューから「ファイルの強制保存」を選択します。
大体は上手く変換してくれますが、中には情報が抜けて空欄になってしまったり微妙に変換が上手くいかないものもあります。その場合は手動で修正することになりますが「EasyTAG」にはフォルダ名やファイル名から自動でタグを付与する等の便利な機能が多くあるので、それらを利用すれば一から書き直すよりもずっと楽に修正を行えます。

2009年4月24日金曜日

Evince ドキュメント・ビューア

Evince ドキュメント・ビューア
PDFはプラットフォームが異なってもレイアウトやフォントスタイルを保持出来るドキュメントフォーマットです。近年はカタログやマニュアル等PDFで配布されていることも多いので目にする機会も増えました。ただ中にはプレーンテキストでも十分だと思える内容のものも時折見受けられますが(^_^;
このPDF、確かに便利なことは便利なのですが、閲覧に専用のビューアを必要とします。ビューアは開発元から「Acrobat Reader」というものが無償で配布されていますが、これが総じて重いです。
Debian5.0 (Lenny)でも「Acrobat Reader」は非公式のリポジトリ等を利用してインストールすることが可能ですが、同様なソフトである「Evince」というドキュメントビューアがあらかじめ用意されているので、特別な理由がなければ「Acrobat Reader」をインストールする必要は無いでしょう。
「Evince」はPDF、PostScriptの表示が可能で動作も「Acrobat Reader」に比べ軽快です。もちろんブラウザのプラグインとしても動作します。
自分もPDFの閲覧には「Evince」を使用していますが、とある書類で文字化け及び文字が表示されないことがありました。調べたところ同様の事例は多いようで、どうやら日本語のPDFでフォントが埋め込まれていない場合に起きる現象のようです。
対策は二通りあるようですが、自分は簡単な「poppler-data」パッケージをインストール(non-freeパッケージのためリポジトリの変更が必要な場合があります)する方法を取りました。
「poppler-data」インストール後、問題のあったPDFを再び表示してみましたが、文字化け、文字の非表示は解消され、無事内容を確認することが出来ました。

2009年4月21日火曜日

StartUp-Manager

StartUp-Manager
Debianを他のOSとのマルチブートで使っている場合、通常デフォルトで立ち上がるOSはDebianに設定さていると思います。StartUp-ManagerはブートローダであるGRUBの設定を変更し、デフォルトで立ち上がるOSをWindows等にすることが出来ます。
使用するには「Synapticパッケージマネージャ」で「startupmanager」を検索し、インストールします。インストールされるとメニューの システム>システム管理>StartUp-Manager から呼び出すことが出来ますが、その際rootのパスワードが必要となります。
設定は項目別にタブで整理されていて、デフォルトで立ち上がるOSを変更するには「起動オプション」タブの「デフォルトのオペレーティングシステム」から希望のOSを選択します。他にもブートローダのメニューの待ち時間等を変更することも出来ます。
設定作業はGUIで簡単に行うことが可能なので、GRUBの設定を変更したい場合はインストールすると大変便利なパッケージだと思います。

2009年4月17日金曜日

カードリーダー(SDカード)

Debian5.0 (Lenny)でUSB接続のカードリーダーを使いSDカードのデータ転送を行ってみました。
使用環境は以下の通りです。

カードリーダー SanDisk Image Mate 5in1
SDカード PQI 1GB 150倍速(カメラ側でフォーマット)
カメラ Nikon D40
接続 USB2.0

カードリーダーを繋いでSDカードを挿すと1、2秒でマウントし、85枚、約240MBのデータをHDに転送してみたところ10秒程度で終了しました。ついでに書き込みも試してみましたが、問題無く書き込めました。
SDカードのフォーマットはFAT16でした。SDHCカードも試したかったのですが、手持ちに無かったので出来ませんでした。SDHCは基本的にFAT32のはずなので速度的に差があるか入手することがあったら検証してみたいと思います。
近所で撮影した桜です。ブログに貼るには少し大きすぎたのでGIMPで縮小してあります。