Qieyun.js 0.13 更動概要及遷移指南 #28
syimyuzya
announced in
Announcements
Replies: 2 comments 2 replies
-
@ayaka14732 @graphemecluster @untunt beta 版可以試用了~ |
Beta Was this translation helpful? Give feedback.
0 replies
-
收到!
下一版的 qieyun-autoderiver 會改用 Parcel ~
另建議同時定義 |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Qieyun.js 0.13
目前已漸穩定,將在推導方案更新至少四套並測試後擇日發佈已於 2022-04-24 發佈。代碼在
nk2028/qieyun-js 的 dev-0.13 分支main 分支下。試用:可以在 https://syimyuzya.github.io/qieyun-autoderiver/ 的控制臺下立即試用(該 fork 同時包含若干已更新到 0.13 的推導方案可供試用),或可在 Node.js 下
npm i qieyun@syimyuzya/qieyun-js#dist-dev
試用npm i qieyun@latest
開始使用。文檔:
暫未部署,可以直接看代碼中的文檔註釋,或者 git clone 下來用見 https://nk2028.shn.hk/qieyun-jspython prepare/main.py && npm run doc:html
生成Qieyun.js API 更動概要
資料相關:
iter音韻地位
與query字頭
兩函數移至Qieyun.資料
下音韻地位
的.反切
.代表字
.條目
三項,功能由Qieyun.資料.query音韻地位
取代query字頭
與query音韻地位
返回的條目所含信息增加「反切」「韻目原貌」兩項音韻地位相關:
音韻地位
建立時的限制,允許在建立時「呼」和「重紐」不為null
(無論何種聲韻組合)null
的場合下為null
Qieyun.適配分析體系
擔任src/lib/分析體系.ts
)及單元測試(在src/lib/分析體系.spec.ts
)Qieyun.表達式
裡面含有一些預定義的常用表達式autoderiver 與 qieyun-examples 相關:
Qieyun.推導方案.建立
為 autoderiver 和 qieyun-examples 兩者提供統一的函數包裝及解析選項列表等功能由其所產生的推導函數,自帶音韻地位合法性檢查(依 v2ext 體系,因此推導方案代碼只需考慮符合 v2ext 格式的音韻地位即可)
Qieyun.適配分析體系
整體調整,或用音韻地位.調整
來精細調整舊推導代碼可以啟用「兼容模式」在 Qieyun.js 0.13 下繼續使用一段時間
['$legacy', true]
這樣一項,Qieyun.推導方案.建立
會識別該項,且該項不會包含在解析後的選項列表中(qieyun-examples 的 dev-qieyun-0.13 分支下當未升級的代碼均已做該處理)遷移指南
qieyun-autoderiver 特別注意
建議使用
Qieyun.推導方案.建立
包裝原始推導函數以及解析選選列表(以便和 qieyun-examples 統一邏輯)Array
型的選項,其[0]
已經是默認項的值而非下標。請給推導方案提供訪問
Qieyun
的能力,方法是:【當然,也有其他方法比如
const tmpFunc = new Function('Qieyun', '音韻地位', '字頭', '選項', code);
然後Qieyun.推導方案.建立((...args) => tmpFunc(Qieyun, ...args))
,但用 global 的話還有個好處是能讓Qieyun
在控制臺使用,因此建議用 global 方式推導方案代碼、預設文章這兩者均有配套更新,舊版內容不能正常運作於 0.13,請使用 qieyun-examples
的 dev-qieyun-0.13最新的 main 分支(尚未部署於騰訊雲)及 qieyun-text-label的 v2最新的 main 分支下的內容推導代碼
is`...`
格式的音韻地位.屬於
,請將其定義為const is = (...x) => 音韻地位.屬於(...x)
,注意請使用...x
音韻地位差異
此處列出 Qieyun.js 0.13 預設資料所用音韻地位體系(稱為 "v2" 體系)與舊版的差異。
v2 調整:
v2(及預設資料)新增情形:
重紐 = null
,並沒有蒸A幽A陽B):資料蒸B、幽B有牙喉音,陽A僅脣音「𩦠」一小韻v2 取消的情形:
(凡說明「無統一校法」者,
適配分析體系.v2
會拒絕處理該地位;另有 v2lenient 體系可用,會對該類地位保持原樣,如需處理請注意覆蓋這些情況)(注「僅資料」者,指 v2 正則化規則中本身沒有直接禁止該類地位,也不會轉換該類地位,但資料中這類地位都被校了)
v2ext 比 v2 額外多出組合:
(處理預設資料時不會遇到,但若想處理其他來源資料,可能需要注意以下額外多出的聲韻組合與對立)
Beta Was this translation helpful? Give feedback.
All reactions