誰であれ、生きていれば色々してるよね。大晦日といえば大晦日といえば、年越しそば。天ぷらを買いにマミーマートへ、いいや今年は「マミープラス」へ向かった。新装開店で、イカの天ぷらをやめているかもしれない。マミーマートは裏切らない。イカの天ぷらが売られていた。大切な部分を守りながら、新しく変わっていく。来年は、武蔵浦和駅前K's電気跡地でもスーパーがオープン予定。この地域は、物流の戦国時代になっていく。消費者としては楽しみだ。label先日UbuntuのInstallに利用したUSBメモリをWindowsで再利用しようとしたら、うまくできなかった。UEFIのパーティションや、パーティションテーブル、なんならMBRも消して作り直したいのだが、どうにもできない。Windowsも少しずつ変わっている。私が昔のやり方しか知らないためかもしれない。悩んでいてもしょうがないので、Ubuntuでやることにした。UbuntuのInstallのための後始末を、Ubuntuでやるのは当然であるとも言える。fdiskでMBRのパーティションテーブルを作り直して、mkfs.vfatでフォーマットを行った。昔とほとんど変わらない。これでWindowsで使えるようになる。「わかりやすいボリュームラベルでも付けておこうかな。昔のことを色々思い出していた。そのせいか、PC-9801のMS-DOSのころ"dir"と打つたときの「ボリュームラベルは”xxxx”です。指定すれば、BPB上のボリュームラベル領域にセットできる様子。コードページを指定するということは、OEM文字セット、すなわち日本語も正しく指定すれば使えるようだ。実際に使おうとしたら、以下のように、エラーになる。allowed0x20より小さいって、CP932(Shift_JIS)の半角カナや漢字の第一バイトを符号付き8bitで扱っている?ソースパッケージ(dosfstools)をダウンロードして、確認した。src/common.cの最後の、関数validate_volume_label()で、エラーチェックを行っている。引数doslabel[]はOEMコードページで書かれたボリュームラベル文字列だ。char型であり、そのまま0x20と比較していた。368}他のOEM文字セットでは、8bit文字を使わないのかな?符号なし8bitで比較するように直して、バイナリパッケージをリビルドして、インストール。それで、mkfs.vfatをしたら、日本語ボリュームラベルを付けることができた。ボリュームラベルは、ルートディレクトリ上に特別な属性をもつディレクトリエントリを作ることでも表現できる。本来、この文字列とBPB内のボリュームラベルは同じものを示すはずだ。CP932ではディレクトリエントリで特別な考慮が必要になる。CP932の文字セットには、0xE5で始まる文字がいくつか存在している。ファイル名が0xE5で始まるディレクトリエントリは、削除されたエントリとして扱われる。そのため、ファイル名の先頭で0xE5を使いたい場合、0x05に置き換えるというルールがMS-DOSのころから存在している。このルールは、どうなるんだろう?BPBのボリュームラベルは、ディレクトリエントリの一部ではない。両方同じボリュームラベルであることは違いない。試しに0xE5で始まる文字列"蛆虫"(「うじむし」こんな名前普通は使わないけど)を、mkfs.vfatでボリュームラベルにしてみた。WindowsにUSBメモリを挿入すると、"蛆虫"の"蛆"が文字化けした。0xE5がダメだったのかな?と思って、ddを使って無理やり0xE5を0x05にしてみた。それでも、Windowsでは、文字化けしてしまう。Windowsは、何を求めているんだろう?Windowsでボリュームラベルに"蛆虫"を指定してフォーマットしようとした。エラーになって、フォーマットできない。今度は試しに、ボリュームラベルに”良い蛆虫”を指定した。すると、エラーなしにフォーマットできた。始まる文字列をボリュームラベルに使えないのだ。なんか微妙に違っているがやっぱり、BPBでもダメってことだ。そんなのあり?とはいえ、0xE5で始まる文字は、JIS第2水準であり、使えなくても多くの場合問題にならない。ソースコードの色が悪く、読みにくかったので直した。馬鹿2023年12月16日土曜日ド派手で行こうまた紫のカリフラワーを買ってきた。以前と同様、重曹で茹でたものと、酢漬けにしたものを作った。茹でたブロッコリーと一緒に盛り付ける。ブロッコリーの緑まで、不自然に感じてくる。インドのオレンジのドレッシングをかければ、さらにすごい色合いだろう。ないえげつない色が特別感を引き立てる。息苦しい時代だからこそ、たまにはド派手に行こう。遊び2023年の12日まち今週の火曜日は「12日まち」があった。コロナ明けの最初の12日まちだ。帰宅後に、すぐに向かった。