要点: * 需要在pdf上显示€符号 *
我正在使用.Net framework(4.0)的XslCompiledTransform
类来执行XSLT。 XSL上使用的字体系列是Times New Roman。我正在使用FO.Net作为我的XSL-FO处理器。
我正在尝试显示作为输入XML一部分的欧元符号(€)。但是,我的输出pdf显示€
而不是€符号。
<CurrencySymbol>
€
</CurrencySymbol>
我的XSL文件的一些相关部分是:
<?xml version="1.0" encoding="iso-8859-15"?>
我已尝试使用€
和€
,但如果我使用这些,则根本不会显示任何内容。
例如:<xsl:value-of select="'€'"/>
感谢您的帮助和时间!如果需要任何其他信息,请告诉我。
答案 0 :(得分:0)
我遇到了同样的问题。问题是在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);
}
在这个新方法中使用这个库,欧元符号神奇地变得可见!