其他分享
首页 > 其他分享> > android上的反别名字体是否正确?

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

作者:互联网

是否有任何方式使用自定义字体呈现文本(虽然我认为系统字体可能没有太大的不同)以一种视觉上令人愉悦的方式?

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

我发现远程与抗锯齿相关的唯一命令是油漆的“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);

解决方法:

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

标签:android,text,fonts,antialiasing
来源: https://codeday.me/bug/20190710/1419377.html