Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

取消不規範的簡繁轉換:擡<=>抬 #497

Merged
merged 1 commit into from
Jul 12, 2020
Merged

Conversation

danny0838
Copy link
Contributor

  • 《通用規範漢字表》未規範二字的關係。
  • 《簡化字總表》中「台」是「臺/檯/颱」的簡化字,非可類推簡化的偏旁,因此不可將「擡」類推簡化作「抬」。
  • 「抬」可為「擡」或「笞」之異體字,二字字義非完全等同。

- 《通用規範漢字表》未規範二字的關係。
- 《簡化字總表》中「台」是「臺/檯/颱」的簡化字,非可類推簡化的偏旁,因此不可將「擡」類推簡化作「抬」。
- 「抬」可為「擡」或「笞」之異體字,二字字義非完全等同。
Copy link
Contributor

@sgalal sgalal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

這麼嚴重的錯誤居然沒有人發現 XD

@sgalal sgalal merged commit eea8b78 into BYVoid:master Jul 12, 2020
@danny0838 danny0838 deleted the 擡抬 branch July 12, 2020 13:44
@BYVoid
Copy link
Owner

BYVoid commented Jul 13, 2020

http://chardb.iis.sinica.edu.tw/meancompare/64E1/62AC 中研院認爲「抬」是「擡」的簡化字

@danny0838
Copy link
Contributor Author

danny0838 commented Jul 13, 2020

簡繁轉換的簡化字是以中國的認定為標準吧?台灣說的簡體字或簡化字有些是台灣民間俗字或簡筆字,不能等同於中國簡化字。

另外一對多的問題見異體字字典

@BYVoid
Copy link
Owner

BYVoid commented Jul 13, 2020

根據釋義,「擡」似乎是正字 http://chardb.iis.sinica.edu.tw/char/12550

@danny0838
Copy link
Contributor Author

danny0838 commented Jul 13, 2020

這就是 OpenCC 標準模糊的問題。到底是要盡量把異體字轉為正字,或是地區沒規範就盡量不要轉?而且不是有個「能分則不合」原則嗎?「擡」、「抬」兩字若字義不等同,則應該都是標準字,既然都是標準字,又為何要互相轉換?

如果除了是標準字還不夠,一定要轉成最正統,那我們有很多地方都做太少,比如「睪」「睾」是否也應該統一成正字?(不過正字是哪個,恐怕也莫衷一是。)不久前才刪掉的許多「異體字轉正字」,比如「垵<=>埯」、「鼗<=>鞀」、「檾<=>苘𦼖」、「毶=>毿」、「唚<=>吣」、「幞<=>襆」……,是否也都應該改回來?

回到問題,「抬」遠比「擡」常用,異體字字典有說台灣以「抬」為正體,《常用國字標準字體表》和 Big5 都只收「抬」而未收「擡」。香港估計也是一樣情況。

如果一定要「抬」轉「擡」,除了要能妥善處理一對多,至少還要再加上 TWVariants 和 HKVariants。

@sgalal
Copy link
Contributor

sgalal commented Jul 13, 2020 via email

shinzoqchiuq added a commit to shinzoqchiuq/rime-essay that referenced this pull request Aug 3, 2021
shinzoqchiuq added a commit to shinzoqchiuq/rime-luna-pinyin that referenced this pull request Aug 3, 2021
shinzoqchiuq added a commit to ionkaon/data that referenced this pull request Aug 4, 2021
shinzoqchiuq added a commit to ionkaon/gninpou-essay that referenced this pull request Aug 4, 2021
shinzoqchiuq added a commit to ionkaon/dictionary that referenced this pull request Aug 4, 2021
lotem added a commit to rime/rime-luna-pinyin that referenced this pull request Aug 5, 2021
Squashed commit of the following:

commit d1b150a7ac24c5112a1405044450e4722612ee14
Author: Chen Gong <[email protected]>
Date:   Thu Aug 5 11:18:30 2021 +0800

    chore(dict): sort phrases

commit 1bdec4a
Author: shinzoqchiuq <[email protected]>
Date:   Tue Aug 3 18:17:25 2021 +0800

    fix(dict): 抬/擡

    BYVoid/OpenCC#497
lotem added a commit to rime/rime-terra-pinyin that referenced this pull request Aug 5, 2021
@groverlynn
Copy link
Contributor

  • 《通用規範漢字表》未規範二字的關係。

非也。《通用規範漢字表》只收「抬」為正字,而未收「擡」,即是缺省認定「擡」為異體字。

  • 《簡化字總表》中「台」是「臺/檯/颱」的簡化字,非可類推簡化的偏旁,因此不可將「擡」類推簡化作「抬」。

「擡」->「抬」並非類推簡化,而是取CN標準的正字。HK標準同CN標準。但TW標準中,透母的「抬」為常用俗字,定母的「擡」為罕用正字。「抬」與「擡」的關係,基本等同「台」與「臺」的關係。只不過後一組更常用,所以《通用規範漢字表》收錄了「臺」為異體字。

  • 「抬」可為「擡」或「笞」之異體字,二字字義非完全等同。

