Skip to content

Commit

Permalink
更新美术设计
Browse files Browse the repository at this point in the history
  • Loading branch information
forFudan committed May 9, 2023
1 parent f8189ec commit 4e1cc54
Show file tree
Hide file tree
Showing 11 changed files with 437 additions and 250 deletions.
28 changes: 25 additions & 3 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
title: 宇浩输入法
description: ·繁简通打·极致低重·全汉字输入
title: 宇浩输入法·繁简通
description: 繁简通打·极致低重·全汉字输入
theme: just-the-docs

url: https://zhuyuhao.com/yuhao/
Expand All @@ -19,4 +19,26 @@ nav_external_links:
url: https://apps.apple.com/us/app/%E4%BB%93%E8%BE%93%E5%85%A5%E6%B3%95/id6446617683
hide_icon: false # set to true to hide the external link icon - defaults to false

markdown: kramdown
# markdown: kramdown

kramdown:
syntax_highlighter_opts:
block:
line_numbers: false

callouts_level: quiet # or loud
callouts:
highlight:
color: yellow
important:
title: Important
color: blue
example:
title: Example
color: green
note:
title: Note
color: purple
warning:
title: Warning
color: red
11 changes: 11 additions & 0 deletions docs/articles/articles.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
layout: default
title: 相关研究文章
nav_order: 51
has_children: true
---

<!-- omit in toc -->
# 相关研究文章

这里呈现一些同宇浩输入法相关的研究文章。
32 changes: 21 additions & 11 deletions docs/discussion.md → docs/articles/discussion.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
---
title: 設計哲學
title: 宇浩輸入法設計哲學
layout: default
nav_order: 31
parent: 相关研究文章
---

<!-- omit in toc -->
# 宇浩輸入法設計哲學
{: .no_toc }

## 1. 初衷
<details open markdown="block">
<summary>
目录
</summary>
{: .text-delta }
1. TOC
{:toc}
</details>

## 初衷

2021年底,我开始用中國大陸《古籍通規》標準的繁體字創作一部長篇小説。小説中有大量的文言段落、文白夾雜的對話,以及詩詞。因此,我發現重碼太高的拼音輸入法無法滿足我的需求。我急需一款能够具有高度確定性的輸入法。

Expand Down Expand Up @@ -44,11 +54,11 @@ nav_order: 31
- 宇浩输入法部分借鉴了徐码的首根小码后置(回头码)的特点,但徐码的副根字无论在任何情况下都要回头,这等同于在输入单字的时候一直判断取三根还是四根,容易出错。宇浩输入法只有在编码不足四码(双根字)的情况下才需要补上首根小码。
- 宇浩输入法使用了和五笔一样取一二三末根。而不是郑码和徐码那样,有时候取一、二、次末、末,有时候取一二末。这样选择,是因为倒数第二根的判断比较困难,打字的时候容易卡壳。

## 2. 評價輸入法各個維度的討論
## 評價輸入法各個維度的討論

這一章我討論評價一款輸入法的各個維度,引出我製作這個輸入法的動機和目標。

### 2.1. 關於重碼
### 關於重碼

本着**實用主義****現實主義**原則,我將漢字的輸入分爲打字和檢字兩部分:

Expand All @@ -63,7 +73,7 @@ nav_order: 31
4. 大字集:GBK 字集重碼字 ~ 5000
5. 部分有若幹形態的部首進行歸併。

### 2.2. 關於編碼規則
### 關於編碼規則

編碼的規則應該足够簡單和直觀,避免太多的判斷和回改。以下是關於編碼規則的部分偏好:

Expand All @@ -90,7 +100,7 @@ nav_order: 31
- 不足四碼時,補上末根小碼
- 仍然不足四碼時,補上首根小碼(如果是v不用補)

### 2.3. 關於字根分佈
### 關於字根分佈

對於字根分佈,有幾個維度。一者,字根是否按橫豎撇捺分區排布;二者,一個鍵上的字根是否具有相似的屬性;三者,是按照鍵盤分區(打字主義,單映射),還是按字母表分區(檢字主義,雙映射);四者,如果有小碼,小碼是如何決定的。

