Skip to content

添加了 “自干五” 和若干含 “扇 / 搧” 词组的简繁转换#1371

Merged
frankslin merged 11 commits into
BYVoid:masterfrom
LeeiFrankJaw:dev
Jul 1, 2026
Merged

添加了 “自干五” 和若干含 “扇 / 搧” 词组的简繁转换#1371
frankslin merged 11 commits into
BYVoid:masterfrom
LeeiFrankJaw:dev

Conversation

@LeeiFrankJaw

@LeeiFrankJaw LeeiFrankJaw commented Jun 30, 2026

Copy link
Copy Markdown
Contributor
  • “自干五” 最原始的意思是 “自带干粮的五毛”,所以其繁体应该是 “自乾五”。参见维基百科

  • 美国第45任和第47任总统的名字,其正确写法应该是 “唐纳德·特朗普” 或 “唐納.川普” 或 “當勞·特朗普”。经讨论,不对 “特朗普” 或 “川普” 进行地区性转换。

  • 在台湾的用法中,间隔号是U+FF0E(.),而在大陆是U+00B7(·)。如果使用的是台湾字体,这些标点符号,都是居中显示的,所以 “全角句号” 也被拿来当成间隔号来使用。参见《重訂標點符號手冊》和《重編國語辭典修訂本》中的大量例证。经讨论,不对此符号进行转换。

  • 作为一种特殊的现象,乱码出现的“锟斤拷”应该永远以简体的形式出现,这也正是维基百科中的处理方式。但经指正,不收此类词语的转换。

  • 添加了一些从“扇”到“搧”的简繁转换,以《重訂標點符號手冊》为参考。

 * “自干五”最原始的意思是“自带干粮的五毛”,所以其繁体应该是“自乾五”,
   但近年来,也有专门写成“自幹五”的。参见[维基百科][1]。

 * 美国第45任和第47任总统的名字,其正确写法应该是“唐纳德·特朗普”或“[唐
   納.川普][2]”。目前只收录了大陆台湾之间的转换,港澳的“當勞·特朗普”译
   法尚未收录。

 * 在台湾的用法中,间隔号是U+FF0E(.),而在大陆是U+00B7(·)。如果使
   用的是台湾字体,这些标点符号,都是居中显示的,所以“全角句号”也被拿
   来当成间隔号来使用。参见《[重訂標點符號手冊][3]》和《重編國語辭典修
   訂本》中的大量[例证][4]。

[1]: https://zh.wikipedia.org/wiki/%E8%87%AA%E4%B9%BE%E4%BA%94#%E8%A9%9E%E6%BA%90
[2]: https://zh.wikipedia.org/wiki/%E5%94%90%E7%B4%8D%C2%B7%E5%B7%9D%E6%99%AE
[3]: https://language.moe.gov.tw/001/Upload/FILES/SITE_CONTENT/M0001/HAU/h14.htm
[4]: https://dict.revised.moe.edu.tw/dictView.jsp?ID=124658
@frankslin

Copy link
Copy Markdown
Collaborator

援引的台灣官方標點規範中規定的「間隔號」是「占一個字的位置,居正中」,但是並沒有強制綁定到「.」(U+FF0E) 這個字符,而中國大陸現代出版物中常見的間隔號也是如此,通常用「·」(U+00B7) 也不過只是工程上的習慣,因為國標碼 GB2312 / GBK 等習慣上與 Unicode 如此映射。

我認為 OpenCC 預設配置和字典,不宜對 U+FF0E 與 U+00B7 一類符號做無條件互轉、也不宜單向轉換,原因是:

  1. 二者的 Unicode 語義和實際文本用途上並不等價。 U+FF0E 也可能是中國大陸數學文獻中用的全角句點, U+00B7 也可能出現在外文、品牌名或作品名中。
  2. 標點符號與排版風格差異,不屬於「繁簡字詞轉換」的範疇。

因此我建議「·」還是原樣保留;字典中一定要轉帶「·」的人名詞匯,圓點還是原樣輸出較好。

若使用者有特定出版規範需求,可以在 OpenCC 轉換後再套用自定義標點規則。例如這樣做: https://github.com/BYVoid/OpenCC/blob/master/examples/config/s2twp_quote_marks.json

Comment thread data/dictionary/STPhrases.txt Outdated
@larachung