不可。CN和HK不認可「擡」字,所以t2s、t2hk都需要轉換(「擡」->「抬」)。TW「擡」、「抬」都認可,所以s2t、t2tw都不需要轉換(「抬」->「抬」)。
至於「抬」為「笞」之異體字,是「抬」字被借用作「擡」之俗字之前的千年老皇曆了。日語「抬」的漢音、吳音(ち/chi)尚留有痕跡,但慣用音也已經變成たい/tai了。這組其實類似「台」為「怡」之異體字。

@danny0838
Copy link
Contributor Author

danny0838 commented Jan 9, 2023

  • 《通用規範漢字表》未規範二字的關係。

非也。《通用規範漢字表》只收「抬」為正字,而未收「擡」,即是缺省認定「擡」為異體字。

不是你說的這樣。

如果官方沒收「擡」,那就表示官方並未認為「擡」是哪個字的異體字,可能是因為過於罕用或缺乏相關考證等因素。

OpenCC 的轉換原則是按照中國規範明確要求的做,例如按簡化字總表把正體字轉為簡化字或類推簡化字,或者按《通用規範漢字表》把繁體字、異體字轉為規範字。

至於官方沒收的,則不做處理。因為官方未定義的字一般是古字、僻字,如果主動轉換可能會造成失真。而且未經官方認證的對應關係是否可靠也會有疑慮。


不過以上說的是就以往的方針而言。如果遇到台港澳常用且有公認異體字,且該異體字恰好為《通用規範漢字表》中的字,是否要額外視為異體字轉為規範字,確實是可以討論,只不過就是要更改方針。

但是連像 #492 把《通用規範漢字表》中異體字轉為規範字都遲遲未決了,要建立新方針處理不在表中的字大概得更久了XD。

話說我覺得方針或許應該寫個文件,不然很多剛來的人會搞不懂。

@groverlynn
Copy link
Contributor

groverlynn commented Jan 10, 2023

  • 《通用規範漢字表》未規範二字的關係。

非也。《通用規範漢字表》只收「抬」為正字,而未收「擡」,即是缺省認定「擡」為異體字。

不是你說的這樣。

如果官方沒收「擡」,那就表示官方並未認為「擡」是哪個字的異體字,可能是因為過於罕用或缺乏相關考證等因素。

OpenCC 的轉換原則是按照中國規範明確要求的做,例如按簡化字總表把正體字轉為簡化字或類推簡化字,或者按《通用規範漢字表》把繁體字、異體字轉為規範字。

至於官方沒收的,則不做處理。因為官方未定義的字一般是古字、僻字,如果主動轉換可能會造成失真。而且未經官方認證的對應關係是否可靠也會有疑慮。

不過以上說的是就以往的方針而言。如果遇到台港澳常用且有公認異體字,且該異體字恰好為《通用規範漢字表》中的字,是否要額外視為異體字轉為規範字,確實是可以討論,只不過就是要更改方針。

但是連像 #492 把《通用規範漢字表》中異體字轉為規範字都遲遲未決了,要建立新方針處理不在表中的字大概得更久了XD。

話說我覺得方針或許應該寫個文件,不然很多剛來的人會搞不懂。

但是漢字不是中國大陸獨家擁有的,也不是只有中國大陸官方發佈的標準才是標準。中國官方沒收錄的常見異體字,比如「兌/兑」,就没有收录;所有类推也都没有收录。再比如「胄」(從肉)、「冑」(從冃)合併成新字「胄」(從月)也沒有收錄。如果按你所說,官方不收就不轉,那一小半常用字都不能轉換,那樣的轉換有什麼用⋯⋯

@ayaka14732
Copy link
Collaborator

也不是只有中國大陸官方發佈的標準才是標準

OpenCC 的簡體字就是以中國大陸官方發佈的為準,具體而言就是《通用規範漢字表》

@danny0838
Copy link
Contributor Author

danny0838 commented Jan 12, 2023

  • 《通用規範漢字表》未規範二字的關係。

非也。《通用規範漢字表》只收「抬」為正字,而未收「擡」,即是缺省認定「擡」為異體字。

不是你說的這樣。
如果官方沒收「擡」,那就表示官方並未認為「擡」是哪個字的異體字,可能是因為過於罕用或缺乏相關考證等因素。
OpenCC 的轉換原則是按照中國規範明確要求的做,例如按簡化字總表把正體字轉為簡化字或類推簡化字,或者按《通用規範漢字表》把繁體字、異體字轉為規範字。
至於官方沒收的,則不做處理。因為官方未定義的字一般是古字、僻字,如果主動轉換可能會造成失真。而且未經官方認證的對應關係是否可靠也會有疑慮。
不過以上說的是就以往的方針而言。如果遇到台港澳常用且有公認異體字,且該異體字恰好為《通用規範漢字表》中的字,是否要額外視為異體字轉為規範字,確實是可以討論,只不過就是要更改方針。
但是連像 #492 把《通用規範漢字表》中異體字轉為規範字都遲遲未決了,要建立新方針處理不在表中的字大概得更久了XD。
話說我覺得方針或許應該寫個文件,不然很多剛來的人會搞不懂。

