使用WINGDING.ttf字体在画布上绘制文本在android上不起作用
当我使用自定义字体(基本上是图标ex:WINGDING.ttf)绘制文本时,使用drawText会显示所提供的简单文本 我采取了以下步骤: 1.已将字体文件添加到“资源”文件夹 2.使用添加的字体设置paint 3.用油漆画文本 为了绘制文本,我使用了相应的英文字符使用WINGDING.ttf字体在画布上绘制文本在android上不起作用,android,image,typeface,drawtext,Android,Image,Typeface,Drawtext,当我使用自定义字体(基本上是图标ex:WINGDING.ttf)绘制文本时,使用drawText会显示所提供的简单文本 我采取了以下步骤: 1.已将字体文件添加到“资源”文件夹 2.使用添加的字体设置paint 3.用油漆画文本 为了绘制文本,我使用了相应的英文字符 canvas.drawText("p",0,1, x, y, myPaint); 这在应用程序上显示为p如果您有资源/字体,请使用这种方式: private Paint myPaint= new Paint(Pain
canvas.drawText("p",0,1, x, y, myPaint);
这在应用程序上显示为p如果您有资源/字体,请使用这种方式:
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);
例如:
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);
}
}
我发现链接了这个字体转换器
我使用了无法呈现的.ttf字体,并再次将其转换为.ttf(将.ttf转换为.ttf),现在它可以工作了!我希望这有帮助 根据您的评论,我尝试了以下代码,但得到了相同的结果:类MyView扩展视图{Paint myPaint;公共MyView(上下文上下文){super(上下文);Typeface=Typeface.createFromAsset(getResources().getAssets(),“fonts/WINGDING.ttf”);myPaint=new Paint(Paint.ANTI_别名_标志);myPaint.setTypeface(face);myPaint.setTextSize(30);myPaint.setColor(Color.WHITE);}@Override protected void onDraw(画布画布){super.onDraw(画布);Canvas.drawText(“p”,50,50,myPaint);}}仍然相同的结果:文本“p”对应于WINGDING font中的某个字体图标,但它显示的是p pcode是否正确使用任何其他字体而不是WINGDING我尝试了以下字体:WAKER_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu.TTF->工作,WEBDINGS.TTF->,WINGDING.ttf->不起作用这些字体的一个区别是WAKER\uuuuuu。ttf应将p显示为p,但WEBDINGS.ttf&WINGDING.ttf应将p显示为图标文本我的问题是WEBDINGS.ttf应显示文本图标,表示字符的对应文本(例如:p),但它显示的字符与其相同。i、 e如果不使用图标字体,则在显示时使用默认字体,而不是使用自定义字体(WEBDINGS.TTF)字体始终适用于我