質問者
自作フォントを使うアプリにて、文字化け発生した

質問
-
windows7 のレジストリにて、下記のキーがあります。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\LanguagePack\OpenType
visual studioで開発したvc++アプリは自作フォントを使っていますので、XPで実行する場合は、上記のキーを削除する前に、自作フォントを使う時、 文字化け発生しましたが、このキーを削除したら、文字化け発生しなくなりました。windows7で同じアプリを実行する時、このキーを削除する前にも文 字化け発生していました。XPと同じように、このキーを削除しようと思いましたが、メモ帳などで何かを入力する時、”メモ帳を終了するか、debugするか”のようなメッセージがありました。windows7にて文字化けが発生しないようにどうやって解決できますでしょうか?
すべての返信
-
とりあえずリンクだけ。
http://social.answers.microsoft.com/Forums/en-US/w7desktop/thread/8452cc5c-9f38-4e27-b346-ce71e63a6521/
http://social.answers.microsoft.com/Forums/zh-CN/w7desktopzhcn/thread/9acf7740-2f93-406c-9653-82c3b1d68ccf/
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。 -
とりあえずリンクだけ。
http://social.answers.microsoft.com/Forums/en-US/w7desktop/thread/8452cc5c-9f38-4e27-b346-ce71e63a6521/
http://social.answers.microsoft.com/Forums/zh-CN/w7desktopzhcn/thread/9acf7740-2f93-406c-9653-82c3b1d68ccf/
質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
リンクはどういう意味?検索ならだれでもできるじゃない?http://social.answers.microsoft.com/Forums/en-US/w7repairja/thread/61cdee0c-2185-4723-8d5a-aec98f718fae
上記リンクのページにて、「自作アプリの開発上の問題であれば、MSDN フォーラムにて質問してください。」という回答がありますから、こちらで質問しました。MSDNの観点からアドバイスがほしいです。
ほとんどの閲覧者は自国の言語の文章しかみないじゃないですか?Azuleanさんの回答を見たら、US以外の回答者は大抵USの文章を検索し、見つかったら、翻訳するだけのように感じます。
-
自作フォントを使用し文字化けする場合は、
HKLM/****/OpenType Keyを削除すればよい、という文献はどこにありますでしょうか?
公式に案内されている文献でしょうか?
MSDNを検索してみたのですが、見つかりませんでした。
状況が詳しく分からず再現させる環境がないため、以下は推測です。
問題解決のアプローチは、
Keyを削除して文字化け対応を行うのではなく、
文字化けなく文字が表示できるように自作したFontを調整できないか検討することと、
文字列描画処理が正しいか確認することだと思います。
以下を参考にして自作したFontがWindowsが期待した通りに作られているか確認しては如何でしょうか。
その上で問題をもっと掘り下げたほうが良いと思います。
[Microsoft Typography]
http://www.microsoft.com/typography/default.mspx
[Character Sets]
http://msdn.microsoft.com/en-us/library/dd317743(v=VS.85).aspx
[Surrogates and Supplementary Characters]
http://msdn.microsoft.com/en-us/library/dd374069(v=VS.85).aspx
[End-User-Defined and Private Use Area Characters]
http://msdn.microsoft.com/en-us/library/dd317802(v=VS.85).aspx
-
kozzさん、ご回答ありがとうございます。
自作したフォントで、代替フォント(MSゴシック)が使用されてしまいましたため、Microsoftさんにお問い合わせした結果より、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\LanguagePack\直下のキーをすべて削除したら、代替フォントを抑制できます。XPの場合は、削除により、文字化けを解決しましたが、Windows7上では、レジストリキーを削除したら、このフォントを使う時、正しく表示されましたが、他の問題(メモ帳などのアプリがabend)が発生しました。
文字化け発生したcodeは下記のようです。
Character code range: 0x0A02 - 0x0A74, 0x0A81 - 0AEF, 0x0B01 - 0x0B70, 0x0B82 - 0x0BF2, 0x0C01 - 0x0C6F, 0x0C82 - 0x0CEF, 0x0D02 - 0x0D6F
Unicode category name: Gurmukhi Sign, Gujarati Sign, Oriya Sign, Tamil Sign, and so on.