但是漢字不是中國大陸獨家擁有的,也不是只有中國大陸官方發佈的標準才是標準。中國官方沒收錄的常見異體字,比如「兌/兑」,就没有收录;所有类推也都没有收录。再比如「胄」(從肉)、「冑」(從目)合併成新字「胄」(從月)也沒有收錄。如果按你所說,官方不收就不轉,那一小半常用字都不能轉換,那樣的轉換有什麼用⋯⋯

這又牽涉到另一個 OpenCC 的原則:所謂 t2s 或 s2t 的「繁體」其實是「OpenCC 標準字」,這是基於文字學考證定義的標準用字。但 OpenCC 又有「能分則不合」原則,簡單地說即是二字字義不等同時,應將二字皆視為 OpenCC 正體字。

舉一些常見的例子:

  • 正體:「喫飯」;異體:「吃飯」
  • 正體:「裏面」;異體:「裡面」

至於你舉的「兌/兑」或「冑/胄」,前者是 OpenCC 標準中的正體字,後者是異體字,簡體(中國正體)轉繁體(OpenCC 標準)時,會把地區正體轉為 OpenCC 正體(如果地區正體非 OpenCC 正體);繁體(OpenCC 標準)轉簡體(中國正體)時,會把 OpenCC 正體轉為地區正體(如果 OpenCC 正體非地區正體)。

但「擡/抬」字義不同,二者都是 OpenCC 標準中的正體字,OpenCC 不會主動做正體字與正體字之間的轉換,除非該地區有規範某些字要兼併(例如乾/幹/干=>干。對於中國正體而言,目前就是依照《通用漢字規範表》和《簡化字總表》)。

@groverlynn
Copy link
Contributor

至於你舉的「冑/胄」,前者是 OpenCC 標準中的正體字,後者是異體字

「冑」和「胄」是兩個完全不同的字,根本不是互為異體字,字義毫無重合(從肉的是人→後裔,從冃的是帽→頭盔,均為「由」聲)。「冑」簡化為「胄」是典型的一簡對多繁。但是按照中國標準,這兩個字是同一個字,都從月,自然不能自己和自己互為異體字。

至於你舉的「兌/兑」, 前者是 OpenCC 標準中的正體字,後者是異體字

而這就是台灣、日本、韓國的標準啊,並且和中國、香港的標準是完全相反的。漢字圈的五大官方標準有大量衝突,而且各自覆蓋的基本用字範圍也不同,所以轉換中要有一個橋樑式的標準,取各標準的最小公倍數(能分則不合、任一標準有收錄就要處理)而非最大公約數(任一標準沒收就不處理、能合則不分)。

但 OpenCC 又有「能分則不合」原則,簡單地說即是二字字義不等同時,應將二字皆視為 OpenCC 正體字。

大謬。一個漢字可以同時是傳承正字(義項甲)、異體字(義項乙)、後起正字的本字(義項丙)、俗字或簡化字(義項丁),義項乙、丙、丁(限繁體中文)不是正字,也不被視為正字。最典型的例子就是「台」字:

  • 〔甲一〕與之切,通「怡」,喜悅。訓詁「我」(同「予」)。同「何」(如台=奈何)。
  • 〔甲二〕土來切,地名(天台)、姓氏、星名(三台星→以三台代指三公→引伸出台階、台鑒等)、魚名(台魚→鮐魚)
  • 〔乙一〕與之切,「瓵」之異體字(簡省形旁)
  • 〔乙二〕土來切,「邰」之異體字(簡省形旁)
  • 〔丙一〕與之切,「怡」之本字、聲旁
  • 〔丙二〕土來切,「鮐」之本字、聲旁
  • 〔丁一〕堂來切,「臺」之俗字(清音濁化後同音假借)
  • 〔丁二〕堂來切,「檯」之簡化字(清音濁化後同音合併簡化)
  • 〔丁三〕土來切,「颱」之簡化字(同音合併簡化)

難道這些義項全都不用轉換?

@groverlynn
Copy link
Contributor

也不是只有中國大陸官方發佈的標準才是標準

OpenCC 的簡體字就是以中國大陸官方發佈的為準,具體而言就是《通用規範漢字表》

《通用規範漢字表》僅收8105個簡體字、其中2546個簡化字對應的2574個繁體字、其中794個簡體字對應的1023個異體字,合共11702個漢字,大約是Unihan基本區字數的一半,Unihan基本區+A-H擴展區字數的1/9。就這覆蓋率,怎麼可能用作唯一標準⋯⋯

而且OpenCC光是T2C轉換就已經收錄超過4000組,接近《通用規範漢字表》收錄的兩倍了,怎麼可能是只依靠這個故意漏字的轉換表⋯⋯

@danny0838
Copy link
Contributor Author

至於你舉的「冑/胄」,前者是 OpenCC 標準中的正體字,後者是異體字

「冑」和「胄」是兩個完全不同的字,根本不是互為異體字,字義毫無重合(從肉的是人→後裔,從冃的是帽→頭盔,均為「由」聲)。「冑」簡化為「胄」是典型的一簡對多繁。但是按照中國標準,這兩個字是同一個字,都從月,自然不能自己和自己互為異體字。