Expand All @@ -107,7 +117,7 @@ nav_order: 31
- 大區内比較隨機。
- 字根小碼用拼音提示。(某些字根用v鍵)

### 2.4. 關於拆分規則
### 關於拆分規則

優先級:

Expand All @@ -118,12 +128,12 @@ nav_order: 31
- 包圍不拆散,比如昜。
- 豎變斜是變形。

變形幅度在直觀的範圍内。這一點無法完全量化,畢竟文字是藝術。所以,我也增加了兼容碼
變形幅度在直觀的範圍内。這一點無法完全量化,畢竟文字是藝術。所以,我也增加了地區字形兼容碼

### 2.5. 字形
### 字形

某些字形在常用字集内没有區分,或者共用 Unicode 碼位。真正的字形區分往往在 CJK 拓展區,屬於檢字範疇。爲了不增加判斷難度,因此:

- 冫和ㄑ都拆成二
- 日曰除卻「曰汩㫚旮」外都一併爲「日」
- 日曰除卻「曰汩㫚」外都一併爲「日」
- 木朩𣎳字源不同,但已經混同,术朮亦同。故而不作區分。
56 changes: 56 additions & 0 deletions docs/articles/guji.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: 關於《古籍印刷通規》
layout: default
parent: 相关研究文章
---

<!-- omit in toc -->
# 關於《古籍印刷通用字規範字形表》

