LiMinggang / madedit-mod

MadEdit-Mod is a cross platform Text/Hex editor(based on the madedit project @ sourceforge)
GNU General Public License v3.0
126 stars 27 forks source link

希望繁簡轉換時能有迷你(非破壞性)轉換模式 #293

Closed bluelovers closed 4 years ago

bluelovers commented 5 years ago

希望繁簡轉換時能有迷你(非破壞性)轉換模式 以及甚至可以在轉換時由使用者去自訂忽略指定字不轉換

另外 如果能有額外的使用者自訂轉換表的話也不錯 如此一來在轉換時 可以依照需求來調整 轉換時會讓自訂轉換表合併並且覆蓋內建轉換表已經存在的部分來轉換

例如像這樣 https://demonovel.netlify.com/tool/cjk-conv/

一般模式(會造成一些一對多的漢字 轉換後 可能無法還原)

image

迷你(非破壞性)轉換模式 在某種程度上 轉繁轉簡後 能夠被還原

image

然後在迷你模式下 則有極少一對多的仍然會去轉換 並且 轉繁與轉簡會有差異

例如 => 轉繁時會變化 (因為 衝 比較容易出現 沖 則比較少數) 但 轉簡時 則保持不變

=> 轉繁時會變化 轉簡時 則保持不變 或 依然轉成 <== 這部分看如何考量 轉簡時 則保持不變

相關參考資料

txt 版 https://github.com/bluelovers/cjk-convert/tree/master/build

json 版(裡面的 safe 部分) https://github.com/bluelovers/cjk-convert/blob/master/build/zh/convert/table_cn2tw.debug.json https://github.com/bluelovers/cjk-convert/blob/master/build/zh/convert/table_tw2cn.debug.json

LiMinggang commented 5 years ago

编辑器的操作在存盘之前都是可以还原的

bluelovers commented 5 years ago

不是那個意思

而是 同樣是繁簡轉換 但盡量不過度轉換一些本來就存在於 繁體 的字

然後 可以在 轉簡之後 再度轉繁的話 能得到盡量接近原始內容的文字

LiMinggang commented 5 years ago

不明白你在具体要求什么

bluelovers commented 5 years ago

hmm... 那... 轉繁 或者 轉簡 時 盡量轉換 一對一 的繁簡字

例如 轉繁時 可能 是 這種時候 就不去轉換 例如 轉簡時 由於 都會轉成 所以也不去轉換

KrasnayaPloshchad commented 4 years ago

BabelPad 能做到这个

LiMinggang commented 4 years ago

需要仔细想想,谁能重点说说这个的使用场景是什么?

KrasnayaPloshchad commented 4 years ago

我觉得应该是这样,比如干字简转繁时,就要按词义做区分: 干部幹部 饼干餅乾 树干樹干 发字简转繁时: 发财發財 发型髮型 但是这些字繁转简时就不做区分了。

LiMinggang commented 4 years ago

我用bebe转出来是下面这个: 發生 發財 發型 好像它的简体版还不能显示繁体字,上面这些在它的编辑区显示不出来,是空白的。 我想了下,你们说的这个只能借助词组去纠正,就像拼音输入法那样去重,这个不是简单查表能解决的,而文本编辑器不会带着几十兆大小的字典去做这个啊

bluelovers commented 4 years ago

我是希望對於這些字 能有 忽略去轉換的選項 如此一來就不需要擔心 將原本對的字 轉成錯的

並不需要在編輯器內 內建一個詞語轉換表 因為除非使用了語意分析 不然字點轉換 肯定是會出錯的

gli-spirent commented 4 years ago

你说的这个其实就是个转换表,而且是一对多的,但是madedit自己就是建立了一个一对一的转换表,跟我试用bebel的效果一样。 只有带一对多的转换表的时候,才有可能有机会去决定转还是不转。

下面是Madedit里面转换表的模样,你可以看到一个简体对应一个繁体(内码),所以无法做到能判断是否有多个对应。毕竟MadEdit只是一个比较简陋的文本编辑器。

ucs2_t Simp2Trad_Table[]= { 0x2018, 0x300E, 0x2019, 0x300F, 0x201C, 0x300C, 0x201D, 0x300D, 0x2033, 0x301E, 0x3013, 0x2550, 0x4E07, 0x842C, 0x4E0E, 0x8207, 0x4E11, 0x919C, 0x4E13, 0x5C08, 0x4E1A, 0x696D, 0x4E1B, 0x53E2, 0x4E1C, 0x6771, 0x4E1D, 0x7D72, 0x4E22, 0x4E1F, 0x4E24, 0x5169, 0x4E25, 0x56B4, 0x4E27, 0x55AA,

gli-spirent commented 4 years ago

有一个workaround就是你们谁对这个比较熟悉的提供一个表给我,这个表包含了那些不应该转换的字符,这样相当于二级查表,只有不在这个表里面的才继续转换。

gli-spirent commented 4 years ago

@bluelovers 你提到的那两个json文件就是做这个的?似乎我才明白你在要求什么

LiMinggang commented 4 years ago

@bluelovers 我发现MadEdit支持的字符转换只限于GBK和BIG5,不支持扩展字符,即GB18030和BIG5 extension。 GB18030的支持已经被我加到MadEdit,但是BIG5 extension还不支持。 你的表里已经有这些字符了,看来还有很多工作需要在MadEdit里做。

LiMinggang commented 4 years ago

https://en.wikipedia.org/wiki/Big5 看起来没啥官方的啊,没落了