【问题标题】:itext5: non-English hyphenation not workingitext5:非英语连字符不起作用
【发布时间】:2020-11-03 22:38:08
【问题描述】:

我正在使用 itext5 在 java 中生成 PDF。当我使用 'en' HyphenationAuto 对象时,断字效果很好。 xml jar 在类路径上。在调试器中,对象是非空的。

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

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

当我切换到使用“fr”作为语言时,调试器中的连字符对象是 non-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);

【问题讨论】:

    标签: java itext hyphenation french


    【解决方案1】:

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

    我从 5.1.0 升级到 5.1.1。

    我从here下载了5.1.1 jar。

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

    【讨论】:

      猜你喜欢
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多