作者zonble (zonble)
看板IME
标题[闲聊] 使用网页技术开发跨平台输入法
时间Wed Mar 18 15:09:55 2026
大家好:
这个版面似乎讨论比较少,来分享一下小弟最近的一些开源作品。这几年小弟利用一些网页相关技术,写了一些输入法软体,但由於程式比较独立,因此可以做到:
1. 可以在各种网页上执行:
输入法程式本身是独立的,可以嵌入到各种网页上。在大家的印象中,似乎觉得网页输入法可能没什麽用,毕竟输入法通常要配合编辑器与聊天等应用,但是有些设备偏偏有键盘,却缺少好用的键盘输入法,像是买台平板搭配九千多块的什麽巧控键盘,但是输入法做的一言难尽的那个产品,或是一些有键盘的电子书装置,这时候起码有个网页可以应急。
另外就是教学用途,有时候要教人使用输入法,或是有人想尝试一些新的输入法,还要额外安装系统软体,有点辛苦。
目前有以下三套输入法—
- 小麦注音输入法
https://openvanilla.github.io/McBopomofoWeb/
类似新注音、酷音、自然等,是一套自动选字的注音输入法
也支援倚天、许式等键盘排列
- 小麦他命输入法
https://openvanilla.github.io/McTabimWeb
支援仓颉、速成、大易、行列等,在许多平台上往往缺乏後面几种输入法
- 小麦族语输入法
https://openvanilla.github.io/McFoximWeb/
使用原住民语言研究发展基金会的表格,输入 42 种原住民语言
另外,有些使用情境可能特别适合网页输入法。比方说这几年自嗨发展了一系列注音字体,可以透过 Unicode Variant,挑选破音字要用哪套字体。如果要顺利使用这样的功能,要分别安装字体与输入法(输入法如果知道用户输入的是哪个音,就可以直接选择要用哪个 Variant),而网页上本来就有 Web font 技术,搭配网页输入法,就可以在同一个网页一次完成。
2. 支援 Chrome OS
台湾用 Chrome OS 的使用者可能较少,但因为 Chrome OS 的输入法是 Chrome Extension,使用 JavaScript 开发,所以这些网页输入法很容易移植到 Chrome OS 上,现在这些输入法也都在 Google Web Store 上架
- 小麦注音输入法
https://chromewebstore.google.com/detail/mcbopomofo/pkjjfjnlglfhgfaipoempeaghmpfakkg
- 小麦他命输入法
https://chromewebstore.google.com/detail/mctabim/fkmgjlpcofgddlpbjggglpnfgfeaibhg
- 小麦族语输入法
https://chromewebstore.google.com/detail/mcfoxim/oglljkfjpohndcffedmakligpffmeoih
现在一般的旧电脑,也可以安装 Chrome OS Flex,如果有比较顺手点的输入法,那就可以让老电脑复活,多延长一些寿命。
由於 Chrome OS 输入法,也是 Chrome Extension,所以在一般的 PC 上,也可以使用从输入法延伸出来的一些服务。像是在网页中,按下右键後,小麦注音可以帮你把选择的文字转成注音,甚至是点字—台湾的点字其实就是一套用点字表现注音的规则。
3. Windows
Windows 上有一套叫做 PIME 的输入法框架,也支援 JavaScript 输入法。小弟之前也将这些输入法提交给 PIME 团队,不过不确定 PIME 团队什麽时候会出新版本。
4. AI 时代的应用
这几套输入法的逻辑非常独立,不与特定平台绑死,所以也可以用来做一些有意思的应用。
比方说,过去要帮台湾盲人制作点字文件,做点字与国字之间的来回转换,往往是用人力来做,尤其是点字转回国字,其实是要先把点字转回注音(光是这个就比较没人在写),再把注音转成国字(等於是把一大堆注音用某种输入法打一次,但输入法往往跟作业系统绑很死,比较少能用在整批转换上)。但是在 AI 时代,应该有别的作法。
在 2026 年,其实大语言模型在国字与注音转换上,已经十分优秀,但大多都还欠缺注音与点字的转换逻辑,但小麦注音的逻辑可以拆出来成为 AI 可以使用的 MCP。就可以—AI 转注音,MCP 转点字,或反之,就可以完成让 AI 做点字转换的工作。
这些专案的程式都在 Github 上
https://github.com/openvanilla/
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.227.167.51 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/IME/M.1773817803.A.1A4.html