我想画这个音符:𝄞 (U+1D11E) 音乐符号 G 谱号String musicalNote = "\uD834\uDD1E" // UTF-16
canvas.drawText(musicalNote, pos.x, pos.y, paint);如果我将字符串 musicNote 输出到控制台,它将正确显示。但如果我将它绘制到画布上,它将绘制一个矩形。我使用的是android的默认字体,我也尝试了默认的等宽字体。难道是字体没有这个字符?或者我需要以不同的方式对其进行编码?
1 回答
白衣染霜花
TA贡献1796条经验 获得超10个赞
问题是字体不支持该字符。
可以测试字体是否有字符,如下所示:
String musicalNote = "\uD834\uDD1E" // UTF-16
paint.setTypeface(Typeface.DEFAULT); // default font
if (paint.hasGlyph(musicalNote)) {
// font has glyph
} else {
// font does not have glyph
}
添加回答
举报
0/150
提交
取消