基于Android FontType在纯Java中查找确切的Fonttype

时间:2016-12-22 13:06:42

标签: java android fonts

我需要在Android和纯Java中测量特定字体中文本的大小,并且它需要具有完全相同的大小。我知道如何在Android和Java中测量字体大小,但我已经意识到,这些措施是不同的。

显示问题的代码:

Android中的

我的大小为35.0 / 10.0

    paint.setTypeface(Typeface.SANS_SERIF);

    Rect bounds = new Rect();
    paint.getTextBounds("L y d i a n", 0, sText.length(), bounds);
    float textwidth = bounds.width();   //35.0
    float textheight = bounds.height(); //10.0

在纯Java中,我的大小为34.0 / 10.0

float textwidth = getTextWidth("L y d i a n", (int)fTextSize, "Sans");      //34.0
float textheight = getTextHeight("L y d i a n", (int)fTextSize, "Sans");    //10.0


public float getTextWidth(String text, int FontSize, String Fonttype){
    AffineTransform affinetransform = new AffineTransform();     
    FontRenderContext frc = new FontRenderContext(affinetransform,true,true);     
    Font font = new Font(Fonttype, Font.PLAIN, FontSize);
    int textwidth = (int)(font.getStringBounds(text, frc).getWidth());
    return textwidth;
}

我正在测试平板电脑上的Android Code Snippet和我计算机上的JAVA AWT Snippet Code。

我确信我没有处理相同的字体,但我无法看到问题。是" sans"在Java中与Android中的SANS_SERIF相同?我希望有人看到衡量标准差异的原因。

有人可以帮忙吗?

0 个答案:

没有答案