アーカイブ

2006年 2月 17日 のアーカイブ

フリーソフトをVectorに登録しておくと、たまにレビューワーの人が記事を書いてくれる。
あたしの作ったソフトも何個か記事を書いて貰ったんだがね。
真魚の記事をもう一回書き直して貰えるらしい。
そこに、作者のひとことってのを載せてもらえるんだが、
普段自分のサイトには何でも好きなこと書いて気をつかってないんだけど、
いちおうよそのサイトに書くんだし、いったん書いたら自分で好きに修正できないので、
誰の悪口にもならないよう、一生懸命に気をつかって書いた。
良いところを書くってのは、よその悪いところを書くことになりやすいからね。
本心を隠すのも大変だぜ。

ところでこのレビューってのはどんな基準で選ばれているのかってことだが、
これに選ばれたからって優れていると言うことは断じてない。
むしろ逆だったりするから要注意だ。
たとえばウチのドンデスタが、Vectorと窓の杜の両方で記事書かれたが、
理由は、変ったことが出来るからに他ならない。
向こうだって人間なんだから、書きやすいソフトを書いてくる。
「このソフトは○○と大差ないが、○○より遙かに軽くて安定している」
「劣化版○○だが、○○と違ってフリーである」
、、、なんて内容じゃ記事ならない。
他のソフトには見かけない一風変った機能があれば、
それが全く使い物にならなくても記事になるということらしいのだ。
テキストエディタにそんな邪魔な物付けるな!っていうのが逆に記事になる。
個性的=誰も作らない物、すなわち、誰も必要としない物は記事になるわけで、
レビューを信じてダウンロードするとガッカリだったりするのはVectorも窓の杜も共通。

だが最近の真魚は、メモ帳でも出来るユニコード編集、メモ帳でも出来るプロポーショナル、
よそでもこぞって対応してるタブ切替、色分け、など、ろくに記事になる特徴がない。
一体全体、真魚のどこに記事になるような事をみつけてきたんだろうかと。
きっと、あまり作者が重要視してないか、削除しようとしてる点が取り上げられるんだろうな。

まぁでもとにかく、注目してくれてサンキュー。

B000AQMGL0
B000AQMGL0
1986 letters | 814 views | コメントする

テキストファイル内で改行を表す記号が統一されなくて困ると言う話。
真魚は、Windows、Windows以外、古いMacという、三つの表記を使っている。
まず、Unix系のパソコンでは、改行をLFという記号で表している。
インターネットとかが普及したせいで、LFの需要も高まってしまった。
次に、古いMacはCRという記号で改行を表していたのだが、
そのインターネット需要のためか、最近はLFに変更されているらしい。
コレが、Windows以外、古いMacという表記の詳細だ。
で、Windowsでは、CRとLFを並べて一回の改行として表している。
コレはLFCRじゃダメで、CRLFってのが決まり事。のはず。

このCRもLFもタイプライターの動作を表していて、
CRは印字位置を左側に引き戻し、LFで紙を一行分ずらす。
しかしタイプライターでの動作の場合、普通はLFしてCRするものであり、
←に動かして↓に動くのは間違いで、↓の次に←ってのが正しい動きらしい。
CRしてからLFするっていうWindowsの動作はそもそも間違いらしいのだ。
改行コードをマークで表しているエディタで、真魚みたいに矢印が折れ曲がってるのは、
↓行ってから←行くっていうタイプライターの動作を表しているわけだが、
CRLFをそのまま表現するなら、この矢印はやっぱりおかしい。

正しくは、
CR:←
LF:↓
CRLF:←曲がって↓
LFCR:↓で一行、←で一行
こんな表記になる。

あきらかに間違っているのはサクラエディタで、CRとLFの矢印が逆だ。
いや、Windowsの間違いにわざと乗ってやってると言うべきなのか。
CR:↓(逆)
LF:←(逆)
CRLF:↓曲がって←(逆+逆)
LFCR:←曲がって↓(一行にまとめてはいけない)

ところが、語源を無視してあえて間違っているサクラエディタの矢印が一番自然なのだ。
もう語源とか正しいかどうかなんてどうでもいいから、
真魚も間違った方にあわせて修正したくなったりするわけだ。
Windows上で動作するアプリなんだからWindowsが一番正しいってことでいいじゃない。
ここまでは単なる、改行をマークで表示するときの矢印の話。

