我的问题可能有点令人困惑,但我认为仍值得关注。
基本上我正在设计一个程序来在RichTextBox中显示所有可打印的Unicode字符。
我正在使用VC#2010 Express Edition。
但是,RichTextBox存在一个严重问题:某些特殊字符无法正确显示。
例如,一些韩国汉字(ㄱㄲㄳㄴㄵㄶㄷㄸㄹㄺㄻㄼㄽㄾㄿㅀㅁㅂㅃㅄㅅㅆㅇㅈㅉㅊㅋㅌㅍㅎ),可在Microsoft Word中正确显示。复制到RichTextBox后,无法正确显示字符。但是,当我复制回Microsoft Word时,它可以正确显示。
因此,这是一个显示问题(字符本身是正确的)。我想这可能是一个字体问题。
一些相关的房产信息: RichTextBox.Font.GdiChaSet RichTextBox.Font
我该如何解决?这样可以正确显示所有可打印的Unicode字符(对于不同的CharSet,可以使用不同的字体)。
实际上,在粘贴时我需要进一步帮助删除所有格式 rtbxFileContent.Paste(DataFormats.GetFormat(DataFormats.Text)); // DataFormats.UnicodeText
我仍然需要正确显示所有可打印字符,但没有任何格式(字体除外)。
感谢。
希望我能让自己明白。
答案 0 :(得分:1)
我讨厌听起来像MS Office Clippy,但你的问题看起来很像this one。
基本上,你不是疯了,这很难。您可以尝试使用UTF8Encoding
和BinaryWriter
/ BinaryReader
手动阅读/撰写文字。
答案 1 :(得分:0)
我发现字体“Arial Unicode MS”几乎可以解决我的问题,但Char Sets中的一些字符对我来说很奇怪。 (另外,如果用户计算机没有安装字体“Arial Unicode MS”怎么办?
所以我仍然在寻找一个更好的通用解决方案来解决我的问题:在RichTextBox中为不同的Char集自动使用不同的字体。
感谢。