※このページは2008年6月29日に全面見直し、2008年12月31日に一部加筆しました。 !!!CD・DVDをUDFで作成 フリーのCD・DVD書き込みソフト(焼きソフト)が増えている。選択肢が多くなるのは良いことだが、相変わらず''有料ソフトでさえも、ファイル名への制限はキツイ。''31文字または64文字までしか使えない等の制限が代表的だ。これはISO9660やJolietという古い規格の名残なのだが…。 本来DVDにはこれらに替わる''UDF''というフォーマットが規定されている。これによりファイル名には大凡''127文字''まで使用できる(パスは別途規定なので本当にファイル名のみ)はずなのだが、対応状況はかなり甘い。 一見UDF対応と書いてあっても、パケットライトでの書き込み時のみ対応、というケースは少なくない。Vistaには標準で書き込み機能が付いたが、[[VistaのCD・DVD作成機能を無効化]]にも書いたように非常に使い勝手が悪い。 !日本語特有の問題 さらに状況を悪くするのは日本語でのファイル名に特有の問題で、いわゆる''ダメ文字''に起因するものがある。ダメ文字は「''ソ・表・能・十''」(他にも多数あり)などの文字で、Shift_JISではこれらの文字の2byte目に、ASCII文字(というのも語弊があるが)で言う"''\''"、つまり文字コード0x5Cのものが含まれている。海外のソフトではこれをディレクトリデリミタ、つまりディレクトリ階層の区切り文字として認識してしまい、結果として書き込まれたCD・DVDはファイル名・ディレクトリ名が壊れ、''構成がおかしくなってしまう''。UDF以前の問題なのだが、海外製のフリーソフトを利用する際には重要なチェック点だ。 最近は多言語化がまともに行われている、つまりUnicodeビルドが行われているものが多くなり、そういったソフトでは発生しないが、見た目で判断することは困難だろう。Windows2000以降ではUnicodeビルドの方が(メモリ効率は別としても)処理は高速なはずなのだが、残念ながら開発者の環境のほうが追いついてない場合も多い。 !!UDF対応のフリーソフト フリーの書き込みソフトでUDFに対応しており、かつ比較的作りが良い物を探してみた。 主な選定の観点は以下のとおり。 *UDFに正しく対応していること **日本語のダメ文字(0x5C含有文字)が正しく取り扱えること **日本語で127文字まで(多くても少なくてもダメ)のファイル名が書き込めること ***文字数はファイル名単独で判断しパス(ディレクトリ名)は含めないこと *初心者にも扱えること **海外製の場合には一定のレベルで日本語化が可能であること **表示が見やすく進捗表示やバッファレベルが親切であること **UDFを扱うまでの設定が簡単であるか固定可能であること *できれば音楽CDの書き込みも可能であること 試用の結果、[CDBurnerXP|http://cdburnerxp.se/]と[ImgBurn|http://www.imgburn.com/]は文字数の数え方(UTF-16で255byte≒127.5文字まで)が正しく行われており、0x5Cの問題もなく、信頼できそうだ。どちらも日本語で使用できる点も、初心者に使わせることができて助かる。以下、他の検証したソフトも含めた詳細。 !CDBurnerXP [CDBurnerXP|http://cdburnerxp.se/]は一般的な書き込みソフト風でわかりやすい。執筆時点の最新バージョンは4.1.2。UDFを作成する上でも特に難しい点はなく、メニューから[ディスク]-[ファイルシステム]と辿って、UDFが含まれるものを選べばよい。MP3やWMAからの音楽CDの作成も可能で、時間表示は明確な数値で表される。いくつかの部分で日本語化が完全ではないが、日本語のファイル名自体の取り扱いは安定しており、問題はない。書き込み中の進捗状況表示には予想残り時間が表示され、使い勝手も悪くない。 一見完璧だが、最大の弱点は.NETで作成されており、''重い''こと。環境によってはCPUの使用率が異常に上がってしまうこともあるようだ。また、猫Pの環境では''RWメディアの消去時に若干不安定''で、正しく消去できないこともある。なお、CUEシートからの音楽CD作成はできない模様。 !ImgBurn [ImgBurn|http://www.imgburn.com/]は、書き込みのリファレンスソフトかと思わせるほど非常に細かな設定が可能。執筆に当たって使ってみたバージョンは2.4.0.0。''UDFのバージョンやUNICODEの取り扱いまで選択可能''で、それなりに詳しいつもりの猫Pも迷うほど。コアである''書き込み機能が非常に安定''しており、RWメディアの消去でも問題が発生したことはない。進捗状況は予想残り時間を含め細かく表示され、バッファ状況が見えるのもいい。 弱点は高機能ゆえの複雑さで、初心者には取っ付きづらい。音楽CDの作成も可能だが、CUEシート経由になる。操作は若干わかりづらく、CUEシートを作成する機能はあるが、2度手間だ。まぁ、設定自体はUDF固定にできるので、初心者に使わせる場合は特定の部分しか触らせなければ問題ないだろう。 !StarBurn [StarBurn|http://www.rocketdivision.com/download_starburn.html]というソフトも、仕様を読む限り、かなり適切にUDFを扱える。が、製作者はこれをSDK(ライブラリ)化しており、そちらに重点があるためにStarBurn自体は使いにくいソフトになってしまっている。操作方法が全体に洗練されているとは言いがたい状況で、英語のみなのも他人には薦めにくいところ。SDKを使用した使いやすいソフトが登場するのを待ちたい。 !InfraRecorder 最近の[InfraRecorder|http://infrarecorder.sourceforge.net/]も頑張っている。執筆に使ったバージョンは0.45。InfraRecorderのUDF対応はフルパスで127文字までになっており、UDFの仕様を若干間違えている。ダメ文字は対応されており、問題ない。 猫Pの環境では、起動するたびに「ハードウェア構成が変更された」と誤検出するのが気になる。音楽CDを作成する機能もあるが、時間表示がアナログ的メータ表示(進捗バー的表記)であり、却って正確なところがわかりにくい。また、書き込み進捗表示も詳細とは言いがたい。 !BurnAware Free(2008/12/31編集・追記) 一時期フリーじゃ無くなったり、開発元が変わった(?)りした[BurnAware Free|http://www.burnaware.com/burnaware_free.html]も、最近はUDFを大分まともに扱えるようになった模様。試したバージョンは2.2.0。 イメージファイル作成モードしか試していないが、日本語ファイル名の問題はなさそうだ。ファイル名の文字数は何故か127文字ではなく126文字までで、実用的には十分だが100%完全な対応では無いかもしれない。超過部分は勝手に切り捨てるが、拡張子が保存されるのはありがたい。 UIは完全に英語で、ソフトの構造上日本語化されることもあまり期待できない(労力が要る)が、使い方自体は至ってシンプル。簡単な英語と基本的なライティングの知識があれば十分に使える。設定が保存されないことがあるようだが、項目数はそれほど多くないので、マニュアル化してしまえば初心者に扱えないこともないだろう。 とにかく英語の壁が高いが、音楽CDやBlu-rayも扱える、シンプルで実用的なソフトになったと感じられる。 !その他 [Jetbee|http://www.complexnt.com/index.htm]、[DeepBurner|http://www.deepburner.com/]、[Astroburn|http://www.astroburn.com/]などなど、有名どころからマイナーなものまで数十のソフトを試したが、いずれも上記ソフトには見劣りした。UDF対応度が低いものもあり、あまりに使い勝手が悪いものもあり。 有料ソフトなら古くはWinCDRがUDFに対応していたようだが、最近のドライブで使用するとドライブを痛めることがある(経験者が筆者の身近にいる)。正直、きちんと安定して使えるのならば市販ソフトでも一向に構わないのだが、なぜメーカは仕様をきちんと公表しないのだろう。不思議でならない。 !共通の注意点 多くのソフトでは、制限を超えるファイル名である場合に、修正を促すような機能は用意されておらず、'''勝手にファイル名の末尾を削ってしまう。'''ImgBurnはログに警告を出すが、日本語化しても英語表記となり、初心者にこれを適切に読み取れというのは酷だ。 このあたりはどうしても市販ソフトが一歩進んでいるようだ。 !!UDFのバージョンについて 単にファイルを書き込むだけなら、猫Pは1.02で困ったことはない。それ以降はDVD-VideoやVR、パケットライト対応のための更新などであり、OSの対応状況からしても1.02でよいのではないだろうか。2.5以降にいたってはBlu-rayの対応であり、DVDでは完全に不要だ。 !!チェックツール 上記注意点のとおり、UDFを扱えたとしても127文字を超える場合の取り扱いには問題のある場合が多い。このため、ファイル名のチェックソフトを別途作成し、友人に使わせることにした。 HTAで簡単に作成したものではあるが、有用な場合もあると思われるので公開する。 !ブツ {{ref CheckUdf1_0_1.7z}} !注意 UDFの制限は文字種を問わず127文字までになるが、このツールでは安全のため120文字制限としている。気に食わない方は適宜.htaを編集されたい。 安全のためというのは、このツールがUTF-16の''サロゲートペアを考慮していない''(UCS-2相当と考慮している)からだ。UTF-16は基本的には各文字を16bit=2byteでエンコードするが、BMP(基本多言語方面)にない文字は''32bit=4byteでエンコードする''。筆者はBMPに含まれない文字が何であるか、UDFのサポートするUTF-16はサロゲートペアを含むものなのか(それともUCS-2相当なのか)、細かな仕様を知らない。 このツールはファイル名に対し、JavaScriptのStringオブジェクトのlengthを取っているだけで、これがサロゲートペアに対応しているかは''謎''だ。もっと言ってしまえばWindows自体も…。それぞれの仕様を事細かに調べたくはないので、単純に余裕を持たせることで簡易な安全策としている。そもそも、さすがに100文字を超えるようなファイル名ってのはどうなんだろうかとも思う。