C# 如何在.NET中显示古埃及象形文字?

C# 如何在.NET中显示古埃及象形文字?,c#,.net,unicode,C#,.net,Unicode,应该使用什么字体? 如何显示特定的象形文字? .NET控件是否支持此功能?.NET字符和字符串类型有一些限制吗?埃及象形文字是Unicode的扩展版本(SMP)。你可以找到完整的参考资料。因此,第一个象形文字从0x13000(十六进制)开始 建议的字体为:。安装字体的SMP版本。我在C#Windows窗体应用程序中将此字体设置为RichTextBox或标签。字体大小30使象形文字可读 在.NET中,无法将象形文字设置为char。这是因为char不是用来保存我们需要的值的Char在.NET中是16

应该使用什么字体? 如何显示特定的象形文字?
.NET控件是否支持此功能?.NET字符和字符串类型有一些限制吗?

埃及象形文字是Unicode的扩展版本(SMP)。你可以找到完整的参考资料。因此,第一个象形文字从0x13000(十六进制)开始

建议的字体为:。安装字体的SMP版本。我在C#Windows窗体应用程序中将此字体设置为RichTextBox或标签。字体大小30使象形文字可读

在.NET中,无法将象形文字设置为
char
。这是因为
char
不是用来保存我们需要的值的
Char
在.NET中是16位的,我们希望引用0x1300十六进制(77824十进制)<另一方面,code>String可以处理这个问题,但是我们需要使用\U(而不是\U)并创建一个32位字符(注意前导的零)。以下代码显示表中的第一个象形文字

string single_character = "\U00013000";
label1.Text = single_character; 
现在我们将单个字符(字形)编码为4字节,而不是2字节。 另外,两个象形文字的编码如下:

string two_characters = "\U00013000\U00013010";

如果设置NewGardiner字体时出错,请重新启动Visual Studio并再次尝试更改

更新:我创建了一个.NET项目示例:

“Unicode的扩展版”毫无意义。有编号的Unicode版本,但您的术语没有任何意义。您可能的意思是,象形文字不在Unicode的BMP(基本多语言平面)中(毕竟有17个平面)。您可能想澄清这是用于Windows窗体还是WPF。两者在文本呈现方面有着根本的不同。