我想用特殊的音乐符号来绘制文本。例如,像EADGBE、E#A#D#G#B#E# (锐度和大调)这样的调音名称应该是Unicode符号u266F和u266D。这个问题是一个非常大的空间左右的特殊符号。
我还发现,这不仅是尖锐和扁平的问题,也是其他一些音乐符号的问题。
代码和结果如下:
StringBuilder sb = new StringBuilder("ABCDEFG\n");
sb.append("\u266F\u266F\u266F\n");
sb.append("\u266D\u266D\u266D\n");
for (int j = 10; j < 16; j++) {
int charIndex = (2 * 16 * 16 * 16) + (6 * 16 * 16) + 6 * 16 + j;
Character ch = Character.valueOf((char) charIndex);
sb.append(ch);
}
我尝试使用另一种字体(例如,我下载了Helvetica和Helvetica Neue字体,将它们放在资源中,并将它们设置在TextView上),但没有什么变化: symbol左右都有很大的空间。
有没有办法解决这个问题?
发布于 2013-09-04 00:23:00
我想他们不是空格...我运行你的代码并在logcat上打印每个字符。我发现:在你的图像上只出现了4个符号,但logcat显示了6个,可能字体不支持这种符号。
09-03 09:14:42.092: D/asd-asdasd(7486): Test character: 9834 = ♪
09-03 09:14:42.092: D/asd-asdasd(7486): Test character: 9835 = ♫
09-03 09:14:42.092: D/asd-asdasd(7486): Test character: 9836 = ♬
09-03 09:14:42.092: D/asd-asdasd(7486): Test character: 9837 = ♭
09-03 09:14:42.092: D/asd-asdasd(7486): Test character: 9838 = ♮
09-03 09:14:42.092: D/asd-asdasd(7486): Test character: 9839 = ♯
https://stackoverflow.com/questions/18595672
复制相似问题