这是演示网站:
http://symbolsearch.org/
Summany网站:
列出字体,帮助用户支持的所有符号(带标签) 快速查找符号。
我坚持将符号(一个utf-16字符)复制到富文本编辑器(如MS Word)。
某些符号可以直接复制到Word(我的系统已经安装了字体),但有些符号不是(显示为另一个符号)。
例如我复制 asterisk
,plus
或question
到 MS Word ,显示为另一个角色,但如果我将bomb
,futbol
或git
复制到 MS Word ,则会按预期显示。
如果我将符号复制到原始文本编辑器(如记事本),并将其复制到Word中,100%按预期显示!
function copyText(id) {
// clipboard is an object, helping me to write data to clipboard
var dt = new clipboard.DT();
// element id='just_symbol' is contain only the symbol string
dt.setData("text/plain", $('#just_symbol').html());
// this data contain font info, the font is installed in the system
dt.setData("text/html", '<font face="@fontCurrent.FontName">' + $('#just_symbol').html() +'</font>');
clipboard.write(dt);
}
我正在使用剪贴板检查器,当我复制相同的数据形式字符映射(Windows)时,剪贴板检查器显示“富文本格式”字段,可以完美地将数据粘贴到Word。我可以将数据(通过javascript)复制到该字段吗?
答案 0 :(得分:0)
看起来你正在使用jQuery,它显然无法将表情符号/ Unicode符号转换为HTML实体。 $('#just_symbol').html()
保留以Unicode编码的符号。
由于其他网络API(例如XMLSerializer)似乎也无法处理此问题,因此我建议使用https://github.com/mathiasbynens/he之类的内容:
var symbol = $("#just_symbol").text();
var dt = new clipboard.DT();
dt.setData("text/plain", symbol);
dt.setData("text/html", he.encode(symbol));
clipboard.write(dt);
某些应用可能会自动将粘贴的HTML转换为RTF(尽最大可能),但浏览器目前仅支持text/plain
和text/html
。
新的Clipboard API规范将添加更多数据类型,但application/rtf
is currently not currently planned。您可以在草稿规格库中请求考虑RTF:https://github.com/w3c/clipboard-apis