2010-09-05 80 views
1

我的问题可能有点混乱,但我认为它仍值得关注。在RichTextBox中显示特殊字符(韩文字母)

基本上我设计的程序在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

这是麻烦。首先检查是否改变键盘布局朝鲜解决您的问题,让我们知道。 – 2010-09-05 07:34:37

回答

0

我发现字体“Arial Unicode MS”几乎可以解决我的问题,但是来自Char Sets的一些字符对我来说看起来很奇怪。 (另外,如果用户计算机没有安装字体“Arial Unicode MS”?

所以我仍然在寻找一个更好的通用解决方案来解决我的问题:在RichTextBox中为不同的字符集自动使用不同的字体。

感谢。

1

我讨厌听起来像MS Office Clippy,但你的问题似乎很像this one

基本上,你不生气,很难。您可以尝试使用UTF8EncodingBinaryWriter/BinaryReader手动读取/写入文本。

+0

cofiem您好,感谢您的回复。但你可能误会了我的问题,或者你能为我粘贴一些代码基本上,正如我所说的那样,字符本身是正确的(复制回MS Word,仍然可以正确显示),所以它可能是不同字符集的字体问题秒。我希望RichTextBox足够聪明,可以像MS Word一样使用适当的字体显示不同字符集中的特殊字符。 – 2010-09-05 17:14:07