Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java apache fop 2.2某些西里尔字符的错误呈现_Java_Pdf_Xsl Fo_Apache Fop - Fatal编程技术网

Java apache fop 2.2某些西里尔字符的错误呈现

Java apache fop 2.2某些西里尔字符的错误呈现,java,pdf,xsl-fo,apache-fop,Java,Pdf,Xsl Fo,Apache Fop,我遇到了一个我自己解决不了的问题。 我尽量简化源代码,下面是我的想法- 下面是主要代码(模板的代码) 我设法把这个例子做得更短: ИмяпсжираКУЛЬДЮШЕВАЯкудсвющийличньорбилетаСЧВыЭГ№ЖНФОРМАЦИЯ 原来问题是因为编码模式不正确 <font kerning="yes" embed-url="/arial.ttf" encoding-mode="single-byte"> <font-triplet name="Aria

我遇到了一个我自己解决不了的问题。 我尽量简化源代码,下面是我的想法-

下面是主要代码(模板的代码)

我设法把这个例子做得更短:

ИмяпсжираКУЛЬДЮШЕВАЯкудсвющийличньорбилетаСЧВыЭГ№ЖНФОРМАЦИЯ

原来问题是因为编码模式不正确

<font kerning="yes" embed-url="/arial.ttf" encoding-mode="single-byte">
    <font-triplet name="Arial" style="normal" weight="normal"/>
</font>

我应该使用cid而不是单字节,因为我嵌入了.ttf(TrueType),并且根据默认设置(我认为这意味着更好)选项是

“cid”表示Truetype,“单字节”表示类型1

Hovewer,我想这是库的一个缺陷,因为如果我想完全嵌入字体,我必须使用单字节模式

嵌入TrueType(ttf)或TrueType集合(ttc)时,一个子集 只包含使用的字形的原始字体的 输出文档。这是默认值,但如果指定 编码模式=“单字节”(见上文),完整字体为 嵌入式


听起来像是编码问题?要么是因为Java没有安装支持的字符集,要么就是因为Java没有安装支持的字符集。但是1)所有内容都是UTF-8格式的,嵌入的字体支持西里尔字符2)如果我添加或删除一些内容,所有内容都可以正常工作。1)我的意思是java运行时是否也将
nsl\u lang
环境变量设置为UTF8?尝试将这些字符打印到控制台中,并查看是否已编码。2) 你能更详细地阐述一下你所说的“添加或删除某些内容”是什么意思吗?2)例如,我可以从本文中删除一个字母Б,这样就可以正确地显示出ББФМММАБЯ”。>尝试将这些字符打印到控制台中,并查看是否已编码。一切都印得很好。
ИмяпсжираКУЛЬДЮШЕВАЯкудсвющийличньорбилетаСЧВыЭГ№ЖНФОРМАЦИЯ
<font kerning="yes" embed-url="/arial.ttf" encoding-mode="single-byte">
    <font-triplet name="Arial" style="normal" weight="normal"/>
</font>