mirror of
https://github.com/qingjian-team/qingjian.git
synced 2026-11-06 16:13:55 +00:00
功能越加越多,原来按早期设置页搭的结构塞不下:几个大页(按键、拼音方案、主题)越写越长,同一功能散在几页。 现在分为开始使用、打字、学语言、个性化、AI 服务、各平台、隐私与帮助、进阶八组,一个功能只在一页讲全,别处一句话加链接。 配置键名、文件路径、文件格式只放进阶组,其他页只写「设置 → 某页 → 某项」,面向普通用户不出现实现词。 设置程序的 ⓘ 链接表、各 README、issue 模板与代码注释里指向旧页面的链接一并改到新地址。
6.0 KiB
6.0 KiB
title, order, description
| title | order | description |
|---|---|---|
| 自制方案与码表 | 4 | 自己写双拼方案、形码方案与辅码方案,以及辅码码表的文件格式。macOS 与 Windows 支持。 |
自制方案放在数据文件夹的 schemes 文件夹里,每个方案一个子文件夹,文件夹名就是方案的标识:只能用小写字母、数字、- 与 _,不能与内置方案的写法(如 xiaohe、pinyin)重名。
子文件夹里必须有一个 scheme.toml,没有它的文件夹不算方案。以下几项各种方案通用,都可省略,分享方案时写上,别人知道是谁的、能不能再分发:
name = "我的方案" # 设置与状态条里显示的名字,省略时用文件夹名
author = "某某"
version = "1.0"
description = "一两句话说这套方案是什么"
license = "CC-BY-4.0"
macOS 与 Windows 支持,Linux 暂不支持。
自制双拼方案
scheme.toml 里写:
type = "shuangpin" # 必须写,表示这是双拼方案
name = "我的小鹤"
base = "xiaohe" # 拿哪套内置方案当底子,只写要改的键;省略时从空白开始
[finals] # 韵母键:键 = 韵母,一个键放几个韵母时写成列表
k = "uai"
";" = "ing" # ; 要加引号
[initials] # 翘舌声母:键 = zh / ch / sh
v = "zh"
[zero] # 零声母:音节 = 两键写法,几种写法时写成列表,第一种是主写法
ang = ["ah", "ag"]
base可以是xiaohe(小鹤)、ziranma(自然码)、microsoft(微软)、sogou(搜狗)、abc(智能ABC)、xiaolang(小浪)、shoudao(首道)、jiajia(拼音加加)、ziguang(紫光)。- 三张表都按「键」(零声母按音节)整条替换底子里的那一条。要把一个韵母挪到别的键,原来那个键也要重写,否则两个键都能打出它;写成空的(
k = "")就是撤掉这个键上的韵母。 - 声母键只放 zh、ch、sh,其余声母就是字母本身,所以不能放在 b、p、m 这类本身就是声母的键上。
;只能当韵母键(第二个键),和微软双拼的 ing 一样:前面有落单的声母时它是拼音,否则仍是标点。- 写错了(键不是字母、韵母不存在、零声母写法不是两个键)的方案不会出现在设置里;有音节打不出来时照样能用,运行日志里会列出是哪些。
放好之后切回设置窗口,在「设置 → 输入 → 拼音」里选它,内置双拼排在前面、自己的方案紧随其后。模糊音、「输入框显示按键」、键位提示与内置双拼一样可用。
自制形码方案
schemes/
└── huma/
├── scheme.toml (方案说明,必须有)
└── table.tsv (码表)
码表是纯文本,每行「词、编码、词频」,以 Tab 分隔,词频可省略;# 开头的行是注释:
一 ggll 90000
开发 gant 900
- 编码只能是英文字母,不区分大小写;编码里有其他符号的行会被跳过。
- 词组的编码需在码表里写全,青简不会由单字编码推出词组编码。
- 满码长度按码表里最常见的编码长度算(五笔是 4),个别更长的编码不影响。
scheme.toml 里除了通用的几项,还可以写:
table = "table.tsv" # 码表文件名,省略时为 table.tsv
auto_commit = true # 满码唯一自动上屏的缺省值,省略时为开
top = true # 顶字的缺省值,省略时为开
code_length = 4 # 满码几个字母,省略时按码表里最常见的编码长度
auto_commit 与 top 只是缺省值,在设置里改过的以设置为准。空的 scheme.toml 也行。
放好之后重新打开设置,在「设置 → 输入 → 形码」里选它。文件夹名为 wubi86 的方案会替换随包的五笔,可以用来换一份五笔码表。
只想加几个自己的词,不用换码表,见 导入五笔词库。
辅码码表
从「设置 → 输入 → 码表 → 导入码表」导入的码表,最小的一份 my.dict.yaml(正文每行是「词、Tab、码」):
---
name: 我的码表
version: "1"
...
开发 kf
开放 kf
鹤 hn
- 码只用小写字母 a–z;同一个词写多行就有多条码,码列里也可用空格分隔多个码。
- 头部
---到...之间可写name(码表列表里显示的名字)、version、columns列名与import_tables合表;没有头、直接每行「词、Tab、码」的纯文本也接受。 - 第三方码表(如小鹤形)由用户从其官方渠道取得,按上述格式整理后导入。
自制辅码方案
导入的码表只认码表里写了的词。很多辅码码表只收单字,想让词也能筛,就把它做成方案:
schemes/
shouyou/
scheme.toml
table.tsv
type = "aux" # 必须写
name = "我的首右"
table = "table.tsv" # 可省略,缺省 table.tsv;也可以是 .dict.yaml 或导入过的 .qj
[words]
2 = "AaBa" # 两字词:每个字各取第一码
3 = "AaBaCa"
4 = "AaBaCaZa" # 四字及更长:前三字与最后一字各取第一码
[words]是词码规则:码表里没有这个词时,按词长挑一条规则,从每个字的码里拼出词的码;最长的那条也管更长的词。码表里写了的词仍用自己的码。- 规则里大写字母选字:
A是第一个字、B第二个……Z是最后一个字、Y倒数第二个;小写字母选这个字码里的第几个字母,a第一个、z最后一个。与 Rime 的写法一致。 - 字有几条码时,词按各种组合都算,敲哪一条都能筛到。
- 不写
[words]就和导入的码表一样,只认码表里写了的词。
方案和导入的码表一起列在「码表」组里,在「辅码方案」里选它才生效;不用了直接删掉文件夹。改了方案文件,输入法过一两秒自动重读。