用途:供語言學顧問審閱本站目前的判字邏輯、已遇到的爭議個案,以及需要專業裁定的問題。 版本:2026-10-26|對象:語文教學/文字學/港式中文顧問 網站:chineseword.we1co.me(香港小學中文筆順工作紙產生器) 原始碼/資料:github.com/forumdata-collab/chinese-worksheet(含字形資料、驗證腳本)
本站不是一般「字型排版」工具,而是一個以香港教育局字形與筆順為權威來源的練字簿產生器。使用者輸入文字,系統輸出可列印的 A4 工作紙,內含:
系統的核心資產不是介面,而是資料層:每個字的字形輪廓、骨架中線、筆順次序、筆畫數、讀音、來源。
| 來源 | 用途 | 涵蓋 |
|---|---|---|
| 香港教育局《香港小學學習字詞表》(EDB,edbchinese.hk) | 字形+筆順的第一權威 | 4,525 字(官方筆順動畫逆向成向量輪廓與中線) |
| 台灣教育部《筆順字典》(twpen.com) | EDB 未收字之字形與筆順 | 193 字(由分解圖逆向) |
| HanziWriter/Make Me a Hanzi | 無上述字形時的通用字形與筆順 | 839 字(後備) |
| 漢典(zdic.net)「笔顺编号」 | 無動畫字之筆順次序(筆畫類型序) | 後備參考 |
| 香港中文大學《粵語審音配詞字庫》 | 粵音第一權威(含異讀) | Big5 範圍 |
| Unicode Unihan(kTotalStrokes / kMandarin / kCantonese) | 筆畫數與普通話拼音 | HKSCS 字後備 |
| 開放粵語字典(CC-BY 3.0) | 粵拼基礎資料 | 全站 |
| OpenCC(STPhrases) | 簡→繁詞組表來源 | 詞組轉換 |
每個字一個 JSON:glyphs/<Unicode hex>.json,內容為
s:逐筆的封閉輪廓路徑(SVG path),已轉為 y-up 儲存m:逐筆骨架中線(數字定位與書寫動畫用)另有 glyphs/variants/<hex>.json:異體字「直出字形」用的替代字形(見 P1、P4)。
字形只在瀏覽器端組裝:SVG viewBox 取墨跡邊界、transform 翻轉回顯示座標、筆順數字按中線弧長 20% 定位並避碰。字格、導線、列印尺寸全部用 CSS 變數控制(螢幕與列印同一套比例,實測墨跡=格寬 82%)。
sanity_data.py(字形/筆順/筆數/次序對照)sanity_numbers.js(57,796 個數字:碰撞、錨點是否落在自己筆畫)sanity_parser_sample.py(抽樣重抓 EDB 動畫,確認可重現出貨字形)regression.py(72 項:版面矩陣、比例、默書版、列印、手機、溢出)build_provenance.py → data/glyph_sources.jsonR1|字形權威順序:EDB > twpen(台灣) > HanziWriter(通用) > 系統字型。 有 EDB 字形者一定用 EDB,即使該字另有更通行的寫法。
R2|正字判定:以 EDB 條目為準。判定方法(工程上可重現):
R3|異體字輸出:預設一律輸出香港正字字形(輸入「峰」顯示「峯」形)。2026-10 新增可選項「直出異體字」:勾選後跟着輸入字出字形(峰→山在左、峯→山在上)。
R4|筆畫數:以實際出貨字形的筆數為準(有字形則不信 Unihan);無字形者跟 HanziWriter 筆數。理由:卡片「N 畫」、描紅格筆順數字個數、筆順工作紙格數三處必須一致,否則會出現「標 13 畫但工作紙只印 13 格、第 14 筆永遠不出」。
R5|筆順次序:以 EDB 官方動畫為準。與 HanziWriter(通用次序)不同者,以 permutation 表覆核(現有 671 字非 identity)。無 EDB 動畫者:twpen(台灣標準)→ HanziWriter。
R6|讀音:粵音以 CUHK 為第一權威,並處理「異讀字」註記(例:佢 keoi5、睇 tai2、咁 gam3);HKSCS 字(冧咗哋喺嗰嘅嘞嘢嘥嚟攞)CUHK 網上查不到,改用 Unihan kCantonese 並以 Wiktionary 覆核(例:攞 lo2)。普通話用 Unihan kMandarin。
R7|簡→繁:詞組(OpenCC 詞組表,過濾「后后→後後」等噪音)→ 逐字(先保留已在字表者,再無歧義對應,再一次多義取常用義)→ 香港正字歸一(台灣異體→香港正字,現 9 組:說→説、衛→衞、鉤→鈎、敘→敍、蘊→藴、醞→醖、銳→鋭、閱→閲、裡→裏)。
R8|教學用語:說明頁與介面一律用香港書面語(是/在/沒有/的),不用口語。
EDB 代表字形與香港人日常/台灣習慣寫法常有落差。已確認的 21 組(括號內為 EDB 代表字形):
問題:使用者輸入通用寫法,卻得到另一個字形,第一反應是「系統出錯」。本站現以「香港標準優先」處理,並提供「直出異體字」選項;但教學上應該教哪一個,需要顧問判斷。
同一部件,三地計法不同:艹(3/4)、辶(3/4)、阝(2/3)、糹(3/6)、骨(9/10)、之(3/4)、為(9/12)。 本站有字形者一律跟字形(EDB=香港計法);無字形者過去誤用 Unihan(大陸計法),已修正 33 字,例:
問題:這 33 字其實不在 EDB 字詞表(查詢回「找不到」),即香港無官方筆數可比對,現時跟 HanziWriter(偏台灣計法)。是否可接受?
問題:上述個案是否應在介面加註「依香港字形表,與其他地區計法不同」?
勾選「直出異體字」後,峰顯示峰形(山在左)、說顯示說形(兌)。目前 12 字支援:兌、囪、悅、戶、敘、稅、脫、臥、說、銳、閱、峰;另有 8 字暫不支援:衛、蔥、蘊、醞、裡、鉤、溫、床——原因是可用的替代字形(HanziWriter)筆數與 EDB 字形不同(例 蔥 15 vs 13、衛 15 vs 16),強行採用會出現「卡片 13 畫、描紅 15 筆」。
問題:小一至小三教學,讓學生看到「同一個字兩種寫法」是否適宜?應否加註「此為另一種通行寫法,香港標準寫法見下」?
香港常用粵語字(嘅、咗、喺、嗰、佢、乜、冇、睇、嘢、咩、哋、嚟、攞、噉)不在 EDB 字詞表。本站以 twpen(台灣教育部標準)逆向出字形,並在頁腳標明來源。
問題:教學上使用台灣標準字形教香港粵語字,是否需要更明確的來源標示或改用其他權威?
EDB 與 HanziWriter 對 671 個字的筆順不同(本站以 EDB 為準,並存 permutation 表)。另有一批字(如「洪」的三點水首兩點)曾出現中線方向倒轉的系統性問題,已按「與 HanziWriter 方向比對」修正 1,164 筆,仍有約 300 筆因兩來源字形差異無法自動判定,暫不處理。
問題:是否需要一份「香港小學常用字筆順異同」清單供教師參考?
曾嘗試用同部首/同聲符的 EDB 字形推導缺字字形。以 70 個有官方真值的字盲測:筆畫數正確率 36%、墨跡重疊度(IoU)平均 0.41、筆順完全相同僅 2/17。原因是部件在合體字中會變形(手→扌 4→3 畫、水→氵、心→忄),且切回部件本身就需要未知的分解資訊。結論:不以推導字形出貨。若語言學上有可靠的部件–筆畫對應規則,歡迎指導。
例:說(siu3/seoi3)、睇(tai2/dai6)、佢(keoi5)、冇(mou5)。CUHK 首行未必是正讀,本站改以「異讀字」註記所指者為主讀音,其餘列為又讀。
問題:小學教材應否只顯示一個讀音?以哪個為準?
發/髮、乾/幹、麵/面、後/后、隻/只、繫/系 等須靠詞組判斷。詞組表非完備,未收錄詞語會逐字轉換而可能出錯(例「系鞋帶」曾誤轉,已補詞組)。
問題:是否有香港小學常用詞表可作為詞組優先序的依據?
標點全形直出、每字佔一格(,。!?:;、等)。標點沒有字形資料(EDB/HanziWriter 皆無),只顯示格線與描紅位置。
問題:小學練字簿的標點是否應佔格?位置(左下、中央)是否須依標點種類調整?
現時一個工作紙內可能同時有 EDB、twpen、HanziWriter 三種字形,頁腳只統一聲明。曾考慮逐字標示來源,但會令列印版面擁擠。
問題:教學上是否需要逐字標示?以何種形式(頁腳註、字旁小字)?
sanity_data.py、sanity_numbers.js、sanity_parser_sample.py、audit_full.py、audit_hw_fallback.py、regression.py(72 項介面回歸)。按顧問意見,先做「不靜默改字」與「文案降級」,資料層權威順序不動。
字形:峯(香港教育標準)|峰(你的輸入)
- 輸入「峯」:字形:峯(香港教育標準)|峰(另一常見寫法)
使用者的輸入不會被靜默替換,介面亦不再暗示「你打錯」。EDB/TW/HW,完整說明放懸停提示與教師附錄;列印版面保持乾淨。docs/teacher-appendix.html(可列印)與 docs/teacher-appendix.csv;欄位包括輸入字、香港教育標準寫法、對應寫法、是否標準、關係、本站示範、能否切換、筆數、筆數備註(地區差異)、字形來源、筆順來源、粵拼主讀/又讀、拼音、簡體;共 270 列(42 個同字異寫字、36 個筆數說明字、193 個台灣字形後備字)。本文件由系統維護者整理,數據均出自可重跑的檢查腳本;文中「本站判斷」部分歡迎顧問指正。