Linux上的RichTextBox编码 - Mono

时间:2012-09-25 09:23:37

标签: c# linux winforms encoding mono

我的RichTextBox包含一些彩色文本。他的字体是new Font("Arial", 8.25f, FontStyle.Regular, GraphicsUnit.Point, ((byte)0))

在Windows中我没有任何问题。

但在Linux中,变音符号不起作用。我可以看到Linux中的Rtf头是:

{\rtf1\ansi\ansicpg1252\deff0\deflang1033
{\fonttbl{\f0\fnil\fcharset0 DejaVu Sans;}}
{\colortbl \red0\green0\blue0;\red0\green0\blue255;}
{\*\generator Mono RichTextBox;}\pard\f0\fs16 
\par

\par

\par

....

D9B1DE9DE\'FDE9\'FD

(从Linux终端复制)

在Windows中它是完全不同的

{\rtf1\ansi\ansicpg1250\deff0\deflang1029
{\fonttbl{\f0\fnil\fcharset238{\*\fname Arial;}Arial CE;}}
{\colortbl ;\red0\green0\blue255;\red255\green69\blue0;\red0\green128\blue0;}

Jak se m\'e1\'9a? \fs17

(从VS调试窗口复制)

有很多新行,虽然我使用Environment.NewLine并且变音符号被转换为类似D9B1DE9DE\'FDE9\'FD

我尝试更改CultureInfo,也更改字体,但没有变化。

我该如何解决?我想在两个系统上使用相同的字体。

感谢您的回复。

1 个答案:

答案 0 :(得分:0)

如果相同的代码在Mono上的结果与.Net上的结果不同,则可以将其视为错误。

您使用的是哪个版本的单声道? Winforms在过去几个月里修复了一些错误。

如果你已经运行了最新版本(2.10.9),你应该在单邮寄邮件上发布你的问题(mono-devel-list [at] lists.ximian.com)