Home

Awesome

<img src="https://user-images.githubusercontent.com/12215982/139462759-e6d8ebc6-180d-4d18-8c3c-68234f0ff1c0.png" width="150" />

五笔码表助手 for Rime

一个管理 Rime 五笔词库的工具 <br/> 该工具主要服务于 rime-wubi86-jidian 这个五笔方案

可添加、删除、批量导入外部词条、批量生成指定版本的五笔编码。<br/> 基于 electron 开发,支持 macOS Windows Ubuntu 多个平台 <br/> GitHub: https://github.com/KyleBing/wubi-dict-editor <br/>

有其它问题,欢迎加群讨论: 878750538

一、界面截图

主界面

<img width="1362" alt="Screenshot 2022-12-16 at 21 28 54" src="https://user-images.githubusercontent.com/12215982/208109387-5062a921-8eef-4063-9936-42762197d6c8.png">

其它码表工具 <img width="1000" alt="Screen Shot 2021-11-02 at 23 16 34" src="https://user-images.githubusercontent.com/12215982/139876204-aef77bb8-683b-4042-8ec1-f366641eaae5.png">

暗黑模式 <img width="1000" alt="Screen Shot 2021-11-02 at 23 17 27" src="https://user-images.githubusercontent.com/12215982/139876211-00e58bbc-9b49-43f0-83c2-8922109e0660.png">

配置界面 <img width="819" alt="Screen Shot 2021-12-14 at 23 53 11" src="https://user-images.githubusercontent.com/12215982/146032695-35857e96-bbf7-451a-924f-936e802adb86.png">

二、支持平台:

Windows, macOS, Ubuntu

三、处理速度

最多可处理 60万 条数据的码表

<img width="674" alt="Screen Shot 2021-12-03 at 23 27 08" src="https://user-images.githubusercontent.com/12215982/144628323-1fe72bb4-602a-4d50-a904-7df9d7685b16.png"> <img width="1463" alt="Screen Shot 2021-12-03 at 23 26 27" src="https://user-images.githubusercontent.com/12215982/144628297-be39d46f-e802-4204-a389-e3a935f61b81.png">

四、下载

> 去往下载页面 <

五、安装 & 启动

Windows

直接解压打开 .exe 文件即可

macOS

将 app 移到应用程序 Applications 文件夹即可

Ubuntu

打开下载解压好的 zip 包,指令执行包中的 五笔码表助手 程序即可

./五笔码表助手

六、关于同步

单个词库最大限制在 40000 字

  1. 请先前往 http://kylebing.cn/diary/ 注册账号
  2. 打开工具 <kbd>配置</kbd> 页面,在最下面<kbd>登录</kbd>即可
  3. 同步有三个按钮
    1. <kbd>本地 + 云:增量添加</kbd>:合并本地与线上的词库,并将最终的词库上传到线上
    2. <kbd>本地 → 云:覆盖云端</kbd>:将舍弃上线词库,用本地词库覆盖线上词库内容
    3. <kbd>本地 ← 云:覆盖本地</kbd>:将舍弃本地词库,用线上的词库覆盖本地词库内容

七、用到的技术

八、自己生成对应系统的可执行文件

由于我手头只有两种机器

所以我只能生成这两种平台的可执行文件。像 Ubuntu macOS(Intel) 就需要自己生成了,生成之后可以将最终的文件分享给我哦。

接下来说一下生成最终可执行文件的步骤:以 macOS(Intel) 系统为例

1. 前提:具备外网访问能力

你需要具备一个硬性条件:具有访问外网的能力。

原因: 在安装 electron 依赖的时候需要用到外网环境,国内网络是无法实现的,会提示网络超时。

2. 让 Terminal(终端) 可以访问外网

我们最终需要的是在终端中可以实现访问外网。

如果你是用的 v2rayU,将模式调整到 Global (全局代理) 模式即可,其它软件也是类似的操作,都将它调整至全局模式。但不要忘了当这一切结束之后调回来。

测试你的 terminal 是否可以访问外网,如果没有返回,就是不能访问外网

curl google.com

# 返回结果
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>

3. 安装 nodejs

nodejs 去这个网站下载,找到对应版本下载即可,下载 LTS 的版本即可。

https://nodejs.org/en/

安装完成之后,打开 terminal 输入以下指令测试是否已经安装完成

node -v

# 安装正常的返回结果,会是一个版本号,像这样:
v16.18.1

4. 下载该仓库内容

  1. 你可以直接从 github 下载打包好的 zip 包解压

    https://github.com/KyleBing/wubi-dict-editor/archive/refs/heads/master.zip

  2. 如果你会用 git, 也可以用 git 克隆到本地
    git clone https://github.com/KyleBing/wubi-dict-editor.git
    

