使用主字体和备用字体在Flying Saucer PDF生成器中

3

我在使用飞碟时遇到了问题,它无法为主字体中不存在的字形/字符使用辅助字体。

我为此使用的Java代码大致如下:

    String result = getPrintHtmlContent(urlString);
    result = CharacterConverter.replaceInvalidCharacters(result);

    ITextRenderer renderer = new ITextRenderer();
    renderer.getFontResolver();
    renderer.getFontResolver().addFont(FONTS_DIR_PATH + "ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    renderer.getFontResolver().addFont(FONTS_DIR_PATH + "droidsans/DroidSans.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    renderer.getFontResolver().addFont(FONTS_DIR_PATH + "droidsans/DroidSansBold.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

    renderer.setDocumentFromString(result, "http://" + frontendHost + ":" + frontendPort + frontendContextRoot);
    renderer.layout();

    renderer.createPDF(os);

还有CSS:

    body {
      font-family: "Droid Sans", "Arial Unicode MS";
    }

我已经使用@font-face规则在CSS中包含了字体。
我可以单独使用其中任意一种字体,因此似乎飞碟找到了字体或CSS渲染没有问题。
但是,如果我尝试同时使用两种字体,输出的PDF只使用了Droid Sans...
在飞碟中是否可以像网站上那样使用“备用字体”?
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接