今天我们所做的配置,将实现扩展符号的输入效果,如下👇:
基础扩展符号的配置
要实现输入法能够输入扩展的符号,我们需要在输入方案中引入扩展符号集。
如果你使用的输入方案是 wubi_pinyin.schema.yaml
, 那么你需要在 用户文件夹 中修改 wubi_pinyin.custom.yaml
文档以加入符号集。
如果你使用的输入方案是 luna_pinyin.schema.yaml
, 那么你需要在 用户文件夹 中修改 luna_pinyin.custom.yaml
文档以加入符号集。
你应该明白,我的意思是你应该在你所使用的输入方案对应的 用户文件夹 下的 custom.yaml
文档内做修改。
什么? 用户文件夹 下没有对应的 custom.yaml
?没关系,没有就创建他,如下👇:
# 请先确认你在 **用户文件夹** 内哦
touch wubi_pinyin.custom.yaml
假如你已经找到并打开了对应输入方案的 custom.yaml
文档,请你在文档内的添加如下👇的修改/添加(注意节点位置):
# encoding:utf-8
patch:punctuator: # 设置标点符号集import_preset: symbols
完成上述修改/添加后,请保存你的 custom.yaml
文档,然后 重新部署 你的 Rime
输入法。
然后,你将可以通过 /
符号做为前缀来使用扩展符号了,如下👇
默认符号的遗憾
如上👆,我们可以看到在符号 /sb
(上标)的输入候选框内,上标 ⁰
对应的索引号是 1
, 上标 ¹
对应的索引号是 2
,而上标 ⁹
对应的索引号是 0
。也就是说,上标的号码与索引的号码是错位的。
不知道其它人的使用体验如何,就我个人而言,更希望上标 ⁰
对应的索引号是 0
,而上标 ¹
对应的索引号是 1
,其它上标 ²
~ 上标 ⁹
对应的索引号依次对应数字 2
~ 9
,如此在进行上标号输入时,就可以快速的进行选字了。
有人问,如果编号超过了 9
怎么办?确实,例如在甲子纪年中,60年一甲子,第 1
年是 甲子
年,第 9
年是 壬申
,这都可以和索引序号对齐,这都好理解。那第 10
年的 癸酉
年怎么和索引序号对应呢?
关于这个问题,我的解决方案是使用翻页次数来标示十位上的数值。这怎么理解呢?下面举个例子就明白了。例如我们表示第 10
年的 癸酉
年。我们可以把 10
里十位上的 1
看成需要翻页一次,而 10
里个位上的 0
表示候选项的索引序号,如此以来,则候先项 癸酉
的位置应该位于第二页(翻一次页)的索引序号 0
的位置。
照此逻辑,在干支纪年序列中,第 23
个年份的干支选项应该位于翻两次页后的索引序号为 3
的位置。这个位置应该是 丙戌
。
自定义符号选项
有了上面的符号与候选项之间的映射关系,我们很容易就有了需求,就是我们需要重新定义符号集,以使这些符号的出现位置与索引序号之间建立对应的关系。
symbols.custom.yaml
文档
我们要定制符号集,我们需要在 用户文件夹 下的 symbols.custom.yaml
文档内操作。如果你的 用户文件夹 下没有 symbols.custom.yaml
文档,请创建它。
# 请确认你已经在 **用户文件夹** 内
touch symbols.custom.yaml
patch
节点
显然,我们在 symbols.custom.yaml
文档内所做的定制内容,应该位于 patch
节点内。
/zt
状态
👇以下所定义的符号用于表示一组状态,可以通过 /zt
来进行输入:
patch:punctuator/symbols/+:"/zt": ["➖", "✔", "❌", "❓"]
/tj
推荐指数
👇以下所定义的符号用于表示一组推荐指数,可以通过 /tj
来进行输入:
patch:punctuator/symbols/+:"/tj": ["★☆☆☆☆", "★★☆☆☆", "★★★☆☆", "★★★★☆", "★★★★★", "None6", "None7", "None8", "None9", "☆☆☆☆☆"]
/jd
进度条
👇以下所定义的符号用于表示一组进度条,可以通过 /jd
来进行输入:
patch:punctuator/symbols/+:"/jd": ["▉▁▁▁▁", "▉▉▁▁▁", "▉▉▉▁▁", "▉▉▉▉▁", "▉▉▉▉▉", "None6", "None7", "None8", "None9", "▁▁▁▁▁"]
/dc
对错
👇以下所定义的符号用于表示一组对错符号,可以通过 /dc
来进行输入:
patch:punctuator/symbols/+:"/dc": ["☐", "☑", "☒", "✅", "❌", "✓", "✕", "✔", "✖", "✗", "✘"]
/lm
罗马数字
👇以下所定义的符号用于表示一组罗马数字,可以通过 /lm
来进行输入:
patch:punctuator/symbols/+:"/lm": ["ⅰ", "ⅱ", "ⅲ", "ⅳ", "ⅴ", "ⅵ", "ⅶ", "ⅷ", "ⅸ", "None", "ⅺ", "ⅻ", "ⅼ", "ⅽ", "ⅾ", "ⅿ", "17", "18", "19", "ⅹ"]
/lmd
罗马数字大写
👇以下所定义的符号用于表示一组罗马数字的大写符号,可以通过 /lmd
来进行输入:
patch:punctuator/symbols/+:"/lmd": ["Ⅰ", "Ⅱ", "Ⅲ", "Ⅳ", "Ⅴ", "Ⅵ", "Ⅶ", "Ⅷ", "Ⅸ", "None", "Ⅺ", "Ⅻ", "Ⅼ", "Ⅽ", "Ⅾ", "Ⅿ", "17", "18", "19", "Ⅹ"]
/szd
数字(带)点
👇以下所定义的符号用于表示一组还有点号的数字,可以通过 /szd
来进行输入:
patch:punctuator/symbols/+:"/szd": ["⒈", "⒉", "⒊", "⒋", "⒌", "⒍", "⒎", "⒏", "⒐", "None", "⒒", "⒓", "⒔", "⒕", "⒖", "⒗", "⒘", "⒙", "⒚", "⒑", "None11", "None12", "None13", "None14", "None15", "None16", "None17", "None18", "None19", "⒛"]
/szk
数字(带)括号
👇以下所定义的符号用于表示一组还有括号的数字,可以通过 /szk
来进行输入:
patch:punctuator/symbols/+:"/szk": ["⑴", "⑵", "⑶", "⑷", "⑸", "⑹", "⑺", "⑻", "⑼", "None", "⑾", "⑿", "⒀", "⒁", "⒂", "⒃", "⒄", "⒅", "⒆", "⑽", "None21", "None22", "None23", "None24", "None25", "None26", "None27", "None28", "None29", "⒇"]
/szm
数字(苏州码字)
👇以下所定义的符号用于表示一组苏州码字,可以通过 /szm
来进行输入:
patch:punctuator/symbols/+:"/szm": ["〡", "〢", "〣", "〤", "〥", "〦", "〧", "〨", "〩", "None", "None11", "None12", "None13", "None14", "None15", "None16", "None17", "None18", "None19", "〸", "None21", "None22", "None23", "None24", "None25", "None26", "None27", "None28", "None29", "〹", "None31", "None32", "None33", "None34", "None35", "None36", "None37", "None38", "None39", "〺"]
/szq
数字(带)圈
👇以下所定义的符号用于表示一组带圈的数字,可以通过 /szq
来进行输入:
patch:punctuator/symbols/+:"/szq": ["①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨", "⓪", "⑪", "⑫", "⑬", "⑭", "⑮", "⑯", "⑰", "⑱", "⑲", "⑩", "㉑", "㉒", "㉓", "㉔", "㉕", "㉖", "㉗", "㉘", "㉙", "⑳", "㉛", "㉜", "㉝", "㉞", "㉟", "㊱", "㊲", "㊳", "㊴", "㉚", "㊶", "㊷", "㊸", "㊹", "㊺", "㊻", "㊼", "㊽", "㊾", "㊵", "None51", "None52", "None53", "None54", "None55", "None56", "None57", "None58", "None59", "㊿"]
/szz
数字(中文)
👇以下所定义的符号用于表示一组中文数字,可以通过 /szz
来进行输入:
patch:punctuator/symbols/+:"/szz": ["壹", "貳", "叄", "肆", "伍", "陆", "柒", "捌", "玖", "零", "佰", "仟", "None13", "None14", "None15", "None16", "None17", "None18", "None19", "拾"]
/hzq
汉字(带)圈
👇以下所定义的符号用于表示一组带圈的汉字,可以通过 /hzq
来进行输入:
patch:punctuator/symbols/+:"/hzq": ["㊀", "㊁", "㊂", "㊃", "㊄", "㊅", "㊆", "㊇", "㊈", "㊊", "㊋", "㊌", "㊍", "㊎", "㊏", "㊐", "㊑", "㊒", "㊓", "㊉", "㊔", "㊕", "㊖", "㊗", "㊘", "㊙", "㊚", "㊛", "㊜", "㊝", "㊞", "㊟", "㊠", "㊡", "㊢", "㊣", "㊤", "㊥", "㊦", "㊧", "㊨", "㊩", "㊪", "㊫", "㊬", "㊭", "㊮", "㊯", "㊰", "㉄", "㉅", "㉆", "㉇"]
/hzk
汉字(带)括号
👇以下所定义的符号用于表示一组带括号的汉字,可以通过 /hzk
来进行输入:
patch:punctuator/symbols/+:"/hzk": ["㈠", "㈡", "㈢", "㈣", "㈤", "㈥", "㈦", "㈧", "㈨", "㈪", "㈫", "㈬", "㈭", "㈮", "㈯", "㈰", "㈱", "㈲", "㈳", "㈩", "㈴", "㈵", "㈶", "㈷", "㈸", "㈹", "㈺", "㈻", "㈼", "㈽", "㈾", "㈿", "㉀", "㉁", "㉂", "㉃"]
/fs
分数符号
👇以下所定义的符号用于表示一组分数符号,可以通过 /fs
来进行输入:
patch:punctuator/symbols/+:"/fs": ["⅒", "½", "⅓", "¼", "⅕", "⅙", "⅐", "⅛", "⅑", "⅟", "None21", "None22", "⅔", "None24", "⅖", "None26", "None27", "None28", "None29", "None20", "None31", "None32", "None33", "¾", "⅗", "None36", "None37", "⅜", "None39", "None30", "None41", "None42", "None43", "None44", "⅘", "None46", "None47", "None48", "None49", "None40", "None51", "None52", "None53", "None54", "None55", "⅚", "None57", "⅝", "None59", "None50", "None61", "None62", "None63", "None64", "None65", "None66", "None67", "None68", "None69", "None60", "None71", "None72", "None73", "None74", "None75", "None76", "None77", "⅞", "None79", "None70"]
/gz
干支
👇以下所定义的符号用于表示一组干支记数的序列,可以通过 /gz
来进行输入:
patch:punctuator/symbols/+:"/gz": ["甲子", "乙丑", "丙寅", "丁卯", "戊辰", "己巳", "庚午", "辛未", "壬申", "None", "甲戌", "乙亥", "丙子", "丁丑", "戊寅", "己卯", "庚辰", "辛巳", "壬午", "癸酉", "甲申", "乙酉", "丙戌", "丁亥", "戊子", "己丑", "庚寅", "辛卯", "壬辰", "癸未", "甲午", "乙未", "丙申", "丁酉", "戊戌", "己亥", "庚子", "辛丑", "壬寅", "癸巳", "甲辰", "乙巳", "丙午", "丁未", "戊申", "己酉", "庚戌", "辛亥", "壬子", "癸卯", "甲寅", "乙卯", "丙辰", "丁巳", "戊午", "己未", "庚申", "辛酉", "壬戌", "癸丑", "None61", "None62", "None63", "None64", "None65", "None66", "None67", "None68", "None69", "癸亥"]
/xzm
星座名
👇以下所定义的符号用于表示一组星座名,可以通过 /xzm
来进行输入:
patch:punctuator/symbols/+:"/xzm": ["白羊座", "金牛座", "双子座", "巨蟹座", "狮子座", "室女座", "天秤座", "天蝎座", "射手座", "摩羯座", "宝瓶座", "双鱼座"]
/sb
上标
👇以下所定义的符号用于表示一组上标符号,可以通过 /sb
来进行输入:
patch:punctuator/symbols/+:"/sb": ["¹", "²", "³", "⁴", "⁵", "⁶", "⁷", "⁸", "⁹", "⁰", "ᵀᴹᴰ", "˜", "⁺", "⁻", "⁼", "⁽", "⁾", "ᴬ", "ᵃ", "ᵄ", "ᵅ", "ᶛ", "ᴭ", "ᵆ", "ᴮ", "ᴯ", "ᵇ", "ᵝ", "ᶜ", "ᵓ", "ᶝ", "ᴰ", "ᵈ", "ᶞ", "ᵟ", "ᴱ", "ᵉ", "ᴲ", "ᵊ", "ᵋ", "ᶟ", "ᵌ", "ᶠ", "ᶡ", "ᶲ", "ᵠ", "ᴳ", "ᵍ", "ᶢ", "ˠ", "ᵞ", "ᴴ", "ʰ", "ᶣ", "ʱ", "ᴵ", "ⁱ", "ᶤ", "ᵎ", "ᶥ", "ᴶ", "ʲ", "ᶨ", "ᴷ", "ᵏ", "ᴸ", "ᶫ", "ˡ", "ᶩ", "ᶪ", "ᴹ", "ᵐ", "ᶬ", "ᵚ", "ᶭ", "ᴺ", "ᴻ", "ⁿ", "ᵑ", "ᶮ", "ᶯ", "ᴼ", "ᵒ", "ᶱ", "ᴽ", "ᴾ", "ᵖ", "ᴿ", "ʳ", "ʶ", "ʴ", "ʵ", "ˢ", "ᶴ", "ᶳ", "ᵀ", "ᵗ", "ᶵ", "ᶿ", "ᵁ", "ᵘ", "ᶶ", "ᶷ", "ᵙ", "ⱽ", "ᵛ", "ᶺ", "ᶹ", "ᵂ", "ʷ", "ˣ", "ᵡ", "ʸ", "ᶻ", "ᶾ", "ᶽ", "ᶼ"]
/xb
下标
👇以下所定义的符号用于表示一组下标符号,可以通过 /xb
来进行输入:
patch:punctuator/symbols/+:"/xb": ["₁", "₂", "₃", "₄", "₅", "₆", "₇", "₈", "₉", "₀", "₊", "₋", "₌", "₍", "₎", "‸", "ᴀ", "ₐ", "ᴁ", "ʙ", "ᴃ", "ᵦ", "ᴄ", "ᴐ", "ᴒ", "ᴅ", "ᴆ", "ᴇ", "ₑ", "ₔ", "ᵩ", "ɢ", "ʛ", "ᴦ", "ᵧ", "ʜ", "ₕ", "ɪ", "ᵻ", "ᵢ", "ᴊ", "ⱼ", "ᴋ", "ₖ", "ʟ", "ₗ", "ᴌ", "ᴧ", "ᴍ", "ₘ", "ꟺ", "ɴ", "ᴎ", "ₙ", "ᴏ", "ₒ", "ɶ", "ʘ", "ᴓ", "ᴑ", "ᴘ", "ₚ", "ᴨ", "ᴪ", "ʀ", "ᵣ", "ᴙ", "ʁ", "ᴚ", "ᵨ", "ₛ", "ᴛ", "ₜ", "ᴜ", "ᵤ", "ᵾ", "ᴠ", "ᵥ", "ᴡ", "ₓ", "ᵪ", "ʏ", "ᴢ", "ᴣ"]
/an
按钮
👇以下所定义的符号用于表示一组按钮符号,可以通过 /an
来进行输入:
patch:punctuator/symbols/+:"/an": ["🅰", "🆎", "🅱", "🆑", "🆒", "🆓", "ℹ", "🆔", "Ⓜ", "🆕", "🆖", "🅾", "🆗", "🅿", "🆘", "🆙", "🆚", "✅", "🈯", "💹", "❇️", "✳️", "❎", "🏧", "🚾", "♿", "🅿️", "🈳", "🈂️", "🛂", "🛃", "🛄", "🛅", "🚹", "🚺", "🚼", "🚻", "🚮", "🎦", "📶", "🈁", "🔣", "ℹ️", "🔤", "🔡", "🔠", "🆖", "🆗", "🆙", "🆒", "🆕", "🆓", "0️⃣", "1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "🔟", "🔢", "#️⃣", "*️⃣", "⏏️", "▶️", "⏸", "⏯", "⏹", "⏺", "⏭", "⏮", "⏩", "⏪", "⏫", "⏬", "◀️", "🔼", "🔽", "➡️", "⬅️", "⬆️", "⬇️", "↗️", "↘️", "↙️", "↖️", "↕️", "↔️", "↪️", "↩️", "⤴️", "⤵️", "🔀", "🔁", "🔂", "🔄", "🔃"]
/jq
节气
👇以下所定义的符号用于表示一组节气,可以通过 /jq
来进行输入:
patch:punctuator/symbols/+:"/jq": ["立春", "雨水", "惊蛰", "春分", "清明", "谷雨", "立夏", "小满", "芒种", "夏至", "小暑", "大暑", "立秋", "处暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至", "小寒", "大寒"]
/bs
部首
👇以下所定义的符号用于表示一组部首符号,可以通过 /bs
来进行输入:
patch:punctuator/symbols/+:"/bs": ["丨", "亅", "丿", "乛", "一", "乙", "丶", "乚", "十", "厂", "匚", "刂", "卜", "冂", "亻", "八", "人", "入", "勹", "儿", "匕", "几", "亠", "冫", "丷", "冖", "讠", "凵", "卩", "阝", "刀", "力", "又", "厶", "廴", "干", "艹", "屮", "彳", "巛", "川", "辶", "寸", "大", "飞", "彑", "工", "弓", "廾", "广", "己", "彐", "巾", "口", "马", "门", "宀", "女", "犭", "山", "彡", "尸", "饣", "士", "扌", "氵", "纟", "巳", "土", "囗", "兀", "夕", "小", "忄", "幺", "弋", "尢", "夂", "子", "贝", "比", "灬", "长", "车", "歹", "斗", "厄", "方", "风", "父", "戈", "卝", "户", "火", "旡", "见", "斤", "耂", "毛", "木", "牛", "牜", "爿", "片", "攴", "攵", "气", "欠", "犬", "日", "氏", "礻", "手", "殳", "水", "瓦", "王", "韦", "文", "无", "毋", "心", "穴", "牙", "爻", "曰", "月", "爫", "支", "止", "爪", "车", "白", "癶", "甘", "瓜", "禾", "钅", "立", "龙", "矛", "皿", "母", "目", "疒", "鸟", "皮", "生", "石", "矢", "示", "罒", "田", "玄", "疋", "业", "衤", "用", "玉", "臣", "虫", "而", "耳", "缶", "艮", "虍", "臼", "老", "耒", "米", "糸", "齐", "肉", "色", "舌", "糹", "网", "西", "覀", "行", "血", "羊", "页", "衣", "羽", "聿", "至", "舟", "竹", "自", "辰", "赤", "辵", "豆", "谷", "龟", "角", "里", "卤", "麦", "身", "豕", "辛", "言", "邑", "酉", "鱼", "豸", "走", "足", "采", "齿", "非", "阜", "金", "隶", "黾", "青", "鱼", "雨", "隹", "釒", "革", "骨", "鬼", "韭", "面", "食(飠)", "首", "香", "音", "髟", "高", "鬲", "黄", "鹿", "麻", "鼎", "黑", "黍", "鼓", "鼠", "裏", "鼻", "龠"]
半角标点符号
👇以下,定义一半角标点符号的候选项,当我们输入对应的标点时,输入法会根据我们的定义给我们提供更丰富的候选项。
patch:punctuator/full_shape/+:# 全角标点暂不做处理punctuator/half_shape/+:"@": "@""$": ["¥", "$"]"*": "*""{": "{""}": "}""[": ["[", "【","「", "╚", "└", "『", "╔", "┌", "╠"]"]": ["]", "】", "」", "╝", "┘", "』", "╗", "┐", "╣"]"|": "|""-": "-"_: ["_", "╩", "╦"]"\\": "、""/": ["/"]"%": "%""`": ["`", "```", "```python", "```bash", "```Python 3", "```C#", "```yaml"]"~": "~""=": "=""^": "……""#": ["#", "%23", "№", "╬"]
wubi_pinyin.custom.yaml
文档
以上👆所配置的 wubi_pinyin.custom.yaml
文档内的内容,你也可以直接下载 wubi_pinyin.custom.yaml
使用。
symbols.custom.yaml
文档
以上👆所配置的 symbols.custom.yaml
文档内的内容,你也可以直接下载 symbols.custom.yaml
使用。
小结
今天的分享,完成了 symbols.custom.yaml
的定制。根据你的需要,你可以调整和增加更丰富的符号集。