RichEditにUnicode文字を表示させるには?


あなくつ  2004-09-27 14:27:03  No: 11146  IP: 192.*.*.*

はじめまして。初投稿です。過去ログではいつも皆様にお世話になってます。
Unicodeで表示できる漢字について質問させていただきます。

Unicode形式のテキストファイルに含まれるJIS第3/第4水準漢字をRichEditに読み込みたいのですが「?」になります。DelphiのRichEdit内部はShift-Jisで処理しているのでShift-Jisに無い漢字を読み込もうとすればこの現象が起きるのはわかっています。WindowsNT系であればTntUnicodeControls(*)を使って表示できますがWindows9x系では表示できません。ところが、WindowsMEに付属しているワードパッドでUnicodeテキストファイルを開くと正常に漢字が表示され編集もできます。ワードパッドではどのような処理をしているのでしょう?Windows9x系のOS上でもワードパッドのようにJIS第3/第4水準漢字を表示・編集させることは出来ないでしょうか?どなたかご存知の方がいらっしゃいましたらご教授ください。
開発環境:Delphi7Pro/WindowsXP

(*)http://tnt.ccci.org/delphi_unicode_controls/

編集 削除
jam  2004-09-28 00:57:47  No: 11147  IP: 192.*.*.*

95 環境は無いので何とも言えませんが...

WordPad で読めるのであればおそらく EM_STREAMIN メッセージに
SF_TEXT or SF_UNICODE を指定すれば読めるはずです。

ただし、Unicode テキストの先頭の BOM は取り除いて読み込ませる
必要があります。

編集 削除
あなくつ  2004-09-28 10:49:07  No: 11148  IP: 192.*.*.*

残念ながら教えていただいた内容では出来ませんでした。調べてみるとWindows9x系ではRichEdit1.0のようでSF_UNICODEは指定できないみたいです。

いろいろと考えた末、TextOutWを使ってオーナードローでエディタを作ろうと思います。主題から反れますが、どなたかオーナードローのエディタについてどこか参考になるサイトを教えていただけませんか?特にIMEのからの入力関係について無知なので、その辺りを勉強したいです。(TEditorなどもオーナードローしているようですが高機能で難しく理解の途中で挫折してしまいました)

編集 削除
SO  2004-09-28 12:30:55  No: 11149  IP: 192.*.*.*

http://tnt.ccci.org/delphi_unicode_controls/

とかですか。

編集 削除
SO  2004-09-28 12:33:26  No: 11150  IP: 192.*.*.*


すでに元発言者がリンクしてましたね(^-^;A
すみません。

編集 削除
SO  2004-09-30 15:25:27  No: 11151  IP: 192.*.*.*

http://yokohama.cool.ne.jp/chokuto/urawaza/message/

のEM_STREAMINが参考になるかもしれません

編集 削除