就中國標準而言,《簡化字總表》和《通用漢字規範表》都沒說「冑」簡化為「胄」,因此「胄」不是「冑」的簡化字,顯然肯定不是「一簡對多繁」。(不過如果你這裡說的「簡」和「繁」是指 OpenCC 下的 s2t,那的確是「一簡對多繁」。)

正體、異體的判定基本上是以詞為基準。就我目前的理解,OpenCC 的認定是「甲冑」為正體、「甲胄」為異體(可能因歷來混用已久,加上中國辭典傾向解釋「胄」有「盔甲」義,因而把「胄」視為「冑」的異體),因此繁轉簡(OpenCC 轉中國標準)時照我說的取異體中符合地區正體者,即「甲冑」→「甲胄」;簡轉繁(中國標準轉 OpenCC 標準)時則將異體轉正體,即「甲胄」→「甲冑」;而對於「胄裔」等詞,由於 OpenCC 標準和中國標準一致,因此不須轉換。

反之,如果 OpenCC 認定「甲胄」並非「甲冑」的異體、而是平行的正體,那麼在中國官方標準未要求「冑」、「胄」互轉之下,就不應該在 s2t 或 t2s 時轉換此二字。

至於你舉的「兌/兑」, 前者是 OpenCC 標準中的正體字,後者是異體字

而這就是台灣、日本、韓國的標準啊,並且和中國、香港的標準是完全相反的。漢字圈的五大官方標準有大量衝突,而且各自覆蓋的基本用字範圍也不同,所以轉換中要有一個橋樑式的標準,取各標準的最小公倍數(能分則不合、任一標準有收錄就要處理)而非最大公約數(任一標準沒收就不處理、能合則不分)。

這和我說的應該沒衝突。OpenCC 目前的「能分則不合」原則大致上是取你所謂的「最小公倍數」。

只不過如果用在此例,問題的關鍵在於對「抬舉」等詞而言 OpenCC 標準是認定「抬舉」為正體或「擡舉」為正體:

  • 如果「抬舉」為正體,那麼在中國標準已是以「抬舉」為正字,且未要求「擡」「抬」轉換之下,s2t 和 t2s 不須做任何轉換。
  • 如果「擡舉」為正體、「抬舉」為異體,則 t2s 應將「擡舉」轉為「抬舉」,s2t 應將「抬舉」轉為「擡舉」。

根據異體字字典的資料,「擡」「抬」二字在歷史上有不同用途,但大約宋代以後常以「抬」作為「擡」之俗字,現今幾乎一面倒用「抬」字,故取「抬」為正體,「擡」為異體。此外,中台港澳都是取「抬舉」為正體,「擡」字甚至未被編入 Big5 及 GB2312 碼。

OpenCC 標準雖是根據考證,但也會參考各地標準,通常是從各地標準中選擇考證上最合理者,很少會以不符合各地標準的罕用用法為正體,以免增加不必要的成本和困擾。

但 OpenCC 又有「能分則不合」原則,簡單地說即是二字字義不等同時,應將二字皆視為 OpenCC 正體字。

大謬。一個漢字可以同時是傳承正字(義項甲)、異體字(義項乙)、後起正字的本字(義項丙)、俗字或簡化字(義項丁),義項乙、丙、丁(限繁體中文)不是正字,也不被視為正字。最典型的例子就是「台」字:

* 〔甲一〕與之切,通「怡」,喜悅。訓詁「我」(同「予」)。同「何」(如台=奈何)。

* 〔甲二〕土來切,地名(天台)、姓氏、星名(三台星→以三台代指三公→引伸出台階、台鑒等)、魚名(台魚→鮐魚)

* 〔乙一〕與之切,「瓵」之異體字(簡省形旁)

* 〔乙二〕土來切,「邰」之異體字(簡省形旁)

* 〔丙一〕與之切,「怡」之本字、聲旁

* 〔丙二〕土來切,「鮐」之本字、聲旁

* 〔丁一〕堂來切,「臺」之俗字(清音濁化後同音假借)

* 〔丁二〕堂來切,「檯」之簡化字(清音濁化後同音合併簡化)

* 〔丁三〕土來切,「颱」之簡化字(同音合併簡化)

難道這些義項全都不用轉換?

如前所述,正體、異體的判定是以詞為基準,而非以字為基準。而即使 OpenCC (對於某詞)視某字為正體、某字為異體,如果不是遇到像 OpenCC 正體不符地區標準、異體才符合地區標準等情況,也不會主動轉換。

