1

当我使用drawText使用自定义字体(基本上是图标ex:WINGDING.ttf)绘制文本时,会显示提供的简单文本。

我遵循的步骤: 1. 将字体文件添加到 Assets 文件夹 2. 使用添加的字体设置绘制 3. 使用绘制绘制文本

为了绘制文本,我使用了相应的英文字符

canvas.drawText("p",0,1, x, y, myPaint);

这在应用程序上显示为 p

4

2 回答 2

2

use this way if you have assets/fonts:

    private Paint    myPaint= new Paint(Paint.ANTI_ALIAS_FLAG);  
    private Typeface mFace; 
    mFace = Typeface.createFromAsset(getContext().getAssets(),"fonts/WINGDING.ttf");  
    myPaint.setTextSize(32);
    myPaint.setTypeface(mFace);
    canvas.drawText("test test",0,1, x, y, myPaint);
  //canvas.drawText("test test", 10, 200, myPaint);

example:

private static class MyView extends View   
    {  
private Paint    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);  
private Typeface mFace;  
public MyView(Context context)   
{  
super(context);   
mFace = Typeface.createFromAsset(getContext().getAssets(),"fonts/WINGDING.ttf");  
mPaint.setTextSize(32);  
}  
 @Override protected void onDraw(Canvas canvas)   
{   
mPaint.setTypeface(mFace);  
canvas.drawText("p p p p", 10, 200, mPaint);  
}  
} 
于 2012-04-28T04:58:03.477 回答
0

我发现这个链接这个字体转换器的SO帖子http://www.freefontconverter.com

我采用了无法渲染的 .ttf 字体并将其再次转换为 .ttf(因此将 .ttf 转换为 .ttf),现在它可以工作了!我希望这有帮助!

于 2016-01-26T04:46:42.247 回答