├── usage-Mac.png ├── operation-Mac.png ├── phrases-yanwenzi.ini ├── convertYanwenzi.py ├── LICENSE ├── README.md └── yanwenzi-raw-for-sogou.json /usage-Mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnowOnion/Adao-kaomoji-for-sogou-pinyin-input-method/HEAD/usage-Mac.png -------------------------------------------------------------------------------- /operation-Mac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnowOnion/Adao-kaomoji-for-sogou-pinyin-input-method/HEAD/operation-Mac.png -------------------------------------------------------------------------------- /phrases-yanwenzi.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SnowOnion/Adao-kaomoji-for-sogou-pinyin-input-method/HEAD/phrases-yanwenzi.ini -------------------------------------------------------------------------------- /convertYanwenzi.py: -------------------------------------------------------------------------------- 1 | # coding=utf8 2 | # python 3 3 | 4 | """ 5 | 用法: 6 | 把 yanwenzi-raw-for-sogou.json 文件放到当前 shell 工作目录;执行 python3 convertYanwenzi.py 7 | 8 | 注意: 9 | 1. 会覆盖 phrases-yanwenzi.ini 文件! 10 | 2. 输出的配置文件是 UTF-16 LE 编码的(因为搜狗拼音 Mac 版导出是这个编码;UTF-8 导入不认;这部分有问题请告诉我) 11 | 12 | 输入文件 yanwenzi-raw-for-sogou.json 的格式: 13 | (使用例暨 A 岛 87 颜文字 https://gist.github.com/SnowOnion/920a7f13a817b521fd292db6f8f8a953) 14 | { 15 | "edition":"raw-for-sogou", 16 | "version":"1.0", 17 | "hacfun":[ 18 | ["|∀゚","ha",1,"瞪眼全称嘴偷看"], # 颜文字,自定义短语字符串,排序位置,备注(不会转到自定义短语配置文件里) 19 | ... 20 | """ 21 | 22 | import json 23 | 24 | with open("yanwenzi-raw-for-sogou.json", mode="r", encoding="utf-8") as fin: 25 | json_str = fin.read() 26 | 27 | json_obj = json.loads(json_str, encoding="utf-8") 28 | kaomoji_entries = json_obj["hacfun"] 29 | 30 | with open("phrases-yanwenzi.ini", mode="w", encoding="utf-16 LE") as fout: 31 | for e in kaomoji_entries: 32 | fout.write("%s,%d=%s\r\n"%(e[1],e[2],e[0])) 33 | 34 | print("Convertion complete! See phrases-yanwenzi.ini") -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Adao-kaomoji-for-sogou-pinyin-input-method 2 | 3 | 1~3 步即可使用:\[略改 JSON 配置→]\[一键生成搜狗 `phrases.ini`→]在搜狗设置导入→开始像施放技能般输出颜文字 (^o^)ノ 4 | 5 | ![导入颜文字之后,搜狗拼音用起来的样子](usage-Mac.png) 6 | 7 | 本项目旨在 8 | 9 | 1. 提供使用电脑版搜狗拼音输入法快速输入 A 岛颜文字的方法; 10 | 2. 探索以颜文字为代表的快捷消息的管理方式、在各处的输入方法。 11 | 12 | 为此,我没有直接编辑搜狗拼音的自定义短语配置文件 `phrases.ini`,而是尝试在更结构化的数据(JSON)里,给 A 岛的 87 个颜文字命名(按我个人理解)、设置快捷短语(按我个人口味): 13 | 14 | ```json 15 | …… 16 | ["(つд⊂)","wulian",1,"捂脸;玩鸟"], 17 | ["(゚Д゚≡゚Д゚)","wtf",2,"左右摇头惊恐"], 18 | ["(^o^)ノ","hi",1,"^眼圆嘴右打招呼"], 19 | …… 20 | ["ヾ(´ω゚`)","bao",1,"不明眼猫嘴左抱抱"], 21 | ["(*´ω`*)","gg",1,"好想要哥哥们的小○○"], 22 | ["(・ω・)","omega",4,"猫嘴点点眼前看"], 23 | ["( ´・ω)","omega",5,"点点眼八字耳猫嘴右侧"], 24 | ["(`・ω)","omega",6,"点点眼反八字耳猫嘴右侧"], 25 | …… 26 | ``` 27 | 28 | 然后写了一个转换工具把它转换成 `phrases.ini` 的格式。我认为这有助于从目标 1 跨越到目标 2。 29 | 30 | ## 配置步骤 31 | 32 | 1. 生成自定义短语配置文件(也可以直接使用我提供的 `phrases-yanwenzi-导入搜狗前另存成UTF-16 LE编码.ini`): 33 | 1. (可选)编辑 `yanwenzi-raw-for-sogou.json`,以配置短语、在选词时的出现位置等; 34 | 2. 把 `yanwenzi-raw-for-sogou.json` 文件放到当前 shell 工作目录;执行 `python3 convertYanwenzi.py` 35 | 2. 在搜狗拼音的设置中,将现有的自定义短语导出,作为**备份**;清空现有的自定义短语;导入刚才生成的 `phrases-yanwenzi.ini` 36 | 1. 如果不清空直接导入,搜狗拼音会把新旧自定义短语合并起来……详细规则我未考察。 37 | 38 | 39 | 40 | Mac 版的配置位置和效果图: 41 | 42 | ![Mac 版的配置和效果](operation-Mac.png) 43 | 44 | ## TODO 45 | 46 | + 多输出目标 47 | + 微软拼音? 48 | + Rime 49 | + 成为颜文字界的 pandoc? 50 | + 一个颜文字对应多个自定义短语? 51 | + 描述文字拆成 tags(像 https://gelbooru.com )、颜文字标准化 ( ゚∀。)? 52 | 53 | ## 相关工作 54 | 55 | + JaHIY/yanwenzi.json A岛颜文字 56 | + 我从这里的 `yanwenzi.json` 出发做的修改。 57 | + https://gist.github.com/JaHIY/31b086b6b4326e86d15e 58 | + Adao-emoji-for-Google-Pinyin-Input 59 | + 生成可导入Google拼音输入法的A岛颜文字字典 60 | + https://github.com/WatcherOfTheWorld/Adao-emoji-for-Google-Pinyin-Input 61 | + iBus-Anthy顔文字 62 | + Mort's collection of everyday use kaomojis 63 | + https://github.com/soimort/anthy-kaomoji 64 | 65 | More: 66 | 67 | + [颜文字 搜狗 site:adnmb1.com](https://www.google.com/search?&q=%E9%A2%9C%E6%96%87%E5%AD%97+%E6%90%9C%E7%8B%97+site:adnmb1.com&ie=UTF-8&oe=UTF-8) 68 | + ad 前缀思路好!如 http://adnmb1.com/t/13882162 和 http://adnmb1.com/t/13572077 69 | + [颜文字 输入法 site:adnmb1.com](https://www.google.com/search?&q=%E9%A2%9C%E6%96%87%E5%AD%97+%E8%BE%93%E5%85%A5%E6%B3%95+site:adnmb1.com&ie=UTF-8&oe=UTF-8) 70 | 71 | -------------------------------------------------------------------------------- /yanwenzi-raw-for-sogou.json: -------------------------------------------------------------------------------- 1 | { 2 | "edition":"raw-for-sogou", 3 | "version":"1.0", 4 | "hacfun":[ 5 | ["|∀゚","ha",1,"瞪眼全称嘴偷看"], 6 | ["(´゚Д゚`)","wtf",1,"瞪眼D嘴;卧槽"], 7 | ["(;´Д`)","wa",1,"八字眼D嘴右看左落泪"], 8 | ["(`・ω・)","omega",1,"猫嘴右看"], 9 | ["(=゚ω゚)=","omega",2,"猫嘴右抱抱"], 10 | ["| ω・´)","omega",3,"猫嘴偷看"], 11 | ["|-` )","wu",1,"八字眼抿嘴偷看"], 12 | ["|д` )","wa",2,"八字眼D嘴偷看"], 13 | ["|ー` )","wu",2,"八字眼抿嘴偷看肥"], 14 | ["|∀` )","ha",2,"八字眼全称嘴偷看"], 15 | ["(つд⊂)","wulian",1,"捂脸;玩鸟"], 16 | ["(゚Д゚≡゚Д゚)","wtf",2,"左右摇头惊恐"], 17 | ["(^o^)ノ","hi",1,"^眼圆嘴右打招呼"], 18 | ["(|||゚Д゚)","chuan",1,"瞪眼D嘴川汗右看"], 19 | ["( ゚∀゚)","ha",3,"瞪眼全称嘴右看"], 20 | ["( ´∀`)","ha",4,"八字眼全称嘴右看"], 21 | ["(*´∀`)","ha",5,"八字眼全称嘴左脸红右看"], 22 | ["(*゚∇゚)","aha",1,"瞪眼梯度嘴左脸红右看"], 23 | ["(*゚ー゚)","wu",3,"瞪眼抿嘴左脸红右看"], 24 | ["( ゚ 3゚)","yu",1,"瞪眼嘟嘴右看"], 25 | ["( ´ー`)","wu",4,"八字眼抿嘴右看"], 26 | ["( ・_ゝ・)","dand",1,"点点眼淡定"], 27 | ["( ´_ゝ`)","dand",2,"八字眼淡定"], 28 | ["(*´д`)","wa",3,"八字眼D嘴左脸红"], 29 | ["(・ー・)","wu",5,"点点眼抿嘴前看"], 30 | ["(・∀・)","ha",6,"全称嘴点点眼前看"], 31 | ["(ゝ∀・)","eihei",1,"诶嘿"], 32 | ["(〃∀〃)","lianhong",1,"脸红"], 33 | ["(*゚∀゚*)","ha",7,"瞪眼全称嘴双脸红"], 34 | ["( ゚∀。)","pony",1,"pony"], 35 | ["( `д´)","heng",1,"哼;反八字眼D嘴右看"], 36 | ["(`ε´ )","yu",2,"反八字眼嘟嘴左看"], 37 | ["(`ヮ´ )","heng",2,"反八字眼wa嘴左看"], 38 | ["σ`∀´)","uccu",1,"反八字眼全称嘴右uccu"], 39 | [" ゚∀゚)σ","uccu",2,"瞪眼全称嘴右uccu;"], 40 | ["゚ ∀゚)ノ","hi",2,"瞪眼全称嘴右打招呼"], 41 | ["(╬゚д゚)","wtf",3,"瞪眼D嘴激怒十字右看"], 42 | ["(|||゚д゚)","wtf",4,"瞪眼D嘴川汗右看"], 43 | ["( ゚д゚)","wtf",5,"瞪眼D嘴右看"], 44 | ["Σ( ゚д゚)","wtf",6,"瞪眼D嘴左西格玛右看"], 45 | ["( ;゚д゚)","wtf",7,"瞪眼D嘴左落泪右看"], 46 | ["( ;´д`)","wa",4,"八字眼D嘴左落泪右看"], 47 | ["( д ) ゚ ゚","wtf",8,"瞪眼右飞D嘴"], 48 | ["( ☉д⊙)","wtf",9,"牛眼D嘴右看"], 49 | ["((( ゚д゚)))","wtf",10,"瞪眼D嘴右看肥波"], 50 | ["( ` ・´)","heng",3,"反八字眼点点嘴右看"], 51 | ["( ´д`)","wa",5,"八字眼D嘴右看"], 52 | ["( -д-)","wa",6,"一字眼D嘴右看"], 53 | ["(>д<)","shou",1,"首;目力;一个一个一个;哼哼啊啊啊"], 54 | ["・゚( ノд`゚)","wa",7,"瞪眼D嘴小手擦泪左眼左飞右看"], 55 | ["( TдT)","wa",8,"T眼D嘴哭哭"], 56 | ["( ̄∇ ̄)","aha",2,"一字眼梯度嘴前看"], 57 | ["( ̄3 ̄)","yu",3,"一字眼嘟嘴前看"], 58 | ["( ̄ー ̄)","wu",6,"一字眼抿嘴前看"], 59 | ["( ̄ .  ̄)","wu",7,"一字眼点点嘴前看"], 60 | ["( ̄皿 ̄)","rua",1,"一字眼皿嘴前看"], 61 | ["( ̄艸 ̄)","rua",2,"一字眼艸嘴前看"], 62 | ["( ̄︿ ̄)","wu",8,"一字眼噘嘴前看"], 63 | ["( ̄︶ ̄)","hei",1,"一字眼高微笑嘴前看"], 64 | ["ヾ(´ω゚`)","bao",1,"不明眼猫嘴左抱抱"], 65 | ["(*´ω`*)","gg",1,"好想要哥哥们的小○○"], 66 | ["(・ω・)","omega",4,"猫嘴点点眼前看"], 67 | ["( ´・ω)","omega",5,"点点眼八字耳猫嘴右侧"], 68 | ["(`・ω)","omega",6,"点点眼反八字耳猫嘴右侧"], 69 | ["(´・ω・`)","omega",7,"点点眼八字耳猫嘴前看"], 70 | ["(`・ω・´)","omega",8,"点点眼反八字耳猫嘴前看"], 71 | ["( `_っ´)","heng",4,"反八字眼抿嘴大鼻右看"], 72 | ["( `ー´)","heng",5,"反八字眼抿嘴右看"], 73 | ["( ´_っ`)","dand",3,"八字眼抿嘴大鼻"], 74 | ["( ´ρ`)","koushui",1,"口水"], 75 | ["( ゚ω゚)","omega",9,"瞪眼猫嘴右看"], 76 | ["(o゚ω゚o)","omega",10,"瞪眼猫嘴右看脸红"], 77 | ["( ^ω^)","yinyang",1,"阴阳"], 78 | ["(。◕∀◕。)","ha",8,"沙雕眼全称嘴"], 79 | ["/( ◕‿‿◕ )\\","qb",1,"qb"], 80 | ["ヾ(´ε`ヾ)","bao",2,"不明眼嘟嘴左抱抱"], 81 | ["(ノ゚∀゚)ノ","hurray",1,"瞪眼全称嘴双手庆祝"], 82 | ["(σ゚д゚)σ","uccu",3,"瞪眼D嘴右uccu"], 83 | ["(σ゚∀゚)σ","uccu",4,"瞪眼全称嘴右uccu"], 84 | ["|д゚ )","wtf",11,"瞪眼D嘴偷看"], 85 | ["┃電柱┃","dian",1,"电柱"], 86 | ["゚(つд`゚)","wa",9,"瞪眼D嘴大手擦泪左眼左飞右看"], 87 | ["゚Å゚ ) ","dingqiu",1,"鼻子顶个球"], 88 | ["⊂彡☆))д`)","da",1,"右打八字眼D嘴"], 89 | ["⊂彡☆))д´)","da",2,"右打反八字眼D嘴"], 90 | ["⊂彡☆))∀`)","da",3,"右打八字眼全称嘴"], 91 | ["(´∀((☆ミつ","da",4,"左打八字眼全称嘴"] 92 | ] 93 | } --------------------------------------------------------------------------------