アーカイブ

2006年 3月 4日 のアーカイブ

本当に、見えないところの変更はいっぱいやってるんだが、
それを変更したからって全然ありがたくないようなことばかりなんだよね。

バグは結構あって、気がつき次第直しているんだが、
そのほとんどは、作者だからこそ意図してない動作に気がついているが、
よその人が使う分には仕様かと思ってしまうようなくだらないことで、
だからこそ指摘されて直すのではなく、自分で気がついてばかりいる。
いくら真魚なんて使っている人がほとんどいないっていっても、
わかりやすいバグは指摘されるだろうからね。
自動判別を作り直したときから、やたらUTF-7になりやすくなったのはバグであり、修正。
プロポーショナルフォント対応したときから、クリック離した瞬間の動作が変になってたのも修正。
古い物では、禁則関連の判定で逆にやってた所と見落としてた通貨記号の修正。
コレ全部、そういう動作なのかなって思っちゃうようなものばかりなんだよね。
落ちたりすれば明らかにバグだってわかるんだけど、さいわい落ちずに使ってるもので。

さて、新しくなったところは、ユニコードの「その他の文字」を、
本当にその他の文字としか言えない文字と、外国語と言える文字に分けた。
ただし、この外国語って、日本語でも漢字でもない文字のうち、ワードラップする物なので、
ハングル文字はそれに分類されず、その他の方に入れてしまったことに今気づいた。
次回までになんとかするか。
で、コレをやった目的はワードラップで、中日韓以外の外国語は基本的にワードラップで。
外国語の扱いの問題は全部セット。

それから、萌ディタの開発日記によると、
テキストエディタの正規表現は改行を¥nとなんの疑いもなく扱っていたので、
コレまで真魚はサクラと同様、¥rと区別する仕様だったが、区別しないようにし、
それは正規表現部分を直したのではなく、内部データの方を直した。
よって、内部でもCRとLFを区別して持つ事は出来なくなったわけだが、
混在を許せば入力もどれにするか切替が必要になり、説明も必要になるから、
これについては出来ない方がわかりやすくなったし、内部もスッキリして良かった。
この検索と改行の問題も全部セット。
サクラのように、改行コードの説明をしてまで使わせるほど立派なエディタではないので、
正規表現を知らない人は使わない、知ってる人は読まずに使える、っていうのがいい。

あと単語境界(?)はVS風で、漢字に続くひらがなまでって感じでやってたので、
単語と言うより文節セレクトでしたってのは萌ディタと一緒なのだが、
この仕様は、再変換範囲をIMEに自動取得させられなかった時点で作ったものであり、
その辺が解決され、あと必要なのは検索語句の取得とダブルクリックであり、
その二つは文節より単語の方が便利ということで、VS風はやめた。

検索と置換のダイアログを出したままエディタの画面へ戻れるようにし、
検索は出しっぱなしで使える感じにし、置換は一つずつやるボタンを削除。
また、右クリックメニューは1列で余計な物を削除し、選択語句を検索ってのを付けたのだが、
これはバージョン1.xxからのリバイバル機能であり、
標準的動作でないという理由で今まで付けてなかったわけだが、
標準的な検索をメインメニューとツールバーに置き、右クリックにこれを置くという解決をした。
まぁ、あると気がつく人は右クリックする人のみであり、そこにしかなくても大丈夫。
気がつかない人がそこにあれば不便だとは思うはずもなく、邪魔でない実装といえるだろう。

EmEditorフリー版に影響された部分も、萌ディタに影響された部分も、
真魚に反映すべき物はこれで全部っやったかな。
パクって見たけど良くなかったのでやめた物を含めて。

4393322223
4393322223

折り返しに関してアレコレとやってたら、深みにはまりつつある。
まず、動作確認中にバグを一つ見つけた。
小さい「っ」とか「ゃ」を行頭におけないっていう禁則が動いてなかった。
コレは単に内部で間違って逆の処理をしてただけなので、修正は1秒で終わった。
それは別に良い。

今悩んでいるのは、アポストロフィだ。
そもそも、一つの文字につき、決めなきゃいけないことがどれだけあるかと言うと、
○色分けで何扱いするか
○折り返すときに切れる場所か
○単語セレクトで切れる場所か
と、一応三つは少なくとも決めなきゃいけない。
日本語であれば、「漢字」を「漢|字」という風に切って折り返しても大丈夫だけど、
ダブルクリックしたときは、ここで切らずにつなげて1単語にしたいとか。
で、今までは、ユニコードのわけわからない文字は全部、「その他の文字」として、
○色分けは「その他の文字」で指定
○文字の前でも後でも折り返せる
○ダブルクリックしても1文字しか選択されない
という動作で統一してきたわけだが、ロシア語もワードラップしたいと言うことで、
「その他の文字」のうち、中日韓と基本ラテンを除く外国語は、
○色分けは「外国語全般」
○英語と同様にワードラップで折り返す
○ダブルクリックで英語と同様に単語選択
という動作をするように変更したのだが、
今度は、今やってる英語のワードラップが正しいかという疑問が生まれたわけだ。
それがアポストロフィね。

Shift + 7で入力するアポストロフィは、プログラミング言語ではシングルコーテーション、
すなわち、二つのアポストロフィでくくられたその間は文字列扱いで処理している。
○色分けは半角記号(プログラミングでは文字列)
○文字の前でも後ろでも折り返せる
○ダブルクリックで1文字しか選択されない
って感じだけど、Wantech'sとか、B'zとかあれば、アポストロフィの前後で切れちゃいけない。
だからってコレを切らない処理に変えたら、シングルコーテーションはどうなるの?ってね。
あと、アポストロフィだけじゃなく、切っちゃいけない記号ってもっとあるのでは?とも。

もう作るの面倒くさくなってきたよ。

B00030EVBQ
B00030EVBQ