编译后修改OTF文件

时间:2014-05-27 09:36:47

标签: java javafx true-type-fonts apache-fop

这很奇怪,我确信我做错了什么,但我不知道是什么。

我在src / main / resources / report / fonts上有几个OTF文件。这些文件是正确的并且工作正常,但是当我编译应用程序时,它们被修改(文件的大小增加2倍)并且它们不再有效。

我正在使用Apache FOP,我收到以下错误:

2014-05-27 11:34:30,145 [JavaFX Application Thread] ERROR org.apache.fop.fonts.truetype.TTFFile - Dirtab head not found.
2014-05-27 11:34:30,145 [JavaFX Application Thread] ERROR org.apache.fop.fonts.truetype.TTFFile - Dirtab maxp not found.
2014-05-27 11:34:30,145 [JavaFX Application Thread] ERROR org.apache.fop.fonts.truetype.TTFFile - Dirtab hhea not found.
2014-05-27 11:34:30,145 [JavaFX Application Thread] ERROR org.apache.fop.fonts.truetype.TTFFile - Dirtab hmtx not found

现在,如果我,手动更改原始文件的字体,一切都像魅力一样。

有什么问题?我在同一个文件夹上有其他文件,但没有修改。

更新

这是我加载它的方式,但我不认为加载是问题,因为如果我更改原始文件的文件,它就可以工作。

fopFactory.getFontManager().setFontBaseURL(getClass().getClassLoader().getResource("report/").toString().replace(":/", ":///"))

1 个答案:

答案 0 :(得分:0)

原来这是一个maven问题。您必须选择要包含的文件的扩展名。我知道这一点,但我不记得我过去曾这样做过:

    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>**/*.otf</exclude>
                <exclude>**/*.ttf</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>false</filtering>
            <includes>
                <include>**/*.otf</include>
                <include>**/*.ttf</include>
            </includes>
        </resource>
    </resources>