android上的反别名字体是否正确?

时间:2011-06-14 04:35:16

标签: android text fonts antialiasing

有没有办法用视觉上令人愉悦的方式呈现带有自定义字体的文本(虽然我认为系统字体可能没有太大的不同)?

我在画布上渲染我的文字,使用我为其指定了自定义字体的颜料。

我发现远程与抗锯齿相关的唯一命令是绘画的“setAntiAlias”。但文字看起来仍然很可怕。几乎和photoshop中没有抗锯齿一样坏。

所以...有什么方法可以做到吗?

和... 因为这是一个游戏,位图字体是一个常见的替代方案,但由于我想要有适当的字母间距,我必须编写一个非常复杂的位图字体类来实现这一点。因为我还没有找到现有的。只有libgdx似乎包含一个。但是那个与图书馆紧密结合在一起,很多都需要修改。所以,如果这里的任何人知道一个不需要的东西 - 这也会有很大的帮助。

我的代码中的代码段作为参考,虽然它是如此基本且完美无缺,我认为它没有相关性:

    textPaint = new Paint();
    textPaint.setTextSize(size);
    textPaint.setAntiAlias(true);
    textPaint.setARGB(0xff, 0xff, 0xff, 0xff);
    textPaint.setTypeface(Typeface.createFromAsset(pView.getContext().getAssets(),
            "fonts/cordia.ttf"));
...
    canvas.drawText(text, (int)(dimension / 2 - textwidth / 2), 
              (int)(dimension / 2 - size / 2), textPaint);

1 个答案:

答案 0 :(得分:1)

您可以为Android构建freetype(http://freetype.org/)。它只对zlib有依赖性,结果字体非常好。大多数专利问题最近已经解决(专利已过期)。