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

Unicode库-在哪里可以找到(新焦点:XSL-FO中的Unicode),unicode,xsl-fo,Unicode,Xsl Fo,编辑:我不再要求Unicode库。不仅有一个问题被联系在一起,而且原始问题也不适合提出,如下所述。这个问题现在集中在如何在XSL-FO中实现unicode上 我现在的主要问题是实现unicode需要哪些步骤。我已经有了必要的unicode字符引用,但我知道也需要选择适当的“字体”,并且我相信为了在我的XSL-FO文档中实现它,还需要采取其他步骤 你说的“写外文”是什么意思?XSL-FO文件只是一个XML文件,因此您可以使用任何Unicode引用来计算字符号,然后使用XML数字字符引用来包含它 例

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

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

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


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

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

public override ushort MapCharacter(char c) 
{
    if (c > Byte.MaxValue) 
        return (ushort) FirstChar;
    return mapping.MapCharacter(c);
}
因此,任何值大于255的字符都将被“忽略”。我下载了源代码(从),并将该方法修改为:

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

用这种新方法使用这个库,欧元符号神奇地变为可见

正如我在上面的编辑中所说,我特别尝试将我的wordml文件更改为带有XSL Fo代码的pdf文件。因此,如果我理解正确,wordML中的Unicode应该与XSL-FO兼容?此外,就找到一个像样的Unicode库而言……我在这样的努力中基本上没有运气。能够使用我的旧文件作为参考对我来说是件好事,但不能解决在哪里为其他人找到好的库这一更大的问题。Unicode是标准化的,XML是基于Unicode的。如果您的wordML使用UTF-8或UTF-16,而不是Windows自定义编码,则Unicode是Unicode。如果您正在使用一种自定义编码,例如Windows-1252,那么您的问题是不正确的,因为没有使用Unicode。但是如果您使用的是UTF-8或UTF-16,那么Unicode字符和编码与XSL-FO中使用的相同。无论如何,如果XSLT处理器支持Windows-1252,那么转换应该很简单。你说的“图书馆”是什么意思?代码库?做什么用的库?这里是一个Unicode库(或者更确切地说,一组库):。这是你想要的吗?这个问题不适合StackOverflow。谷歌和必应都擅长在网络上搜索东西,并返回搜索结果的链接。因此,这不是一个链接收集或转介服务。这里有一些解释原因的帖子,我为这个不恰当的问题道歉。我不知道那条规则/推理。我将编辑此问题以使其更适合讨论。@user2188082,您不应试图使问题“适合讨论”。所以这不是一个讨论论坛,而是一个问答网站。请试着问一些可以根据事实和参考资料回答的具体问题。到底是什么问题?你试过什么?你被困在哪里了?好吧,这可能归结为字体问题。那么请告诉我们你试过什么。提供详细信息。我(或其他任何人)如何重现这个问题?你用什么处理器?