5. 安装依赖

通过 terminal 进入到刚才已经下载或克隆的目录中 /wubi-dict-editor

此时你执行 ls -l 看到的应该是类似这样的

Kyle@Kyles-mbp wubi-dict-editor % ls -l
total 1256
-rw-r--r--    1 Kyle  staff    3318 Dec  2 22:06 CHANGELOG.md
-rw-r--r--    1 Kyle  staff   32453 Aug 11  2021 LICENSE
-rw-r--r--    1 Kyle  staff    9908 Dec  7 14:09 README.md
drwxr-xr-x    6 Kyle  staff     192 Nov 28 12:20 assets
drwxr-xr-x    9 Kyle  staff     288 Dec  3 19:11 js
-rw-r--r--    1 Kyle  staff   31138 Dec  3 19:11 main.js
-rw-r--r--    1 Kyle  staff  420973 Dec  2 19:51 package-lock.json
-rw-r--r--    1 Kyle  staff    1957 Dec  2 22:07 package.json
drwxr-xr-x    6 Kyle  staff     192 Nov 28 12:20 view
-rw-r--r--    1 Kyle  staff  131328 Dec  2 21:32 yarn.lock

执行以下指令,直到完成

npm i

6. 生出可执行文件

npm run make

# 结果
yarn run v1.22.10
$ electron-forge make
✔ Checking your system
✔ Loading configuration
✔ Resolving make targets
✔ Loading configuration
✔ Resolving make targets
  › Making for the following targets: dmg, zip
✔ Running package command
  ✔ Preparing to package application
  ✔ Running packaging hooks
    ✔ Running generateAssets hook
    ✔ Running prePackage hook
  ✔ Packaging application
    ✔ Packaging for arm64 on darwin [1s]
  ✔ Running postPackage hook
✔ Running preMake hook
✔ Making distributables
  ✔ Making a dmg distributable for darwin/arm64 [11s]
  ✔ Making a zip distributable for darwin/arm64 [6s]
✔ Running postMake hook
  › Artifacts available at: /Users/kyle/github/wubi-dict-editor/out/make
✨  Done in 21.54s.

执行完成之后,就会在当前目录中多出一个名为 /out 的目录,你生成的最终文件就在 /out/make 目录下,名为 五笔码表助手-1.1.6.dmg 差不多的名字。

直接打开这个文件就可以安装使用了。

九、生成任意版本的五笔码表

只要规则是跟86五笔一样的编码规则,都可以通过这个工具,生成现有词条的对应的码表。
也就是说,可以将现有词条的编码都转换成目标版本的五笔编码。
比如你要将现有 86 版本的词条都转换成 新世纪版本的:

  1. 打开【配置】,找到【8.选择参考码表】设置,选择你的原始的 新世纪版本的 Rime 码表文件,带有完整单字的码表。
  2. 重启软件。
  3. 找到你需要修改编码的码表,找到右侧工具按钮中的 【词组查错】。
  4. 此时会过滤出跟新世纪编码不同的词条,【全选】它。
  5. 点击右侧工具面板中的【纠正选中词条编码】,会将选中的词条编码都修改成新世纪的编码。
  6. 点击右侧工具面板中的【单字查错】,会显示当前码表中单字编码跟新世纪不同的字。
  7. 【全选】它,然后点击【纠正选中词条编码】,就能将能匹配到的单字修改过来,单字的匹配规则是这样的:
    • 工 a 匹配 工 a
    • 工 aa 匹配 工 aa
    • 如果有 工 aaa 但新世纪中没有 工 aaa 的对应,就会将这个词条的编码设置成 orz
    • 这样最后再筛选一下编码为 orz 的词条,将他们都删除就可以了。因为他们是在 新世纪单字码表中不存在的。

开发计划

进程截图记录:

https://github.com/KyleBing/wubi-dict-editor/discussions/11

纯工具模块

1. 词条

2. 主码表文件

3. 分组管理

4. 系统相关

5. 文件操作

6. 配置页面

7. 其它

8. 其它想法

部署指令

macOS

"/Library/Input Methods/Squirrel.app/Contents/MacOS/Squirrel" --reload

windows

cd C:\Program Files (x86)\Rime\weasel-0.14.3
WeaselDeployer.exe /deploy

解决的难题

  1. 查重并提取出所有重复的内容
  2. 词条根据词条编码判断插入位置
  3. 计算 unicode 字符串长度 .length 的问题

支持

感谢 JetBrains 提供的工具支持

JetBrains