我想在java applet中绘制包含在外来字体中的符号,例如Wingdings,Webdings(它们被称为dingbats:http://en.wikipedia.org/wiki/Dingbat)。当使用Graphics.drawString()时,我最终得到了绘制字符串中每个字符的典型“方形符号”。我通过谷歌搜索找不到任何答案,我想这不是常见的事情。
过去我用C#WPF做过,用SVG和HTML做不到。在java中可以吗?
编辑:解决了。有一个微妙的。即使你想要这种字体的符号链接到字符'a'
,实际上有必要将"\uF061"
传递给g.drawString()而不是{ {1}}。否则你最终得到方形符号。
答案 0 :(得分:3)
解决。即使你想要这种字体的符号链接到字符'a',实际上有必要将“\ uF061”传递给g.drawString()而不是“a”。否则你最终得到方形符号。
答案 1 :(得分:1)
将Font
添加到小程序的运行时类路径上的Jar(假设您有权分发它)。 I.E.将Jar的引用添加到archive
元素的applet
属性。通过(类似)访问它:
URL dingbatURL = this.getClass().getResource("/fonts/dingbat.ttf");
然后查看Font
方法的Font dingbatFont = Font.createFont(Font.PLAIN,dingbatURL.openStream());
方法。
Font
此后应该可以使用Graphics
实例中的{{1}}。