以你舉的其中幾例為例:

  • 中國標準《通用規範漢字表》明確定義了「台」為「臺」「檯」「颱」之簡化字,因此 t2s 要將後者轉前者,s2t 將前者轉後者。
  • 「台」作「怡」義的詞以「虞舜不台」為例,OpenCC 應是以歷史用法「虞舜不台」為正體。如果某地認定「虞舜不怡」為正體、且「虞舜不台」不符合某地標準,那麼 t 轉該地時就應該做「虞舜不台」→「虞舜不怡」的轉換。不過現實上並不存在某地有上述標準,所以實際上是不轉換。
  • 「台」作「鮐」義的詞以「鮐魚」為例,OpenCC 應是以「鮐魚」為正體、「台魚」為異體。中國標準《通用規範漢字表》明確定義了「鲐」為「鮐」之簡化字。因此 t2s 時「鮐魚」轉「鲐鱼」、s2t 時「鲐鱼」→「鮐魚」。至於如果出現「台魚」,t2s 時「台魚」轉「台鱼」,s2t 時「台鱼」轉「台魚」(因「台鱼」並非中國標準下的正字,因此不做「台鱼」轉「鮐魚」)。

其他例子你應該可以自行類推。

@danny0838
Copy link
Contributor Author

danny0838 commented Jan 14, 2023

也不是只有中國大陸官方發佈的標準才是標準

OpenCC 的簡體字就是以中國大陸官方發佈的為準,具體而言就是《通用規範漢字表》

《通用規範漢字表》僅收8105個簡體字、其中2546個簡化字對應的2574個繁體字、其中794個簡體字對應的1023個異體字,合共11702個漢字,大約是Unihan基本區字數的一半,Unihan基本區+A-H擴展區字數的1/9。就這覆蓋率,怎麼可能用作唯一標準⋯⋯

而且OpenCC光是T2C轉換就已經收錄超過4000組,接近《通用規範漢字表》收錄的兩倍了,怎麼可能是只依靠這個故意漏字的轉換表⋯⋯

目前 OpenCC 不是「只」依靠《通用規範漢字表》處理,也會考慮 OpenCC 本身標準字集的認定。只是如前所述,OpenCC 本身字集的轉換不像地區異體正體那麼有強制性。

轉為中國(其他地區同理)的標準時,凡有中國標準中的繁體、異體等非正體,原則上皆應轉為正體——事實上連異體是否轉正體,目前也有爭議,所以 #492 才會懸置那麼久XD。我個人是認為要轉,或者把 t2s 拆成包含及不包含異體轉正體的兩個方案——以符合地區規範。

但轉為 OpenCC 標準時,一般只有「地區正體非 OpenCC 正體」時才轉換,如果一個詞只是地區的異體,即使它並非 OpenCC 正體,一般也是維持原狀不轉換,例如前面的「台鱼」不轉「鮐魚」。

@groverlynn
Copy link
Contributor

至於你舉的「冑/胄」,前者是 OpenCC 標準中的正體字,後者是異體字

「冑」和「胄」是兩個完全不同的字,根本不是互為異體字,字義毫無重合(從肉的是人→後裔,從冃的是帽→頭盔,均為「由」聲)。「冑」簡化為「胄」是典型的一簡對多繁。但是按照中國標準,這兩個字是同一個字,都從月,自然不能自己和自己互為異體字。

就中國標準而言,《簡化字總表》和《通用漢字規範表》都沒說「冑」簡化為「胄」,因此「胄」不是「冑」的簡化字,顯然肯定不是「一簡對多繁」。(不過如果你這裡說的「簡」和「繁」是指 OpenCC 下的 s2t,那的確是「一簡對多繁」。)

正體、異體的判定基本上是以詞為基準。就我目前的理解,OpenCC 的認定是「甲冑」為正體、「甲胄」為異體(可能因歷來混用已久,加上中國辭典傾向解釋「胄」有「盔甲」義,因而把「胄」視為「冑」的異體),因此繁轉簡(OpenCC 轉中國標準)時照我說的取異體中符合地區正體者,即「甲冑」→「甲胄」;簡轉繁(中國標準轉 OpenCC 標準)時則將異體轉正體,即「甲胄」→「甲冑」;而對於「胄裔」等詞,由於 OpenCC 標準和中國標準一致,因此不須轉換。

反之,如果 OpenCC 認定「甲胄」並非「甲冑」的異體、而是平行的正體,那麼在中國官方標準未要求「冑」、「胄」互轉之下,就不應該在 s2t 或 t2s 時轉換此二字。

至於你舉的「兌/兑」, 前者是 OpenCC 標準中的正體字,後者是異體字

而這就是台灣、日本、韓國的標準啊,並且和中國、香港的標準是完全相反的。漢字圈的五大官方標準有大量衝突,而且各自覆蓋的基本用字範圍也不同,所以轉換中要有一個橋樑式的標準,取各標準的最小公倍數(能分則不合、任一標準有收錄就要處理)而非最大公約數(任一標準沒收就不處理、能合則不分)。

這和我說的應該沒衝突。OpenCC 目前的「能分則不合」原則大致上是取你所謂的「最小公倍數」。

只不過如果用在此例,問題的關鍵在於對「抬舉」等詞而言 OpenCC 標準是認定「抬舉」為正體或「擡舉」為正體:

  • 如果「抬舉」為正體,那麼在中國標準已是以「抬舉」為正字,且未要求「擡」「抬」轉換之下,s2t 和 t2s 不須做任何轉換。
  • 如果「擡舉」為正體、「抬舉」為異體,則 t2s 應將「擡舉」轉為「抬舉」,s2t 應將「抬舉」轉為「擡舉」。

