doubledepth

直下型地震

大阪は本日も明日もそこそこ蒸し暑いうえに雨が降る……

こ゚か゚こ゚か゚aŋoŋahaŋoeŋa

Blink系browsersで先日の日記のtext fileを開くと、日本語Windows環境では文字化けするようだ。

Google Chrome 55以降ではencoding変更機能が削除されたこの機能が危ないから」というのが削除理由だったはず。エンコーディングの切り替えによるSelf-XSS」などで攻撃の発想例が見られる。私もBMSON Checkerではいちおう対策していた(FirefoxでHTML sourceを見ると分かる)。

Web browsersはencodingを自動判別してくれはするけれど、ことBMSのように大半がASCII英数字で記述されるtext fileでは自動判別の精度に期待できないし、「users側がencodingを変更することによって文字化けに対処すること」を許さない前述のような環境もある。

BMS applicationsに非ASCII文字を確実に解釈させる方法は、やはり以下の二つしかない。

  • BMSをBOMつきUTF-8で保存し、BemuseやcharatbeatHDXなどのUTF-8対応機種で演奏する。
  • または、BMSをBMSON形式に変換し、beatorajaやBemuseなどのBMSON対応機種で演奏する。

ただし非ASCII文字を確実に表示させられるかどうかは、また別の問題。

先日の日記で示した例を、今回はZIP書庫で例示します(“AlitätriebのBGA適用版にUmlautを追加したもの)。“beatoraja default” skinが用いるVL Gothic書体(20141206版)は漢字とUmlautを含んでいるので、選曲画面や演奏画面などで漢字とUmlautを同時に表示することができる。

Umlautを含む文字列“Alitätrieb”と、漢字を含む文字列“BGA:自動車 原付”が、beatorajaの選曲画面に同時に表示されている。

beatorajaでLR2用themesを流用した場合にも同じことができるかどうかは、私は知らない。

Bemuseは文字描画関連処理をWeb browsersにほぼ丸投げできるので、当然のようにうまくいく。

日本語Windows環境上のBemuseの場合、Umlautを含む文字列“Alitätrieb”はSource Sans Pro書体で描画され、漢字文字列“自動車 原付”はMeiryo書体で描画される。

PulsusはBMSONをsupportしているので、非ASCII文字たるUmlautを正しく解釈してはいるはず。Umlautを描画できないのは書体の問題だと思う。

Pulsus 0.5.3の場合、Umlautを含む文字列“Alitätrieb”は“Alit?trieb”として表示される。

空調修理費弐万円無理

(あとどう調べても分からなかったんですが、BMSでウムラウト文字をタイトルにつける方法をご存知の方がいらっしゃったら教えていただけると超喜びます)

Alitätrieb / R*uLuru (第15回自称無名BMS作家が物申す!)

LR2上でUmlautを表示する方法はないはずです。LR2を無視して構わないなら二つ方法があります。

文字符号化方式は選択の余地がないので悩む余地もありません。Umlautと漢字を同時に表示できなければならない」という要件のほうが面倒かもしれません。

BMSE非公式Helpを少し更新した

Windows 10 April 2018 Update (Version 1803)以降特有の問題について軽く加筆し、linksを整備した。Microsoftのdocumentsはどうしてああも頻繁に所在が変わるのか。KB2575928とか到達できなくなってるし……。いっそ最初からInternet Archiveを参照するべきか。“Cool/Dead URIs don’t change.”

日記

BMS関連

拙作BMS
bubble / hitkey
二次配布BMS
ノイズの海と鯨 / moka
PARTY TIME IN MY DREAM / HAIJI
BMSE非公式ヘルプ
Lite
Lite-online
Full
Full-online
buglist
iBMSC
Web (Japanese version)
issues
BMS差分
a­nal­gam
boléro
Ketch­up
quovadis
SELF
yellows
Do not use non-ascii filenames
雑多なメモ
bmsplayer data
bms benchmark
Secrets - Feeling Pomu 2nd
grid2sec
bmx2xxx
BMx Outliner
BMS command memo
BMS command memo (Japanese version)
BMS EVENT LITE
#RANDOM BMS list
BMS #OPTION command
BMS Bitmap test
Extended BPM
STOP Sequence
BMS Edge Cases
BMS extensions proposed by Sonorous (unofficial Japanese version)
BMS 2.0 (unofficial Japanese version)
BMS Editors
Do not use non-ascii filenames
BM98 Kikuchan Version 3.30 Revision #4.2
BMSON Checker
_wsh_bms2bmson.js

その他

HTML関連メモ
Dakuten on HTML
nest1000
EVS
Nervous Cascading
Source Han Sans test
User-Agent String
CSS Logical Properties