検索結果

キーワード: ‘半角’

FF12を買ったので、開発に割く時間は減る予定だが。 辞書ファイルによる補完も動きだし、まるでマトモに考えているように候補が出るが、 実際は考えていない補完なので、便利そうに見えるだけのハッタリ仕様だ。 現在、PHPとHTML用の補完辞書を萌ディタからパクって動作させてみている。 辞書ファイルへのディスクアクセスが発生するので遅いかと思ったが、 それでもストレスなく動作するようで、本当にパソコンにはそこそこ金かけてて良かった瞬間。 二つ…続きを読む

どうするかどうするかと、考えるだけ考えて発動してなかったが、 ようやく着手し、まあまあ矛盾の少ない状態で動き始めた。 もうこれって出来ても出来なくても、試しに作ってみるしか納得出来なくなっちゃったし。 ダメなら隠し機能と言うことで封印しちゃえば良いんだし。 ウィンドウの実装は、萌ディタの開発日記を参考にして作った。 パクりではなく参考と表現したのは、 パクりたいけど意味わからなくて、完全にはパクれなかったから、 理解できるところまでの実…続きを読む

アプリが落ちる話なので、言いがかりだと言われないように、やり方を明確にしておく。 -(半角のマイナス)を8000文字入力する。コピペでも良い。 なぜ8000かというと、欠陥のあるライブラリでも数百ぐらいだとまだ耐えるからだ。 マイナスには特に意味はないが、改行が含まれると検索出来ない物もあるのでダメ。 で、8000文字入力したら先頭1文字目に入力位置をあわせ、 正規表現で(.|¥n)+を検索する。あえて全角で書いたがもちろん半角で。 す…続きを読む

折り返しに関してアレコレとやってたら、深みにはまりつつある。 まず、動作確認中にバグを一つ見つけた。 小さい「っ」とか「ゃ」を行頭におけないっていう禁則が動いてなかった。 コレは単に内部で間違って逆の処理をしてただけなので、修正は1秒で終わった。 それは別に良い。 今悩んでいるのは、アポストロフィだ。 そもそも、一つの文字につき、決めなきゃいけないことがどれだけあるかと言うと、 ○色分けで何扱いするか ○折り返すときに切れる場所か ○単…続きを読む

偽パッドはエディタエンジン自体を自作したわけではなく、 OSについてくるリッチエディットをプレーンテキストモードで使い、 OS任せで描画したあとに、マークなどを加筆する形で動作している。 よって、偽パッドが折り返しでどんな処理をしているかは一切わからない。 メモ帳とかなり近い動作をしているわけだが、違う動作もいろいろあるわけで、 メモ帳ではロシア語のワードラップはしないが、リッチエディットはするらしい。 で、真魚は出来ればメモ帳準拠で行…続きを読む

これもSJISのエディタでは特に考えなくてもいい話だ。 アルファベットが連続していたら、その途中で折り返したらいけないってだけ。 その際、どれがアルファベットの文字なのかってのは単純なんだよね。 SJISには半角と全角のアルファベットがあり、 半角のアルファベットは途中で折り返しちゃいけなくて、全角は折り返し出来る。 そもそも全角のアルファベットはSJISの文書では使えるけど、ASCIIでは使えない。 だから、全角の文字は日本語流の折り…続きを読む

JIS/EUC変換読み書き部分を作り直し、今まで対応してなかった文字に対応したので、 文字コード自動判定部分も、新たに対応した領域を使いたい。 jconvert.pasは結構古いものなので、 JIS、EUCを検出することは出来ても、UTF-8やUTF-7を自動判定することは出来ず、 真魚では、まずjconvert.pasの判定もして、 しかも自前で書いたUTF-7とUTF-8の判定をもするという形をとっているわけだが、 全部まとめて1p…続きを読む