根據異體字字典的資料,「擡」「抬」二字在歷史上有不同用途,但大約宋代以後常以「抬」作為「擡」之俗字,現今幾乎一面倒用「抬」字,故取「抬」為正體,「擡」為異體。此外,中台港澳都是取「抬舉」為正體,「擡」字甚至未被編入 Big5 及 GB2312 碼。

OpenCC 標準雖是根據考證,但也會參考各地標準,通常是從各地標準中選擇考證上最合理者,很少會以不符合各地標準的罕用用法為正體,以免增加不必要的成本和困擾。

但 OpenCC 又有「能分則不合」原則,簡單地說即是二字字義不等同時,應將二字皆視為 OpenCC 正體字。

大謬。一個漢字可以同時是傳承正字(義項甲)、異體字(義項乙)、後起正字的本字(義項丙)、俗字或簡化字(義項丁),義項乙、丙、丁(限繁體中文)不是正字,也不被視為正字。最典型的例子就是「台」字:

* 〔甲一〕與之切,通「怡」,喜悅。訓詁「我」(同「予」)。同「何」(如台=奈何)。

* 〔甲二〕土來切,地名(天台)、姓氏、星名(三台星→以三台代指三公→引伸出台階、台鑒等)、魚名(台魚→鮐魚)

* 〔乙一〕與之切,「瓵」之異體字(簡省形旁)

* 〔乙二〕土來切,「邰」之異體字(簡省形旁)

* 〔丙一〕與之切,「怡」之本字、聲旁

* 〔丙二〕土來切,「鮐」之本字、聲旁

* 〔丁一〕堂來切,「臺」之俗字(清音濁化後同音假借)

* 〔丁二〕堂來切,「檯」之簡化字(清音濁化後同音合併簡化)

* 〔丁三〕土來切,「颱」之簡化字(同音合併簡化)

難道這些義項全都不用轉換?

如前所述,正體、異體的判定是以詞為基準,而非以字為基準。而即使 OpenCC (對於某詞)視某字為正體、某字為異體,如果不是遇到像 OpenCC 正體不符地區標準、異體才符合地區標準等情況,也不會主動轉換。

以你舉的其中幾例為例:

  • 中國標準《通用規範漢字表》明確定義了「台」為「臺」「檯」「颱」之簡化字,因此 t2s 要將後者轉前者,s2t 將前者轉後者。
  • 「台」作「怡」義的詞以「虞舜不台」為例,OpenCC 應是以歷史用法「虞舜不台」為正體。如果某地認定「虞舜不怡」為正體、且「虞舜不台」不符合某地標準,那麼 t 轉該地時就應該做「虞舜不台」→「虞舜不怡」的轉換。不過現實上並不存在某地有上述標準,所以實際上是不轉換。
  • 「台」作「鮐」義的詞以「鮐魚」為例,OpenCC 應是以「鮐魚」為正體、「台魚」為異體。中國標準《通用規範漢字表》明確定義了「鲐」為「鮐」之簡化字。因此 t2s 時「鮐魚」轉「鲐鱼」、s2t 時「鲐鱼」→「鮐魚」。至於如果出現「台魚」,t2s 時「台魚」轉「台鱼」,s2t 時「台鱼」轉「台魚」(因「台鱼」並非中國標準下的正字,因此不做「台鱼」轉「鮐魚」)。

其他例子你應該可以自行類推。

你忽略了一個非常重要且根本的問題:中國的簡化字標準定義的不僅僅是簡化方案, 也不僅僅是簡化字正字標準,它同時定義了一套(不完整的)繁體字正字標準。在「胄」、「冑」的問題上,中國的標準就是咬定這兩個字是同一個字,而且從「月」,所以不存在取正字、簡化等等,釜底抽薪。類似的還有「宁」(「㝉」的本字),根本當「宁」、「㝉」都不存在,直接把「宁」用作「寧」的簡化字。也就是說中國標準中,根本沒有「宁」、「胄」、「冑」、「兌」、「說」等等漢字,但另一邊廂,臺灣是的的確確作為正字使用這些漢字的。其實兩岸三地漢字的base是不一樣,再加上粵語、臺語詞彙與官話在用字上的差異,導致超過半數的轉換是必須要從日常使用和官方辭典裡去求證的

@groverlynn
Copy link
Contributor

也不是只有中國大陸官方發佈的標準才是標準

OpenCC 的簡體字就是以中國大陸官方發佈的為準,具體而言就是《通用規範漢字表》

《通用規範漢字表》僅收8105個簡體字、其中2546個簡化字對應的2574個繁體字、其中794個簡體字對應的1023個異體字,合共11702個漢字,大約是Unihan基本區字數的一半,Unihan基本區+A-H擴展區字數的1/9。就這覆蓋率,怎麼可能用作唯一標準⋯⋯
而且OpenCC光是T2C轉換就已經收錄超過4000組,接近《通用規範漢字表》收錄的兩倍了,怎麼可能是只依靠這個故意漏字的轉換表⋯⋯

目前 OpenCC 不是「只」依靠《通用規範漢字表》處理,也會考慮 OpenCC 本身標準字集的認定。只是如前所述,OpenCC 本身字集的轉換不像地區異體正體那麼有強制性。

