Java 如何修复iText';s汉字的文本换行

Java 如何修复iText';s汉字的文本换行,java,localization,itext,Java,Localization,Itext,我正在转换文档以支持中文字符。但我得到了奇怪的文本包装结果。我正在加载带有以下代码的中文字体: BaseFont.createFont("MSung-Light", "UniCNS-UCS2-H", BaseFont.NOT_EMBEDDED); 但是,我得到了如下孤立的标点符号: 我已经尝试嵌入特定的中文字体,并使用不同的编码,如BaseFont.IDENTITY\H。我在让字符显示方面没有任何问题,但我找不到方法让它们正确包装 据我公司的语言专家说,这是不正常的,但我还没有找到任何资源告

我正在转换文档以支持中文字符。但我得到了奇怪的文本包装结果。我正在加载带有以下代码的中文字体:

BaseFont.createFont("MSung-Light", "UniCNS-UCS2-H", BaseFont.NOT_EMBEDDED);
但是,我得到了如下孤立的标点符号:

我已经尝试嵌入特定的中文字体,并使用不同的编码,如BaseFont.IDENTITY\H。我在让字符显示方面没有任何问题,但我找不到方法让它们正确包装

据我公司的语言专家说,这是不正常的,但我还没有找到任何资源告诉我如何纠正这一点

编辑
昨天,我发现变更日志表明iText 5中实现了文本包装修复。因此,我从5.2升级到5.4,但我仍然看到奇怪的包装。

包装由
SplitCharacter
接口的实现控制。据我所知,有一个
DefaultSplitCharacter
类从iText 5开始考虑了iText中的汉字。您正在使用哪个版本的iText?如果
DefaultSplitCharacter
不适用于您的文本,您可以随时提供自己的
SplitCharacter
实现。我昨天发现一个更改日志提到了这一点,所以我升级到了5.4。我想在那之前我跑的是5.2。不幸的是,它似乎并没有改变什么。但是谢谢你给我关于SplitCharacter的提示!