いちいち訊くダイアログ

 これまでは新規ファイルやマルチバイト文字を含まないファイルを最初からSJISとして扱ってきたが、真魚の内部をざっと確認したところ、文字コード未定のファイとして扱うように容易に変更することが出来た。さらに、この文字コード未定のファイルにマルチバイト文字を書き込んでセーブしようとする場合だけ、Windows標準で保存するかホームページなどの標準で保存するかの確認ダイアログを出すという風にしてみた。で、ひょっとしたらこのダイアログをいちいち出すのはうざいんじゃないかと感じた。でもダイアログを出さないって事は勝手にSJISにするって事だから、それを変更したくてやってるんだからダイアログは必要だ。うざいって人のためによくある「今後はこのダイアログを表示しない」って言うのを出しても良いんだけど、それを出すって事は、どこかにダイアログを出すかどうかの設定を設けなきゃいけない。設定を増やしていくと、それだけ取っつきにくい、シンプルじゃないインターフェイスになっていく。

 いろいろ試してて、例えばマルチバイト文字を含まないファイルを文字コード未定ではなく、ASCIIコードとして読み込ませても見た。そうすると、日本語の文字は真魚で色分け表示されるから、ファイルを保存するときではなく日本語を書いたときすでに、文字コードの指定が必要だと言う事が容易に分かる。あたしにとってのベストな動作はたぶんこれだ。WordPressのソースをいじるとき、元々日本語が含まれていないソースに日本語を書いてしまったという状況で、見た目でこれをUTF-8にしなきゃいけないことがわかる。古いHTMLをいじる場合はEUCにしなきゃいけない事もあり、ヘッダなど確認して適切な方法を自分で選ぶ事が出来るなら、ASCIIコードとしての読み込みをすればいい。しかしそれが出来ない人もいるわけで、たまたまASCIIコードしか書かずに保存したメモに、あとから自分で日本語を足したら背景が黄色ってので戸惑うだろう。ユニコード文字を入力したときはむしろ戸惑って欲しいわけで、いつもと違う事をしたという意識をユーザーに持たせれば、保存時に特別なダイアログが出るのも自然な流れだ。でもそれが通常使われる日本語文字でも起るようにしちゃうと、普通にただメモを繰り返しただけの文系の一般人には意味が分からないだろう。わかってる人は適切な文字コードを選べるが、わかってない人は間違えてそのままASCIIコードで保存してしまう可能性が高く、そうならないために自動で適切なコードに導いてあげれば良いんだけど、それじゃ最初からASCIIではなく文字コード未定で読み込んでも一緒なんだよね。

 ASCIIのファイルに日本語を打ち込んだ際に文字コードをどう決定するかの話と、もうひとつ、新規作成した文書の文字コードをどう決定するかってのもまた別の話だと思うんだよ。前者は確認ダイアログが欲しいけど後者はダイアログが要らないとか、又はその逆とかってのもまた人によって理想が違うと思うんだ。だので、それを設定するオプションを作るとすれば二つ分けて作らなくちゃいけない。それじゃおそらく、文字コードを知らない人ばかりじゃなく知ってる人でも複雑だと感じるだろう。なるべくシンプルにやるとすれば、やっぱり本当に必要なときは必要なことだけ訊いて、それ以外は訊かずにメモ帳と同じ動作をするってのが正解だと思ってる。新規に作成したタブはSJIS前提で、ファイルを読み込んだときにマルチバイト文字がない場合が未定のファイルっていう扱いにすれば、本当に文字コードなんかどうでも良い人にはほとんどダイアログを出さないで、しかも必要な人には必要なときに選択肢がでるので良い感じ。それでも今度は逆に、ダイアログが出るときと出ないときがあるという混乱が生ずる。

ダイアログ

 つーことでこの辺の仕様にまだ迷いがある。SJIS優先、UTF-8優先、いちいち訊くの三つのオプションから選ばせるってのが、よそのテキストエディタなら落としどころだと思う。わかってる人にはそうして貰うのがありがたい。その中でも初期設定をSJIS優先にしておけば、よくわからない人でもメモ帳的に使えるわ。でも真魚ではオプションを選ばせずにいちいち訊く事にしたいので、どういうときに訊いて、どういうときは勝手にやるか、文字コードをなんにも知らない人のつもりになって考えてるところ。

たぶん関連のある記事:

コメントは終了しています。