はじめに:

  • なんかもう年かな。日課になって書き続けてるけどなんで書いてるのかわからないし、日記以外の固定ページはいじるのも面倒くさい。古くなったことも直さずそのままにしてるし、それがまずごめんなさい。あととにかく目に止まってごめんなさい。読んでねって他人に言えない。こっそり書いて晒しておきたい。見るな!かまうな!一人にして置いてくれ!

その他:

  • いろいろあったけど、いろいろかまうの面倒くさい。生きるの面倒くさい。遊ぶの面倒くさい。

文字コード判定

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を経由にし、新たにテーブルを設けることはしなかった。 さてここで、ま…続きを読む

JIS対応について#2

1631 letters | 510 views | コメントする

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

JIS対応について

1505 letters | 562 views | コメントする

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

EUC対応について#7

1570 letters | 640 views | コメントする

ようやく満足のいくEUC対応ができあがったようだ。 が、乗りかかった船なのでもうちょっと調べている。 http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kanjibukuro/japan.html これのEUC-JPとShift_JISのところに、ちょっと納得いくことが書いてあった。 >いずれを使うかは、使う人の自由にまかされます。 なるほどな。 DelphiアプリでのEUC変換は、jconvert.…続きを読む

EUC対応について#6

1149 letters | 548 views | コメントする

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

EUC対応について#5

JISX0212の補助漢字領域の資料が正しいかどうかはわからないが、 JISX0208の第一水準、第二水準漢字領域については、 資料には不備が多すぎて使い物にならなかったと言うことで、 CP50220を使って、OSにJISX0208領域を実際に変換させてテーブルを作成させた。 そしたら、CP20932を使ったときと同様、それと同じ文字で問題があった。 これも、SJIS経由での変換とは多少違った物を作ってしまった。 いや、多少かどうかは知…続きを読む

EUC対応について#4

1220 letters | 532 views | コメントする

二つの方法がダメになった。 ○SJISを経由すると補助漢字が失われる。 ○CP20932でもうまくいかない。 で、最後の方法として、 ○アプリが変換テーブルをもつ。 コレをやるにあたり、 http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/ にあるテキストファイルを使用した。 矩形選択と正規表現置換で、完璧にDelphiコードに変換できた。 そして実際に正しい変換が出…続きを読む

EUC対応について#3

一見かなりまともそうだったのだが、いくつかの文字がどうしようもなかったりした。 補助漢字部分の拡張が目的ではあるが、それにより今まで変換できた文字が出来なくなる。 WideCharToMultiByteで、UTF-16からSJISへの変換に成功した文字の内、 UTF-16からEUCへの変換に失敗したのは、「昴」「~」とか14文字だ。 逆にそれらを、MultiByteToWideCharで、EUCからUTF-16に変換すると、 似て非なる…続きを読む

EUC対応について#2

1648 letters | 930 views | コメントする

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

EUC対応について

2021 letters | 786 views | コメントする

日本語文字コードって、WindowsではSJIS、UnixではEUCということだが、 インターネットが普及したおかげで、EUCをWindowsで扱う機会も増えてきたということだが、 EUCにはあってSJISにはない文字っていうのもあるってことを、萌ディタの開発日記で知った。 旧来のSJISのテキストエディタでは、SJISにない文字なんだから編集出来なくて当たり前で、 ”EUC対応”って書いていても特定の文字は変換できなくて切り捨ててきた…続きを読む

2.09以降のToDo

萌ディタの日記を読んだおかげで、コレまで知らなかったいろんな事が見えてきた。 作者さん相当賢いんだなぁ。復帰するのかしらねぇ。 で、真魚にも生かしたいのだが、タップリと書いたせいで自分で読み返すのが面倒だ。 気になる部分を自分のためにまとめてもう一回書く。 >EUC対応 真魚は、Delphiの世界ではスタンダードなjconvert.pasを高速化して使っている。 これって、EUCをSJISに変換するユニットだから、SJISに変換できない…続きを読む

何語でも打てるじゃねーか

1122 letters | 426 views | コメントする

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

Vectorサンキュ

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

CRとLFの問題

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

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