Java Swing到iText,反之亦然字体均衡

Java Swing到iText,反之亦然字体均衡,java,swing,fonts,itext,Java,Swing,Fonts,Itext,所以我又问了一次这个问题,但这次有更多的信息 两种字体使用相同的*.tff文件。如果你需要,我会把它上传到某个地方,放在这里下载 这是我的Java Swing字体代码: static Font loadFont(String fontName, float size) { try { Font font = Font.createFont(Font.TRUETYPE_FONT, Utils.class.getResourceAsSt

所以我又问了一次这个问题,但这次有更多的信息

两种字体使用相同的*.tff文件。如果你需要,我会把它上传到某个地方,放在这里下载

这是我的Java Swing字体代码:

static Font loadFont(String fontName, float size)
    {
        try
        {
            Font font = Font.createFont(Font.TRUETYPE_FONT, Utils.class.getResourceAsStream(fontName+".ttf"));
            font = font.deriveFont(size);

            GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(font);

            return font;
        }

        catch (FontFormatException | IOException e)
        {
            //TODO error message
            return null;
        }
    }
我只是把它放在一个区域

这是我的iText字体代码:

public static BaseFont loadiTextFont(String fontName)
{
    try
    {           
        return BaseFont.createFont(Utils.class.getResource(fontName+".ttf").toString(), BaseFont.IDENTITY_H, false);
    }

    catch (DocumentException | IOException e)
    {
        //TODO error message
        return null;
    }
}
我只是在这一行中使用它:
PdfContentByte.setFontAndSize(字体,大小)

如果我希望Swing和iText的字体大小相等,我使用以下公式:

iTextFontSize=0.74*swingFontSize

这是一个像素单位dpi计算位的结果

这样做会使字体高度相等。但是,行长度不同,并且它们的差异不一致。有时摇摆行比下一行宽,有时正好相反

我知道宽度不是问题,我试着计算它应该是什么,它是什么,结果是匹配的

那么,还有什么能让字体彼此如此不同呢

如果有一个属性我可以更改,那么如果您向我展示了在swing或iText上更改它的代码,或者如果这是它的本质,那么这将是很好的(就像紧排一样,因为我必须在两种字体上都关闭它)


我相信Lowagie先生最清楚它可能是什么。

“我对两种字体使用相同的..tff文件。”它有多大(以字节为单位)?我叫它什么?为了更快地获得更好的帮助,请发布一个.811052字节。它叫calibri.ttf,但我不知道为什么它很重要。。。你不需要SSCCE。您有字体设置代码。如果你有一个想法,你认为会有帮助,告诉我什么改变或添加到代码,我会尝试它,并报告回来。。。有点像社区头脑风暴。。。我自己会做的,但我对字体不太熟悉。。