eXist-db XSL-FO – 断字和设置

eXist-db XSL-FO – hyphenation and settings

我 运行 eXist 在无头虚拟 Ubuntu 服务器上。有趣的是 XSL-FO 模块 是默认启用的 ,可能是因为我在安装 eXist 之前已经将它安装在服务器上了。

我使用驻留在应用程序集合中的配置文件。有趣的是它使用(并且只允许)系统路径并且不可能使用集合中的资源(例如,我试图加载字体并从配置中指向它们但是没有用 - 我不得不将它用作那是我在没有 eXist 的情况下使用它的时候。一切正常,但连字符。没有 eXist,连字符也有效。

<fop version="1.0">
    <hyphenation-base>/home/honza/.fop/hyph</hyphenation-base>
    <hyphenation-pattern lang="cs" country="CZ">cs</hyphenation-pattern>
    <renderers>
        <renderer mime="application/pdf">
            <fonts>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinLibertine_Rah.ttf" embedding-mode="subset">
                    <font-triplet name="LinLibertine" style="normal" weight="normal"/>
                </font>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinLibertine_RIah.ttf" embedding-mode="subset">
                    <font-triplet name="LinLibertine" style="italic" weight="normal"/>
                </font>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinLibertine_RBah.ttf" embedding-mode="subset">
                    <font-triplet name="LinLibertine" style="normal" weight="bold"/>
                </font>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinLibertine_RBIah.ttf" embedding-mode="subset">
                    <font-triplet name="LinLibertine" style="italic" weight="bold"/>
                </font>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinBiolinum_Rah.ttf" embedding-mode="subset">
                    <font-triplet name="LinBiolinum" style="normal" weight="normal"/>
                </font>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinBiolinum_RIah.ttf" embedding-mode="subset">
                    <font-triplet name="LinBiolinum" style="italic" weight="normal"/>
                </font>
                <font kerning="yes" embed-url="/home/honza/.fonts/libertine/LinBiolinum_RBah.ttf" embedding-mode="subset">
                    <font-triplet name="LinBiolinum" style="normal" weight="bold"/>
                </font>
            </fonts>
        </renderer>
    </renderers>
</fop>

我知道 hyphenation-base 是正确的起点,但由于 eXist 的存在,我不知道是否应该以某种特殊方式设置它。

如果您从 eXist 中调用 FOP,则需要将连字符 jar (fop-hyph.jar) 与 fop.jar 一起存储在 $EXIST_HOME/extensions/modules/lib/ 中。那么您的 fop.conf 文件中根本不需要 <hyphenation-base> 属性 - <hyphenation-pattern> 就足够了。