Unicode库 - 在哪里找到一个(新焦点:XSL-FO中的Unicode)

时间:2013-07-22 20:10:42

标签: unicode xsl-fo

编辑:我不再要求使用Unicode库。不仅有一个被联系起来,而且原始问题不适合提问,如下所述。这个问题现在集中在如何在XSL-FO中实现unicode。

我现在的主要问题是实现unicode需要哪些步骤。我已经有了必要的unicode字符引用,但我知道也需要选择正确的'字体',并且我认为还需要采取其他步骤才能在我的XSL-FO文档中实现它。

2 个答案:

答案 0 :(得分:1)

“写外国字”是什么意思? XSL-FO文件只是一个XML文件,因此您可以使用任何Unicode引用来计算字符编号,然后使用XML数字字符引用来包含它。

例如,欧元符号€的Unicode十六进制是U + 20ac,因此在XML(XSL-FO)中将是€

答案 1 :(得分:0)

我遇到了同样的问题。 unicode字符的问题在FONET.DLL中是硬编码的。在课程TrueTypeFont中,方法MapCharacter写为:

public override ushort MapCharacter(char c) 
{
    if (c > Byte.MaxValue) 
        return (ushort) FirstChar;
    return mapping.MapCharacter(c);
}

因此任何值大于255的字符都将被“忽略”。我下载了源代码(来自https://fonet.codeplex.com/)并将方法修改为:

public override ushort MapCharacter(char c) 
{
    return mapping.MapCharacter(c);
}

在这个新方法中使用这个库,欧元符号神奇地变得可见!