原文地址:[https://www.zhihu.com/question/494817799/answer/2647217480](https://www.zhihu.com/question/494817799/answer/2647217480)

本回答使用《古籍印刷通用字規範字形表》所列標準書寫。我已使用本標準所列字形,使用形碼輸入法寫了四十萬字的小説,以下爲箇人心得體會。

首先説明態度,總體樂觀:

- 本標準的出臺有利於解決繁體字出版時的標準混亂。無論它是否完美,有一個大陸標準,好過没有標準或多標準混合使用。
- 本表遠非完美,甚至存在不少問題,需要不斷修訂。
- 以下逐條討論,排名不分先後:

本表並未規定繁簡的對應關係,有時多箇異體字都在表中,可以自由選擇。例如:「箇」、「個」都在表中,並未強制使用「箇」作爲「个」的繁體。我們大可基於最大分離原則,除「箇中」外,都使用「個」,甚至「个」。也可以按照《辭源》實際用字選取「箇」。

本表對部分異寫字的字形作出了選擇,但大體上同《辭源》相同。有答案説,本表收「峰」,《辭源》收「峯」,兩者不一致,我並不同意。理由是在《辭源》中「峰」、「峯」都有收錄字頭,且在注文中,也有用「峰」不用「峯」的情况,例如「軍都」、「冷泉」、「六和塔」、「胊山」等詞條。同理,見「群」、「羣」。

本表中部分字形或存在不統一,如「卽」左,在「鄉」及相關字中作「即」左。

本表存在收字不全的問題。用本表收錄的14250箇漢字,竟無法寫出本表的名字——《古籍印刷通用字規範字形表》。這是因爲不少常用字未被收錄。已發現的就有「蹦擼菇窝崗樑僱划剪古叼呆啪嘀嚐岩」等,未來應當考慮將這些字補入。

以下列出本表對部分字形的選擇,排名不分先後:

- 〔肉缶〕及相關字全作「䍃」形。
- 「朵」及相關字全作「朶」形。
- 〔沒右〕〔歿右〕聲旁全作「殳」形。
- 「彥」及相關字全作「彦」形,上方不作「文」。
- 「產」及相關字全作「産」形,上方不作「文」。
- 「吕」及相關字全作「呂」形。
- 「即」及相關字全作「卽」形。「鄉」及相關字除外。
- 〔絕右〕及相關字全作「色」形。
- 「兌」及相關字全作「兑」形。
- 「內」及相關字全作「内」形。
- 「虛」及相關字全作「虚」形。
- 「麼」及相關字全作「麽」形。
- 「冊」及相關字全作「册」形。「扁」及相關字除外。
- 「勻」作「匀」形。
- 「袞」及相關字全作「衮」形。

本表只規範字形,不規範用字(如《通用規範漢字表》只規範字形,但用字參照《新華字典》或《現代漢語詞典》)。因此,也需要有一箇取優先字的基準。《辭源》第三版體例中言及:「字頭與行文的字形經過整理,一律採用古籍印刷通用字規範字形。」因此,可以將《辭源》中注釋文字的實際用字作爲取字的參攷。我在日常使用中,遵循以下的取字原則:

- 如果兩箇字在《辭源》注釋文字實際用字中分領不同含義,則分離。如同取「修」、「脩」。
- 異寫字(全同異體字),只選取在本表中出現的。如取「説」不取「說」,取「裏」不取「裡」,取「峰」不取「峯」,取「簡」不取「𥳑」。
- 異寫字,如有兩箇及以上同時出現在本表中,取《辭源》注釋文字實際用字爲準。如取「秘」不取「祕」。
- 本表中不存在的常用字,加入本表。如「古」。
- 本表中不存在的字,如在《辭源》注釋文字實際用字中分領不同含義,則依舊進行分離。如同「唸」不在本表中,但在詞條「開口跳」的注釋中,依舊用了「唸白」一詞。故而加入本表。

關於繁簡轉換的實現:

我目前嘗試在 OpenCC 的標準下實現本表中的取字方案。因爲 OpenCC 的繁體標準基於最大分離原則,故而只需要進行一次額外的 1-1 字符映射(約100行),卽可實行本表中規定的標準。
18 changes: 14 additions & 4 deletions docs/statistics.md → docs/articles/statistics.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
---
title: 常见输入法重码对比
layout: default
nav_order: 41
parent: 相关研究文章
---

<!-- omit in toc -->
# 常见输入法重码数据对比
{: .no_toc }

## 1. 重码数据
<details open markdown="block">
<summary>
目录
</summary>
{: .text-delta }
1. TOC
{:toc}
</details>

## 重码数据

这里将世面上可见的各类形码输入法的重码数据(全码)进行对比,统计其在不同汉字字符集下的单字全码的重码数量。其中:

Expand Down Expand Up @@ -59,7 +69,7 @@ nav_order: 41
| **音形方案 简体方案** |
| 小鹤音形 | 730 | 725 | - | - | - | 0.85% | - | - |

## 2. 码表来源
## 码表来源

码表数据基于:

Expand All @@ -75,6 +85,6 @@ nav_order: 41
- [092五笔]<https://github.com/lvxingjia/092r>
- [小鹤]<https://github.com/cubercsl/rime-flypy>

## 3. 125个大陆繁体字形
## 125个大陆繁体字形

蟶衆螄斕綉覈飆淩轆癡刴戩糉㨃擡佈圇箇絝啓廡儕槪顴躋鉅鋭鎚牀廏衹朶讞噁瑋旣蓽嬡僞蹟癟艶淼㑚紈餚攢樑噠繮曬崗壎濕竈殞揹瓚鵰痠鈺巘裏曁皁奬諏孃贇閆跥歎産顔頽摻爲絶昇繳躱薦閲謔卽纔剮闕暘屌勳覷伲崟蹌饋駡曇躥翀熒鹵説唄龕裋衊㞞〇誒侷玅薈齶燼嬈鉢檯喫摳鶩縐滷襬麪
76 changes: 42 additions & 34 deletions docs/cookbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ nav_order: 11
{:toc}
</details>

这里,我会对宇浩输入法的基本规则进行简单介绍。如果你从未接触过字形输入法,可以从头开始一步一步学习。[点击此处阅读详细的《宇浩繁简通打输入法教程》。](./learn)
{: .highlight }
这里,我会对宇浩输入法的基本规则进行简单介绍。如果你从未接触过字形输入法,可以从头开始一步一步学习。[点击此处阅读详细的《宇浩输入法详细教程》。](./learn)

## 汉字拼图

Expand All @@ -29,6 +30,7 @@ nav_order: 11

我们给每一个字根以「姓名」(由A到Y的25个字母构成)。当我们把部首对应的「姓」;输入到电脑中(偶尔需要输入「名」),汉字就被组合起来了,并直接显示在屏幕上。

{: .example }
例如,「浩」这个汉字,就是由三个字根组成的:氵牛口。我们在输入的时候,只要依次输入这三个字根的「姓」,再加上最后一个字根的「名」,就可以输出这个汉字。

## 字根姓名
Expand All @@ -48,9 +50,8 @@ nav_order: 11

在汉字体系中,最常用的100个字根(部首、笔画),占了85%的使用频率!也就是说,当你知道这100个字根的姓名(主要是姓)以后,你就可以组合出85%的汉字来。按照频率降序,这些字根是:

```md
{: .highlight }
白月丶一了日龰不丿扌戈𠂇尚土人文辶亻也米冖小讠丷口儿上至刂宀尤羊目大门自刀二阝厶子丅凵寸手西女氵殳犬灬甲力彳丁心斤乚禾又木匕走己之而八生十身𬺰彐夕豕面矢艹王见艮卜夂纟工龶巴止舌已士尸立囗竹夭户戊乙方且
```

所以,在接下来的学习中,请**务必**按照上面的次序记忆字根,而不是一股脑地背诵全部。先练熟*边际收益*高的字根,会显著加快上手打字的进程,增加学习乐趣和成就感。而偏僻的字根,可以等未来慢慢熟悉。[使用字根练习页面来练习最常用的50个字根](../practice/practice_50.html),然后[继续练习最常用的100个字根](../practice/practice_100.html)

Expand All @@ -60,22 +61,21 @@ nav_order: 11

为了方便记忆,我写了一首打油诗(字根口诀),按横竖撇捺排列:

```md
A 丁丌行右瓦,耳下打七寸。 S 草头二犬厂,辰考而有臣。
D 古來十石尤其戊,西雨不走歹豕丰, F 一木甫三工。
G 大王革春夫,框面弋酉戈。 H 老上青士示兀牙,末世土干未至车。

J 早日山曰田, K 甲申由禺电,下框敲右边,重門兼繁鹵,虫贝水上见。
L 口是心非, M 巾网貝皿且具上,小目立刀卜虎骨。
N 方框二三竖,黑册尚止足。

Q 荒下没右鱼儿气,撇川竹矢凡几舟。 W 周围炙顶皆同月,千鬼上身生金牛,告头杀上谁侧缶?
E 反文人欠斤,白爪壬乌夭。 R 双人饣匕入舌臼,微禾向夕反犬毛,衣下古風僉繁鳥。
T 八人手长二三撇,金边自用介下卯。 Y 秃盖心合豸,阜上食九鸟。

U 兰头将左四点火,赢框广示言亡羊, I 鹿户三点立水上。
O 辛亥圆宝盖,言旁点撇方。 P 文门亦米走之底,病头麻穴衣字旁。
```
{: .important }
> A 丁丌行右瓦,耳下打七寸。 S 草头二犬厂,辰考而有臣。
> D 古來十石尤其戊,西雨不走歹豕丰, F 一木甫三工。
> G 大王革春夫,框面弋酉戈。 H 老上青士示兀牙,末世土干未至车。
>
> J 早日山曰田, K 甲申由禺电,下框敲右边,重門兼繁鹵,虫贝水上见。
> L 口是心非, M 巾网貝皿且具上,小目立刀卜虎骨。
> N 方框二三竖,黑册尚止足。
>
> Q 荒下没右鱼儿气,撇川竹矢凡几舟。 W 周围炙顶皆同月,千鬼上身生金牛,告头杀上谁侧缶?
> E 反文人欠斤,白爪壬乌夭。 R 双人饣匕入舌臼,微禾向夕反犬毛,衣下古風僉繁鳥。
> T 八人手长二三撇,金边自用介下卯。 Y 秃盖心合豸,阜上食九鸟。
>
> U 兰头将左四点火,赢框广示言亡羊, I 鹿户三点立水上。
> O 辛亥圆宝盖,言旁点撇方。 P 文门亦米走之底,病头麻穴衣字旁。
## 单字编码

Expand All @@ -85,27 +85,35 @@ O 辛亥圆宝盖,言旁点撇方。 P 文门亦米走之底,病头麻穴
2. 不足四码,则补上末根的「名」。
3. 仍然不足四码,则补上首根的「名」。

例如:「的」字,分为三个字根:

- 白,姓`E``b`
- 勹,姓`W``v`
- 丶,姓`O``d`
{: .example }
> 例如:「的」字,分为三个字根:
>
>- 白,姓`E``b`
>- 勹,姓`W``v`
>- 丶,姓`O``d`
我们在输入时,依次输入三个字根的姓`EWO`,观察到不足四码,我们补上最后一根的名`d`。因此输入`EWOd`就能够打出「的」字。

在例如:「整」字,分为五个字根:

- 木,姓`F``v`
- 口,姓`L``v`
- 攵(反文),姓`E``h`
- 一,姓`F``i`
- 止,姓`N``i`
{: .example }
>再例如:「整」字,分为五个字根:
>
>- 木,姓`F``v`
>- 口,姓`L``v`
>- 攵(反文),姓`E``h`
>- 一,姓`F``i`
>- 止,姓`N``i`
我们在输入时,只需要取一、二、三、末根,也就是「木口攵止」即可。依次输入四个字根的姓`FLEN`,就能够打出「整」字。

为了输入快捷,某些常用字我们只要打它的第一个字母,加一个空格就可以了,我们叫这些常用字为一级简码字。从A到Y排列,一级简码字分别是:`把对好不的一大地没是上中小回为这我得在个着了然出心`
为了输入快捷,某些常用字我们只要打它的第一个字母,加一个空格就可以了,我们叫这些常用字为一级简码字。从A到Y排列,一级简码字分别是:

{: .highlight }
把对好不的一大地没是上中小回为这我得在个着了然出心

宇浩的字根设计,使得最高频的汉字分布在最容易按的键上。

宇浩的字根设计,使得最高频的汉字分布在最容易按的键上,比如:「的」在`E`上,「一」在`F`上,「了」在`V`上,「没」在`I`上,「不」在`D`上,「上」在`K`上。
{: .example }
比如:「的」在`E`上,「一」在`F`上,「了」在`V`上,「没」在`I`上,「不」在`D`上,「上」在`K`上。

二级简码字共625个,是该字全码的前两个字母。宇浩输入法**全简一致**

Expand All @@ -123,7 +131,7 @@ O 辛亥圆宝盖,言旁点撇方。 P 文门亦米走之底,病头麻穴

- 宇浩核心词库:约50000个词语。推荐只使用该词库配合单字输入,以获得最佳体验。
- 宇浩增广词库:约30000个词语,频率较低,除非有特殊需求,否则不建议开启。
- 宇浩成语和诗词词库:约15000个成语和诗词,除非有特殊需求,否则不建议开启。
- 宇浩成语诗词词库:约15000个成语和诗词,除非有特殊需求,否则不建议开启。

所有词库都分为简体和繁体。其中,繁体词库包含以下字形标准:

Expand Down
4 changes: 2 additions & 2 deletions docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,10 +81,10 @@ nav_order: 2
- yuhao.full.dict.yaml 单字全码码表。
- yuhao.words 宇浩核心简体词库。约50000个词语,频率较高。
- yuhao.words_extended 宇浩增广简体词库。约30000个词语,频率较低,除非有特殊需求,否则不建议开启。
- yuhao.words_literature 宇浩成语和诗词简体词库。约15000个成语和诗词,除非有特殊需求,否则不建议开启。
- yuhao.words_literature 宇浩成语诗词简体词库。约15000个成语和诗词,除非有特殊需求,否则不建议开启。
- yuhao_tradition.words 宇浩核心繁体词库,包括台湾、香港、大陆古籍繁体三种字形。约50000个词语,频率较高。
- yuhao_tradition.words_extended 宇浩增广繁体词库。约30000个词语,频率较低,除非有特殊需求,否则不建议开启。
- yuhao_tradition.words_literature 宇浩增广繁体词库。约15000个成语和诗词,除非有特殊需求,否则不建议开启。
- yuhao_tradition.words_literature 宇浩成语诗词繁体词库。约15000个成语和诗词,除非有特殊需求,否则不建议开启。
- yuhao.symbols.dict.yaml 特殊符号码表。
- yuhao_pinyin.schema.yaml 拼音配置文件,用于反查。
- yuhao_pinyin.dict.yaml 拼音字典文件。
Expand Down
Loading

0 comments on commit 4e1cc54

Please sign in to comment.