次に、正規表現で¥rとか¥nとかで改行を表す時の話。
萌ディタの開発日記を見ると、テキストエディタの改行は¥nで当然のように書いてある。
サクラはCRLF混在で編集できる仕様だから、¥nと¥rを区別して検索する。
真魚もCRLF混在型なので、サクラと同じ仕様なわけだが、
検索でCRLFのLFのみにヒットしたりとかすると、カーソル位置に矛盾が出るわけだ。
[¥r¥n]+で、下方検索なら2回ヒットするし、上方検索では引っ掛かって次にいけない。
で、昨日も書いたように、正規表現ライブラリを自分でいじれそうもないので、
修正するなら、真魚を内部的にLFのみのデータ保持にし、
入出力でつじつまをあわせるっていう事以外にやりようはないわけ。

さらに、現在真魚は、改行キーでCRLFしか入力できないわけだが、
CRのみやLFのみに対応したら、LFの直前でCRの入力があったときなど、
どう言う動作をして良いかの自信もないってのがその理由。

コレはコマッチッタなって言う話なんだけど、
実は作り始めたときから無視し続けてきた、新しくない問題なのだ。
さて、このまま無視続けるか、やっちまうか。

4105217100
4105217100

なぜ今更かというと、Firefoxで本体を安易にアップデートしたらプラグインが使えなくなったから。
いや、数字を直すだけで使えるようになるものでも、数字で制限されたりしてるわけで。
しかし数字だけ直して無理矢理対応も出来ないものがあるわけで。
よって、余計なプラグインは入れない事で体を慣らす必要もあるな。

Thunderbirdで使ってきたのはたったの三つ。
「全て受信」できるMagicSLRは頻繁に更新してるようなので問題ない。
Show SMTP UsernameとNo New Window on Double Clickは同じ所から出てるのだが、
この二つの更新を待って1.5にアップデートしないでいたのだ。
だが、SMTPって既に設定し終えているので今すぐ必要でもないし、
No New Windowは操作に慣れれば済むだけだので、思い切って本体アップデート。

したら、No New Windowは1.5でも使えたし、SMTPは本体が標準で対応してた。
つまり、無駄に待ったと言うことだな。
いや、アップデート自体が無駄だと言われればそれまでだが。

ともかく、上書きでスンナリとアップデートできて良かった。

B00031YA66
B00031YA66

つづき。
結局全部読んだ。参考になりまくった。
http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2004Q4.html
http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2005Q1.html
http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2005Q3.html
http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2005Q4.html

>italic も付けてみましたが。。。文字幅はスタイルなしの状態から変えない
真魚もそんな感じなのであえてイタリックは実装してない。

>キーボードマクロも奥が深い
真魚はTEditorのキーマクロをユニコード化して付けただけ。
使わないのでちゃんと動いているかは不明。

>DLL に追い出そうかなーと
あたしも昔はそういう発想があった。だがVCLだと逆効果ばかり。
Delphi.NETとC♯とでDLLで行ったり来たりもやったな。結局C♯に統一したが。

>Rebar 同様 VCL からソースを引っ張ってきてローカルで改造
うん、ウチもね、VCLのコピーからいろいろ作ってるワケよ。
それが全体のソースを公開できない理由なんだよね。困ったもんだ。

>XP もってないんですよ
こっちとら逆に2Kをやめたので、XPではうまくいっても2Kでどうなってるか不安。

>WM_DEADCHAR
知らん。西洋言語の入力に使うのかもな。確認しとく。

>インデントは tab キーにバインドされていると思います
使わないのですっかり忘れてたが、真魚もTabとShift+Tabと両方実装してた。

>ナローイング
真魚では無理。実装どころか仕組みの理解すら無理。

>あ、真魚 2 ができてたんですねー。
バイナリはどうでもいいのでソース見てください。

>印刷
真魚の印刷はTEditorのパクリというよりもコピペ改変。

>アウトライン
あたしの作りたい物とは全然かけ離れてるので将来もやらない。

>縦書き
それは縦書き専用ソフト作る方が良いと思う。
TNotePadで言えばTNotePadStringまではそのまま使ってTNotePadVとかいいかもな。

>シェルバッファ
テキストエディタの仕事じゃない気も。

>grep とか diff とかかな
grepは相当使っているが、diffはアルゴが想像できないからなぁ。
しかも編集したりするとどうするんだろうって話で、どうかなと思いますわよ。

>フォルダをドロップしたときの挙動
全然想定外で対応してない。

>壁紙との合成
真魚のボトルネックは文字の描画で、壁紙の描画は全然遅くない。
>スクロールさせたりすると、CPU 使用率が
これ、スクロールで壁紙じゃなく文字書いてる部分が遅いんじゃないの?真魚はそうだよ。

>段落の2行目以降を最初の空白に合わせてインデント
面白そうだけど無理、もしくは面倒すぎてやる気が出ない。

B000003Y6P
B000003Y6P