JISにもESC$(Dで補助漢字領域が使えるようなので、読み込み部分で対応した。 これで、EUCもJISも旧来の変換では切り捨てていた多くの文字に対応した事になる。 もちろんJISの書き出しはメーラー互換を前提にするので、補助漢字の書き出しはしない。 JISで使えないはずの規格外4文字が半角カタカナ周辺にあり、これも書き出さないことにした。 JISの変換はやはりSJISを経由にし、新たにテーブルを設けることはしなかった。 さてここで、ま…続きを読む

なんか文字コードに躍起になっているが、もともと萌ディタの開発日記が発端である。 http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2004Q2.html EUCはSJISにない文字も扱える仕様に変更済み。 次にJISなんだが、そこに書いてあるようにいろいろあるわけだが、 読み込みについてはどんな実装をするか悩まずに出来た。 EUC変換のために作ったテーブルを使っ…続きを読む

EUCへの対応については、補助漢字領域の拡張を目的に進めてきた。 すなわち、旧来のSJIS変換を行うとEUCにしかない文字が失われてしまうので、 SJISを介さずにEUC<->ユニコード変換を行うように仕様変更だ。 それはもうできあがったからそれで良い。 次にJISへの対応をどうするかという話だ。 JISは多くの拡張がなされているため、全てに対応すれば中韓国語も扱えるはずだ。 だが、中韓国語拡張したJIS文字コードはどこで利用されるのか…続きを読む

自体はどんどん複雑化する。 ユニコードの私用領域であるU+E000辺り以降が、SJISやJISへ変換出来ると言うことを、 ATOKの文字パレットで確認したが、JISの規格では使われていない、 0x7F21から0x927Eまでが割り当てられているようだ。 EUCでは、JISでの0x2121~0x7E7Eに0x8080を加えた、0xA1A1~0xFEFEを使っているので、 規格をはみ出して私用領域を割り当てようとすると桁があふれてしまうのだ…続きを読む

まとめると、EUCをWindowsで扱う方法は三つ。 ○SJISに変換する。 SJISにはない補助漢字領域の文字は全て破棄する事になる。 ○EUC<->UTF16変換テーブルをアプリ内で持つ。 一番やりたいのはこれだが作業がつらい。 ○CP20932を使ってWindowsにやらせる。 本来のEUCでは補助漢字領域を3バイトで表すが、CP20932は2バイトで表す。 この2バイトと3バイトの相互変換が実に簡単な事がわかった。 CP2093…続きを読む

コントロールパネルから地域と言語のオプションを選び、 言語タブからテキストサービスと入力の詳細をクリック。 設定タブで追加をクリックし、中国語やフランス語を追加する。 で、真魚への入力を中国語に切替し、 ni(Enter)hao(Enter×2) で、你好(ニーハオ)が打てる。 ハングルは読むことすら出来ないが、同様に入力は可能。 次にフランス語に切替、Pの隣の@押してからA押すとâ(aの上に^)が、 右Alt+;押してからo押すとó(…続きを読む

つづき。 現在、萌ディタも起動していじりながら、コレは真魚で書いてる。 ここまでで萌ディタの「がっかり」すなわち不正終了が二回出た。 http://www.geocities.co.jp/SiliconValley-Oakland/3617/progress_2004Q2.html >ルーラの存在は微妙 あたしもEmEditor式は相当違和感がある。真魚はTEditorのパクリ式。 何文字目で折り返してるか見たり、実際に折り返したりする…続きを読む

SJIS外の文字幅計算が目的だったが、やってみたら大してボトルネックにならないようだし、 せっかく幅を取得してキャッシュするし、真魚はプロポーショナルフォントに対応しちゃった。 記事:フォントの幅計算 仕組み上は出来そうだったので、早速作ってみた。 http://mana.ikuto.com/ 事務所や自宅のパソコンでは遅くなったとは体感できないが、非力なマシンではどうかな。 これまで、真魚の動作で遅くなりそうなところと言えば、文字を画…続きを読む