Apache FOP 2.0:.ttf 到 .xml 的转换

Apache FOP 2.0: .ttf to .xml conversion

我正在尝试从 .ttf 获取 .xml 以便在 Apache FOP 中嵌入字体以进行 PDF/a 转换(PDF 转换可以在没有 .xml 的情况下工作) .你能帮我做这个转换吗?以下是我到目前为止尝试过的内容:

我发现几个网站解释说,转换应通过在 CLI 中输入以下行来完成,该 CLI 在包含我的 .ttf:

的目录中打开
java -cp PATH ; PATH\avalon-framework.jar org.apache.fop.fonts.apps.TTFReader arial.ttf arial.xml

使用 PATH 指向我的 fop.jar 的路径。 它没有用 return 我:错误:无法找到主要 class

所以我尝试使用 TTFReader:

     TTFReader read=new TTFReader();
     read.constructFontXML(read.loadTTF(chemin+"Fonts/ttf/arial.ttf", "Arial",true,true), "Arial", "Arial", "C:/Fonts/arial.ttf"  ,chemin+"Fonts/ttf/arial.ttf", true, "Arial");

但我没有理解所有需要输入的内容:

constructFontXML(TTFFile ttf,String fontName, String className, String resource, String file,boolean isCid, String ttcName)
loadTTF(String fileName, String fontName, boolean useKerning, boolean useAdvanced)

我不知道如何获取信息以正确设置布尔值,也不知道 ClassName 是什么以及 ressource 的用途是什么,因为 path 已经存在。我的代码给了我 .xml 但我认为它们无效。

lfurini 绕过了这个问题,因为我最终不需要那些 .xml 但这里有一些代码可以呈现 .xml 即使我怀疑它们的配置是否正确:

         String[] fonts={"Arial", "Courier", "Times New Roman"};
         String[] fontsR={"arial","courier","times"};
         String[] styles={""," Bold"," Italic"," Bold Italic"};
         String[] stylesR={"","bd","i","bi"};
         for (int i=0;i<fonts.length;i++){
             for (int j=0;j<styles.length;j++){
                 String nameFont=fonts[i]+styles[j];
                 String nameTTF=fontsR[i]+stylesR[j];
                 TTFReader read=new TTFReader();
                 Document document=read.constructFontXML(read.loadTTF(chemin+"Fonts/ttf/"+nameTTF+".ttf", nameFont,true,true), nameFont, fonts[i], "C:/Fonts/ttf/"+nameTTF+".ttf"  ,"C:/Fonts/ttf/"+nameTTF+".ttf", true, fonts[i]);
                 Transformer transformer = TransformerFactory.newInstance().newTransformer();
                 Result output = new StreamResult(new File(chemin+"Fonts/xml/"+nameTTF+".xml"));
                 Source input = new DOMSource(document);
                 transformer.transform(input, output);