itext5:非英语连字符不起作用

问题描述

我正在使用itext5在Java中生成PDF。当我使用“ en” HyphenationAuto对象时,断字效果很好。 xml jar位于类路径上。在调试器中,对象为非空。

当我切换为使用“ qq”作为语言(废话代码)时,调试器中的断字对象为null,这与预期的一样,因为用于断字的xml jar没有名为qq.xml的文件

但是当我使用法语连字符代替英语连字符时,根本无法连字符。

当我切换为使用“ fr”作为语言时,如预期的那样,调试器中的连字符对象为 non-null ,这表明至少它是从底层jar中读取xml文件。但是在输出的PDF中不会出现连字符。

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

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

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

itext的核心代码很简单:

<link href="https://cdn.jsdelivr.net/npm/bootstrap-grid-only@1.0.0/bootstrap.css" rel="stylesheet"/>
<header>
      <a class="navbar-brand" href="#">expMirror</a>
      <nav>
        <ul class="linksList">
          <li><a href="#">Artists</a></li>
          <li><a href="#">Videos</a></li>
          <li><a href="#">Music</a></li>
          <li><a href="#">News</a></li>
          <li><a href="#">Shop</a></li>
          <li><a href="#">Subscribe</a></li>
        </ul>
      </nav>
      <a href="#" class="cta"><button>Contact</button></a>
    </header>
    <div class="container">
      

      <section id="artists">
        <div class="container">
          <div class="row d-flex flex-wrap align-items-center align-self-center">
            <div class="col-xs-6 col-sm-7 col-md-6 col-lg-7">
              <h1>Welcome</h1>
              <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum voluptates perspiciatis quam harum temporibus labore dolorem ullam nulla cum praesentium? Itaque dolor ipsam aliquid maxime quis,expedita SAEpe optio harum?</p>
              <p class="mt-3"><a href="#">See more...</a></p>
            </div>
          </div>
        </div>
      </section>
    </div>

解决方法

对我来说,解决方法是获取较新版本的罐子。

我从5.1.0升级到5.1.1。

我从here下载了5.1.1 jar。

也许我的5.1.0 jar版本已损坏。