0

我正在制作一个需要在 Windows/DotNet RichTextBox 中创建/操作客户端使用的富文本的 Web 服务。该服务的用户将来自世界各地。

该服务接受客户端从 RichTextBox.Rtf 提供的字符串,进行一些操作并将字符串返回给客户端,该字符串被放回文本框的 Rtf 字段中。

工作正常,但我对全球化有些担忧,例如..

我的开发机器上的一个空 RichTextBox 的 Rtf 为:

{\rtf1\ansi\ansicpg1252\deff0\deflang1044{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
\viewkind4\uc1\pard\f0\fs17\par
}

创建新记录时,服务需要提供一些默认的格式化文本。我假设在他们的操作系统安装上使用不同语言的人对于默认的空 RichTextBox 会有不同的字体、ansicodepage 和 deflang。所以我发现我可以为新记录提供以下字符串而不会出现格式异常......

{\rtf1\ansi\viewkind4\uc1\pard\f0\fs17 MyTextGoesHere\par}

在将 RichTextBox.Rtf 设置为上述内容后,我检查 Rtf 并发现它已重新插入字体和 deflang,如下所示...

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}\viewkind4\uc1\pard\lang1044\f0\fs17 MyTextGoesHere\par}

问题:

1> 我应该担心这个还是必须在我的服务中继续删除它?

2> 将其剥离是否安全?客户仍然可以在文本中使用他们语言中的字符吗?

3> 会跨语言兼容吗?如果我使用不同于其他用户的操作系统/语言查看富文本,它看起来会正常吗?

有什么建议或指点吗?

4

1 回答 1

0

我想我会询问用户他想要的 Rtf(由他的本地操作系统 RichTextBox 提供)在创建新记录时使用。然后假设它是空的并在最后添加我的东西。

于 2013-07-17T21:42:25.377 回答