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

时间:2015-12-30 09:46:02

标签: c# .net unicode

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

1 个答案:

答案 0 :(得分:4)

埃及象形文字属于Unicode的扩展版本:Supplementary Multilingual Plane(SMP)。您可以找到完整参考here。所以第一个象形文字从0x13000(十六进制)开始。

推荐的字体是:NewGardiner。安装SMP版本的字体。我将此字体设置为C#Windows窗体应用程序中的RichTextBox或Label。字体大小30使象形文字可读。

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

string single_character = "\U00013000";
label1.Text = single_character; 

两个象形文字将按如下方式编码:

string two_characters = "\U00013000\U00013010";

Ancient Egyptian Hieroglyphs on .NET

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