忘れないうちにメモをしろ 2002-01〜


 プログラミングにまつわることで、思い出したこと、考えたこと、気になること など、ともかく低レベルでもみっともなくても中途半端でいいからメモを取ろう、 と思うページ(忘れてしまって困るのは己なのだ^^;)


 2002-01-14 sjis to unicode


 なんか、久しぶりにこの頁を更新。無理にでもかかにゃ。 案の定いっぱい書くこと忘れてしまっているがしかたない、と。

 で、これまた久しぶりに cb2tt,cb2ttj(+cb2ttj98) を弄ってみたりしてたのだが、 ttfstub.cpp(正確にはcb2ttj98のttfstubank.cpp)で j2unicodeなる関数を使っているが見当たらないので、 代用関数をでっち上げてみた。 (実はcb2ttjのではWinのライブラリ関数の MultiByteToWideChar を使っていて、 これだと でっちあげる必要はなかったようだ^^;)

といって大層なことでなく、 変換テーブルさえあればええやん、ってしろものだけど。
  (s)jis/ unicode(UTF16) 変換テーブルをどうしたか、ってと、 以前作った漢字一覧から これこれ のようなテキストをでっちあげて、 (秀丸)エディタで Unicode形式でセーブし直し(^^;)、 (Unicodeテキストの識別子の先頭2バイトは削除して) cのデータ形式へコンバートして やっつけたのだった。

 で、チェック/サンプルがてらに シフトJISテキストをUnicode(UTF16)テキストに 変換するツールにしてみたのがこれ

 全角のテーブルは JISコードを元にした 94x94=8836個(約17Kバイト)のもので、 他に SJIS→JIS→連番化の変換が必要だけれど、 スピードが気になるなら SJISに適したテーブルにしたりとか、 Unicode→SJISなら 128Kバイトのベタなテーブルにするとか、 まあ、用途にあわせて作り直せばいいかなで、とりあえず。

 これのうち未定義な文字コードについては 秀丸まかせ(てかWin任せ?)で適当なコード(U30FB)になっているが、 テキスト表示してみる範囲ではJISなシフトJISに対応しているぽくて 大丈夫そう、かな。

 と、なんとなく自分ででっちあげてしまったけれど(94x94=8836個ある表がほしかったてのもある)、 Unicode変換関係についてはネットで検索すれば結構みつかるよう。

 まずは

を見たほうがいいんでしょうね。日本語は このへんとか このへんとか。

 その他、変換方法やテーブル、問題点についての頁は、

とか、いろいろある模様。


 2002-01-19 cb2tt のwin32 再コンパイル


 この間からちょくちょく弄ってた cb2ttj、 結局、たいしたことは出来ずに挫折。 半角カナ対応へ挑戦してたんだけど、ttfようわからずに小手先でいどんでも駄目ですね^^;

 ただ、win32のコンソールアプリとしての再コンパイルは できるようにしたので、こちらに 弄ったソース(変更分のみ)を置いときます。 て、単にヘッダで辻褄合わせをするだけなんですが。

 元のはMS-C7で16ビットDOS固有の文法やらライブラリ関数やらが使われているのだけど、 _far やら _fmalloc やらはコンパイルエラーですぐわかるが _rotr() が以外と気づけなかったり・・・ けど、これはまだintのビット数の問題だからわかる話なんだが、 一見大丈夫そうに思えた _getw(), _putw() もオイタをしてくれる ようで・・・なんでやねん、でした。

 MFCが使われてるので基本的に vc のみかな。以前の市販Cコンパイラだと MFCバンドルしているのもあるのでそういうのでも可能かも (て、cb2ttj は Borland-c v5でコンパイルされてるやん^^;)。 と、フリーのDigital Mars Cなら なんとかなるのか?と試そうとしてmfcのコンパイルに即効挫折。

 MFCが必要なのは Array/String 関係のために使ってるみたいだけど、 ttfstub.cpp に関しては実質MFCの機能を使っていないソースのようなんで、 ちょこっと辻褄あわせをして再コンパイルしてみると okのよう。 てことで、ttfssubを bcc32 で再コンパイルできるようにも しました(上記のソースと一緒に同梱)。

 しかし問題は、cb2ttのソースの配布元がみつからねえ、ってことですかね。 なんか、cb2ttjの 頁の原作者やソースへのリンクは切れてたりパスワードが必要だったりで。 cb2ttの EXE 自体は VECTORにあるんですが・・・ [2/3追記]と、 こちらの中国?なサイトに フォント関係のツールが いろいろ置かれていて、cb2tt.zip,cb2ttsrc.zip もありました。

 あと cb2tt は(変換後のフォントを含め)商利用不可ぽいですが、 こちらこちら などのMLのログのあたりを見る限り、 元が商用フォントでなければ、大丈夫ってことなんでしょうかね。


 2002-03-27 vc7を触ったメモ


 会社で vc7 を触ってみたら、 forでのスコープを標準C++互換にするオプションが増えていた。 ちょっとうれしい。 と、喜んでたら、知り合いから、じゃあ、こちらの 「VC++6.0 と ISO C++ の違い」 のページの件ははどない?と聞かれてしまう。 見てみると、C++を使い込んでない己には、はあ、な話なんだけど^^;、 とりあえず、そこに示されたサンプルをコンパイルしてみると、

  1. 己には判断不能。コンパイルは通る。
  2. 解説通りにエラー。つまり修正されてない。
  3. 解説通りにエラー。つまり修正されてない。
  4. 出力結果は
    bool
    char
    int
    直ってるのかな。
  5. 解説通りにエラー。つまり修正されてない。
  6. 解説通りにエラー。つまり修正されてない。
  7. 直ってそう?。コンパイルエラーにはならなかった。
という結果。
まあ、そんだけ。



[前] [次] [戻る]