c#a与umlaut错误的字体openxml

时间:2014-04-16 10:27:04

标签: c# openxml

使用openxml时,我对字符的变音符号有疑问。字符串中的每个字符都在Arial中,但ä在Calibri中。我真的不知道为什么。

有人可以帮助我吗?

这是我的代码:

        DocumentFormat.OpenXml.Wordprocessing.Run run = new DocumentFormat.OpenXml.Wordprocessing.Run();

        RunProperties runProp = new RunProperties(); // Create run properties.
        RunFonts runFont = new RunFonts();           // Create font
        runFont.Ascii = "Arial";                     // Specify font family

        runProp.Append(runFont);

        run.Append(runProp);
        run.Append(new Text("Kapazität"));

1 个答案:

答案 0 :(得分:2)

您需要指定HighAnsi对象的RunFonts属性。

runFont.HighAnsi = "Arial";

正如您所料,Ascii字体指定仅考虑ASCII字符(以及非常短的Unicode U + 0000-U + 007F)。变音字符在"扩展" unicode范围,HighAnsi负责大部分字符集。