轉為中國(其他地區同理)的標準時,凡有中國標準中的繁體、異體等非正體,原則上皆應轉為正體——事實上連異體是否轉正體,目前也有爭議,所以 #492 才會懸置那麼久XD。我個人是認為要轉,或者把 t2s 拆成包含及不包含異體轉正體的兩個方案——以符合地區規範。

但轉為 OpenCC 標準時,一般只有「地區正體非 OpenCC 正體」時才轉換,如果一個詞只是地區的異體,即使它並非 OpenCC 正體,一般也是維持原狀不轉換,例如前面的「台鱼」不轉「鮐魚」。

我指的不是opencc自己定的標準,而是橋接三地標準。比如CN認為「說」不存在,只認「説」為繁體字,簡化作「说」;HK認「説」為正字,但同時列「說」為異體字;TW只認「說」為正字。那麼這三個漢字轉換的邏輯規則其實很清楚明確的,把三個標準像等號傳遞一樣銜接起來。如果非要認死理,只有CN標準才能簡化,那就變成三地三個字,什麼都不要轉換了。

@danny0838
Copy link
Contributor Author

danny0838 commented Jan 14, 2023

你忽略了一個非常重要且根本的問題:中國的簡化字標準定義的不僅僅是簡化方案, 也不僅僅是簡化字正字標準,它同時定義了一套(不完整的)繁體字正字標準。在「胄」、「冑」的問題上,中國的標準就是咬定這兩個字是同一個字,而且從「月」,所以不存在取正字、簡化等等,釜底抽薪。

如果中國的標準認定「胄」、「冑」是同一字的不同字形,應該要像異體字字典或許多字書一樣,以一個字形為正字,並將不同的異寫列出來。如果沒有官方文件寫明「冑」是「胄」的異寫,除非你能提供其他可靠的官方文獻作為證據,否則我們沒有理由擅自認定中國標準把兩種寫法視為同一字,對於此類情況,OpenCC 的做法就是我前面說的「不主動轉換」,除非遇到 OpenCC 正體與地區正體衝突的問題。

類似的還有「宁」(「㝉」的本字),根本當「宁」、「㝉」都不存在,直接把「宁」用作「寧」的簡化字。也就是說中國標準中,根本沒有「宁」、「胄」、「冑」、「兌」、「說」等等漢字,但另一邊廂,臺灣是的的確確作為正字使用這些漢字的。

《簡化字總表》明確寫了「寧」簡化作「宁」、原來的「宁」(zhù)簡化作「㝉」。並不是你說的『中國標準中根本沒有「宁」字』。

其實兩岸三地漢字的base是不一樣,再加上粵語、臺語詞彙與官話在用字上的差異,導致超過半數的轉換是必須要從日常使用和官方辭典裡去求證的

OpenCC 的轉換主要以當地的文字規範為準。日常使用習慣如果違反官方規範,要考慮違反的程度有多大,以及實際盛行程度來決定要不要特別處理。

我指的不是opencc自己定的標準,而是橋接三地標準。比如CN認為「說」不存在,只認「説」為繁體字,簡化作「说」;HK認「説」為正字,但同時列「說」為異體字;TW只認「說」為正字。那麼這三個漢字轉換的邏輯規則其實很清楚明確的,把三個標準像等號傳遞一樣銜接起來。如果非要認死理,只有CN標準才能簡化,那就變成三地三個字,什麼都不要轉換了。

OpenCC 當然有橋接各地標準,方法就是我說的參酌各地標準建立一套 OpenCC 標準作為橋接使用。

OpenCC 標準以「說」為正體、「説」為異體;中國標準以「説」為繁體,並要求應轉為「说」。t2s 時,「說」由於非中國標準,按前述原則須轉為 OpenCC 異體中符合中國標準的「説」,又按中國標準「説」都應轉為「说」,因此轉換表會有「說(→説)→说」、「説→说」兩組轉換。同理,t2hk 時會做「說→説」的轉換。t2tw 時「說」已為正體不須轉換,也不主動做「説→說」的轉換。這些都符合我前面說的原則。

所以目前的做法並不存在你以為的「只有CN標準才能簡化」、「三地三個字,什麼都不要轉換了」。

還有你說的「這三個漢字轉換的邏輯規則其實很清楚明確的,把三個標準像等號傳遞一樣銜接起來」我也看不懂是指什麼。如果你想繼續討論,不妨把你理想中的關於「說」等字進行各種轉換的方法明確寫出來,大家再來討論看看與現行 OpenCC 方針相較之下有何優劣。

@groverlynn
Copy link
Contributor

你忽略了一個非常重要且根本的問題:中國的簡化字標準定義的不僅僅是簡化方案, 也不僅僅是簡化字正字標準,它同時定義了一套(不完整的)繁體字正字標準。在「胄」、「冑」的問題上,中國的標準就是咬定這兩個字是同一個字,而且從「月」,所以不存在取正字、簡化等等,釜底抽薪。

