掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
指定のフォントを表示するには? (ID:33550)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私はDelphi6 Pro、XP SP2なのですがテストしてみました。 procedure TForm1.Button1Click(Sender: TObject); var lrc_Rect: TRect; ls_Text: WideString; begin Image1.Canvas.Font.Assign(Edit1.Font); Image2.Canvas.Font.Assign(Edit1.Font); Image3.Canvas.Font.Assign(Edit1.Font); ls_Text := WideChar($BBF8); ls_Text := ls_Text + WideChar($C548); Image1.Canvas.FillRect(Image1.ClientRect); TextOutW(Image1.Canvas.Handle, 0, 0, PWideChar(ls_Text), Length(ls_Text)); Image2.Canvas.FillRect(Image2.ClientRect); lrc_Rect := Image2.ClientRect; DrawTextW(Image2.Canvas.Handle, PWideChar(ls_Text), -1, lrc_Rect, DT_NOPREFIX); Image3.Canvas.FillRect(Image3.ClientRect); ExtTextOutW(Image3.Canvas.Handle, 0, 0, 0, @lrc_Rect, PWideChar(ls_Text), Length(ls_Text), nil); end; としてみたところ。 Edit1のフォントがMS Pゴシックの場合、どれも文字化け。 それ以外のフォント(シンボル系以外)だとDrawTextWはちゃんと表示されますがTextOutWとExtTextOutWは文字化けしました。 そしてls_Textを ls_Text := 'あ'; ls_Text := ls_Text + WideChar($BBF8); ls_Text := ls_Text + WideChar($C548); のようにしてみたらどれもちゃんと表示されました。 ハングルだけだとアウトで日本語が混じるとOKなようです。 ハングル+英数記号もアウトでした。 ハングルだけの場合も改行が入ったりする場合はOKでした。 さらにEdit1のフォントをMS UI Gothicにしたらどれもちゃんと表示されました。 ハングルのほかに中国語なども試してみましたが、ハングルだけの場合にだけ文字化けするような感じです。 多分龍猫さんとは環境が違うと思うのですが、参考までに。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.