[Delphi:90897] TRichEditに入力した文章を印刷するには?

171 views
Skip to first unread message

nagao_support

unread,
Nov 17, 2008, 4:38:31 PM11/17/08
to Del...@users.gr.jp
nagao(長尾治)と申します。
私が市販しているアプリではTRichEditに入力した文章を今まで
は下記の方法で印刷するようにしてきました。
<Step1>TRichEditに入力した文章を1つのテキスト文に変換する。
<Step2>そのテキスト文を
       Rich Text Format (RTF) Specification,ver 1.6
       Microsoft Corporation
に基づいて解析して、TRichEditに入力した各々の文字を指定されたフォント
で指定された位置に印刷する。

この方法で漢字も含めて、大概の文字は印刷できるのですが、
㎥("りっぽうめーとる"と入力して変換するとできる文字)は
テキスト文字に変換される時に
    \u13221?
と云う文字列に変換されるため、正しく印刷できません。
そのため、外字を登録してそれを使うよう今まではユーザーにお願いしてきた
のですが、外字を使うのは不便なので改善して欲しいと多くのユーザー
から云われてきています。

すみませんが、どなたか対策を教えて頂けませんでしょうか?

_/_/ 長尾 治_/_/
_/_/MAIL: sup...@appliedopt.com _/_/
_/_/URL: http://www.appliedopt.com _/_/
_/_/TEL:052-796-0336 FAX:052-796-3821_/_/


Yasuharu Sasai

unread,
Nov 17, 2008, 9:46:46 PM11/17/08
to Del...@ml.users.gr.jp
ささいと申します。nagaoさん、こんにちは。

"㎥"の字は、SJISでは無いようです。Unicodeでは存在します。

㎥ = Unicode:$33A5 → 10進数で13221

私はメインはD7なので正確にはわかりませんが、D2009ならばすぐに
問題解決するんじゃないかと思います。

D7での解決方法を示しますと、

① Tntコンポーネントをインストール
② TTntRichEditを使用する(TextプロパティはWideString)
③ 文字列描画はWideCanvasTextOutに代替

これでいけるんじゃないでしょうか。

--
笹井 康晴 ○○ Yasuharu Sasai ○○ y.s...@gmail.com

nagao_support

unread,
Nov 18, 2008, 4:01:55 AM11/18/08
to Del...@ml.users.gr.jp
ささいさん、こんにちは。nagaoです。
早速レス下さいましてありがとうございます。

> D7での解決方法を示しますと、

私はD6を使っています。D6とD7は似ているようですので、教えて
頂いた①②③を試してみたいと思います。

> ① Tntコンポーネントをインストール
昔はDelphianWorldのサイトからよくコンポーネントをダウンロードしたもの
ですが、最近はしてきませんでした。
今、このサイトを見てみると、先ずこのグループのメンバーにならなければ、
ならないようなので、それを済ませてから、このサイトにTntコンポーネント
がないか、調べようと思っておりますが、もっと良い方法があれば、お教え
願えないでしょうか?


長尾 治 sup...@appliedopt.com

Osamu Nakahashi

unread,
Nov 19, 2008, 5:51:27 AM11/19/08
to Del...@ml.users.gr.jp
http://www.axolot.com/TNT/
から落とせるみたいだけど。

nagao_supportさんの<000601c9495c$4e8ad4f0$0400a8c0@pro3300>から

nagao_support

unread,
Nov 19, 2008, 7:01:00 PM11/19/08
to Del...@ml.users.gr.jp
Osamu Nakahashiさん、こんにちは。nagaoです。
お知らせくださいましたサイトからダウンロードしました。
これから勉強してそのコンポートを使ってみます。

早速のレス、ありがとうございました。

長尾 治 sup...@appliedopt.com

nagao_support

unread,
Nov 22, 2008, 4:59:38 AM11/22/08
to Del...@ml.users.gr.jp
ささいさん、こんにちは。nagaoです。

> ① Tntコンポーネントをインストール
> ② TTntRichEditを使用する(TextプロパティはWideString)
ここまでは私でもできました。

> ③ 文字列描画はWideCanvasTextOutに代替
WideCanvasTextOutはDelphiヘルプの中では見つかりません。
どのようにするば、これのリファレンスを見ることができるのでしょうか?
また、使用例を示していただけませんか?
初歩的なことかも知れませんが、よろしくお願い致します。

_/_/ 長尾 治_/_/
_/_/MAIL: sup...@appliedopt.com _/_/


----- Original Message -----
From: "Yasuharu Sasai" <y.s...@gmail.com>
To: <Del...@ml.users.gr.jp>
Sent: Tuesday, November 18, 2008 11:46 AM
Subject: [Delphi:90898] Re: TRichEditに入力した文章を印刷するには?

nagao_support

unread,
Nov 22, 2008, 6:30:26 AM11/22/08
to Del...@ml.users.gr.jp
nagaoです。自己レスです。

> WideCanvasTextOutはDelphiヘルプの中では見つかりません。
WideCanvasTextOutはunit TntGraphicsの中にありました。
お騒がせしてすみませんでした。
もう少し自分で勉強します。

Reply all
Reply to author
Forward
0 new messages