在this question的帮助下,我能够在静态SVG中显示字体真棒图标。但我们的应用程序使用jQuery SVG,它似乎不允许SVG转义字符。这是一个演示两个并排运行的演示:
http://jsfiddle.net/scruffles/m6Z7Y/4/
<text x="30" y="30"></text>
以铅笔形式呈现,但
svg.text(g, 30, 30, '');
呈现为&amp; #xf040
答案 0 :(得分:4)
根据this answer,您应该使用svg.text(g, 30, 30, '\uf040');
代替。
答案 1 :(得分:0)
在JavaScript中,您可以在JavaScript源代码中使用原始Unicode(copy/paste the character),也可以在纯ASCII JavaScript代码中使用Unicode escape sequence,而不是使用实体:
svg.text(g, 30, 60, ''); // A unicode f040 character
svg.text(g, 30, 30, '\uf040');
另请注意,XML实体以&符号开头,以分号结尾 - &…;
- 所以最后需要一个分号才能生成有效的XML标记:
<text x="30" y="30"></text>
答案 2 :(得分:0)
我生成了一个对象,其中Font Awesome名称和别名作为键,unicode字符作为值。这样你可以使事情更具可读性:
svg.text(g, 30, 60, FONT_AWESOME.pencil);
以下是完整列表:https://github.com/the-grid/the-graph/blob/master/the-graph/font-awesome-unicode-map.js