如果中國的標準認定「胄」、「冑」是同一字的不同字形,應該要像異體字字典或許多字書一樣,以一個字形為正字,並將不同的異寫列出來。如果沒有官方文件寫明「冑」是「胄」的異寫,除非你能提供其他可靠的官方文獻作為證據,否則我們沒有理由擅自認定中國標準把兩種寫法視為同一字,對於此類情況,OpenCC 的做法就是我前面說的「不主動轉換」,除非遇到 OpenCC 正體與地區正體衝突的問題。

類似的還有「宁」(「㝉」的本字),根本當「宁」、「㝉」都不存在,直接把「宁」用作「寧」的簡化字。也就是說中國標準中,根本沒有「宁」、「胄」、「冑」、「兌」、「說」等等漢字,但另一邊廂,臺灣是的的確確作為正字使用這些漢字的。

《簡化字總表》明確寫了「寧」簡化作「宁」、原來的「宁」(zhù)簡化作「㝉」。並不是你說的『中國標準中根本沒有「宁」字』。

其實兩岸三地漢字的base是不一樣,再加上粵語、臺語詞彙與官話在用字上的差異,導致超過半數的轉換是必須要從日常使用和官方辭典裡去求證的

OpenCC 的轉換主要以當地的文字規範為準。日常使用習慣如果違反官方規範,要考慮違反的程度有多大,以及實際盛行程度來決定要不要特別處理。

我指的不是opencc自己定的標準,而是橋接三地標準。比如CN認為「說」不存在,只認「説」為繁體字,簡化作「说」;HK認「説」為正字,但同時列「說」為異體字;TW只認「說」為正字。那麼這三個漢字轉換的邏輯規則其實很清楚明確的,把三個標準像等號傳遞一樣銜接起來。如果非要認死理,只有CN標準才能簡化,那就變成三地三個字,什麼都不要轉換了。

OpenCC 當然有橋接各地標準,方法就是我說的參酌各地標準建立一套 OpenCC 標準作為橋接使用。

OpenCC 標準以「說」為正體、「説」為異體;中國標準以「説」為繁體,並要求應轉為「说」。t2s 時,「說」由於非中國標準,按前述原則須轉為 OpenCC 異體中符合中國標準的「説」,又按中國標準「説」都應轉為「说」,因此轉換表會有「說(→説)→说」、「説→说」兩組轉換。同理,t2hk 時會做「說→説」的轉換。t2tw 時「說」已為正體不須轉換,也不主動做「説→說」的轉換。這些都符合我前面說的原則。

所以目前的做法並不存在你以為的「只有CN標準才能簡化」、「三地三個字,什麼都不要轉換了」。

還有你說的「這三個漢字轉換的邏輯規則其實很清楚明確的,把三個標準像等號傳遞一樣銜接起來」我也看不懂是指什麼。如果你想繼續討論,不妨把你理想中的關於「說」等字進行各種轉換的方法明確寫出來,大家再來討論看看與現行 OpenCC 方針相較之下有何優劣。

OpenCC目前的做法沒有任何問題。有問題的是 @danny0838@ayaka14732 非要以《通用規範漢字表》作為唯一標準

@danny0838
Copy link
Contributor Author

danny0838 commented Jan 14, 2023

OpenCC目前的做法沒有任何問題。有問題的是 @danny0838@ayaka14732 非要以《通用規範漢字表》作為唯一標準

前面我多次說明,轉中國正體時,原則上以官方標準為主(主要是《通用規範漢字表》和《簡化字總表》),如有重要卻不符合官方標準的習慣,應有適當證據並考量違反規範程度與盛行程度,作為是否特別處理的依據。

同時我也說過,OpenCC 標準與地區標準互轉時,若遇 OpenCC 標準的正體與地區正體不一致時,會根據 OpenCC 標準認定的正體、異體關係做適當轉換。

說了這麼多,閣下還認為是「以《通用規範漢字表》作為唯一標準」,那我想唯一有問題的應該是閣下的文字理解能力。

@groverlynn
Copy link
Contributor

OpenCC目前的做法沒有任何問題。有問題的是 @danny0838@ayaka14732 非要以《通用規範漢字表》作為唯一標準

前面我多次說明,轉中國正體時,原則上以官方標準為主(主要是《通用規範漢字表》和《簡化字總表》),如有重要卻不符合官方標準的習慣,應有適當證據並考量違反規範程度與盛行程度,作為是否特別處理的依據。

同時我也說過,OpenCC 標準與地區標準互轉時,若遇 OpenCC 標準的正體與地區正體不一致時,會根據 OpenCC 標準認定的正體、異體關係做適當轉換。

說了這麼多,閣下還認為是「以《通用規範漢字表》作為唯一標準」,那我想唯一有問題的應該是閣下的文字理解能力。

我舉出這麼多反例,證明無論是從理論上還是實際已實現的轉換上,不能也不該以《通用規範漢字表》為主要乃至唯一標準。我只是糾正你們作出的絕對論斷。然而,閣下明明完全意識到我所提及的所有現象和問題,為何仍能得出完全相反的結論,令我不解。
另,《簡化字總表》被《通用規範漢字表》取代,已是「沒有任何現實意義的歷史文件」

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.

5 participants