3

With a little help from this question, I was able to show font awesome icons in static SVG. But our app uses jQuery SVG, and it doesn't seem to be allowing SVG escape characters. Here's a demo showing both running side by side:

http://jsfiddle.net/scruffles/m6Z7Y/4/

<text x="30" y="30">&#xf040</text>

Renders as a pencil, but

svg.text(g, 30, 30, '&#xf040');

renders as &#xf040

4

3 回答 3

4

根据这个答案,您应该svg.text(g, 30, 30, '\uf040');改用。

http://jsfiddle.net/mblase75/m6Z7Y/6/

于 2013-08-29T15:55:53.297 回答
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

于 2014-06-04T08:14:46.083 回答
0

在 JavaScript 中,您可以在 JavaScript 源代码中使用原始 Unicode(复制/粘贴字符),或者在纯 ASCII JavaScript 代码中使用Unicode 转义序列,而不是使用实体:

svg.text(g, 30, 60, '');       // A unicode f040 character
svg.text(g, 30, 30, '\uf040');

演示:http: //jsfiddle.net/m6Z7Y/7/


另外,请注意 XML 实体以 & 开头并以分号结尾——<code>&…;——因此您需要在末尾使用分号来表示有效的 XML 标记:

<text x="30" y="30">&#xf040;</text>
于 2013-08-29T15:54:02.067 回答