From 24a24248b6002f7694d968f56e36531158418d7d Mon Sep 17 00:00:00 2001 From: NFSL2001 <33471049+NightFurySL2001@users.noreply.github.com> Date: Sat, 25 Dec 2021 08:39:06 +0800 Subject: [PATCH] =?UTF-8?q?Update=20v0.16=20=E2=9D=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.bat | 34 +- count_char.py | 4 +- global_var.py | 25 + hkchangyong-han.txt | 4825 +++++++++++++++++++++++++++++++++++++++++++ main-zhs.py | 4 +- main-zht.py | 8 +- main.py | 4 +- readme.txt | 6 +- ttc_get.py | 142 +- 9 files changed, 4965 insertions(+), 87 deletions(-) create mode 100644 hkchangyong-han.txt diff --git a/build.bat b/build.bat index f4dca2a..56eb907 100644 --- a/build.bat +++ b/build.bat @@ -1,13 +1,23 @@ -@ECHO OFF -ECHO Start building... -ECHO Building English version...... -pyinstaller main.spec -ECHO Building Chinese (Simp) version...... -pyinstaller main-zhs.spec -CD dist -xcopy /s .\main-zhs\main-zhs.exe .\main -xcopy /s .\main-zhs\main-zhs.exe.manifest .\main -RMDIR /S /Q .\main-zhs -REN "main" "CJK-character-count-v0.10" -ECHO Build done! +@ECHO OFF +ECHO Start building... +ECHO Building English version...... +pyinstaller main.spec +ECHO Building Chinese (Simp) version...... +pyinstaller main-zhs.spec +ECHO Building Chinese (Trad) version...... +pyinstaller main-zht.spec +CD dist +ECHO Combining files...... +:: copy everything into zht folder as zht need extra GUI font +xcopy /s .\main\main.exe .\main-zht +xcopy /s .\main\main.exe.manifest .\main-zht +xcopy /s .\main-zhs\main-zhs.exe .\main-zht +xcopy /s .\main-zhs\main-zhs.exe.manifest .\main-zht +ECHO Deleting redundant file...... +RMDIR /S /Q .\main +RMDIR /S /Q .\main-zhs +REN "main-zht" "CJK-character-count-vX.XX" +ECHO Build done! +ECHO Press Enter to exit. +PAUSE >nul EXIT \ No newline at end of file diff --git a/count_char.py b/count_char.py index 87723e3..30c736a 100644 --- a/count_char.py +++ b/count_char.py @@ -2,6 +2,7 @@ from tkinter import ttk from itertools import tee import global_var +import os #special cjk compatibility for gbk, defined at end global gbk_compatibility_deci_list @@ -124,7 +125,8 @@ def count_char(char_list, master, lang="en"): #load encoding file def load_sample_file(filename): font_list = [] - for line in open(filename, "r", encoding="utf-8"): + full_path = os.path.join(global_var.main_directory, filename) + for line in open(full_path, "r", encoding="utf-8"): font_list.append(line.strip("\r\n").strip(" ")) return font_list diff --git a/global_var.py b/global_var.py index 657157f..6bf5522 100644 --- a/global_var.py +++ b/global_var.py @@ -8,6 +8,26 @@ global cjk_count global unicode_count +import os, sys +global main_directory + +#if packaged by pyinstaller +#ref: https://stackoverflow.com/questions/404744/determining-application-path-in-a-python-exe-generated-by-pyinstaller +if getattr(sys, 'frozen', False): + #change from loading same folder to full folder, --onedir + main_directory = os.path.dirname(sys.executable) + #`pyinstaller --onefile` change to use the following code + #if '_MEIPASS2' in os.environ: + # main_directory = os.environ['_MEIPASS2'] + #ref: https://stackoverflow.com/questions/9553262/pyinstaller-ioerror-errno-2-no-such-file-or-directory +else: + #dev mode + try: #py xx.py + app_full_path = os.path.realpath(__file__) + main_directory = os.path.dirname(app_full_path) + except NameError: #py then run code + main_directory = os.getcwd() + #english name #old list for compatibility @@ -25,6 +45,7 @@ "6343cichangyong":"Chart of Standard Forms of Less-Than-Common National Characters", #次常用国字标准字体表 "big5changyong":"BIG5 Common Character Set", "big5":"BIG5", + "hkchangyong":"List of Graphemes of Commonly-Used Chinese Characters", #常用字字形表 "hkscs":"Hong Kong Supplementary Character Set", "suppchara":"Common Supplementary Characters in Hong Kong (Level 1-6)" } @@ -43,6 +64,7 @@ "6343cichangyong":"Chart of Standard Forms of Less-Than-Common National Characters", "big5changyong":"BIG5 Common Character Set", "big5":"BIG5", + "hkchangyong":"List of Graphemes of Commonly-Used Chinese Characters", "hkscs":"Hong Kong Supplementary Character Set", "suppchara":"Common Supplementary Characters in Hong Kong (Level 1-6)", "gb12345":"GB/T 12345" @@ -80,6 +102,7 @@ "6343cichangyong":"次常用国字标准字体表", "big5changyong":"五大码 (Big5) 常用汉字表", "big5":"五大码 (Big5)", + "hkchangyong":"常用字字形表", "hkscs":"香港增补字符集 (HKSCS)", "suppchara":"常用香港外字表 (1-6级)", "gb12345":"GB/T 12345" @@ -106,6 +129,7 @@ "6343cichangyong":"次常用國字標準字體表", "big5changyong":"五大碼 (Big5) 常用漢字表", "big5":"五大碼 (Big5)", + "hkchangyong":"常用字字形表", "hkscs":"香港增補字符集 (HKSCS)", "suppchara":"常用香港外字表 (1-6級)", "gb12345":"GB/T 12345" @@ -154,6 +178,7 @@ "6343cichangyong":6343, "big5changyong":5401, "big5":13060, + "hkchangyong":4825, "hkscs":4603, "suppchara":1097 } diff --git a/hkchangyong-han.txt b/hkchangyong-han.txt new file mode 100644 index 0000000..ee455ee --- /dev/null +++ b/hkchangyong-han.txt @@ -0,0 +1,4825 @@ +一 +丁 +七 +三 +下 +上 +丈 +丑 +丐 +不 +丕 +丙 +世 +且 +丘 +丞 +丟 +丢 +並 +丫 +中 +串 +丸 +凡 +丹 +主 +乃 +久 +之 +尹 +乍 +乏 +乎 +乒 +乓 +乖 +乘 +乙 +九 +也 +乞 +乩 +乳 +乾 +亂 +了 +予 +事 +二 +于 +云 +井 +互 +五 +亙 +些 +亞 +亟 +亡 +交 +亦 +亥 +亨 +享 +京 +亭 +亮 +人 +仁 +什 +仃 +今 +仄 +仆 +仇 +仍 +介 +付 +仔 +仕 +他 +仗 +代 +令 +仞 +以 +仙 +仿 +伉 +伙 +伊 +伕 +伍 +伐 +休 +伏 +任 +仼 +仳 +仲 +企 +件 +仰 +份 +位 +住 +佇 +佗 +伴 +佞 +佛 +何 +估 +佐 +佑 +佈 +伽 +伺 +伸 +佃 +佔 +似 +但 +佣 +作 +你 +伯 +低 +伶 +余 +佝 +佯 +依 +併 +侍 +佳 +使 +佬 +供 +例 +來 +佰 +侃 +侈 +佩 +佻 +侖 +侏 +信 +侵 +侯 +便 +俠 +俑 +俏 +保 +促 +侶 +俚 +俘 +俟 +俊 +俗 +侮 +俐 +俄 +係 +俎 +俞 +倌 +倍 +倣 +俯 +倦 +倥 +俸 +倩 +倖 +倆 +值 +借 +倚 +倒 +們 +俺 +倀 +倔 +倨 +倶 +倡 +個 +候 +倘 +俳 +修 +倭 +倪 +俾 +倫 +倉 +偽 +停 +偏 +假 +偃 +偌 +做 +偉 +健 +偶 +偎 +偕 +偵 +側 +倏 +偷 +傢 +傍 +傅 +備 +傑 +傀 +傖 +傘 +傭 +債 +傲 +傳 +僅 +傾 +催 +傷 +傻 +僧 +僮 +僱 +僥 +僣 +僖 +僚 +僕 +像 +僑 +億 +儀 +僻 +僵 +價 +儂 +儈 +儉 +儐 +儒 +儘 +儔 +儲 +優 +償 +儡 +儷 +儼 +兀 +元 +允 +兄 +充 +光 +兇 +兆 +先 +克 +兌 +兑 +免 +兕 +兔 +兒 +兗 +兜 +兢 +入 +內 +全 +兩 +八 +六 +兮 +公 +共 +兵 +具 +其 +典 +兼 +冀 +冉 +冊 +再 +冒 +冒 +冑 +冕 +最 +冠 +冢 +冥 +冤 +冬 +冰 +冶 +冷 +冽 +凍 +凌 +准 +凋 +凜 +凝 +几 +凰 +凱 +凳 +櫈 +凶 +凹 +出 +凸 +函 +刀 +刁 +刃 +切 +分 +刈 +刊 +列 +刑 +划 +刎 +判 +别 +刪 +利 +刨 +刻 +券 +刷 +刺 +到 +刮 +制 +剁 +剃 +前 +剌 +剋 +尅 +則 +削 +剎 +剖 +剜 +剔 +剛 +剝 +剪 +副 +割 +剴 +創 +剩 +剷 +剽 +剿 +劃 +劈 +劇 +劉 +劍 +劑 +力 +加 +功 +劣 +劫 +助 +努 +劬 +劾 +勇 +勃 +勉 +勁 +勒 +務 +勘 +動 +勞 +勳 +勛 +勝 +募 +勤 +勢 +勵 +勸 +勻 +匀 +勾 +勿 +包 +匆 +怱 +匈 +匍 +匐 +匏 +匕 +化 +北 +匙 +匝 +匡 +匠 +匣 +匪 +匯 +匱 +匹 +匾 +匿 +區 +十 +千 +卅 +午 +升 +半 +卉 +仟 +卒 +協 +卓 +卑 +南 +博 +卜 +卞 +卡 +占 +卦 +卬 +卮 +印 +危 +即 +卵 +卷 +卸 +卹 +卻 +卿 +厄 +厚 +原 +厥 +厭 +厲 +去 +參 +又 +叉 +友 +反 +及 +取 +叔 +受 +叛 +叟 +曼 +叢 +口 +可 +古 +右 +召 +叮 +叩 +叨 +叼 +司 +叵 +另 +叫 +只 +史 +叱 +台 +臺 +句 +叭 +吉 +吏 +吐 +吁 +吋 +同 +各 +向 +名 +合 +吃 +后 +吆 +吒 +吝 +吭 +吞 +吾 +否 +呎 +吧 +呃 +君 +吠 +吼 +呀 +吱 +呆 +吳 +吵 +呐 +呈 +呂 +吩 +告 +吹 +吻 +吸 +吮 +含 +吟 +味 +呵 +咖 +呸 +咕 +呢 +咀 +呻 +呷 +咄 +咒 +咆 +呼 +咐 +呱 +呶 +和 +咚 +周 +咋 +命 +咎 +咬 +哀 +咩 +咨 +咳 +咪 +哎 +哉 +咦 +哇 +哂 +哄 +咫 +咧 +咽 +品 +哈 +咯 +咱 +咻 +咸 +唐 +唁 +哼 +哥 +哲 +哺 +唔 +哮 +哪 +唧 +哩 +哭 +員 +哨 +唆 +唉 +哦 +唷 +商 +啖 +唳 +啪 +啦 +啄 +啞 +啊 +啜 +啃 +唱 +問 +唬 +啡 +啕 +唯 +啤 +唸 +售 +啣 +啁 +啥 +啻 +喀 +喧 +啼 +喜 +喪 +喔 +喇 +喋 +喃 +喳 +喱 +喝 +喘 +喂 +單 +喟 +喊 +唾 +喲 +喚 +喻 +喬 +啾 +喉 +嗟 +嗨 +嗓 +嗉 +嗎 +嗜 +嗇 +嗑 +嗣 +嗤 +嗯 +嗚 +嗡 +嗅 +嗆 +嗥 +嗾 +嘀 +嘛 +嗽 +嘔 +嘉 +嗷 +嘖 +嘟 +嘈 +嘗 +嘍 +嘮 +嘻 +嘹 +嘲 +嘩 +噎 +噴 +嘶 +嘿 +嘰 +噓 +噗 +嘴 +噫 +嘯 +噩 +噤 +噸 +噹 +噪 +器 +噥 +噱 +噙 +噯 +噬 +噢 +嚎 +嚀 +嚅 +嚇 +嚏 +嚕 +嚮 +嚨 +嚥 +嚷 +嚶 +嚴 +嚼 +囁 +囀 +囂 +囈 +囊 +囉 +囌 +囑 +四 +囚 +因 +回 +困 +囤 +囪 +囱 +固 +圃 +圈 +國 +圍 +園 +圓 +團 +圖 +土 +地 +在 +圭 +圬 +圯 +圳 +坊 +坑 +址 +坍 +均 +坎 +圾 +坐 +坏 +垃 +坷 +坪 +坩 +坡 +坦 +坤 +坼 +垂 +型 +垠 +垣 +垮 +垢 +城 +埔 +埋 +埃 +培 +域 +堅 +基 +堵 +執 +堂 +堆 +埠 +報 +堯 +堪 +堰 +場 +堤 +堡 +塞 +塑 +塘 +塗 +塚 +塔 +填 +塌 +塊 +塢 +塵 +塾 +境 +墓 +墊 +塹 +墅 +增 +墀 +墳 +墜 +墮 +墟 +壅 +壇 +壁 +墾 +壕 +壓 +壑 +壙 +壘 +壞 +壟 +壤 +壩 +士 +壬 +壯 +壹 +壺 +壽 +夏 +夕 +外 +夙 +多 +夜 +够 +夥 +夢 +夤 +大 +太 +天 +夫 +夭 +央 +失 +夷 +夸 +夾 +奉 +奇 +奈 +奔 +奄 +奕 +契 +奏 +奎 +奐 +套 +奘 +奚 +奢 +奠 +奧 +奪 +奩 +奮 +女 +奴 +奶 +妄 +奸 +妃 +好 +她 +如 +妒 +妨 +妞 +妣 +妍 +妤 +妓 +妊 +妝 +妙 +妖 +妥 +妾 +妻 +妹 +妮 +姑 +姐 +姍 +妯 +姒 +委 +姆 +始 +姓 +姊 +妳 +姜 +姘 +姿 +姣 +姨 +娃 +姥 +姪 +姻 +姚 +姦 +威 +娑 +娘 +娣 +娜 +娓 +姬 +娠 +娟 +娛 +娌 +娩 +娥 +婉 +婆 +婊 +婦 +婪 +娶 +婀 +婁 +娼 +婢 +婚 +婷 +媚 +婿 +媒 +媪 +媛 +嫂 +嫁 +嫉 +嫌 +媾 +媽 +媳 +媲 +嫡 +嫩 +嫗 +嫖 +嫣 +嫦 +嫘 +嬉 +嫻 +嫺 +嬋 +嫵 +嬌 +嬴 +嬝 +嬪 +嬤 +嬰 +嬸 +孀 +子 +孑 +孓 +孔 +孕 +字 +存 +孝 +孜 +孚 +孟 +孤 +季 +孩 +孫 +孰 +孳 +孱 +孵 +學 +孺 +孽 +孿 +它 +宂 +宇 +守 +宅 +安 +完 +宋 +宏 +宗 +定 +官 +宜 +宙 +宛 +宣 +宦 +室 +宥 +客 +宰 +家 +宴 +宮 +宵 +害 +容 +密 +寇 +寅 +寄 +寂 +宿 +寒 +富 +寓 +寐 +寞 +寧 +寡 +寥 +寨 +實 +寢 +寤 +察 +寮 +寬 +審 +寫 +寵 +寶 +寸 +寺 +封 +射 +尉 +專 +將 +尊 +尋 +對 +導 +小 +少 +尖 +尚 +尤 +尬 +就 +尷 +尸 +尺 +尼 +局 +屁 +尿 +尾 +居 +屆 +屈 +屎 +屏 +屍 +屋 +展 +屑 +屐 +屠 +屜 +屢 +層 +履 +屬 +屯 +山 +屹 +岐 +岑 +岔 +岌 +岷 +岸 +岩 +崗 +岡 +岫 +岱 +岳 +峙 +峽 +峭 +峻 +峪 +峨 +峩 +峯 +峰 +島 +崇 +崆 +崎 +崛 +崖 +崑 +崩 +崢 +崔 +崙 +嵌 +嵐 +嵩 +嶄 +嶇 +嶝 +嶼 +嶺 +嶽 +巍 +巒 +巔 +巖 +川 +州 +巢 +工 +巨 +巧 +左 +巫 +差 +己 +已 +巳 +巴 +巷 +巽 +巾 +市 +布 +帆 +希 +帘 +帚 +帖 +帛 +帑 +帕 +帝 +帥 +席 +師 +帶 +帳 +常 +帷 +幅 +帽 +幀 +幌 +幛 +幣 +幕 +幗 +幔 +幢 +幟 +幫 +干 +平 +并 +年 +幸 +幹 +幺 +幻 +幼 +幽 +幾 +序 +庇 +庚 +店 +府 +底 +庖 +庠 +度 +庫 +庭 +座 +康 +庸 +庶 +庵 +菴 +庾 +廊 +廂 +廁 +廉 +廈 +廓 +廖 +廢 +廚 +廟 +廝 +廣 +廠 +龐 +廬 +廳 +廷 +延 +建 +廿 +弁 +弄 +弈 +弊 +式 +弑 +弓 +弔 +引 +弘 +弗 +弛 +弟 +弦 +弧 +弩 +弭 +弱 +張 +強 +弼 +彆 +彈 +彌 +彎 +彗 +彙 +彝 +形 +彤 +彥 +彬 +彩 +彫 +彭 +彰 +影 +彷 +役 +往 +征 +彿 +彼 +很 +待 +律 +徊 +徇 +後 +徒 +徑 +徐 +得 +徙 +徘 +從 +御 +復 +循 +徨 +徬 +微 +徹 +德 +徵 +徽 +心 +必 +忙 +忖 +忘 +忌 +志 +忍 +忱 +快 +忝 +忠 +忽 +念 +忿 +怔 +怯 +怵 +怖 +怪 +怏 +怕 +性 +怡 +思 +怒 +怠 +急 +怎 +怨 +恨 +恢 +恆 +恃 +恬 +恍 +恫 +恰 +恪 +恤 +恙 +恣 +恥 +恐 +恭 +恩 +恕 +息 +悌 +悅 +悦 +悟 +悖 +悚 +悍 +悄 +悔 +恿 +患 +悉 +悠 +您 +惋 +悴 +惦 +悽 +情 +悻 +悵 +惜 +悼 +惘 +惕 +惆 +惟 +悸 +惚 +惑 +惡 +惠 +悶 +悲 +愜 +惰 +慨 +愣 +惺 +愕 +惻 +惴 +愠 +慍 +惱 +愎 +惶 +愉 +愀 +意 +想 +惹 +愚 +感 +愛 +愁 +愈 +慎 +慌 +慄 +愾 +愴 +愧 +慈 +愿 +慇 +態 +忼 +慷 +慳 +慚 +慢 +慣 +慟 +慘 +慶 +慧 +慝 +慕 +憂 +慰 +慮 +慼 +慫 +慾 +憧 +憐 +憎 +憫 +憤 +憬 +憚 +憔 +憲 +憑 +憩 +憊 +懍 +憶 +憾 +懂 +懊 +懈 +應 +懇 +懦 +懣 +懲 +懷 +懶 +懵 +懸 +懺 +懼 +懿 +戀 +戈 +戊 +戎 +戌 +戍 +成 +戒 +我 +或 +戕 +戛 +戚 +戟 +戡 +戢 +截 +戮 +戰 +戴 +戲 +戳 +户 +房 +戾 +所 +扁 +扇 +扈 +扉 +才 +手 +扎 +打 +扔 +扒 +扛 +扣 +托 +抗 +抖 +技 +扶 +抉 +扭 +把 +扼 +找 +抒 +抄 +批 +扯 +抑 +折 +扳 +扮 +投 +抓 +承 +拉 +拌 +拄 +抿 +拂 +抹 +拒 +招 +拓 +拔 +拋 +抨 +拆 +拈 +抽 +押 +拐 +拙 +拇 +披 +拍 +抵 +拚 +抱 +拘 +拖 +拗 +抬 +擡 +拜 +挖 +按 +拼 +挑 +拭 +持 +拮 +指 +拱 +拷 +拯 +拽 +拴 +括 +拾 +拿 +挈 +拳 +挾 +振 +捕 +捂 +挪 +捎 +捆 +捏 +捉 +捐 +挺 +挽 +挫 +挨 +掠 +控 +捲 +掖 +探 +接 +捩 +捷 +捧 +掘 +措 +捱 +掩 +掃 +掛 +捫 +掉 +排 +捨 +推 +掄 +授 +掙 +採 +掬 +掏 +掀 +捻 +掌 +掣 +揮 +描 +揀 +揉 +揆 +揍 +插 +握 +摒 +揩 +揣 +提 +揖 +揭 +揚 +捶 +援 +揪 +換 +搜 +搾 +搞 +搪 +搓 +搭 +搽 +搏 +搔 +損 +搬 +搶 +搖 +搗 +摘 +摔 +摑 +摸 +摺 +摧 +摟 +撇 +摹 +摩 +摯 +撤 +撞 +撈 +撰 +撥 +撓 +撕 +撩 +撒 +撐 +撲 +撮 +播 +撫 +撚 +撬 +擅 +擁 +撻 +擂 +擋 +據 +擄 +擇 +操 +撼 +擔 +擒 +撿 +擊 +擘 +擎 +擠 +擰 +擦 +擬 +擱 +擴 +擲 +擾 +攆 +擻 +擺 +攀 +攏 +攘 +攔 +攙 +攝 +携 +攜 +攤 +攣 +攫 +攪 +攬 +支 +收 +改 +攻 +放 +政 +故 +效 +啟 +敖 +救 +教 +敝 +敗 +敏 +叙 +敘 +敍 +敦 +敢 +散 +敞 +敬 +敲 +敵 +敷 +數 +整 +斃 +斂 +文 +斑 +斐 +斗 +料 +斜 +斟 +斡 +斤 +斥 +斧 +斫 +斬 +斯 +新 +斷 +方 +於 +施 +旁 +旅 +族 +旋 +旌 +旎 +旗 +旖 +既 +日 +旦 +旨 +早 +旬 +旭 +旱 +旺 +昔 +昆 +昌 +易 +昂 +明 +昏 +昇 +春 +昭 +昧 +是 +映 +星 +昨 +晏 +時 +晉 +晃 +晌 +晝 +晤 +晨 +晚 +晦 +普 +晰 +晴 +晶 +景 +暑 +智 +暗 +暉 +暈 +暇 +暖 +暨 +暢 +暮 +暫 +暴 +曆 +曉 +暹 +曙 +曖 +曠 +曝 +曦 +曬 +曰 +曲 +曳 +更 +曷 +書 +曹 +勗 +曾 +替 +會 +月 +有 +服 +朋 +朔 +朕 +朗 +望 +期 +朝 +朦 +朧 +木 +朮 +本 +未 +末 +札 +朽 +朴 +朱 +朵 +李 +材 +杆 +邨 +村 +杜 +杖 +杞 +束 +杏 +杉 +杭 +枕 +杰 +杷 +枝 +林 +杯 +板 +枉 +東 +果 +杳 +枇 +松 +析 +杵 +枏 +柿 +染 +柱 +柔 +某 +架 +枯 +柩 +柯 +柄 +柑 +柬 +柵 +柺 +柚 +查 +枸 +柏 +柳 +檯 +枱 +校 +核 +案 +框 +桓 +根 +桂 +桔 +栩 +栗 +桑 +栽 +桌 +柴 +桐 +桀 +格 +桃 +株 +桅 +栓 +梳 +梁 +梯 +梢 +梓 +梵 +桶 +梧 +梗 +械 +桿 +梃 +梭 +梆 +梅 +條 +梨 +梟 +棄 +棺 +棕 +椅 +棟 +森 +棧 +棒 +棲 +棣 +棋 +植 +棠 +棘 +棗 +棵 +棹 +棍 +椒 +椎 +棉 +棚 +榔 +楚 +楠 +楔 +極 +椰 +概 +業 +楷 +楊 +楨 +楫 +楞 +楓 +楹 +榆 +榜 +榨 +榕 +槁 +榮 +榷 +槓 +構 +榛 +榻 +榴 +槐 +槍 +榭 +槌 +榦 +樑 +樣 +樟 +槨 +樁 +樞 +標 +槽 +樊 +模 +樓 +槳 +樂 +樽 +橙 +橫 +橘 +樹 +橄 +橢 +樸 +樺 +橡 +橋 +橇 +樵 +機 +檀 +檔 +檄 +檢 +檜 +櫛 +檳 +檸 +柜 +櫃 +檻 +櫂 +檬 +櫥 +櫝 +櫚 +櫓 +欄 +櫻 +權 +欖 +欠 +次 +欣 +欲 +款 +欺 +欽 +歇 +歉 +歌 +嘆 +歎 +歐 +歟 +歡 +止 +正 +此 +步 +武 +歧 +歪 +歲 +歷 +歸 +歹 +死 +歿 +殃 +殆 +殊 +殉 +殘 +殖 +殤 +殮 +殯 +殲 +段 +殷 +殺 +殼 +毀 +殿 +毅 +毆 +毋 +母 +每 +毒 +毓 +比 +毗 +毛 +毫 +毯 +毽 +氊 +氏 +民 +氐 +氓 +氖 +氛 +氟 +氣 +氧 +氨 +氦 +氤 +氫 +氮 +氯 +氲 +水 +永 +汁 +汀 +氾 +汗 +污 +江 +池 +汐 +汕 +汝 +求 +汞 +沁 +沈 +沅 +沛 +汪 +決 +沐 +汰 +沌 +沙 +汨 +沖 +沒 +汽 +沃 +汲 +汾 +泣 +注 +泳 +沱 +泌 +泥 +河 +沽 +泄 +洩 +沼 +沫 +法 +泓 +沸 +泱 +沾 +油 +況 +沮 +泗 +泅 +泊 +波 +沿 +治 +泡 +泛 +泉 +洛 +洋 +洲 +洪 +津 +洱 +洞 +洗 +活 +洽 +派 +洶 +泰 +涌 +流 +浪 +涕 +涇 +浦 +浸 +浙 +消 +涓 +浬 +涉 +海 +浮 +浚 +浴 +浩 +涎 +涼 +淳 +淙 +液 +淡 +淤 +淚 +深 +淺 +清 +淇 +淋 +涯 +涮 +淞 +淹 +淅 +淒 +渚 +涵 +添 +淌 +淑 +涸 +混 +淵 +淫 +淘 +淪 +淮 +淨 +淆 +淄 +游 +湔 +渡 +渲 +渾 +港 +湧 +湊 +渠 +渥 +渣 +湛 +湘 +渤 +湖 +湮 +溉 +渭 +渦 +湯 +渴 +湍 +渺 +測 +減 +湃 +渝 +渙 +温 +溯 +滓 +溶 +滂 +溢 +源 +溝 +滇 +滅 +溥 +溘 +溼 +溺 +滋 +滑 +準 +溜 +滄 +滔 +溪 +漳 +演 +滾 +漓 +滴 +漩 +漾 +滬 +漬 +漏 +漂 +漢 +滿 +滯 +漆 +漱 +漸 +漲 +漣 +漕 +漠 +漫 +滌 +漪 +漁 +滲 +漿 +澈 +潼 +澄 +潑 +潦 +潔 +澆 +潭 +潛 +潸 +潮 +澎 +潺 +潤 +澗 +潰 +潘 +濂 +澱 +澡 +濃 +澤 +濁 +澧 +澳 +激 +澹 +濘 +濱 +濟 +濠 +濤 +濫 +濯 +澀 +濡 +濛 +濬 +瀉 +瀋 +瀆 +濾 +濺 +瀑 +瀏 +瀛 +瀨 +瀚 +瀝 +瀕 +瀟 +瀾 +瀰 +灌 +灑 +灘 +灣 +火 +灰 +竈 +灶 +灼 +災 +灸 +炕 +炎 +炒 +炊 +炙 +炫 +為 +爲 +炳 +炬 +炯 +炭 +炸 +炮 +烊 +烘 +烤 +烈 +烙 +烏 +烹 +焊 +焉 +烽 +焙 +焚 +煮 +焦 +焰 +無 +然 +煎 +烟 +煙 +煩 +煤 +煉 +照 +煜 +煬 +煨 +煦 +煌 +煥 +煞 +熔 +煽 +熙 +熊 +熄 +熟 +熬 +熱 +熨 +熾 +燉 +燐 +燙 +燒 +燈 +燕 +熹 +燎 +燜 +燃 +燄 +燧 +營 +燮 +燦 +燥 +燭 +燬 +燴 +燻 +爆 +爍 +爐 +爛 +爨 +爪 +爬 +爭 +爰 +爵 +父 +爸 +爹 +爺 +爻 +爽 +爾 +牀 +牆 +片 +版 +牌 +牒 +牖 +牘 +牙 +牛 +牟 +牝 +牢 +牡 +牠 +牧 +物 +牲 +牯 +牴 +特 +牽 +犁 +犄 +犀 +犒 +犖 +犛 +犢 +犧 +犬 +犯 +狄 +狂 +狀 +狎 +狙 +狗 +狐 +狩 +狡 +狠 +狼 +狹 +狽 +貍 +狸 +狷 +猜 +猛 +猖 +猙 +猶 +猥 +猩 +猴 +猷 +猿 +猾 +獅 +獄 +獐 +獎 +獗 +獨 +獰 +獲 +獷 +獵 +獸 +獺 +獻 +玀 +玄 +率 +王 +玉 +玖 +玟 +玩 +玫 +玷 +珊 +玻 +玲 +珍 +珀 +玳 +班 +珮 +珠 +琉 +琅 +琊 +球 +理 +現 +琺 +琪 +琳 +琢 +琨 +琶 +琥 +琴 +琦 +瑯 +瑁 +琿 +瑚 +瑕 +瑟 +瑞 +瑛 +瑙 +瑜 +瑰 +瑪 +瑣 +瑤 +瑩 +璋 +璃 +璜 +璣 +環 +璦 +璧 +璽 +瓊 +瓏 +瓜 +瓠 +瓢 +瓣 +瓦 +瓶 +瓷 +甄 +甌 +甕 +甘 +甚 +甜 +生 +產 +甦 +甥 +用 +甩 +甬 +甫 +甭 +田 +由 +甲 +申 +男 +甸 +畏 +界 +畔 +畝 +畜 +畚 +留 +畦 +異 +略 +畧 +畢 +畫 +番 +畸 +當 +疇 +疆 +疊 +疋 +疎 +疏 +疑 +疝 +疙 +疚 +疤 +疫 +疥 +疾 +病 +症 +疳 +疽 +疲 +疼 +疹 +痔 +痕 +疵 +痊 +痛 +痣 +痙 +痘 +痞 +痢 +瘀 +痰 +瘁 +痳 +痱 +痺 +痿 +痴 +癡 +瘧 +瘍 +瘋 +瘉 +癒 +瘓 +瘐 +瘟 +瘩 +瘠 +瘤 +瘡 +瘴 +瘸 +癆 +癌 +療 +癖 +癘 +癢 +癥 +癩 +癮 +癬 +癱 +癲 +癸 +登 +發 +白 +百 +皂 +的 +皇 +皆 +皈 +皎 +皖 +皓 +皚 +皮 +皰 +皴 +皺 +皿 +盂 +盈 +盃 +盆 +益 +盍 +盎 +盔 +盛 +盒 +盜 +盞 +盟 +盡 +監 +盤 +盧 +盥 +盪 +目 +盯 +盲 +直 +盹 +相 +眉 +省 +看 +盾 +盼 +眩 +真 +眠 +眨 +眷 +眼 +眶 +眾 +眸 +眺 +着 +睏 +睛 +睫 +睦 +睞 +睹 +督 +睬 +睜 +睥 +睨 +睽 +瞄 +睿 +睾 +睡 +瞎 +瞇 +瞑 +瞌 +瞞 +瞟 +瞠 +瞥 +瞳 +瞪 +瞰 +瞭 +瞬 +瞧 +瞽 +瞿 +瞻 +矇 +矓 +矗 +矚 +矛 +矜 +矢 +矣 +知 +矩 +短 +矮 +矯 +石 +矽 +研 +砌 +砂 +砍 +砰 +砸 +砝 +砧 +破 +砥 +砭 +砲 +硃 +硫 +硬 +硝 +硯 +碎 +碰 +碗 +碘 +碌 +碉 +硼 +碑 +碟 +碧 +碩 +碳 +磋 +磅 +確 +磁 +磊 +碾 +磕 +碼 +磐 +磨 +磚 +磬 +磷 +磺 +磴 +磯 +礁 +礎 +礙 +礦 +礪 +礬 +礫 +示 +社 +祀 +祁 +祆 +祉 +祈 +祇 +祕 +祠 +祝 +祐 +祖 +神 +祚 +祗 +祟 +祥 +票 +祭 +視 +祺 +祿 +禁 +禎 +福 +禍 +禦 +禧 +禪 +禮 +禱 +禺 +萬 +禽 +禾 +私 +秀 +禿 +秉 +科 +秒 +秋 +秤 +秣 +秦 +秧 +租 +秩 +移 +稅 +税 +稍 +稈 +程 +稀 +稜 +稟 +稚 +稠 +稔 +種 +稱 +稿 +稼 +穀 +稽 +稷 +稻 +積 +穎 +穇 +穌 +穗 +穡 +穢 +穫 +穩 +穴 +究 +空 +穹 +穿 +突 +窄 +窈 +窒 +窕 +窘 +窗 +窖 +窟 +窠 +窪 +窩 +窯 +窮 +窺 +竄 +竅 +竇 +竊 +立 +站 +童 +竣 +竭 +端 +競 +竹 +竺 +竿 +竽 +笆 +笑 +笠 +笨 +第 +笛 +符 +笙 +笞 +等 +策 +筆 +筐 +筒 +答 +筍 +筋 +筏 +筷 +節 +筠 +管 +箔 +箕 +箋 +筵 +箝 +算 +箏 +箭 +篇 +箱 +範 +箴 +篆 +篁 +篙 +築 +篤 +篡 +篩 +簇 +簍 +篾 +篷 +簧 +簪 +簡 +簞 +簣 +簫 +簾 +簿 +簸 +簽 +簷 +籃 +籌 +籍 +籟 +籠 +籤 +籬 +籮 +籲 +米 +粉 +粒 +粗 +粕 +粟 +粥 +粱 +粳 +粵 +粺 +粽 +糉 +精 +糊 +糕 +糖 +糠 +糜 +糟 +糞 +糢 +糙 +糧 +糯 +系 +糾 +紂 +紅 +紀 +紉 +紇 +約 +紡 +紊 +紋 +素 +索 +純 +紐 +紕 +紜 +紗 +納 +級 +紙 +紛 +絆 +絃 +紮 +紹 +紼 +絀 +細 +紳 +組 +累 +終 +統 +絞 +結 +絨 +絕 +紫 +絮 +絲 +絡 +給 +絢 +經 +絹 +綑 +綁 +綏 +綻 +綰 +綜 +綾 +綴 +綺 +緒 +綽 +網 +綱 +緊 +綠 +綢 +綿 +綵 +綸 +維 +緇 +締 +編 +練 +緯 +緻 +緬 +緝 +緘 +緣 +線 +綫 +緞 +緩 +綞 +縕 +縑 +縈 +縛 +縣 +縮 +績 +繆 +縷 +縲 +繃 +縫 +總 +縱 +繅 +繁 +織 +繕 +繞 +繚 +綉 +繡 +繫 +繭 +繹 +繩 +繪 +繳 +繽 +辮 +繼 +纂 +纏 +續 +纓 +纖 +纜 +缶 +缸 +缺 +鉢 +缽 +罄 +罈 +罐 +罕 +罔 +罟 +置 +署 +罩 +罪 +罰 +罵 +罷 +罹 +羅 +羈 +羊 +羌 +美 +羔 +羞 +羚 +善 +羨 +羣 +群 +義 +羯 +羲 +羶 +羹 +羸 +羽 +羿 +翅 +翁 +翌 +翎 +習 +翔 +翕 +翠 +翡 +翟 +翩 +翰 +翱 +翺 +翳 +翼 +翹 +翻 +耀 +老 +考 +者 +耆 +而 +耐 +耍 +耒 +耘 +耕 +耙 +耗 +耜 +耳 +耶 +耽 +耿 +聊 +聆 +聖 +聘 +聞 +聚 +聱 +聲 +聰 +聯 +聳 +職 +聶 +聽 +聾 +聿 +肆 +肄 +肅 +肇 +肉 +肋 +肌 +肓 +肖 +肝 +肘 +肛 +肚 +育 +肩 +肪 +肺 +肥 +肢 +肱 +股 +肫 +肴 +肯 +胖 +胥 +胚 +胡 +胃 +背 +胛 +胎 +胞 +胤 +胰 +脅 +胱 +脂 +胭 +胴 +脆 +胸 +胳 +脈 +能 +脊 +脫 +脱 +脯 +脖 +脣 +唇 +脩 +腕 +腔 +腋 +腑 +腎 +脹 +腆 +脾 +腐 +腱 +腰 +腸 +腥 +腮 +腳 +腫 +腹 +腺 +腦 +膀 +膏 +膈 +膊 +腿 +膝 +膠 +膛 +膜 +膚 +膳 +膩 +膨 +臆 +臃 +膺 +臂 +臀 +膿 +膽 +臉 +膾 +臍 +臏 +臘 +臚 +臟 +臣 +臥 +卧 +臧 +臨 +自 +臭 +至 +致 +臻 +臼 +臾 +舀 +舂 +舅 +與 +興 +擧 +舉 +舊 +舌 +舍 +舐 +舒 +舔 +舛 +舜 +舞 +舟 +舢 +航 +舫 +舨 +般 +舵 +舷 +舶 +船 +艇 +艘 +艙 +艦 +艮 +良 +艱 +色 +艾 +芒 +芋 +芍 +芳 +芝 +芙 +芭 +芽 +芟 +芹 +花 +芬 +芥 +芻 +苧 +范 +茅 +苣 +苛 +苦 +茄 +若 +茂 +茉 +苒 +苗 +英 +茁 +苔 +苑 +苞 +苓 +苟 +茫 +荒 +荔 +荊 +茸 +荐 +薦 +茵 +茴 +草 +荏 +茹 +茶 +茗 +茲 +荀 +茱 +荃 +莎 +莞 +莘 +荸 +莢 +莖 +莽 +莫 +莒 +莊 +莓 +莉 +莠 +荷 +荻 +荼 +菩 +萃 +菸 +萍 +菠 +菅 +萋 +菁 +華 +菱 +著 +萊 +菰 +萌 +菌 +菽 +菲 +菊 +萸 +萎 +萄 +菜 +蒂 +葷 +落 +萱 +葵 +葦 +葫 +葉 +葬 +葛 +萼 +萵 +葱 +葡 +董 +葩 +蓑 +蓉 +蒿 +蓆 +蓄 +蒙 +蒞 +蒲 +蒜 +蓋 +蒸 +蓀 +蓓 +蒐 +蒼 +蔗 +蔽 +蔚 +蓮 +蔭 +蓬 +蔓 +蔑 +蔣 +蔡 +蔔 +蔬 +蕊 +蕩 +蕙 +蕨 +蕃 +蕉 +蕪 +薪 +薄 +蕭 +蕾 +薑 +薔 +薯 +薜 +薇 +薩 +藍 +藉 +薰 +薶 +藏 +藩 +藝 +藪 +藕 +藤 +藥 +蘊 +藹 +蘑 +藻 +蘆 +蘋 +藺 +蘇 +蘭 +蘚 +蘸 +蘿 +虎 +虐 +虔 +處 +彪 +虛 +虞 +虜 +號 +虧 +虫 +虱 +虯 +虹 +蚊 +蚪 +蚓 +蚤 +蚩 +蚌 +蚣 +蛇 +蛀 +蚶 +蛋 +蛆 +蚱 +蚯 +蛟 +蛙 +蛭 +蛔 +蛛 +蛤 +蛻 +蜕 +蛹 +蜇 +蜃 +蜈 +蜀 +蛾 +蜂 +蜓 +蜚 +蜿 +蜜 +蜻 +蜢 +蜥 +蜴 +蜘 +蝕 +螂 +蝙 +蝴 +蝶 +蝠 +蝦 +蝨 +蝸 +蝗 +蝌 +螃 +螟 +螢 +螞 +融 +蟀 +蟑 +螫 +蟒 +蟆 +螳 +螻 +螺 +蟈 +蟋 +蟯 +蟬 +蟲 +蟻 +蠅 +蠍 +蠏 +蠔 +蠕 +蠣 +蠢 +蠡 +蠟 +蠱 +蠶 +蠹 +蠻 +血 +行 +衍 +術 +街 +衙 +衝 +衛 +衡 +衢 +衣 +初 +表 +衫 +袂 +衰 +衷 +袁 +袒 +袖 +被 +袍 +袈 +袞 +袋 +袱 +裁 +裂 +裙 +補 +裕 +裟 +裘 +裔 +裝 +裏 +裡 +裊 +褂 +褚 +裸 +裨 +裳 +裴 +裹 +製 +褐 +複 +褓 +褲 +褪 +褫 +褥 +褟 +褸 +褻 +襄 +褒 +襃 +襟 +襠 +襖 +襤 +襪 +襯 +襲 +西 +要 +覃 +覆 +見 +規 +覓 +親 +覦 +覬 +覲 +覺 +覽 +觀 +角 +解 +觴 +觸 +言 +計 +訂 +訃 +記 +訏 +討 +訌 +訕 +訊 +託 +訓 +訖 +訪 +訝 +訣 +訥 +許 +設 +訟 +訛 +譌 +註 +詠 +評 +詞 +詁 +詔 +詛 +詐 +詆 +訴 +診 +詫 +該 +詳 +試 +詩 +詰 +誇 +詼 +詣 +誠 +話 +誅 +詭 +詢 +詮 +詬 +詹 +說 +説 +誦 +誌 +語 +誣 +認 +誡 +誓 +誤 +誥 +誨 +誘 +誑 +誼 +諒 +談 +諄 +請 +諸 +課 +誕 +諉 +諂 +調 +誰 +論 +諍 +諦 +諺 +諮 +諱 +謀 +諜 +諫 +諧 +諾 +謁 +謂 +諷 +諭 +謎 +謗 +謙 +講 +謊 +謠 +謝 +謄 +謨 +謹 +謬 +譜 +識 +譁 +證 +譚 +譎 +譏 +議 +譬 +警 +譯 +護 +譴 +譽 +讀 +變 +讓 +讒 +讖 +讚 +谷 +豁 +谿 +豆 +豈 +豉 +豌 +豎 +豐 +豔 +艶 +豕 +豚 +象 +豢 +豪 +豬 +豫 +豺 +豹 +貂 +貉 +貌 +貓 +貝 +貞 +負 +財 +貢 +販 +責 +貫 +貨 +貪 +貧 +貯 +貳 +賁 +費 +賀 +貼 +貴 +買 +貽 +貶 +貿 +貸 +賅 +資 +賊 +賈 +貲 +賄 +賃 +賂 +賓 +賑 +賒 +賠 +賦 +賤 +賬 +賭 +賢 +賣 +賞 +賜 +質 +賴 +賺 +賽 +購 +贅 +贈 +贋 +贊 +贏 +贍 +贓 +贖 +贛 +赤 +赧 +赦 +赫 +赭 +走 +赴 +赳 +起 +越 +超 +趁 +趙 +趕 +趣 +趟 +趨 +足 +趴 +趾 +跎 +距 +跋 +跚 +跑 +跌 +跛 +跆 +跡 +迹 +蹟 +跟 +跨 +路 +跳 +跺 +跪 +跼 +踫 +踐 +踝 +踢 +踏 +踩 +踟 +蹄 +踱 +踴 +蹂 +踹 +踵 +蹉 +蹋 +蹈 +蹊 +蹣 +蹦 +蹙 +蹤 +踪 +蹲 +蹬 +蹺 +躇 +蹼 +蹶 +躂 +躁 +躅 +躉 +躊 +躍 +躑 +躡 +躪 +身 +躬 +躭 +躲 +躺 +軀 +車 +軋 +軍 +軌 +軒 +軔 +軛 +軟 +輭 +軻 +軸 +軼 +較 +載 +軾 +輊 +輔 +輒 +輕 +輓 +輝 +輛 +輟 +輦 +輩 +輪 +輜 +輻 +輯 +輸 +轄 +輾 +轂 +轅 +輿 +轉 +轍 +轔 +轎 +轟 +轡 +辛 +辜 +辟 +辣 +辦 +辨 +辭 +辯 +辰 +辱 +農 +迂 +迅 +迄 +巡 +迎 +返 +近 +述 +迦 +迢 +迪 +迥 +迫 +迤 +迭 +迸 +送 +逆 +迷 +退 +迺 +迴 +逃 +追 +逅 +這 +通 +逗 +連 +速 +逝 +逐 +逕 +逍 +逞 +造 +透 +逢 +逖 +逛 +途 +逮 +逵 +週 +逸 +進 +運 +遊 +道 +遂 +遍 +達 +逼 +違 +遐 +遇 +遏 +過 +遑 +逾 +遁 +遠 +遘 +遜 +遣 +遙 +遞 +適 +遮 +遨 +遭 +遷 +遵 +遴 +選 +遲 +遼 +遺 +避 +遽 +還 +邁 +邂 +邀 +邇 +邊 +邐 +邏 +邑 +邕 +邢 +邪 +那 +邦 +邵 +邸 +邱 +郊 +郎 +郁 +郡 +部 +郭 +都 +鄂 +郵 +鄉 +鄒 +鄙 +鄰 +鄭 +鄧 +鄱 +酉 +酋 +酊 +酒 +配 +酌 +酗 +酣 +酥 +酬 +酪 +酩 +酵 +酸 +酷 +醇 +醉 +醋 +醃 +醒 +醞 +醣 +醜 +醫 +醬 +醺 +釀 +釁 +采 +釉 +釋 +里 +重 +野 +量 +釐 +金 +釘 +針 +釗 +釜 +釵 +釦 +釣 +釧 +鈕 +鈣 +鈍 +鈔 +鈉 +鈞 +鈐 +鈎 +鉤 +鈷 +鉗 +鈸 +鉀 +鈾 +鉛 +鉋 +鉑 +鈴 +銀 +銅 +銘 +銖 +銓 +銜 +銬 +銻 +銳 +鋭 +鋅 +鋪 +銷 +鋤 +鋁 +銼 +鋒 +錠 +錶 +鋸 +錳 +錯 +錢 +鋼 +錫 +錄 +錚 +錐 +錦 +鍍 +鎂 +錨 +鍵 +鍊 +鍥 +鍋 +錘 +鍾 +鍬 +鍛 +鎔 +鎊 +鎮 +鎖 +鎢 +鎳 +鏡 +鏑 +鏟 +鏃 +鏖 +鏈 +鏢 +鏗 +鏜 +鏘 +鐘 +鐃 +銹 +鏽 +鐮 +鐳 +鐵 +鐺 +鐸 +鐲 +鑄 +鑑 +鑒 +鑣 +鑠 +鑲 +鑰 +鑾 +鑼 +鑽 +鑿 +長 +門 +閂 +閃 +閉 +閔 +閏 +開 +閑 +間 +閒 +閘 +閡 +閨 +閩 +閣 +閥 +閤 +閱 +閲 +閭 +閻 +闊 +闋 +闌 +闈 +闆 +闔 +闖 +闐 +關 +闡 +闢 +阡 +防 +阮 +阱 +阪 +阜 +陀 +阿 +阻 +附 +限 +陋 +陌 +降 +院 +陣 +陡 +陜 +陛 +除 +陪 +陵 +陳 +陸 +陰 +陶 +陷 +隊 +隋 +階 +陽 +隅 +隆 +隍 +陲 +隘 +隔 +隕 +隙 +障 +際 +隧 +隨 +險 +隱 +隴 +隸 +隻 +雀 +雇 +雁 +雅 +雄 +集 +雋 +雍 +雉 +雌 +雕 +雖 +雜 +雙 +雛 +雞 +難 +離 +雨 +雪 +雯 +雲 +雷 +電 +雹 +零 +需 +震 +霄 +霆 +霉 +霎 +霑 +霖 +霍 +霓 +霏 +霜 +霞 +霪 +霧 +霸 +霹 +露 +霽 +霾 +靄 +靂 +靈 +青 +靖 +靛 +靜 +非 +靠 +靡 +面 +靦 +靨 +革 +靶 +靴 +靼 +鞅 +鞍 +鞋 +鞏 +鞘 +鞠 +鞣 +鞦 +鞭 +韃 +韁 +韆 +韋 +靭 +韌 +韓 +韜 +韭 +音 +章 +竟 +韶 +韵 +韻 +響 +頁 +頂 +頃 +項 +順 +須 +預 +頑 +頓 +頒 +頌 +頗 +領 +頡 +頰 +頸 +頻 +頭 +頤 +頷 +頹 +顆 +額 +顏 +題 +顎 +類 +願 +顛 +顧 +顫 +顯 +顰 +顱 +風 +颯 +颱 +颳 +颶 +颺 +颼 +飄 +飛 +食 +飢 +飧 +飪 +飯 +飩 +飲 +飭 +飼 +飴 +飽 +飾 +餃 +餅 +餌 +餉 +養 +餓 +餒 +餘 +餐 +館 +餞 +餛 +餡 +餵 +餿 +餾 +餽 +饅 +饒 +饑 +饜 +饞 +首 +香 +馥 +馨 +馬 +馮 +馭 +馳 +馱 +馴 +駁 +駝 +駐 +駕 +駟 +駛 +駑 +駒 +駙 +駭 +駢 +駱 +騁 +駿 +騎 +騙 +騖 +騫 +騷 +騰 +驅 +驃 +驀 +騾 +驕 +驚 +驛 +驗 +驟 +驢 +驥 +驪 +骨 +骯 +骰 +骷 +骸 +骼 +髏 +髒 +髓 +體 +高 +髦 +髮 +髯 +髻 +髭 +鬃 +鬆 +鬍 +鬚 +鬢 +鬥 +鬧 +鬨 +鬱 +鬼 +魁 +魂 +魅 +魄 +魏 +魔 +魘 +魚 +魷 +魯 +鮑 +鮮 +鮫 +鯊 +鯽 +鯉 +鯨 +鰓 +鰍 +鰭 +鰥 +鰱 +鰾 +鰻 +鱔 +鱗 +鱖 +鱷 +鱸 +鳥 +鳩 +鳶 +鳴 +鳳 +鴆 +鴉 +鴕 +鴣 +鴦 +鴨 +鴛 +鴻 +鴿 +鵑 +鵝 +鵠 +鶉 +鵡 +鵲 +鵪 +鵬 +鶯 +鶴 +鷂 +鷓 +鷗 +鷥 +鷹 +鷺 +鸚 +鸞 +鹵 +鹹 +鹽 +鹼 +鹿 +麋 +麒 +麗 +麓 +麝 +麟 +麥 +麩 +麪 +麴 +麻 +麼 +麽 +麾 +黃 +黍 +黎 +黏 +黑 +墨 +默 +黔 +點 +黜 +黝 +黛 +黠 +黨 +黯 +黴 +黷 +鼈 +鼇 +鼎 +鼓 +鼕 +鼙 +鼠 +鼬 +鼴 +鼻 +鼾 +齊 +齋 +齒 +齟 +齣 +齡 +齦 +齬 +齪 +齷 +齲 +龍 +龔 +龜 \ No newline at end of file diff --git a/main-zhs.py b/main-zhs.py index 37a4200..b146d39 100644 --- a/main-zhs.py +++ b/main-zhs.py @@ -7,6 +7,7 @@ import global_var import ttc_get import ntpath +import os #drag and drop import sys first_time = True @@ -190,7 +191,8 @@ def path_leaf(path): return tail or ntpath.basename(head) #add icon -main.tk.call('wm', 'iconphoto', main._w, PhotoImage(file='appicon.png')) +pic_path = os.path.join(global_var.main_directory, 'appicon.png') +main.tk.call('wm', 'iconphoto', main._w, PhotoImage(file=pic_path)) #if dragged file onto exe, received file path as parameter 1 and directly start counting, icon loaded alrdy by this if first_time: diff --git a/main-zht.py b/main-zht.py index 3c50cb9..c383d8a 100644 --- a/main-zht.py +++ b/main-zht.py @@ -7,14 +7,15 @@ import global_var import ttc_get import ntpath +import os import pyglet #drag and drop import sys first_time = True #load ui font -pyglet.font.add_file('GenYoGothicTW-R.ttf') -pyglet.font.add_file('cjk-char-bold.ttf') +pyglet.font.add_file(os.path.join(global_var.main_directory, 'GenYoGothicTW-R.ttf')) +pyglet.font.add_file(os.path.join(global_var.main_directory, 'cjk-char-bold.ttf')) #start window main = Tk() #set title @@ -185,7 +186,8 @@ def path_leaf(path): return tail or ntpath.basename(head) #add icon -main.tk.call('wm', 'iconphoto', main._w, PhotoImage(file='appicon.png')) +pic_path = os.path.join(global_var.main_directory, 'appicon.png') +main.tk.call('wm', 'iconphoto', main._w, PhotoImage(file=pic_path)) #if dragged file onto exe, received file path as parameter 1 and directly start counting, icon loaded alrdy by this if first_time: diff --git a/main.py b/main.py index 8251ebc..2b2a640 100644 --- a/main.py +++ b/main.py @@ -7,6 +7,7 @@ import global_var import ttc_get import ntpath +import os #drag and drop import sys first_time = True @@ -184,7 +185,8 @@ def path_leaf(path): return tail or ntpath.basename(head) #add icon -main.tk.call('wm', 'iconphoto', main._w, PhotoImage(file='appicon.png')) +pic_path = os.path.join(global_var.main_directory, 'appicon.png') +main.tk.call('wm', 'iconphoto', main._w, PhotoImage(file=pic_path)) #if dragged file onto exe, received file path as parameter 1 and directly start counting, icon loaded alrdy by this if first_time: diff --git a/readme.txt b/readme.txt index 91e1ec2..03cd3a8 100644 --- a/readme.txt +++ b/readme.txt @@ -2,13 +2,17 @@ Made by NightFurySL2001 / 夜煞之乐2001 Released under MIT License Copyright © 2020-2021 NFSL2001 +2021-12-25 v0.16 +Add List of Graphemes of Commonly-Used Chinese Characters (Hong Kong) +Fix drag and drop fail for fonts outside of program folder + 2021-09-24 v0.15.1 Emergency patch: Unicode 14.0 newly added characters in Basic, Ext-B and Ext-C 2021-09-16 v0.15 Officially released under MIT License Fix text files for BIG5, Table of Standard Form of Commonly Used National Characters -Add Table of Standard Form of Less Commonly Used National Characters, FounderType Simp/Trad, Hanyi Simp/Trad list, non-compatible Unified Ideographs, total ideograph count +Add Table of Standard Form of Less Commonly Used National Characters (removed in v0.10), FounderType Simp/Trad, Hanyi Simp/Trad list, non-compatible Unified Ideographs, total ideograph count Add progress bar when counting Changed "Unicode Sectors" to "Unicode Blocks", same for Chinese interface Shrink font size (TODO: variable font size) diff --git a/ttc_get.py b/ttc_get.py index fbd867c..6a1849b 100644 --- a/ttc_get.py +++ b/ttc_get.py @@ -1,68 +1,74 @@ -from tkinter import * - -from fontTools.ttLib import TTCollection - - -def get_ttc_list(filename): - #clear font list - ttc_names = [] - #lazy=True: https://github.com/fonttools/fonttools/issues/2019 - ttc = TTCollection(filename, lazy=True) - for font in ttc: - # single font name in getName(nameID, platformID, platEncID, langID=None), 0x409 make sure all font in English name - ttf_name=font["name"].getName(4, 3, 1, 0x409) - # add the font name itself instead of the XML representation - ttc_names.append(str(ttf_name)) - #return array of names - return ttc_names - - -class TTC_popup (object): - #TTC_popup(main, filename) refering to (master, filename) below when initialing - def __init__(self, master, filename, lang="en"): - #language localization - if lang == "zhs": #simplified chinese - toplevel_title = "OpenType合集字体选择" - toplevel_label = "选择计数的字体:" - elif lang == "zht": #traditional chinese - toplevel_title = "OpenType合集字型選擇" - toplevel_label = "選擇計數的字型:" - else: - toplevel_title = "OpenType collection selection" - toplevel_label = "Pick font for counting:" - - #create Toplevel popup - self.toplevel = Toplevel(master) - self.toplevel.title(toplevel_title) - self.toplevel.minsize(400,150) - #prepare variable to store font name - self.ttc_name = StringVar() - #create ttc name list in this object - self.ttc_list = get_ttc_list(filename) - - popup_font=('Microsoft YaHei UI', 12) - - label = Label(self.toplevel, text=toplevel_label, font=popup_font) - label.pack(pady=(12,0)) #padding above label - - #drop down menu with ttc_name storing option in *ttc_list - option = OptionMenu(self.toplevel, self.ttc_name, *self.ttc_list) - option.config(font=popup_font) - option.pack(fill="x", padx=12) #padding at both side of dropdown list - - #button on click destroy the toplevel and return back to .show() - button = Button(self.toplevel, text="OK", font=popup_font, command=self.toplevel.destroy) - button.pack(pady=(0,12)) #padding below button - - #TTC_popup(main, filename).show() will initiate __init__ before calling show(self) - def show(self): - #waits for window to destroy before continuing - self.toplevel.wait_window() - try: - #convert ttc_name to id in ttc_list - self.result_id = self.ttc_list.index(self.ttc_name.get()) - #return result_id - return self.result_id - except: #font is not in list, assume as no font chosen - #return None, parse as no font selected - return None +from tkinter import * + +from fontTools.ttLib import TTCollection + + +def get_ttc_list(filename): + #clear font list + ttc_names = [] + #lazy=True: https://github.com/fonttools/fonttools/issues/2019 + ttc = TTCollection(filename, lazy=True) + for font in ttc: + # single font name in getName(nameID, platformID, platEncID, langID=None), 0x409 make sure all font in English name + ttf_name=font["name"].getName(4, 3, 1, 0x409) + # add the font name itself instead of the XML representation + ttc_names.append(str(ttf_name)) + #return array of names + return ttc_names + + +class TTC_popup (object): + #TTC_popup(main, filename) refering to (master, filename) below when initialing + def __init__(self, master, filename, lang="en"): + #language localization + if lang == "zhs": #simplified chinese + toplevel_title = "OpenType合集字体选择" + toplevel_label = "选择计数的字体:" + elif lang == "zht": #traditional chinese + toplevel_title = "OpenType合集字型選擇" + toplevel_label = "選擇計數的字型:" + else: + toplevel_title = "OpenType collection selection" + toplevel_label = "Pick font for counting:" + + #create Toplevel popup + self.toplevel = Toplevel(master) + self.toplevel.title(toplevel_title) + self.toplevel.minsize(400,150) + self.toplevel.maxsize(750,350) + #grab attention + self.toplevel.grab_set() + + #create ttc name list in this object + self.ttc_list = get_ttc_list(filename) + #prepare variable to store font name, default to first item in ttc list + self.ttc_name = StringVar(value=self.ttc_list[0]) + + popup_font=('Microsoft YaHei UI', 12) + + label = Label(self.toplevel, text=toplevel_label, font=popup_font) + label.pack(pady=(12,0)) #padding above label + + #drop down menu with ttc_name storing option in *ttc_list + option = OptionMenu(self.toplevel, self.ttc_name, *self.ttc_list) + option.config(font=popup_font) + option.config(width=350) + option.pack(expand=True, padx=12) #padding at both side of dropdown list + + #button on click destroy the toplevel and return back to .show() + button = Button(self.toplevel, text="OK", font=popup_font, command=self.toplevel.destroy) + button.pack(pady=(0,12)) #padding below button + + #TTC_popup(main, filename).show() will initiate __init__ before calling show(self) + def show(self): + #waits for window to destroy before continuing + self.toplevel.wait_window() + try: + #convert ttc_name to id in ttc_list + self.result_id = self.ttc_list.index(self.ttc_name.get()) + + #return result_id + return self.result_id + except: #font is not in list, assume as no font chosen + #return None, parse as no font selected + return None