繁体   English   中英

itext5:非英语断字不起作用

[英]itext5: non-English hyphenation not working

我正在使用 itext5 在 java 中生成 PDF。 当我使用“en” HyphenationAuto 对象时,连字符工作正常。 xml jar 位于类路径上。 在调试器中,对象是非空的。

当我切换到使用“qq”作为语言(无意义代码)时,调试器中的连字符对象为空,正如预期的那样,因为连字符的 xml jar 没有名为 qq.xml 的文件。

但是当我使用法语连字符而不是英语连字符时,它根本无法连字符。

当我切换到使用 'fr' 作为语言时,调试器中的断字对象是非 null ,正如预期的那样,表明至少它正在从底层 jar 读取 xml 文件。 但是在输出 PDF 中没有出现断字。

这表明输入文本数据有问题,但我看不出任何问题。 文本数据中没有不间断空格。

更改我的 JRE 的默认语言环境无效。

当我在法语文本中使用“en”连字符时,在换行符处有连字符,但应用了错误的规则(并显示)。 这表明法文文本没有根本问题。

核心itext代码很简单:

private static final HyphenationEvent hyphen = new HyphenationAuto("en", "GB", 2, 2);
//...
Paragraph para = new Paragraph();
para.setAlignment(Element.ALIGN_JUSTIFIED); 
para.setHyphenation(hyphen);
Chunk chunk = new Chunk(paragraphText);
para.add(chunk);
doc.add(para);

对我来说,解决方法是获得更新版本的 jar。

我从 5.1.0 升级到 5.1.1。

我从这里下载了 5.1.1 jar。

也许我有一个损坏的 5.1.0 jar 版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM