在 RichTextBox 中显示特殊字符(韩文字母)

Posted

技术标签:

【中文标题】在 RichTextBox 中显示特殊字符(韩文字母)【英文标题】:Display Special Characters (Korean Letters) in RichTextBox 【发布时间】:2011-04-08 09:31:36 【问题描述】:

我的问题可能有点混乱,但我认为仍然值得关注。

基本上我正在设计一个程序来在 RichTextBox 中显示所有可打印的 Unicode 字符。

我使用的是 VC# 2010 Express Edition。

但是,RichTextBox 有个很严重的问题:一些特殊字符不能正确显示。

例如一些韩文字符(ᄀᄁᆪᄂᆬᆭᄃᄄᄅᆰᆱᆲᆳᆴᆵᄚᄆᄇᄈᄡᄉᄊᄋᄌᄍᄎᄏᄐᄑᄒ)可以在Microsoft Word中正确显示。复制到 RichTextBox 后,字符无法正确显示。但是,当我复制回 Microsoft Word 时,它可以正确显示。

因此,这是一个显示问题(字符本身是正确的)。我猜可能是字体问题。

一些相关的属性信息: RichTextBox.Font.GdiChaSet RichTextBox.字体

我该如何解决?使所有可打印的Unicode字符都能正确显示(可以接受不同的CharSet使用不同的字体)。

实际上,我需要更多关于在粘贴时删除所有格式的帮助 rtbxFileContent.Paste(DataFormats.GetFormat(DataFormats.Text)); // DataFormats.UnicodeText

我仍然需要正确显示所有可打印字符,但没有任何格式(字体除外)。

谢谢。

希望我能理解自己。

【问题讨论】:

这很麻烦。首先检查将键盘布局更改为韩语是否可以解决您的问题。让我们知道。 【参考方案1】:

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

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

【讨论】:

您好,cofiem,感谢您的回复。但是您可能误解了我的问题,或者您可以为我粘贴一些代码。基本上,正如我所说,字符本身是正确的(复制回 MS Word,仍然可以正确显示),因此可能是不同字符集的字体问题。我希望 RichTextBox 足够智能,可以像 MS Word 那样使用适当的字体显示来自不同字符集的特殊字符。【参考方案2】:

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

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

谢谢。

【讨论】:

以上是关于在 RichTextBox 中显示特殊字符(韩文字母)的主要内容,如果未能解决你的问题,请参考以下文章

在C#的RichTextBox中如何使特定文字显示颜色

C#如何改变richTextBox中文字的颜色和大小

WPF的RichTextBox控件,文字列数,只显示一列?

WPF richtextbox问题

VB 如何把richtextbox中已经选中的部分文字,加粗、左对齐、居中、右对齐。不胜感激!!!

RichTextBox 查找内容并红色显示