应该使用什么字体? 如何显示特定的象形文字? .NET控件是否支持此功能? .NET char和字符串类型是否有一些限制?
答案 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";
如果设置NewGardiner字体时出错,请重新启动Visual Studio并尝试再次更改。