微软拼音Emoji输入优化
2021年6月23日大约 2 分钟
广为人知的Windows拼音输入技巧
- u模式输入
- v模式输入
win
+;
调出emoji面板
存在的问题
Emoji 搜索仅存在于美式键盘输入模式下。中文(简体,中国)输入环境是没办法进行Emoji搜索的。 对比如图
拼音输入法中也存在Emoji语义化。比如输入qu'kuan'ji
是能看到🏧(ATM)的。但是像😸就很难想到对应中文。来回切换中英输入环境也有些麻烦,所以考虑把通用的Emoji加入拼音输入法当作单词输入。对熟悉表情符号简码(:emoji: syntax)的用户来说是很方便的。
准备
先找一份Emoji语义对照表,我选择了node-emoji里的emoji.json文件。
代码:导出为Emoji字典
const emoji = require("./emoji.json");
const fs = require("fs");
var content = "";
var position = 5; //候选位置,依个人喜好调整
for (let key of Object.keys(emoji)) {
//去除太短的、太长、不常用、无语义、纯数字
if (
key.length < 3 ||
key.length > 20 ||
/^\d+$/.test(key) ||
/flag-|^u|^(wo)?man|^(fe)?male|skin|blond|^clock|\+|\-|^v/.test(key)
)
continue;
value = emoji[key];
key = key.replace(/(-|_)([a-z])/g, (g) => "'" + g[1]);
key = key.replace(/\d/g, ""); //去除数字
content += `${key},${value},${position}\n`;
}
fs.writeFileSync("emoji_dict.txt", content);
运行后得到emoji_dict.txt
coffee,☕,5
sparkles,✨,5
grey'question,❔,5
....
字典转换
由于Win10输入法的导入格式并不是明文的,刚刚得到的自定义字典必须再经过一个步骤才行。
借助开源工具深蓝词库转换能很方便地转换成不同输入法的用户自定义词库。
设置自定义输入,词语之间'
分割,参数之间用,
分割。

尝试😋
