現在、任意で指定したフォント名を使用してある文字列を表示するようなプログラムを作成しています。
CreateFont()の文字セットには、SHIFTJIS_CHARSET、タイプフェイス名にはArialを指定しても環境によっては、日本語が文字化けしたままとなります。
何故、そうなるのか分からない状況ですので、ご教授ください。
また、解決方法がございましたらお願いいたします。
表示する文字列:テスト ⇒ 出力結果:□□□
現在、CreateFont()には以下の指定を行っています。
CreateFont(X, ※1
0,
0,
0,
400,
TRUE,
FALSE,
FALSE,
SHIFTJIS_CHARSET,
OUT_DEFAULT_PRECIS,
CLIP_DEFAULT_PRECIS,
PROOF_QUALITY,
FIXED_PITCH | FF_DONTCARE,
Y); ※2
※1 X:任意のサイズ
※2 Y:Arial
CreateFontで作成されたハンドルはSelectObjectで関連付けています。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
フォント作成での似た議題がありましたので、参考URLを以下に載せておきます。
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?p …
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?p …
参考URLを基に考えると、
環境によって表示が変わる。というのは各々の環境で各フォントの重みが違うからではないのでしょうか?(勝手な想像なので間違ってたらゴメンナサイ)
もし、上記の考えがあっているならば環境依存になるので
回避策というのは面倒or難しそうですね。
No.4
- 回答日時:
Arial でも、Arial Unicode MS とかいうフォントだと、Unicode 2.1の範囲の文字の
フォントデータを持っています(もちろん漢字もある)。
それってことはないでしょうか?
参考URL:http://www.faireal.net/articles/6/23/#d21203
No.3
- 回答日時:
ひとつ分からないのですが、
Arial
は日本語の文字を持っていないフォントですが、
なんでArialにこだわっているのでしょう?
#1さんのいうように日本語のフォントを指定した
方が良いかと思うのですが。
このプログラムもからくりも分かりませんが、
日本語の文字列にArialを指定した場合、
裏で勝手に日本語フォントに置き換えてるアプリは
多いですよね。MSのアプリなど特に。
回避方法としては、日本語には日本語フォントを
使うのが良いかと思います。
No.1
- 回答日時:
文字セットにSHIFTJIS_CHARSETを指定したからといって、日本語の文字列が表示できるということはありません。
出力結果が日本語とならないには、そのフォントが日本語のフォントを持っていないだけです。
素直にMSゴシックなどの日本語を含むフォントにしましょう。
# 日本語を知らない外国の人に日本語でと指定しても、日本語が返ってこないことと同様かと。
この回答への補足
早速の回答ありがとうございます。
Arialを指定して、かつ、日本語文字を指定した場合、環境によっては指定した日本語文字が異なるフォントで出力される場合もあります。
どちらかというと、なぜ環境によって変わるのか?また、それの回避方法は?ということのお知恵を拝借したいと思っています。
もし、なにかよい回避方法等ありましたらご教授願います。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
Outlookのメールを送信するマクロ
-
メールで、榊の文字を木辺に神...
-
似ているフォント(Win⇔Mac)
-
VB6.0でLabelに表示する文字を...
-
Visual C++ 6.0 行番号の表示
-
フォントファイル(.ttf , .otf)...
-
メモ帳の縦書き
-
TTFファイル(TTCやOTFでもよい...
-
16x16のスプライトフォント
-
分数をどう書くか。(教えて!g...
-
C# Font GdiCharSet
-
→をTimes New Romanフォントで...
-
英語版OSでの遊明朝、游ゴシック
-
ペイント3Dのテキストサイズ変更
-
Illustratorで作成、pngで保存...
-
テキストエリア内の文字の装飾
-
フォルダ内の写真を画面幅にあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
MsgBoxについて
-
似ているフォント(Win⇔Mac)
-
「MS Pゴシック」と同じ幅の...
-
英語版OSでの遊明朝、游ゴシック
-
C# Font GdiCharSet
-
font-family の記載方法
-
メールで、榊の文字を木辺に神...
-
ワードでゴシックの文字を太く...
-
Excel:一部のフォントでセルの...
-
CommonDialogでの、キャンセル...
-
逆向き/(スラッシュ)の入力方法
-
エクセルの代替フォントを指定...
-
Visual C++ 6.0 行番号の表示
-
CSS SafariでMS P ゴシックを表...
-
ホームページをTeraPadで日本語...
-
printf("文字列\\n")が円マーク...
-
このフォントはなんというフォ...
おすすめ情報