Repository: BYVoid/OpenCC (2026-05-29T22:33:44Z)

Issue:
建議加入簡異對應：「狸 ⇔ 貍 狸」
《通用規範漢字表》將「貍」列爲「狸」的異體字。我不清楚港臺用字情況，不過目測「貍」「狸」在港臺確是全同異體字。
目前 OpenCC 並無關於此字的任何處理，例如「貍貓」使用 tw2c 會轉換爲「貍猫」，與大陸用字情況不符。
![image](https://github.com/user-attachments/assets/38568318-6583-4173-8322-35096569e81c)



Discussion:
通用規範漢字表的異體字轉換一直沒有實做，早在 #492 就提案過，但是 ByVoid 老大一直認為有其他考量，至今還沒有明確的處理方案。
「通规附件一」中的「繁体字」、「异体字」分类，本质上是服务于中国大陆规范字体系的工程分类，而不是客观存在的语言学分类。在该体系下，「裏」与「裡」被分列为「里」的繁体字与异体字，「貍」被归为「狸」的异体字。不过从制作「繁简转换器」的角度，我不认为这个区分本身应当成为决定是否收录转换规则的依据。对于 OpenCC 而言，更重要的问题应当是现实文本中的转换需求，以及对应关系是否明确，而不是它在「通规附件一」中被归入哪一栏。

目前 OpenCC 不收「貍」，在 tw2sp 模式里，「貍猫」会变「貍猫」，前半部分保留了「繁（异）体」字形，后半部分已转换为简体字形——这是一个现实世界几乎不应该出现的混合结果——除了采用 OpenCC 的网站 XD。从这个意义上讲，「貍」的问题甚至比「擡」更严重，因为「貍貓」确实是繁体中文语料中较常见的词汇，而其转换结果出现了《第一批异体字整理表》规定需要「淘汰」的字形。

所以我支持在 t2s 中加入「貍 -> 狸」的转换。

当然，这不是说所有「通规附件一」中的「异体字」都要收。还是要根据具体字的对应关系明确程度、现实转换需求、目标地区习惯以及歧义风险综合判断。



Patch:
diff --git a/data/dictionary/TSCharacters.txt b/data/dictionary/TSCharacters.txt
index 0c98cf0a4..7fa687f53 100644
--- a/data/dictionary/TSCharacters.txt
+++ b/data/dictionary/TSCharacters.txt
@@ -2726,6 +2726,7 @@
 # @tofu-risk: not covered by PingFang/Source Han baseline: 𫎆 U+2B386
 豵	豵 𫎆
 豶	豮
+貍	狸
 貓	猫
 # @tofu-risk: not covered by PingFang/Source Han baseline: 𫎌 U+2B38C
 貗	貗 𫎌


Test patch:
diff --git a/test/testcases/testcases.json b/test/testcases/testcases.json
index d020c3be7..359c5a03b 100755
--- a/test/testcases/testcases.json
+++ b/test/testcases/testcases.json
@@ -980,6 +980,24 @@
         "s2twp": "牛驥同皁 牛驥同皁 牛驥同一皁 牛驥同一皁"
       }
     },
+    {
+      "id": "BYVoid_OpenCC_Issue_930",
+      "input": "狸猫 狸貓 貍貓",
+      "expected": {
+        "s2t": "狸貓 狸貓 貍貓",
+        "s2tw": "狸貓 狸貓 貍貓",
+        "s2twp": "狸貓 狸貓 貍貓",
+        "s2hk": "狸貓 狸貓 貍貓",
+        "t2s": "狸猫 狸猫 狸猫",
+        "t2tw": "狸猫 狸貓 貍貓",
+        "t2hk": "狸猫 狸貓 貍貓",
+        "tw2s": "狸猫 狸猫 狸猫",
+        "tw2sp": "狸猫 狸猫 狸猫",
+        "tw2t": "狸猫 狸貓 貍貓",
+        "hk2s": "狸猫 狸猫 狸猫",
+        "hk2t": "狸猫 狸貓 貍貓"
+      }
+    },
     {
       "id": "BYVoid_OpenCC_PR_1256_HK_news_channels",
       "input": "有线新闻 无线新闻 无线新闻台 有線新聞 無線新聞 無線新聞台",