Copy link
Copy Markdown
* 在台湾的用法中,间隔号是U+FF0E(.),而在大陆是U+00B7(·)。如果使用的是台湾字体,这些标点符号,都是居中显示的,所以 “全角句号” 也被拿来当成间隔号来使用。参见《[重訂標點符號手冊](https://language.moe.gov.tw/001/Upload/FILES/SITE_CONTENT/M0001/HAU/h14.htm)》和《重編國語辭典修訂本》中的大量[例证](https://dict.revised.moe.edu.tw/dictView.jsp?ID=124658)。

全角句點U+FF0E(.)在繁中環境常被當作間隔號是客觀事實,但不代表這種用法是正確的,就好比簡中環境中常以U+002D(-)代替間隔號一樣。這種做法除在語義上存在顯而易見的誤用外,弊端有:

  1. 繁中並非絕對使用置中標點,既使不考慮使用簡中和日韓文字體的情況,繁中仍存在傳統偏靠式標點字體,使用U+FF0E(.)作為間隔號可能帶來極嚴重的間隔號顯示問題;
  2. 會被當作間隔號的點號不止U+FF0E(.)一個,還有U+2027 (‧)和U+2022(•)等,這些字符從語義上甚至比U+FF0E(.)更適合用作間隔號,沒有理由為U+FF0E(.)開特例。

參見:W3C Requirements for Chinese Text Layout 中文排版需求

@LeeiFrankJaw

LeeiFrankJaw commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author

援引的台灣官方標點規範中規定的「間隔號」是「占一個字的位置,居正中」,但是並沒有強制綁定到「.」(U+FF0E) 這個字符,而中國大陸現代出版物中常見的間隔號也是如此,通常用「·」(U+00B7) 也不過只是工程上的習慣,因為國標碼 GB2312 / GBK 等習慣上與 Unicode 如此映射。

我認為 OpenCC 預設配置和字典,不宜對 U+FF0E 與 U+00B7 一類符號做無條件互轉、也不宜單向轉換,原因是:

1. 二者的 Unicode 語義和實際文本用途上並不等價。 U+FF0E 也可能是中國大陸數學文獻中用的全角句點, U+00B7 也可能出現在外文、品牌名或作品名中。

2. 標點符號與排版風格差異,不屬於「繁簡字詞轉換」的範疇。

因此我建議「·」還是原樣保留;字典中一定要轉帶「·」的人名詞匯,圓點還是原樣輸出較好。

若使用者有特定出版規範需求,可以在 OpenCC 轉換後再套用自定義標點規則。例如這樣做: https://github.com/BYVoid/OpenCC/blob/master/examples/config/s2twp_quote_marks.json

同意你的看法。我昨天是因为在数据文件中看到了 U+FF0E 的符号,而且还出现在好几处。这些符号,是不是也应该改成 U+00B7。等一下,我来列举一下。

乔修亚.吉尔菲艾斯 喬修亞.吉爾菲艾斯

乔治.布希 喬治.布希

曼苏尔.达杜拉 曼蘇爾.達杜拉

碧娜芝.布托 碧娜芝.布托

菲利克斯.米达麦亚 菲利克斯.米達麥亞

我的看法是,在简体的行文中,很难看到 “乔治.布希” 这样的写法。在繁体的行文中,要看地区,在台湾的行文中,很难看到 “佛漢·威廉斯”(可能维基百科除外)这样的写法。所以相应文件中的转换规则,被使用上的概率几乎为零。港澳的间隔号使用更加混乱,但基本上以 U+00B7 为主流,如 “當勞·特朗普”。

你说的对,我忽略了 U+00B7 是一个太过常用的符号,毕竟位列太初的 Latin-1 码之中。

至于 U+FF0E 在科技文献中作为句号的使用,见 rime/weasel#214 (comment) 。我个人的经验还是,在日文的科技文献中使用的比较多。在大陆的科技文献中,还是以 U+00B7 U+0020(. )的组合更为常见。可以参见陈浩元的一些文章。当然,我个人是比较推崇日文中的用法,或者直接用正常的圆圈句号(。)。

@LeeiFrankJaw

LeeiFrankJaw commented Jul 1, 2026

Copy link
Copy Markdown
Contributor Author
* 在台湾的用法中,间隔号是U+FF0E(.),而在大陆是U+00B7(·)。如果使用的是台湾字体,这些标点符号,都是居中显示的,所以 “全角句号” 也被拿来当成间隔号来使用。参见《[重訂標點符號手冊](https://language.moe.gov.tw/001/Upload/FILES/SITE_CONTENT/M0001/HAU/h14.htm)》和《重編國語辭典修訂本》中的大量[例证](https://dict.revised.moe.edu.tw/dictView.jsp?ID=124658)。

全角句點U+FF0E(.)在繁中環境常被當作間隔號是客觀事實,但不代表這種用法是正確的,就好比簡中環境中常以U+002D(-)代替間隔號一樣。這種做法除在語義上存在顯而易見的誤用外,弊端有:

1. 繁中並非絕對使用置中標點,既使不考慮使用簡中和日韓文字體的情況,繁中仍存在傳統偏靠式標點字體,使用U+FF0E(.)作為間隔號可能帶來極嚴重的間隔號顯示問題;

2. 會被當作間隔號的點號不止U+FF0E(.)一個,還有U+2027 (‧)和U+2022(•)等,這些字符從語義上甚至比U+FF0E(.)更適合用作間隔號,沒有理由為U+FF0E(.)開特例。

參見:W3C Requirements for Chinese Text Layout 中文排版需求

我也不知道为什么台湾那边为什么要用 U+FF0E 啊,我昨天修改的仅仅是 TWPhrases 系列文件。我现在正在撤回中……

关于繁体行文中标点符号偏置的传统,我是十分清楚的。1951年版的《標點符號用法》,可以说是代表性文献了。

IMG20260701152514 IMG20260701163641 IMG20260701163721

台湾那边,标点符号还有一处比较与众不同的地方,就是破折号。那边一般用两个 U+2500(──)来表示破折号。

 * 添加了“唐纳德·特朗普”的港澳译名转换。

 * 删去了“自幹五”的备选转换。

 * 作为一种特殊的现象,乱码出现的“锟斤拷”应该永远以简体的形式出现,这
   也正是维基百科中的[处理方式][1]。

[1]: https://zh.wikipedia.org/zh-tw/%E4%B8%AD%E6%96%87%E4%BA%82%E7%A2%BC#%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87%E7%BC%96%E7%A0%81%E4%BD%93%E7%B3%BB%E4%BA%A7%E7%94%9F%E7%9A%84%E4%B9%B1%E7%A0%81
@LeeiFrankJaw LeeiFrankJaw changed the title 添加了间隔号的台湾地区转换、“特朗普” 的台湾转换和 “自干五” 的简繁转换 添加了 “特朗普” 的地区转换、“自干五” 的简繁转换和 “锟斤拷” 的同形映射 Jul 1, 2026
@LeeiFrankJaw LeeiFrankJaw changed the title 添加了 “特朗普” 的地区转换、“自干五” 的简繁转换和 “锟斤拷” 的同形映射 添加了 “特朗普” 的地区转换、“自干五” 的简繁转换、 “锟斤拷” 的同形映射和 “扇” 字的简繁转换 Jul 1, 2026
Comment thread data/dictionary/TWPhrasesRev.txt Outdated
Comment thread data/dictionary/STPhrases.txt Outdated
@frankslin

Copy link
Copy Markdown
Collaborator

同意你的看法。我昨天是因为在数据文件中看到了 U+FF0E 的符号,而且还出现在好几处。这些符号,是不是也应该改成 U+00B7。等一下,我来列举一下。

謝謝指出,這些已經刪掉 #1379
是否再加可另議,但顯然不應將「布希」之類作為簡中原樣加回 STPhrases。

 * 仅在常见的词汇中对“川普”进行地区转换。

 * 增加了专有名词“川普大廈”“川普國際”“川普航空”的地区转换。

 * 删去了“爱丽舍宫”,因为有“[爱丽舍][1]”足以。常见以“爱丽舍”命名的名词还有
   “爱丽舍田园大街”“爱丽舍剧院”“爱丽舍广场”等。

[1]: http://ccl.pku.edu.cn:8080/ccl_corpus/search?q=%E7%88%B1%E4%B8%BD%E8%88%8D-1%E5%AE%AB&startTime=&xiandaiStartTime=&endTime=&xiandaiEndTime=&dir=xiandai&start=0&num=50&index=FullIndex&outputFormat=HTML&encoding=UTF-8&maxLeftLength=30&maxRightLength=30&orderStyle=score&LastQuery=&scopestr=
@LeeiFrankJaw LeeiFrankJaw changed the title 添加了 “特朗普” 的地区转换、“自干五” 的简繁转换、 “锟斤拷” 的同形映射和 “扇” 字的简繁转换 添加 “特朗普” 的地区转换、“自干五” 的简繁转换、 “锟斤拷” 的同形映射和 “扇” 字的简繁转换,并删去了 “爱丽舍宫” Jul 1, 2026
@LeeiFrankJaw LeeiFrankJaw changed the title 添加 “特朗普” 的地区转换、“自干五” 的简繁转换、 “锟斤拷” 的同形映射和 “扇” 字的简繁转换,并删去了 “爱丽舍宫” 添加 “特朗普” 的地区转换、“自干五” 的简繁转换和 “扇” 字的简繁转换,并删去了 “爱丽舍宫” Jul 1, 2026
@frankslin

Copy link
Copy Markdown
Collaborator

建議:以後最好一個 PR 解決一類問題,這樣比較容易單獨討論、合並處理。

Comment thread data/dictionary/STPhrases.txt
Comment thread data/dictionary/TWPhrasesRev.txt Outdated
@LeeiFrankJaw LeeiFrankJaw changed the title 添加 “特朗普” 的地区转换、“自干五” 的简繁转换和 “扇” 字的简繁转换,并删去了 “爱丽舍宫” 添加 “特朗普” 的地区转换、“自干五” 的简繁转换和 “扇” 字的简繁转换 Jul 1, 2026
@LeeiFrankJaw LeeiFrankJaw changed the title 添加 “特朗普” 的地区转换、“自干五” 的简繁转换和 “扇” 字的简繁转换 添加了 “自干五” 和 “扇” 的简繁转换 Jul 1, 2026
@frankslin frankslin changed the title 添加了 “自干五” 和 “扇” 的简繁转换 添加了 “自干五” 和若干含 “扇 / 搧” 词组的简繁转换 Jul 1, 2026
@frankslin

Copy link
Copy Markdown
Collaborator

合並前還需要修一下這個 test failure

data/dictionary/DictionaryPhraseCharacterDependencyTest.cpp:153: Failure
Expected equality of these values:
  0U
    Which is: 0
  failureCount
    Which is: 4
Phrase-level character substitutions must also be declared in the corresponding character dictionary. If a direct character conversion is not generally desirable, keep it as a non-default candidate such as A<TAB>A B instead of deleting it outright:
STPhrases.txt:14809 maps "呼扇" -> "呼搧", including character substitution "扇" -> "搧", but STCharacters.txt does not list that target as a candidate.
STPhrases.txt:23864 maps "扇火" -> "搧火", including character substitution "扇" -> "搧", but STCharacters.txt does not list that target as a candidate.
STPhrases.txt:23869 maps "扇风" -> "搧風", including character substitution "扇" -> "搧", but STCharacters.txt does not list that target as a candidate.
STPhrases.txt:46349 maps "铺眉扇眼" -> "鋪眉搧眼", including character substitution "扇" -> "搧", but STCharacters.txt does not list that target as a candidate.
[  FAILED  ] DictionaryPhraseCharacterDependencyTest.PhraseSubstitutionsRemainDeclaredInCharacterDictionaries (226 ms)

@frankslin frankslin merged commit 1ed378f into BYVoid:master Jul 1, 2026
33 checks passed
@LeeiFrankJaw LeeiFrankJaw deleted the dev branch July 1, 2026 18:53
@larachung

Copy link
Copy Markdown

我也不知道为什么台湾那边为什么要用 U+FF0E 啊,我昨天修改的仅仅是 TWPhrases 系列文件。我现在正在撤回中……

台湾那边,标点符号还有一处比较与众不同的地方,就是破折号。那边一般用两个 U+2500(──)来表示破折号。

繁中使用U+FF0E只不過是誤用而已。破折號的情況與間號號類似,同樣沒有專用碼位,所以會有多個字符被當作破折號使用。與間隔號同理,不能簡單認為繁中使用U+2500來表示破折號,而是繁中常使用U+2500作為破折號。繁中常使用的破折號也不止有兩個U+2500,除和簡中習慣相同的兩個U+2014外,還有兩個U+2015。此外還有W3C提倡的一個U+2E3A(⸺)。幾種用法在顯示效果、字體相容性、編碼相容性上很難說有絕對的優劣。

@LeeiFrankJaw

LeeiFrankJaw commented Jul 2, 2026

Copy link
Copy Markdown
Contributor Author

我也不知道为什么台湾那边为什么要用 U+FF0E 啊,我昨天修改的仅仅是 TWPhrases 系列文件。我现在正在撤回中……
台湾那边,标点符号还有一处比较与众不同的地方,就是破折号。那边一般用两个 U+2500(──)来表示破折号。

繁中使用U+FF0E只不過是誤用而已。破折號的情況與間號號類似,同樣沒有專用碼位,所以會有多個字符被當作破折號使用。與間隔號同理,不能簡單認為繁中使用U+2500來表示破折號,而是繁中常使用U+2500作為破折號。繁中常使用的破折號也不止有兩個U+2500,除和簡中習慣相同的兩個U+2014外,還有兩個U+2015。此外還有W3C提倡的一個U+2E3A(⸺)。幾種用法在顯示效果、字體相容性、編碼相容性上很難說有絕對的優劣。

我原话确实是说 “那边一般用两个 U+2500(──)来表示破折号” 啊。我没有那么 unsophisticated。

W3C 的草稿,我几年前就通读过,有一些细节的地方,不是很喜欢。他们起草人当中,好像有一位是早年在推广自己的孔雀计划的那位。

Anyway,话说回来,历史上 “积非成是” 的事情多得去了,如 “空穴来风” “七月流火” “万人空巷” “炙手可热” “差强人意”。任何标准或规范,如果缺少人主动去遵守,都产生不了多大的影响力。我确实不认为标点符号的这一类问题,在短期内,能通过几个文件、标准或规范得到解决。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants