@zh-keyboard/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,1353 @@
1
+ "use strict";
2
+ //#region rolldown:runtime
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n$1 = keys.length, key; i < n$1; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
13
+ get: ((k) => from[k]).bind(null, key),
14
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
+ });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
20
+ value: mod,
21
+ enumerable: true
22
+ }) : target, mod));
23
+
24
+ //#endregion
25
+ const dexie = __toESM(require("dexie"));
26
+
27
+ //#region src/dict/pinyin_dict_notone.json
28
+ var a = "阿啊呵腌嗄吖锕";
29
+ var e = "额阿俄恶鹅遏鄂厄饿峨扼娥鳄哦蛾噩愕讹锷垩婀鹗萼谔莪腭锇颚呃阏屙苊轭";
30
+ var ai = "爱埃艾碍癌哀挨矮隘蔼唉皑哎霭捱暧嫒嗳瑷嗌锿砹";
31
+ var ei = "诶";
32
+ var xi = "系西席息希习吸喜细析戏洗悉锡溪惜稀袭夕洒晰昔牺腊烯熙媳栖膝隙犀蹊硒兮熄曦禧嬉玺奚汐徙羲铣淅嘻歙熹矽蟋郗唏皙隰樨浠忾蜥檄郄翕阋鳃舾屣葸螅咭粞觋欷僖醯鼷裼穸饩舄禊诶菥蓰";
33
+ var yi = "一以已意议义益亿易医艺食依移衣异伊仪宜射遗疑毅谊亦疫役忆抑尾乙译翼蛇溢椅沂泄逸蚁夷邑怡绎彝裔姨熠贻矣屹颐倚诣胰奕翌疙弈轶蛾驿壹猗臆弋铱旖漪迤佚翊诒怿痍懿饴峄揖眙镒仡黟肄咿翳挹缢呓刈咦嶷羿钇殪荑薏蜴镱噫癔苡悒嗌瘗衤佾埸圯舣酏劓";
34
+ var an = "安案按岸暗鞍氨俺胺铵谙庵黯鹌桉埯犴揞厂广";
35
+ var han = "厂汉韩含旱寒汗涵函喊憾罕焊翰邯撼瀚憨捍酣悍鼾邗颔蚶晗菡旰顸犴焓撖";
36
+ var ang = "昂仰盎肮";
37
+ var ao = "奥澳傲熬凹鳌敖遨鏖袄坳翱嗷拗懊岙螯骜獒鏊艹媪廒聱";
38
+ var wa = "瓦挖娃洼袜蛙凹哇佤娲呙腽";
39
+ var yu = "于与育余预域予遇奥语誉玉鱼雨渔裕愈娱欲吁舆宇羽逾豫郁寓吾狱喻御浴愉禹俞邪榆愚渝尉淤虞屿峪粥驭瑜禺毓钰隅芋熨瘀迂煜昱汩於臾盂聿竽萸妪腴圄谕觎揄龉谀俣馀庾妤瘐鬻欤鹬阈嵛雩鹆圉蜮伛纡窬窳饫蓣狳肀舁蝓燠";
40
+ var niu = "牛纽扭钮拗妞忸狃";
41
+ var o = "哦噢喔";
42
+ var ba = "把八巴拔伯吧坝爸霸罢芭跋扒叭靶疤笆耙鲅粑岜灞钯捌菝魃茇";
43
+ var pa = "怕帕爬扒趴琶啪葩耙杷钯筢";
44
+ var pi = "被批副否皮坏辟啤匹披疲罢僻毗坯脾譬劈媲屁琵邳裨痞癖陂丕枇噼霹吡纰砒铍淠郫埤濞睥芘蚍圮鼙罴蜱疋貔仳庀擗甓陴";
45
+ var bi = "比必币笔毕秘避闭佛辟壁弊彼逼碧鼻臂蔽拂泌璧庇痹毙弼匕鄙陛裨贲敝蓖吡篦纰俾铋毖筚荸薜婢哔跸濞秕荜愎睥妣芘箅髀畀滗狴萆嬖襞舭";
46
+ var bai = "百白败摆伯拜柏佰掰呗擘捭稗";
47
+ var bo = "波博播勃拨薄佛伯玻搏柏泊舶剥渤卜驳簿脖膊簸菠礴箔铂亳钵帛擘饽跛钹趵檗啵鹁擗踣";
48
+ var bei = "北被备倍背杯勃贝辈悲碑臂卑悖惫蓓陂钡狈呗焙碚褙庳鞴孛鹎邶鐾";
49
+ var ban = "办版半班般板颁伴搬斑扮拌扳瓣坂阪绊钣瘢舨癍";
50
+ var pan = "判盘番潘攀盼拚畔胖叛拌蹒磐爿蟠泮袢襻丬";
51
+ var bin = "份宾频滨斌彬濒殡缤鬓槟摈膑玢镔豳髌傧";
52
+ var bang = "帮邦彭旁榜棒膀镑绑傍磅蚌谤梆浜蒡";
53
+ var pang = "旁庞乓磅螃彷滂逄耪";
54
+ var beng = "泵崩蚌蹦迸绷甭嘣甏堋";
55
+ var bao = "报保包宝暴胞薄爆炮饱抱堡剥鲍曝葆瀑豹刨褒雹孢苞煲褓趵鸨龅勹";
56
+ var bu = "不部步布补捕堡埔卜埠簿哺怖钚卟瓿逋晡醭钸";
57
+ var pu = "普暴铺浦朴堡葡谱埔扑仆蒲曝瀑溥莆圃璞濮菩蹼匍噗氆攵镨攴镤";
58
+ var mian = "面棉免绵缅勉眠冕娩腼渑湎沔黾宀眄";
59
+ var po = "破繁坡迫颇朴泊婆泼魄粕鄱珀陂叵笸泺皤钋钷";
60
+ var fan = "反范犯繁饭泛翻凡返番贩烦拚帆樊藩矾梵蕃钒幡畈蘩蹯燔";
61
+ var fu = "府服副负富复福夫妇幅付扶父符附腐赴佛浮覆辅傅伏抚赋辐腹弗肤阜袱缚甫氟斧孚敷俯拂俘咐腑孵芙涪釜脯茯馥宓绂讣呋罘麸蝠匐芾蜉跗凫滏蝮驸绋蚨砩桴赙菔呒趺苻拊阝鲋怫稃郛莩幞祓艴黻黼鳆";
62
+ var ben = "本体奔苯笨夯贲锛畚坌";
63
+ var feng = "风丰封峰奉凤锋冯逢缝蜂枫疯讽烽俸沣酆砜葑唪";
64
+ var bian = "变便边编遍辩鞭辨贬匾扁卞汴辫砭苄蝙鳊弁窆笾煸褊碥忭缏";
65
+ var pian = "便片篇偏骗翩扁骈胼蹁谝犏缏";
66
+ var zhen = "镇真针圳振震珍阵诊填侦臻贞枕桢赈祯帧甄斟缜箴疹砧榛鸩轸稹溱蓁胗椹朕畛浈";
67
+ var biao = "表标彪镖裱飚膘飙镳婊骠飑杓髟鳔灬瘭";
68
+ var piao = "票朴漂飘嫖瓢剽缥殍瞟骠嘌莩螵";
69
+ var huo = "和活或货获火伙惑霍祸豁嚯藿锪蠖钬耠镬夥灬劐攉";
70
+ var bie = "别鳖憋瘪蹩";
71
+ var min = "民敏闽闵皿泯岷悯珉抿黾缗玟愍苠鳘";
72
+ var fen = "分份纷奋粉氛芬愤粪坟汾焚酚吩忿棼玢鼢瀵偾鲼";
73
+ var bing = "并病兵冰屏饼炳秉丙摒柄槟禀枋邴冫";
74
+ var geng = "更耕颈庚耿梗埂羹哽赓绠鲠";
75
+ var fang = "方放房防访纺芳仿坊妨肪邡舫彷枋鲂匚钫";
76
+ var xian = "现先县见线限显险献鲜洗宪纤陷闲贤仙衔掀咸嫌掺羡弦腺痫娴舷馅酰铣冼涎暹籼锨苋蚬跹岘藓燹鹇氙莶霰跣猃彡祆筅";
77
+ var fou = "不否缶";
78
+ var ca = "拆擦嚓礤";
79
+ var cha = "查察差茶插叉刹茬楂岔诧碴嚓喳姹杈汊衩搽槎镲苴檫馇锸猹";
80
+ var cai = "才采财材菜彩裁蔡猜踩睬";
81
+ var can = "参残餐灿惨蚕掺璨惭粲孱骖黪";
82
+ var shen = "信深参身神什审申甚沈伸慎渗肾绅莘呻婶娠砷蜃哂椹葚吲糁渖诜谂矧胂";
83
+ var cen = "参岑涔";
84
+ var san = "三参散伞叁糁馓毵";
85
+ var cang = "藏仓苍沧舱臧伧";
86
+ var zang = "藏脏葬赃臧奘驵";
87
+ var chen = "称陈沈沉晨琛臣尘辰衬趁忱郴宸谌碜嗔抻榇伧谶龀肜";
88
+ var cao = "草操曹槽糙嘈漕螬艚屮";
89
+ var ce = "策测册侧厕栅恻";
90
+ var ze = "责则泽择侧咋啧仄箦赜笮舴昃迮帻";
91
+ var zhai = "债择齐宅寨侧摘窄斋祭翟砦瘵哜";
92
+ var dao = "到道导岛倒刀盗稻蹈悼捣叨祷焘氘纛刂帱忉";
93
+ var ceng = "层曾蹭噌";
94
+ var zha = "查扎炸诈闸渣咋乍榨楂札栅眨咤柞喳喋铡蚱吒怍砟揸痄哳齄";
95
+ var chai = "差拆柴钗豺侪虿瘥";
96
+ var ci = "次此差词辞刺瓷磁兹慈茨赐祠伺雌疵鹚糍呲粢";
97
+ var zi = "资自子字齐咨滋仔姿紫兹孜淄籽梓鲻渍姊吱秭恣甾孳訾滓锱辎趑龇赀眦缁呲笫谘嵫髭茈粢觜耔";
98
+ var cuo = "措错磋挫搓撮蹉锉厝嵯痤矬瘥脞鹾";
99
+ var chan = "产单阐崭缠掺禅颤铲蝉搀潺蟾馋忏婵孱觇廛谄谗澶骣羼躔蒇冁";
100
+ var shan = "山单善陕闪衫擅汕扇掺珊禅删膳缮赡鄯栅煽姗跚鳝嬗潸讪舢苫疝掸膻钐剡蟮芟埏彡骟";
101
+ var zhan = "展战占站崭粘湛沾瞻颤詹斩盏辗绽毡栈蘸旃谵搌";
102
+ var xin = "新心信辛欣薪馨鑫芯锌忻莘昕衅歆囟忄镡";
103
+ var lian = "联连练廉炼脸莲恋链帘怜涟敛琏镰濂楝鲢殓潋裢裣臁奁莶蠊蔹";
104
+ var chang = "场长厂常偿昌唱畅倡尝肠敞倘猖娼淌裳徜昶怅嫦菖鲳阊伥苌氅惝鬯";
105
+ var zhang = "长张章障涨掌帐胀彰丈仗漳樟账杖璋嶂仉瘴蟑獐幛鄣嫜";
106
+ var chao = "超朝潮炒钞抄巢吵剿绰嘲晁焯耖怊";
107
+ var zhao = "着照招找召朝赵兆昭肇罩钊沼嘲爪诏濯啁棹笊";
108
+ var zhou = "调州周洲舟骤轴昼宙粥皱肘咒帚胄绉纣妯啁诌繇碡籀酎荮";
109
+ var che = "车彻撤尺扯澈掣坼砗屮";
110
+ var ju = "车局据具举且居剧巨聚渠距句拒俱柜菊拘炬桔惧矩鞠驹锯踞咀瞿枸掬沮莒橘飓疽钜趄踽遽琚龃椐苣裾榘狙倨榉苴讵雎锔窭鞫犋屦醵";
111
+ var cheng = "成程城承称盛抢乘诚呈净惩撑澄秤橙骋逞瞠丞晟铛埕塍蛏柽铖酲裎枨";
112
+ var rong = "容荣融绒溶蓉熔戎榕茸冗嵘肜狨蝾";
113
+ var sheng = "生声升胜盛乘圣剩牲甸省绳笙甥嵊晟渑眚";
114
+ var deng = "等登邓灯澄凳瞪蹬噔磴嶝镫簦戥";
115
+ var zhi = "制之治质职只志至指织支值知识直致执置止植纸拓智殖秩旨址滞氏枝芝脂帜汁肢挚稚酯掷峙炙栉侄芷窒咫吱趾痔蜘郅桎雉祉郦陟痣蛭帙枳踯徵胝栀贽祗豸鸷摭轵卮轾彘觯絷跖埴夂黹忮骘膣踬";
116
+ var zheng = "政正证争整征郑丁症挣蒸睁铮筝拯峥怔诤狰徵钲";
117
+ var tang = "堂唐糖汤塘躺趟倘棠烫淌膛搪镗傥螳溏帑羰樘醣螗耥铴瑭";
118
+ var chi = "持吃池迟赤驰尺斥齿翅匙痴耻炽侈弛叱啻坻眙嗤墀哧茌豉敕笞饬踟蚩柢媸魑篪褫彳鸱螭瘛眵傺";
119
+ var shi = "是时实事市十使世施式势视识师史示石食始士失适试什泽室似诗饰殖释驶氏硕逝湿蚀狮誓拾尸匙仕柿矢峙侍噬嗜栅拭嘘屎恃轼虱耆舐莳铈谥炻豕鲥饣螫酾筮埘弑礻蓍鲺贳";
120
+ var qi = "企其起期气七器汽奇齐启旗棋妻弃揭枝歧欺骑契迄亟漆戚岂稽岐琦栖缉琪泣乞砌祁崎绮祺祈凄淇杞脐麒圻憩芪伎俟畦耆葺沏萋骐鳍綦讫蕲屺颀亓碛柒啐汔綮萁嘁蛴槭欹芑桤丌蜞";
121
+ var chuai = "揣踹啜搋膪";
122
+ var tuo = "托脱拓拖妥驼陀沱鸵驮唾椭坨佗砣跎庹柁橐乇铊沲酡鼍箨柝";
123
+ var duo = "多度夺朵躲铎隋咄堕舵垛惰哆踱跺掇剁柁缍沲裰哚隳";
124
+ var xue = "学血雪削薛穴靴谑噱鳕踅泶彐";
125
+ var chong = "重种充冲涌崇虫宠忡憧舂茺铳艟";
126
+ var chou = "筹抽绸酬愁丑臭仇畴稠瞅踌惆俦瘳雠帱";
127
+ var qiu = "求球秋丘邱仇酋裘龟囚遒鳅虬蚯泅楸湫犰逑巯艽俅蝤赇鼽糗";
128
+ var xiu = "修秀休宿袖绣臭朽锈羞嗅岫溴庥馐咻髹鸺貅";
129
+ var chu = "出处础初助除储畜触楚厨雏矗橱锄滁躇怵绌搐刍蜍黜杵蹰亍樗憷楮";
130
+ var tuan = "团揣湍疃抟彖";
131
+ var zhui = "追坠缀揣椎锥赘惴隹骓缒";
132
+ var chuan = "传川船穿串喘椽舛钏遄氚巛舡";
133
+ var zhuan = "专转传赚砖撰篆馔啭颛";
134
+ var yuan = "元员院原源远愿园援圆缘袁怨渊苑宛冤媛猿垣沅塬垸鸳辕鸢瑗圜爰芫鼋橼螈眢箢掾";
135
+ var cuan = "窜攒篡蹿撺爨汆镩";
136
+ var chuang = "创床窗闯幢疮怆";
137
+ var zhuang = "装状庄壮撞妆幢桩奘僮戆";
138
+ var chui = "吹垂锤炊椎陲槌捶棰";
139
+ var chun = "春纯醇淳唇椿蠢鹑朐莼肫蝽";
140
+ var zhun = "准屯淳谆肫窀";
141
+ var cu = "促趋趣粗簇醋卒蹴猝蹙蔟殂徂";
142
+ var dun = "吨顿盾敦蹲墩囤沌钝炖盹遁趸砘礅";
143
+ var qu = "区去取曲趋渠趣驱屈躯衢娶祛瞿岖龋觑朐蛐癯蛆苣阒诎劬蕖蘧氍黢蠼璩麴鸲磲";
144
+ var xu = "需许续须序徐休蓄畜虚吁绪叙旭邪恤墟栩絮圩婿戌胥嘘浒煦酗诩朐盱蓿溆洫顼勖糈砉醑";
145
+ var chuo = "辍绰戳淖啜龊踔辶";
146
+ var zu = "组族足祖租阻卒俎诅镞菹";
147
+ var ji = "济机其技基记计系期际及集级几给积极己纪即继击既激绩急奇吉季齐疾迹鸡剂辑籍寄挤圾冀亟寂暨脊跻肌稽忌饥祭缉棘矶汲畸姬藉瘠骥羁妓讥稷蓟悸嫉岌叽伎鲫诘楫荠戟箕霁嵇觊麂畿玑笈犄芨唧屐髻戢佶偈笄跽蒺乩咭赍嵴虮掎齑殛鲚剞洎丌墼蕺彐芰哜";
148
+ var cong = "从丛匆聪葱囱琮淙枞骢苁璁";
149
+ var zong = "总从综宗纵踪棕粽鬃偬枞腙";
150
+ var cou = "凑辏腠楱";
151
+ var cui = "衰催崔脆翠萃粹摧璀瘁悴淬啐隹毳榱";
152
+ var wei = "为位委未维卫围违威伟危味微唯谓伪慰尾魏韦胃畏帷喂巍萎蔚纬潍尉渭惟薇苇炜圩娓诿玮崴桅偎逶倭猥囗葳隗痿猬涠嵬韪煨艉隹帏闱洧沩隈鲔軎";
153
+ var cun = "村存寸忖皴";
154
+ var zuo = "作做座左坐昨佐琢撮祚柞唑嘬酢怍笮阼胙";
155
+ var zuan = "钻纂攥缵躜";
156
+ var da = "大达打答搭沓瘩惮嗒哒耷鞑靼褡笪怛妲";
157
+ var dai = "大代带待贷毒戴袋歹呆隶逮岱傣棣怠殆黛甙埭诒绐玳呔迨";
158
+ var tai = "大台太态泰抬胎汰钛苔薹肽跆邰鲐酞骀炱";
159
+ var ta = "他它她拓塔踏塌榻沓漯獭嗒挞蹋趿遢铊鳎溻闼";
160
+ var dan = "但单石担丹胆旦弹蛋淡诞氮郸耽殚惮儋眈疸澹掸膻啖箪聃萏瘅赕";
161
+ var lu = "路六陆录绿露鲁卢炉鹿禄赂芦庐碌麓颅泸卤潞鹭辘虏璐漉噜戮鲈掳橹轳逯渌蓼撸鸬栌氇胪镥簏舻辂垆";
162
+ var tan = "谈探坦摊弹炭坛滩贪叹谭潭碳毯瘫檀痰袒坍覃忐昙郯澹钽锬";
163
+ var ren = "人任认仁忍韧刃纫饪妊荏稔壬仞轫亻衽";
164
+ var jie = "家结解价界接节她届介阶街借杰洁截姐揭捷劫戒皆竭桔诫楷秸睫藉拮芥诘碣嗟颉蚧孑婕疖桀讦疥偈羯袷哜喈卩鲒骱";
165
+ var yan = "研严验演言眼烟沿延盐炎燕岩宴艳颜殷彦掩淹阎衍铅雁咽厌焰堰砚唁焉晏檐蜒奄俨腌妍谚兖筵焱偃闫嫣鄢湮赝胭琰滟阉魇酽郾恹崦芫剡鼹菸餍埏谳讠厣罨";
166
+ var dang = "当党档荡挡宕砀铛裆凼菪谠";
167
+ var tao = "套讨跳陶涛逃桃萄淘掏滔韬叨洮啕绦饕鼗";
168
+ var tiao = "条调挑跳迢眺苕窕笤佻啁粜髫铫祧龆蜩鲦";
169
+ var te = "特忑忒铽慝";
170
+ var de = "的地得德底锝";
171
+ var dei = "得";
172
+ var di = "的地第提低底抵弟迪递帝敌堤蒂缔滴涤翟娣笛棣荻谛狄邸嘀砥坻诋嫡镝碲骶氐柢籴羝睇觌";
173
+ var ti = "体提题弟替梯踢惕剔蹄棣啼屉剃涕锑倜悌逖嚏荑醍绨鹈缇裼";
174
+ var tui = "推退弟腿褪颓蜕忒煺";
175
+ var you = "有由又优游油友右邮尤忧幼犹诱悠幽佑釉柚铀鱿囿酉攸黝莠猷蝣疣呦蚴莸莜铕宥繇卣牖鼬尢蚰侑";
176
+ var dian = "电点店典奠甸碘淀殿垫颠滇癫巅惦掂癜玷佃踮靛钿簟坫阽";
177
+ var tian = "天田添填甜甸恬腆佃舔钿阗忝殄畋栝掭";
178
+ var zhu = "主术住注助属逐宁著筑驻朱珠祝猪诸柱竹铸株瞩嘱贮煮烛苎褚蛛拄铢洙竺蛀渚伫杼侏澍诛茱箸炷躅翥潴邾槠舳橥丶瘃麈疰";
179
+ var nian = "年念酿辗碾廿捻撵拈蔫鲶埝鲇辇黏";
180
+ var diao = "调掉雕吊钓刁貂凋碉鲷叼铫铞";
181
+ var yao = "要么约药邀摇耀腰遥姚窑瑶咬尧钥谣肴夭侥吆疟妖幺杳舀窕窈曜鹞爻繇徭轺铫鳐崾珧";
182
+ var die = "跌叠蝶迭碟爹谍牒耋佚喋堞瓞鲽垤揲蹀";
183
+ var she = "设社摄涉射折舍蛇拾舌奢慑赦赊佘麝歙畲厍猞揲滠";
184
+ var ye = "业也夜叶射野液冶喝页爷耶邪咽椰烨掖拽曳晔谒腋噎揶靥邺铘揲";
185
+ var xie = "些解协写血叶谢械鞋胁斜携懈契卸谐泄蟹邪歇泻屑挟燮榭蝎撷偕亵楔颉缬邂鲑瀣勰榍薤绁渫廨獬躞";
186
+ var zhe = "这者着著浙折哲蔗遮辙辄柘锗褶蜇蛰鹧谪赭摺乇磔螫";
187
+ var ding = "定订顶丁鼎盯钉锭叮仃铤町酊啶碇腚疔玎耵";
188
+ var diu = "丢铥";
189
+ var ting = "听庭停厅廷挺亭艇婷汀铤烃霆町蜓葶梃莛";
190
+ var dong = "动东董冬洞懂冻栋侗咚峒氡恫胴硐垌鸫岽胨";
191
+ var tong = "同通统童痛铜桶桐筒彤侗佟潼捅酮砼瞳恸峒仝嗵僮垌茼";
192
+ var zhong = "中重种众终钟忠仲衷肿踵冢盅蚣忪锺舯螽夂";
193
+ var dou = "都斗读豆抖兜陡逗窦渎蚪痘蔸钭篼";
194
+ var du = "度都独督读毒渡杜堵赌睹肚镀渎笃竺嘟犊妒牍蠹椟黩芏髑";
195
+ var duan = "断段短端锻缎煅椴簖";
196
+ var dui = "对队追敦兑堆碓镦怼憝";
197
+ var rui = "瑞兑锐睿芮蕊蕤蚋枘";
198
+ var yue = "月说约越乐跃兑阅岳粤悦曰钥栎钺樾瀹龠哕刖";
199
+ var tun = "吞屯囤褪豚臀饨暾氽";
200
+ var hui = "会回挥汇惠辉恢徽绘毁慧灰贿卉悔秽溃荟晖彗讳诲珲堕诙蕙晦睢麾烩茴喙桧蛔洄浍虺恚蟪咴隳缋哕";
201
+ var wu = "务物无五武午吴舞伍污乌误亡恶屋晤悟吾雾芜梧勿巫侮坞毋诬呜钨邬捂鹜兀婺妩於戊鹉浯蜈唔骛仵焐芴鋈庑鼯牾怃圬忤痦迕杌寤阢";
202
+ var ya = "亚压雅牙押鸭呀轧涯崖邪芽哑讶鸦娅衙丫蚜碣垭伢氩桠琊揠吖睚痖疋迓岈砑";
203
+ var he = "和合河何核盖贺喝赫荷盒鹤吓呵苛禾菏壑褐涸阂阖劾诃颌嗬貉曷翮纥盍";
204
+ var wo = "我握窝沃卧挝涡斡渥幄蜗喔倭莴龌肟硪";
205
+ var en = "恩摁蒽";
206
+ var n = "嗯唔";
207
+ var er = "而二尔儿耳迩饵洱贰铒珥佴鸸鲕";
208
+ var fa = "发法罚乏伐阀筏砝垡珐";
209
+ var quan = "全权券泉圈拳劝犬铨痊诠荃醛蜷颧绻犭筌鬈悛辁畎";
210
+ var fei = "费非飞肥废菲肺啡沸匪斐蜚妃诽扉翡霏吠绯腓痱芾淝悱狒榧砩鲱篚镄";
211
+ var pei = "配培坏赔佩陪沛裴胚妃霈淠旆帔呸醅辔锫";
212
+ var ping = "平评凭瓶冯屏萍苹乒坪枰娉俜鲆";
213
+ var fo = "佛";
214
+ var hu = "和护许户核湖互乎呼胡戏忽虎沪糊壶葫狐蝴弧瑚浒鹄琥扈唬滹惚祜囫斛笏芴醐猢怙唿戽槲觳煳鹕冱瓠虍岵鹱烀轷";
215
+ var ga = "夹咖嘎尬噶旮伽尕钆尜";
216
+ var ge = "个合各革格歌哥盖隔割阁戈葛鸽搁胳舸疙铬骼蛤咯圪镉颌仡硌嗝鬲膈纥袼搿塥哿虼";
217
+ var ha = "哈蛤铪";
218
+ var xia = "下夏峡厦辖霞夹虾狭吓侠暇遐瞎匣瑕唬呷黠硖罅狎瘕柙";
219
+ var gai = "改该盖概溉钙丐芥赅垓陔戤";
220
+ var hai = "海还害孩亥咳骸骇氦嗨胲醢";
221
+ var gan = "干感赶敢甘肝杆赣乾柑尴竿秆橄矸淦苷擀酐绀泔坩旰疳澉";
222
+ var gang = "港钢刚岗纲冈杠缸扛肛罡戆筻";
223
+ var jiang = "将强江港奖讲降疆蒋姜浆匠酱僵桨绛缰犟豇礓洚茳糨耩";
224
+ var hang = "行航杭巷夯吭桁沆绗颃";
225
+ var gong = "工公共供功红贡攻宫巩龚恭拱躬弓汞蚣珙觥肱廾";
226
+ var hong = "红宏洪轰虹鸿弘哄烘泓訇蕻闳讧荭黉薨";
227
+ var guang = "广光逛潢犷胱咣桄";
228
+ var qiong = "穷琼穹邛茕筇跫蛩銎";
229
+ var gao = "高告搞稿膏糕镐皋羔锆杲郜睾诰藁篙缟槁槔";
230
+ var hao = "好号毫豪耗浩郝皓昊皋蒿壕灏嚎濠蚝貉颢嗥薅嚆";
231
+ var li = "理力利立里李历例离励礼丽黎璃厉厘粒莉梨隶栗荔沥犁漓哩狸藜罹篱鲤砺吏澧俐骊溧砾莅锂笠蠡蛎痢雳俪傈醴栎郦俚枥喱逦娌鹂戾砬唳坜疠蜊黧猁鬲粝蓠呖跞疬缡鲡鳢嫠詈悝苈篥轹";
232
+ var jia = "家加价假佳架甲嘉贾驾嫁夹稼钾挟拮迦伽颊浃枷戛荚痂颉镓笳珈岬胛袈郏葭袷瘕铗跏蛱恝哿";
233
+ var luo = "落罗络洛逻螺锣骆萝裸漯烙摞骡咯箩珞捋荦硌雒椤镙跞瘰泺脶猡倮蠃";
234
+ var ke = "可科克客刻课颗渴壳柯棵呵坷恪苛咳磕珂稞瞌溘轲窠嗑疴蝌岢铪颏髁蚵缂氪骒钶锞";
235
+ var qia = "卡恰洽掐髂袷咭葜";
236
+ var gei = "给";
237
+ var gen = "根跟亘艮哏茛";
238
+ var hen = "很狠恨痕哏";
239
+ var gou = "构购够句沟狗钩拘勾苟垢枸篝佝媾诟岣彀缑笱鞲觏遘";
240
+ var kou = "口扣寇叩抠佝蔻芤眍筘";
241
+ var gu = "股古顾故固鼓骨估谷贾姑孤雇辜菇沽咕呱锢钴箍汩梏痼崮轱鸪牯蛊诂毂鹘菰罟嘏臌觚瞽蛄酤牿鲴";
242
+ var pai = "牌排派拍迫徘湃俳哌蒎";
243
+ var gua = "括挂瓜刮寡卦呱褂剐胍诖鸹栝呙";
244
+ var tou = "投头透偷愉骰亠";
245
+ var guai = "怪拐乖";
246
+ var kuai = "会快块筷脍蒯侩浍郐蒉狯哙";
247
+ var guan = "关管观馆官贯冠惯灌罐莞纶棺斡矜倌鹳鳏盥掼涫";
248
+ var wan = "万完晚湾玩碗顽挽弯蔓丸莞皖宛婉腕蜿惋烷琬畹豌剜纨绾脘菀芄箢";
249
+ var ne = "呢哪呐讷疒";
250
+ var gui = "规贵归轨桂柜圭鬼硅瑰跪龟匮闺诡癸鳜桧皈鲑刽晷傀眭妫炅庋簋刿宄匦";
251
+ var jun = "军均俊君峻菌竣钧骏龟浚隽郡筠皲麇捃";
252
+ var jiong = "窘炯迥炅冂扃";
253
+ var jue = "决绝角觉掘崛诀獗抉爵嚼倔厥蕨攫珏矍蹶谲镢鳜噱桷噘撅橛孓觖劂爝";
254
+ var gun = "滚棍辊衮磙鲧绲丨";
255
+ var hun = "婚混魂浑昏棍珲荤馄诨溷阍";
256
+ var guo = "国过果郭锅裹帼涡椁囗蝈虢聒埚掴猓崞蜾呙馘";
257
+ var hei = "黑嘿嗨";
258
+ var kan = "看刊勘堪坎砍侃嵌槛瞰阚龛戡凵莰";
259
+ var heng = "衡横恒亨哼珩桁蘅";
260
+ var mo = "万没么模末冒莫摩墨默磨摸漠脉膜魔沫陌抹寞蘑摹蓦馍茉嘿谟秣蟆貉嫫镆殁耱嬷麽瘼貊貘";
261
+ var peng = "鹏朋彭膨蓬碰苹棚捧亨烹篷澎抨硼怦砰嘭蟛堋";
262
+ var hou = "后候厚侯猴喉吼逅篌糇骺後鲎瘊堠";
263
+ var hua = "化华划话花画滑哗豁骅桦猾铧砉";
264
+ var huai = "怀坏淮徊槐踝";
265
+ var huan = "还环换欢患缓唤焕幻痪桓寰涣宦垸洹浣豢奂郇圜獾鲩鬟萑逭漶锾缳擐";
266
+ var xun = "讯训迅孙寻询循旬巡汛勋逊熏徇浚殉驯鲟薰荀浔洵峋埙巽郇醺恂荨窨蕈曛獯";
267
+ var huang = "黄荒煌皇凰慌晃潢谎惶簧璜恍幌湟蝗磺隍徨遑肓篁鳇蟥癀";
268
+ var nai = "能乃奶耐奈鼐萘氖柰佴艿";
269
+ var luan = "乱卵滦峦鸾栾銮挛孪脔娈";
270
+ var qie = "切且契窃茄砌锲怯伽惬妾趄挈郄箧慊";
271
+ var jian = "建间件见坚检健监减简艰践兼鉴键渐柬剑尖肩舰荐箭浅剪俭碱茧奸歼拣捡煎贱溅槛涧堑笺谏饯锏缄睑謇蹇腱菅翦戬毽笕犍硷鞯牮枧湔鲣囝裥踺搛缣鹣蒹谫僭戋趼楗";
272
+ var nan = "南难男楠喃囡赧腩囝蝻";
273
+ var qian = "前千钱签潜迁欠纤牵浅遣谦乾铅歉黔谴嵌倩钳茜虔堑钎骞阡掮钤扦芊犍荨仟芡悭缱佥愆褰凵肷岍搴箝慊椠";
274
+ var qiang = "强抢疆墙枪腔锵呛羌蔷襁羟跄樯戕嫱戗炝镪锖蜣";
275
+ var xiang = "向项相想乡象响香降像享箱羊祥湘详橡巷翔襄厢镶飨饷缃骧芗庠鲞葙蟓";
276
+ var jiao = "教交较校角觉叫脚缴胶轿郊焦骄浇椒礁佼蕉娇矫搅绞酵剿嚼饺窖跤蛟侥狡姣皎茭峤铰醮鲛湫徼鹪僬噍艽挢敫";
277
+ var zhuo = "着著缴桌卓捉琢灼浊酌拙茁涿镯淖啄濯焯倬擢斫棹诼浞禚";
278
+ var qiao = "桥乔侨巧悄敲俏壳雀瞧翘窍峭锹撬荞跷樵憔鞘橇峤诮谯愀鞒硗劁缲";
279
+ var xiao = "小效销消校晓笑肖削孝萧俏潇硝宵啸嚣霄淆哮筱逍姣箫骁枭哓绡蛸崤枵魈";
280
+ var si = "司四思斯食私死似丝饲寺肆撕泗伺嗣祀厮驷嘶锶俟巳蛳咝耜笥纟糸鸶缌澌姒汜厶兕";
281
+ var kai = "开凯慨岂楷恺揩锴铠忾垲剀锎蒈";
282
+ var jin = "进金今近仅紧尽津斤禁锦劲晋谨筋巾浸襟靳瑾烬缙钅矜觐堇馑荩噤廑妗槿赆衿卺";
283
+ var qin = "亲勤侵秦钦琴禽芹沁寝擒覃噙矜嗪揿溱芩衾廑锓吣檎螓";
284
+ var jing = "经京精境竞景警竟井惊径静劲敬净镜睛晶颈荆兢靖泾憬鲸茎腈菁胫阱旌粳靓痉箐儆迳婧肼刭弪獍";
285
+ var ying = "应营影英景迎映硬盈赢颖婴鹰荧莹樱瑛蝇萦莺颍膺缨瀛楹罂荥萤鹦滢蓥郢茔嘤璎嬴瘿媵撄潆";
286
+ var jiu = "就究九酒久救旧纠舅灸疚揪咎韭玖臼柩赳鸠鹫厩啾阄桕僦鬏";
287
+ var zui = "最罪嘴醉咀蕞觜";
288
+ var juan = "卷捐圈眷娟倦绢隽镌涓鹃鄄蠲狷锩桊";
289
+ var suan = "算酸蒜狻";
290
+ var yun = "员运云允孕蕴韵酝耘晕匀芸陨纭郧筠恽韫郓氲殒愠昀菀狁";
291
+ var qun = "群裙逡麇";
292
+ var ka = "卡喀咖咔咯佧胩";
293
+ var kang = "康抗扛慷炕亢糠伉钪闶";
294
+ var keng = "坑铿吭";
295
+ var kao = "考靠烤拷铐栲尻犒";
296
+ var ken = "肯垦恳啃龈裉";
297
+ var yin = "因引银印音饮阴隐姻殷淫尹荫吟瘾寅茵圻垠鄞湮蚓氤胤龈窨喑铟洇狺夤廴吲霪茚堙";
298
+ var kong = "空控孔恐倥崆箜";
299
+ var ku = "苦库哭酷裤枯窟挎骷堀绔刳喾";
300
+ var kua = "跨夸垮挎胯侉";
301
+ var kui = "亏奎愧魁馈溃匮葵窥盔逵睽馗聩喟夔篑岿喹揆隗傀暌跬蒉愦悝蝰";
302
+ var kuan = "款宽髋";
303
+ var kuang = "况矿框狂旷眶匡筐邝圹哐贶夼诳诓纩";
304
+ var que = "确却缺雀鹊阙瘸榷炔阕悫";
305
+ var kun = "困昆坤捆琨锟鲲醌髡悃阃";
306
+ var kuo = "扩括阔廓蛞";
307
+ var la = "拉落垃腊啦辣蜡喇剌旯砬邋瘌";
308
+ var lai = "来莱赖睐徕籁涞赉濑癞崃疠铼";
309
+ var lan = "兰览蓝篮栏岚烂滥缆揽澜拦懒榄斓婪阑褴罱啉谰镧漤";
310
+ var lin = "林临邻赁琳磷淋麟霖鳞凛拎遴蔺吝粼嶙躏廪檩啉辚膦瞵懔";
311
+ var lang = "浪朗郎廊狼琅榔螂阆锒莨啷蒗稂";
312
+ var liang = "量两粮良辆亮梁凉谅粱晾靓踉莨椋魉墚";
313
+ var lao = "老劳落络牢捞涝烙姥佬崂唠酪潦痨醪铑铹栳耢";
314
+ var mu = "目模木亩幕母牧莫穆姆墓慕牟牡募睦缪沐暮拇姥钼苜仫毪坶";
315
+ var le = "了乐勒肋叻鳓嘞仂泐";
316
+ var lei = "类累雷勒泪蕾垒磊擂镭肋羸耒儡嫘缧酹嘞诔檑";
317
+ var sui = "随岁虽碎尿隧遂髓穗绥隋邃睢祟濉燧谇眭荽";
318
+ var lie = "列烈劣裂猎冽咧趔洌鬣埒捩躐";
319
+ var leng = "冷愣棱楞塄";
320
+ var ling = "领令另零灵龄陵岭凌玲铃菱棱伶羚苓聆翎泠瓴囹绫呤棂蛉酃鲮柃";
321
+ var lia = "俩";
322
+ var liao = "了料疗辽廖聊寥缪僚燎缭撂撩嘹潦镣寮蓼獠钌尥鹩";
323
+ var liu = "流刘六留柳瘤硫溜碌浏榴琉馏遛鎏骝绺镏旒熘鹨锍";
324
+ var lun = "论轮伦仑纶沦抡囵";
325
+ var lv = "率律旅绿虑履吕铝屡氯缕滤侣驴榈闾偻褛捋膂稆";
326
+ var lou = "楼露漏陋娄搂篓喽镂偻瘘髅耧蝼嵝蒌";
327
+ var mao = "贸毛矛冒貌茂茅帽猫髦锚懋袤牦卯铆耄峁瑁蟊茆蝥旄泖昴瞀";
328
+ var long = "龙隆弄垄笼拢聋陇胧珑窿茏咙砻垅泷栊癃";
329
+ var nong = "农浓弄脓侬哝";
330
+ var shuang = "双爽霜孀泷";
331
+ var shu = "术书数属树输束述署朱熟殊蔬舒疏鼠淑叔暑枢墅俞曙抒竖蜀薯梳戍恕孰沭赎庶漱塾倏澍纾姝菽黍腧秫毹殳疋摅";
332
+ var shuai = "率衰帅摔甩蟀";
333
+ var lve = "略掠锊";
334
+ var ma = "么马吗摩麻码妈玛嘛骂抹蚂唛蟆犸杩";
335
+ var me = "么麽";
336
+ var mai = "买卖麦迈脉埋霾荬劢";
337
+ var man = "满慢曼漫埋蔓瞒蛮鳗馒幔谩螨熳缦镘颟墁鞔";
338
+ var mi = "米密秘迷弥蜜谜觅靡泌眯麋猕谧咪糜宓汨醚嘧弭脒冖幂祢縻蘼芈糸敉";
339
+ var men = "们门闷瞒汶扪焖懑鞔钔";
340
+ var mang = "忙盲茫芒氓莽蟒邙硭漭";
341
+ var meng = "蒙盟梦猛孟萌氓朦锰檬勐懵蟒蜢虻黾蠓艨甍艋瞢礞";
342
+ var miao = "苗秒妙描庙瞄缪渺淼藐缈邈鹋杪眇喵";
343
+ var mou = "某谋牟缪眸哞鍪蛑侔厶";
344
+ var miu = "缪谬";
345
+ var mei = "美没每煤梅媒枚妹眉魅霉昧媚玫酶镁湄寐莓袂楣糜嵋镅浼猸鹛";
346
+ var wen = "文问闻稳温纹吻蚊雯紊瘟汶韫刎璺玟阌";
347
+ var mie = "灭蔑篾乜咩蠛";
348
+ var ming = "明名命鸣铭冥茗溟酩瞑螟暝";
349
+ var na = "内南那纳拿哪娜钠呐捺衲镎肭";
350
+ var nei = "内那哪馁";
351
+ var nuo = "难诺挪娜糯懦傩喏搦锘";
352
+ var ruo = "若弱偌箬";
353
+ var nang = "囊馕囔曩攮";
354
+ var nao = "脑闹恼挠瑙淖孬垴铙桡呶硇猱蛲";
355
+ var ni = "你尼呢泥疑拟逆倪妮腻匿霓溺旎昵坭铌鲵伲怩睨猊";
356
+ var nen = "嫩恁";
357
+ var neng = "能";
358
+ var nin = "您恁";
359
+ var niao = "鸟尿溺袅脲茑嬲";
360
+ var nie = "摄聂捏涅镍孽捻蘖啮蹑嗫臬镊颞乜陧";
361
+ var niang = "娘酿";
362
+ var ning = "宁凝拧泞柠咛狞佞聍甯";
363
+ var nu = "努怒奴弩驽帑孥胬";
364
+ var nv = "女钕衄恧";
365
+ var ru = "入如女乳儒辱汝茹褥孺濡蠕嚅缛溽铷洳薷襦颥蓐";
366
+ var nuan = "暖";
367
+ var nve = "虐疟";
368
+ var re = "热若惹喏";
369
+ var ou = "区欧偶殴呕禺藕讴鸥瓯沤耦怄";
370
+ var pao = "跑炮泡抛刨袍咆疱庖狍匏脬";
371
+ var pou = "剖掊裒";
372
+ var pen = "喷盆湓";
373
+ var pie = "瞥撇苤氕丿";
374
+ var pin = "品贫聘频拼拚颦姘嫔榀牝";
375
+ var se = "色塞瑟涩啬穑铯槭";
376
+ var qing = "情青清请亲轻庆倾顷卿晴氢擎氰罄磬蜻箐鲭綮苘黥圊檠謦";
377
+ var zan = "赞暂攒堑昝簪糌瓒錾趱拶";
378
+ var shao = "少绍召烧稍邵哨韶捎勺梢鞘芍苕劭艄筲杓潲";
379
+ var sao = "扫骚嫂梢缫搔瘙臊埽缲鳋";
380
+ var sha = "沙厦杀纱砂啥莎刹杉傻煞鲨霎嗄痧裟挲铩唼歃";
381
+ var xuan = "县选宣券旋悬轩喧玄绚渲璇炫萱癣漩眩暄煊铉楦泫谖痃碹揎镟儇";
382
+ var ran = "然染燃冉苒髯蚺";
383
+ var rang = "让壤攘嚷瓤穰禳";
384
+ var rao = "绕扰饶娆桡荛";
385
+ var reng = "仍扔";
386
+ var ri = "日";
387
+ var rou = "肉柔揉糅鞣蹂";
388
+ var ruan = "软阮朊";
389
+ var run = "润闰";
390
+ var sa = "萨洒撒飒卅仨脎";
391
+ var suo = "所些索缩锁莎梭琐嗦唆唢娑蓑羧挲桫嗍睃";
392
+ var sai = "思赛塞腮噻鳃";
393
+ var shui = "说水税谁睡氵";
394
+ var sang = "桑丧嗓搡颡磉";
395
+ var sen = "森";
396
+ var seng = "僧";
397
+ var shai = "筛晒";
398
+ var shang = "上商尚伤赏汤裳墒晌垧觞殇熵绱";
399
+ var xing = "行省星腥猩惺兴刑型形邢饧醒幸杏性姓陉荇荥擤悻硎";
400
+ var shou = "收手受首售授守寿瘦兽狩绶艏扌";
401
+ var shuo = "说数硕烁朔铄妁槊蒴搠";
402
+ var su = "速素苏诉缩塑肃俗宿粟溯酥夙愫簌稣僳谡涑蔌嗉觫";
403
+ var shua = "刷耍唰";
404
+ var shuan = "栓拴涮闩";
405
+ var shun = "顺瞬舜吮";
406
+ var song = "送松宋讼颂耸诵嵩淞怂悚崧凇忪竦菘";
407
+ var sou = "艘搜擞嗽嗖叟馊薮飕嗾溲锼螋瞍";
408
+ var sun = "损孙笋荪榫隼狲飧";
409
+ var teng = "腾疼藤滕誊";
410
+ var tie = "铁贴帖餮萜";
411
+ var tu = "土突图途徒涂吐屠兔秃凸荼钍菟堍酴";
412
+ var wai = "外歪崴";
413
+ var wang = "王望往网忘亡旺汪枉妄惘罔辋魍";
414
+ var weng = "翁嗡瓮蓊蕹";
415
+ var zhua = "抓挝爪";
416
+ var yang = "样养央阳洋扬杨羊详氧仰秧痒漾疡泱殃恙鸯徉佯怏炀烊鞅蛘";
417
+ var xiong = "雄兄熊胸凶匈汹芎";
418
+ var yo = "哟唷";
419
+ var yong = "用永拥勇涌泳庸俑踊佣咏雍甬镛臃邕蛹恿慵壅痈鳙墉饔喁";
420
+ var za = "杂扎咱砸咋匝咂拶";
421
+ var zai = "在再灾载栽仔宰哉崽甾";
422
+ var zao = "造早遭枣噪灶燥糟凿躁藻皂澡蚤唣";
423
+ var zei = "贼";
424
+ var zen = "怎谮";
425
+ var zeng = "增曾综赠憎锃甑罾缯";
426
+ var zhei = "这";
427
+ var zou = "走邹奏揍诹驺陬楱鄹鲰";
428
+ var zhuai = "转拽";
429
+ var zun = "尊遵鳟樽撙";
430
+ var dia = "嗲";
431
+ var nou = "耨";
432
+ var pinyin_dict_notone_default = {
433
+ a,
434
+ e,
435
+ ai,
436
+ ei,
437
+ xi,
438
+ yi,
439
+ an,
440
+ han,
441
+ ang,
442
+ ao,
443
+ wa,
444
+ yu,
445
+ niu,
446
+ o,
447
+ ba,
448
+ pa,
449
+ pi,
450
+ bi,
451
+ bai,
452
+ bo,
453
+ bei,
454
+ ban,
455
+ pan,
456
+ bin,
457
+ bang,
458
+ pang,
459
+ beng,
460
+ bao,
461
+ bu,
462
+ pu,
463
+ mian,
464
+ po,
465
+ fan,
466
+ fu,
467
+ ben,
468
+ feng,
469
+ bian,
470
+ pian,
471
+ zhen,
472
+ biao,
473
+ piao,
474
+ huo,
475
+ bie,
476
+ min,
477
+ fen,
478
+ bing,
479
+ geng,
480
+ fang,
481
+ xian,
482
+ fou,
483
+ ca,
484
+ cha,
485
+ cai,
486
+ can,
487
+ shen,
488
+ cen,
489
+ san,
490
+ cang,
491
+ zang,
492
+ chen,
493
+ cao,
494
+ ce,
495
+ ze,
496
+ zhai,
497
+ dao,
498
+ ceng,
499
+ zha,
500
+ chai,
501
+ ci,
502
+ zi,
503
+ cuo,
504
+ chan,
505
+ shan,
506
+ zhan,
507
+ xin,
508
+ lian,
509
+ chang,
510
+ zhang,
511
+ chao,
512
+ zhao,
513
+ zhou,
514
+ che,
515
+ ju,
516
+ cheng,
517
+ rong,
518
+ sheng,
519
+ deng,
520
+ zhi,
521
+ zheng,
522
+ tang,
523
+ chi,
524
+ shi,
525
+ qi,
526
+ chuai,
527
+ tuo,
528
+ duo,
529
+ xue,
530
+ chong,
531
+ chou,
532
+ qiu,
533
+ xiu,
534
+ chu,
535
+ tuan,
536
+ zhui,
537
+ chuan,
538
+ zhuan,
539
+ yuan,
540
+ cuan,
541
+ chuang,
542
+ zhuang,
543
+ chui,
544
+ chun,
545
+ zhun,
546
+ cu,
547
+ dun,
548
+ qu,
549
+ xu,
550
+ chuo,
551
+ zu,
552
+ ji,
553
+ cong,
554
+ zong,
555
+ cou,
556
+ cui,
557
+ wei,
558
+ cun,
559
+ zuo,
560
+ zuan,
561
+ da,
562
+ dai,
563
+ tai,
564
+ ta,
565
+ dan,
566
+ lu,
567
+ tan,
568
+ ren,
569
+ jie,
570
+ yan,
571
+ dang,
572
+ tao,
573
+ tiao,
574
+ te,
575
+ de,
576
+ dei,
577
+ di,
578
+ ti,
579
+ tui,
580
+ you,
581
+ dian,
582
+ tian,
583
+ zhu,
584
+ nian,
585
+ diao,
586
+ yao,
587
+ die,
588
+ she,
589
+ ye,
590
+ xie,
591
+ zhe,
592
+ ding,
593
+ diu,
594
+ ting,
595
+ dong,
596
+ tong,
597
+ zhong,
598
+ dou,
599
+ du,
600
+ duan,
601
+ dui,
602
+ rui,
603
+ yue,
604
+ tun,
605
+ hui,
606
+ wu,
607
+ ya,
608
+ he,
609
+ wo,
610
+ en,
611
+ n,
612
+ er,
613
+ fa,
614
+ quan,
615
+ fei,
616
+ pei,
617
+ ping,
618
+ fo,
619
+ hu,
620
+ ga,
621
+ ge,
622
+ ha,
623
+ xia,
624
+ gai,
625
+ hai,
626
+ gan,
627
+ gang,
628
+ jiang,
629
+ hang,
630
+ gong,
631
+ hong,
632
+ guang,
633
+ qiong,
634
+ gao,
635
+ hao,
636
+ li,
637
+ jia,
638
+ luo,
639
+ ke,
640
+ qia,
641
+ gei,
642
+ gen,
643
+ hen,
644
+ gou,
645
+ kou,
646
+ gu,
647
+ pai,
648
+ gua,
649
+ tou,
650
+ guai,
651
+ kuai,
652
+ guan,
653
+ wan,
654
+ ne,
655
+ gui,
656
+ jun,
657
+ jiong,
658
+ jue,
659
+ gun,
660
+ hun,
661
+ guo,
662
+ hei,
663
+ kan,
664
+ heng,
665
+ mo,
666
+ peng,
667
+ hou,
668
+ hua,
669
+ huai,
670
+ huan,
671
+ xun,
672
+ huang,
673
+ nai,
674
+ luan,
675
+ qie,
676
+ jian,
677
+ nan,
678
+ qian,
679
+ qiang,
680
+ xiang,
681
+ jiao,
682
+ zhuo,
683
+ qiao,
684
+ xiao,
685
+ si,
686
+ kai,
687
+ jin,
688
+ qin,
689
+ jing,
690
+ ying,
691
+ jiu,
692
+ zui,
693
+ juan,
694
+ suan,
695
+ yun,
696
+ qun,
697
+ ka,
698
+ kang,
699
+ keng,
700
+ kao,
701
+ ken,
702
+ yin,
703
+ kong,
704
+ ku,
705
+ kua,
706
+ kui,
707
+ kuan,
708
+ kuang,
709
+ que,
710
+ kun,
711
+ kuo,
712
+ la,
713
+ lai,
714
+ lan,
715
+ lin,
716
+ lang,
717
+ liang,
718
+ lao,
719
+ mu,
720
+ le,
721
+ lei,
722
+ sui,
723
+ lie,
724
+ leng,
725
+ ling,
726
+ lia,
727
+ liao,
728
+ liu,
729
+ lun,
730
+ lv,
731
+ lou,
732
+ mao,
733
+ long,
734
+ nong,
735
+ shuang,
736
+ shu,
737
+ shuai,
738
+ lve,
739
+ ma,
740
+ me,
741
+ mai,
742
+ man,
743
+ mi,
744
+ men,
745
+ mang,
746
+ meng,
747
+ miao,
748
+ mou,
749
+ miu,
750
+ mei,
751
+ wen,
752
+ mie,
753
+ ming,
754
+ na,
755
+ nei,
756
+ nuo,
757
+ ruo,
758
+ nang,
759
+ nao,
760
+ ni,
761
+ nen,
762
+ neng,
763
+ nin,
764
+ niao,
765
+ nie,
766
+ niang,
767
+ ning,
768
+ nu,
769
+ nv,
770
+ ru,
771
+ nuan,
772
+ nve,
773
+ re,
774
+ ou,
775
+ pao,
776
+ pou,
777
+ pen,
778
+ pie,
779
+ pin,
780
+ se,
781
+ qing,
782
+ zan,
783
+ shao,
784
+ sao,
785
+ sha,
786
+ xuan,
787
+ ran,
788
+ rang,
789
+ rao,
790
+ reng,
791
+ ri,
792
+ rou,
793
+ ruan,
794
+ run,
795
+ sa,
796
+ suo,
797
+ sai,
798
+ shui,
799
+ sang,
800
+ sen,
801
+ seng,
802
+ shai,
803
+ shang,
804
+ xing,
805
+ shou,
806
+ shuo,
807
+ su,
808
+ shua,
809
+ shuan,
810
+ shun,
811
+ song,
812
+ sou,
813
+ sun,
814
+ teng,
815
+ tie,
816
+ tu,
817
+ wai,
818
+ wang,
819
+ weng,
820
+ zhua,
821
+ yang,
822
+ xiong,
823
+ yo,
824
+ yong,
825
+ za,
826
+ zai,
827
+ zao,
828
+ zei,
829
+ zen,
830
+ zeng,
831
+ zhei,
832
+ zou,
833
+ zhuai,
834
+ zun,
835
+ dia,
836
+ nou
837
+ };
838
+
839
+ //#endregion
840
+ //#region src/advanced-pinyin.ts
841
+ const MAX_WEIGHT = 5;
842
+ var AdvancedPinyinEngine = class {
843
+ currentInput = "";
844
+ candidates = [];
845
+ db;
846
+ pinyinDict = pinyin_dict_notone_default;
847
+ pinyinCharTable;
848
+ initializationPromise;
849
+ constructor() {
850
+ this.db = new dexie.default("PinyinCharDB");
851
+ this.db.version(1).stores({ pinyinCharEntries: "++id, &[pinyin+char], pinyin, char, weight" });
852
+ this.pinyinCharTable = this.db.table("pinyinCharEntries");
853
+ this.initializationPromise = this.initializeDatabase();
854
+ }
855
+ async initializeDatabase() {
856
+ try {
857
+ const count = await this.pinyinCharTable.count();
858
+ if (count === 0) {
859
+ const entries = [];
860
+ for (const [pinyin, charsStr] of Object.entries(this.pinyinDict)) for (const char of charsStr.split("")) entries.push({
861
+ pinyin,
862
+ char,
863
+ weight: 1
864
+ });
865
+ await this.pinyinCharTable.bulkAdd(entries);
866
+ }
867
+ } catch (error) {
868
+ console.error("初始化 PinyinCharDB 失败:", error);
869
+ throw error;
870
+ }
871
+ }
872
+ async processInput(input) {
873
+ await this.initializationPromise;
874
+ this.currentInput = input.toLowerCase();
875
+ this.candidates = [];
876
+ if (!this.currentInput) return [];
877
+ const matchedEntriesList = await this.pinyinCharTable.where("pinyin").startsWith(this.currentInput).toArray();
878
+ const getSortPriority = (entry, currentPinyin) => {
879
+ const isExactMatch = entry.pinyin === currentPinyin;
880
+ const hasCustomWeight = entry.weight > 1;
881
+ if (isExactMatch && hasCustomWeight) return 1;
882
+ if (!isExactMatch && hasCustomWeight) return 2;
883
+ if (isExactMatch && !hasCustomWeight) return 3;
884
+ if (!isExactMatch && !hasCustomWeight) return 4;
885
+ return 5;
886
+ };
887
+ matchedEntriesList.sort((a$1, b) => {
888
+ const priorityA = getSortPriority(a$1, this.currentInput);
889
+ const priorityB = getSortPriority(b, this.currentInput);
890
+ if (priorityA !== priorityB) return priorityA - priorityB;
891
+ if (b.weight !== a$1.weight) return b.weight - a$1.weight;
892
+ return a$1.id - b.id;
893
+ });
894
+ this.candidates = matchedEntriesList.map((entry) => entry.char);
895
+ this.candidates = [...new Set(this.candidates)];
896
+ return this.candidates;
897
+ }
898
+ async selectCandidate(selectedChar) {
899
+ await this.initializationPromise;
900
+ if (!this.currentInput) return;
901
+ let bestPinyinMatch = this.currentInput;
902
+ for (const pinyinKey of Object.keys(this.pinyinDict)) if (pinyinKey.startsWith(this.currentInput) && this.pinyinDict[pinyinKey].includes(selectedChar)) {
903
+ if (pinyinKey.length > bestPinyinMatch.length || pinyinKey === this.currentInput) {
904
+ bestPinyinMatch = pinyinKey;
905
+ if (this.pinyinDict[this.currentInput]?.includes(selectedChar) && this.currentInput === pinyinKey) break;
906
+ } else if (bestPinyinMatch === this.currentInput && this.pinyinDict[pinyinKey]?.includes(selectedChar)) bestPinyinMatch = pinyinKey;
907
+ }
908
+ if (!this.pinyinDict[bestPinyinMatch]?.includes(selectedChar)) {
909
+ for (const pinyinKey of Object.keys(this.pinyinDict)) if (this.pinyinDict[pinyinKey].includes(selectedChar)) {
910
+ if (pinyinKey.startsWith(this.currentInput)) {
911
+ bestPinyinMatch = pinyinKey;
912
+ break;
913
+ }
914
+ if (bestPinyinMatch === this.currentInput) bestPinyinMatch = pinyinKey;
915
+ }
916
+ }
917
+ const existingEntry = await this.pinyinCharTable.where({
918
+ pinyin: bestPinyinMatch,
919
+ char: selectedChar
920
+ }).first();
921
+ if (existingEntry && existingEntry.id !== void 0) {
922
+ const newWeight = Math.min((existingEntry.weight || 0) + 1, MAX_WEIGHT);
923
+ await this.pinyinCharTable.update(existingEntry.id, { weight: newWeight });
924
+ } else if (this.pinyinDict[bestPinyinMatch]) await this.pinyinCharTable.add({
925
+ pinyin: bestPinyinMatch,
926
+ char: selectedChar,
927
+ weight: 1
928
+ });
929
+ else console.warn(`无法为 ${selectedChar} 添加条目,拼音 ${bestPinyinMatch} 不在字典中。`);
930
+ this.clear();
931
+ }
932
+ clear() {
933
+ this.currentInput = "";
934
+ this.candidates = [];
935
+ }
936
+ getCurrentInput() {
937
+ return this.currentInput;
938
+ }
939
+ getCandidates() {
940
+ return this.candidates;
941
+ }
942
+ };
943
+
944
+ //#endregion
945
+ //#region src/canvas.ts
946
+ var CanvasDrawer = class {
947
+ canvas;
948
+ ctx;
949
+ lastX = 0;
950
+ lastY = 0;
951
+ strokeData = [];
952
+ clearTimerId = null;
953
+ isDrawing = false;
954
+ options;
955
+ constructor(canvas, options = {}) {
956
+ this.canvas = canvas;
957
+ this.options = {
958
+ clearDelay: 1e3,
959
+ ...options
960
+ };
961
+ const context = this.canvas.getContext("2d");
962
+ if (!context) throw new Error("Failed to get 2D rendering context");
963
+ this.ctx = context;
964
+ this.setupCanvas();
965
+ this.attachEvents();
966
+ }
967
+ setupCanvas() {
968
+ this.ctx.lineJoin = "round";
969
+ this.ctx.lineCap = "round";
970
+ this.ctx.lineWidth = 3;
971
+ this.ctx.strokeStyle = "#000";
972
+ this.clearCanvas();
973
+ this.drawGrid();
974
+ }
975
+ drawGrid() {
976
+ const width = this.canvas.width;
977
+ const height = this.canvas.height;
978
+ this.ctx.save();
979
+ this.ctx.strokeStyle = "#ddd";
980
+ this.ctx.lineWidth = 1;
981
+ this.ctx.setLineDash([3, 3]);
982
+ this.ctx.beginPath();
983
+ this.ctx.moveTo(0, height / 2);
984
+ this.ctx.lineTo(width, height / 2);
985
+ this.ctx.moveTo(width / 2, 0);
986
+ this.ctx.lineTo(width / 2, height);
987
+ this.ctx.stroke();
988
+ this.ctx.setLineDash([]);
989
+ this.ctx.beginPath();
990
+ this.ctx.rect(0, 0, width, height);
991
+ this.ctx.stroke();
992
+ this.ctx.restore();
993
+ }
994
+ clearCanvas() {
995
+ this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);
996
+ this.drawGrid();
997
+ this.strokeData = [];
998
+ this.resetClearTimer();
999
+ }
1000
+ startDrawing(offsetX, offsetY) {
1001
+ this.lastX = offsetX;
1002
+ this.lastY = offsetY;
1003
+ this.ctx.strokeStyle = "#000";
1004
+ this.ctx.lineWidth = 3;
1005
+ this.ctx.setLineDash([]);
1006
+ this.strokeData.push(offsetX, offsetY, 0);
1007
+ }
1008
+ draw(offsetX, offsetY) {
1009
+ this.ctx.beginPath();
1010
+ this.ctx.moveTo(this.lastX, this.lastY);
1011
+ this.ctx.lineTo(offsetX, offsetY);
1012
+ this.ctx.stroke();
1013
+ this.lastX = offsetX;
1014
+ this.lastY = offsetY;
1015
+ this.strokeData.push(offsetX, offsetY, 0);
1016
+ }
1017
+ endStroke() {
1018
+ if (this.strokeData.length >= 3) this.strokeData[this.strokeData.length - 1] = 1;
1019
+ }
1020
+ getStrokeData() {
1021
+ return this.strokeData;
1022
+ }
1023
+ resetClearTimer() {
1024
+ if (this.clearTimerId) {
1025
+ window.clearTimeout(this.clearTimerId);
1026
+ this.clearTimerId = null;
1027
+ }
1028
+ }
1029
+ startClearTimer() {
1030
+ this.resetClearTimer();
1031
+ this.clearTimerId = window.setTimeout(() => {
1032
+ this.clearCanvas();
1033
+ this.clearTimerId = null;
1034
+ }, this.options.clearDelay);
1035
+ }
1036
+ getEventCoordinates(e$1) {
1037
+ if (e$1 instanceof MouseEvent) return {
1038
+ offsetX: e$1.offsetX,
1039
+ offsetY: e$1.offsetY
1040
+ };
1041
+ else {
1042
+ const touch = e$1.touches[0] || e$1.changedTouches[0];
1043
+ const rect = e$1.target.getBoundingClientRect();
1044
+ return {
1045
+ offsetX: touch.clientX - rect.left,
1046
+ offsetY: touch.clientY - rect.top
1047
+ };
1048
+ }
1049
+ }
1050
+ handleStart = (e$1) => {
1051
+ e$1.preventDefault();
1052
+ this.isDrawing = true;
1053
+ const { offsetX, offsetY } = this.getEventCoordinates(e$1);
1054
+ this.startDrawing(offsetX, offsetY);
1055
+ this.resetClearTimer();
1056
+ };
1057
+ handleMove = (e$1) => {
1058
+ if (!this.isDrawing) return;
1059
+ e$1.preventDefault();
1060
+ const { offsetX, offsetY } = this.getEventCoordinates(e$1);
1061
+ this.draw(offsetX, offsetY);
1062
+ this.resetClearTimer();
1063
+ };
1064
+ handleEnd = (e$1) => {
1065
+ if (!this.isDrawing) return;
1066
+ e$1.preventDefault();
1067
+ this.isDrawing = false;
1068
+ this.endStroke();
1069
+ this.startClearTimer();
1070
+ if (this.options.onDrawEnd) this.options.onDrawEnd();
1071
+ };
1072
+ attachEvents() {
1073
+ this.canvas.addEventListener("mousedown", this.handleStart);
1074
+ this.canvas.addEventListener("mousemove", this.handleMove);
1075
+ this.canvas.addEventListener("mouseup", this.handleEnd);
1076
+ this.canvas.addEventListener("mouseleave", this.handleEnd);
1077
+ this.canvas.addEventListener("touchstart", this.handleStart, { passive: false });
1078
+ this.canvas.addEventListener("touchmove", this.handleMove, { passive: false });
1079
+ this.canvas.addEventListener("touchend", this.handleEnd);
1080
+ this.canvas.addEventListener("touchcancel", this.handleEnd);
1081
+ }
1082
+ detachEvents() {
1083
+ this.canvas.removeEventListener("mousedown", this.handleStart);
1084
+ this.canvas.removeEventListener("mousemove", this.handleMove);
1085
+ this.canvas.removeEventListener("mouseup", this.handleEnd);
1086
+ this.canvas.removeEventListener("mouseleave", this.handleEnd);
1087
+ this.canvas.removeEventListener("touchstart", this.handleStart);
1088
+ this.canvas.removeEventListener("touchmove", this.handleMove);
1089
+ this.canvas.removeEventListener("touchend", this.handleEnd);
1090
+ this.canvas.removeEventListener("touchcancel", this.handleEnd);
1091
+ }
1092
+ destroy() {
1093
+ this.detachEvents();
1094
+ this.resetClearTimer();
1095
+ }
1096
+ getCanvas() {
1097
+ return this.canvas;
1098
+ }
1099
+ getContext() {
1100
+ return this.ctx;
1101
+ }
1102
+ };
1103
+
1104
+ //#endregion
1105
+ //#region src/dom.ts
1106
+ /**
1107
+
1108
+ * 计算键盘的显示位置
1109
+
1110
+ * @param inputElement 输入框元素
1111
+
1112
+ * @param keyboardElement 键盘元素
1113
+
1114
+ * @param positionMode 位置模式:'static'(静态,不计算位置)、'float'(浮动,根据输入框位置计算)、'bottom'(固定在底部)
1115
+
1116
+ * @returns 返回键盘的 top 和 left 位置,如果不需要计算则返回 null
1117
+
1118
+ */
1119
+ function calculateKeyboardPosition(inputElement, keyboardElement, positionMode) {
1120
+ if (!inputElement || !keyboardElement || positionMode === "static") return null;
1121
+ let top, left;
1122
+ if (positionMode === "bottom") {
1123
+ top = window.innerHeight - keyboardElement.offsetHeight;
1124
+ left = 0;
1125
+ } else {
1126
+ const inputRect = inputElement.getBoundingClientRect();
1127
+ const keyboardWidth = keyboardElement.offsetWidth;
1128
+ top = inputRect.bottom + window.scrollY;
1129
+ left = inputRect.left + window.scrollX + inputRect.width / 2 - keyboardWidth / 2;
1130
+ const viewportWidth = window.innerWidth;
1131
+ if (left + keyboardWidth > viewportWidth) left = viewportWidth - keyboardWidth - 10;
1132
+ if (left < 10) left = 10;
1133
+ }
1134
+ return {
1135
+ top: `${top}px`,
1136
+ left: `${left}px`
1137
+ };
1138
+ }
1139
+
1140
+ //#endregion
1141
+ //#region src/input.ts
1142
+ /**
1143
+
1144
+ * 判断元素是否为可输入元素(支持文本输入的 input 或 textarea)
1145
+
1146
+ * @param el 要检测的元素
1147
+
1148
+ * @returns 如果是可输入元素则返回 true
1149
+
1150
+ */
1151
+ function isInputElement(el) {
1152
+ if (!el) return false;
1153
+ if (el.tagName === "TEXTAREA") return true;
1154
+ if (el.tagName === "INPUT") {
1155
+ const inputElement = el;
1156
+ const inputType = (inputElement.type || "text").toLowerCase();
1157
+ const nonTextInputTypes = [
1158
+ "checkbox",
1159
+ "radio",
1160
+ "button",
1161
+ "submit",
1162
+ "reset",
1163
+ "file",
1164
+ "image",
1165
+ "range",
1166
+ "color",
1167
+ "hidden",
1168
+ "date",
1169
+ "datetime-local",
1170
+ "month",
1171
+ "week",
1172
+ "time"
1173
+ ];
1174
+ return !nonTextInputTypes.includes(inputType);
1175
+ }
1176
+ return false;
1177
+ }
1178
+ /**
1179
+
1180
+ * 获取当前激活的输入元素
1181
+
1182
+ * @throws {Error} 如果当前没有激活的输入框
1183
+
1184
+ */
1185
+ function getInputElement() {
1186
+ if (document.activeElement && isInputElement(document.activeElement)) return document.activeElement;
1187
+ else throw new Error("输入框没有被激活");
1188
+ }
1189
+ /**
1190
+
1191
+ * 更新输入框值并设置光标,触发 input 事件
1192
+
1193
+ */
1194
+ function applyEdit(inputElement, value, cursor) {
1195
+ inputElement.value = value;
1196
+ moveCursor(inputElement, cursor);
1197
+ inputElement.dispatchEvent(new Event("input", { bubbles: true }));
1198
+ }
1199
+ /**
1200
+
1201
+ * 通用字符串编辑:从 start 位置删除 deleteCount 个字符,并插入 insertText
1202
+
1203
+ */
1204
+ function editString(text, start, deleteCount, insertText = "") {
1205
+ return text.slice(0, start) + insertText + text.slice(start + deleteCount);
1206
+ }
1207
+ /**
1208
+
1209
+ * 通用输入框编辑:插入文本或删除字符
1210
+
1211
+ */
1212
+ function processInputElement(inputElement, insertText = "") {
1213
+ const maxlength = Number(inputElement.getAttribute("maxlength"));
1214
+ let start = inputElement.selectionStart ?? 0;
1215
+ const end = inputElement.selectionEnd ?? start;
1216
+ let deleteCount;
1217
+ if (insertText.length > 0) deleteCount = end - start;
1218
+ else {
1219
+ const selLen = end - start;
1220
+ if (selLen > 0) deleteCount = selLen;
1221
+ else if (start > 0) {
1222
+ deleteCount = 1;
1223
+ start--;
1224
+ } else return;
1225
+ }
1226
+ if (insertText.length > 0 && maxlength && inputElement.value.length - deleteCount + insertText.length > maxlength) return;
1227
+ const newValue = editString(inputElement.value, start, deleteCount, insertText);
1228
+ const newCursor = start + insertText.length;
1229
+ applyEdit(inputElement, newValue, newCursor);
1230
+ }
1231
+ /**
1232
+
1233
+ * 向输入框插入文本
1234
+
1235
+ * @param inputElement 输入框元素
1236
+
1237
+ * @param text 要插入的文本
1238
+
1239
+ */
1240
+ function writeToInputElement(inputElement, text) {
1241
+ processInputElement(inputElement, text);
1242
+ }
1243
+ /**
1244
+
1245
+ * 向输入框删除文本
1246
+
1247
+ * @param inputElement 输入框元素
1248
+
1249
+ */
1250
+ function delToInputElement(inputElement) {
1251
+ processInputElement(inputElement);
1252
+ }
1253
+ /**
1254
+
1255
+ * 设置输入框光标位置
1256
+
1257
+ * @param inputElement 输入框元素
1258
+
1259
+ * @param index 光标位置索引
1260
+
1261
+ */
1262
+ function moveCursor(inputElement, index) {
1263
+ inputElement.selectionStart = index;
1264
+ inputElement.selectionEnd = index;
1265
+ }
1266
+
1267
+ //#endregion
1268
+ //#region src/pinyin.ts
1269
+ /**
1270
+
1271
+ * 简单拼音输入法引擎
1272
+
1273
+ */
1274
+ var SimplePinyinEngine = class {
1275
+ currentInput = "";
1276
+ candidates = [];
1277
+ pinyinMap = pinyin_dict_notone_default;
1278
+ /**
1279
+
1280
+ * 处理拼音输入
1281
+
1282
+ * @param input 用户输入的拼音
1283
+
1284
+ * @returns 候选词列表
1285
+
1286
+ */
1287
+ processInput(input) {
1288
+ this.currentInput = input.toLowerCase();
1289
+ this.candidates = [];
1290
+ if (this.currentInput) {
1291
+ let exactMatch = "";
1292
+ let prefixMatch = "";
1293
+ for (const [pinyin, chars] of Object.entries(this.pinyinMap)) if (pinyin === this.currentInput) exactMatch += chars;
1294
+ else if (pinyin.startsWith(this.currentInput)) prefixMatch += chars;
1295
+ this.candidates = [...new Set([...exactMatch.split(""), ...prefixMatch.split("")])];
1296
+ }
1297
+ return this.candidates;
1298
+ }
1299
+ /**
1300
+
1301
+ * 清空当前输入
1302
+
1303
+ */
1304
+ clear() {
1305
+ this.currentInput = "";
1306
+ this.candidates = [];
1307
+ }
1308
+ /**
1309
+
1310
+ * 获取当前输入码
1311
+
1312
+ */
1313
+ getCurrentInput() {
1314
+ return this.currentInput;
1315
+ }
1316
+ /**
1317
+
1318
+ * 获取当前候选词列表
1319
+
1320
+ */
1321
+ getCandidates() {
1322
+ return this.candidates;
1323
+ }
1324
+ /**
1325
+
1326
+ * 选择候选词
1327
+
1328
+ * @param index 候选词索引
1329
+
1330
+ * @returns 选中的候选词
1331
+
1332
+ */
1333
+ selectCandidate(index) {
1334
+ if (index >= 0 && index < this.candidates.length) {
1335
+ const selected = this.candidates[index];
1336
+ this.clear();
1337
+ return selected;
1338
+ }
1339
+ return null;
1340
+ }
1341
+ };
1342
+
1343
+ //#endregion
1344
+ exports.AdvancedPinyinEngine = AdvancedPinyinEngine
1345
+ exports.CanvasDrawer = CanvasDrawer
1346
+ exports.SimplePinyinEngine = SimplePinyinEngine
1347
+ exports.calculateKeyboardPosition = calculateKeyboardPosition
1348
+ exports.delToInputElement = delToInputElement
1349
+ exports.getInputElement = getInputElement
1350
+ exports.isInputElement = isInputElement
1351
+ exports.moveCursor = moveCursor
1352
+ exports.writeToInputElement = writeToInputElement
1353
+ //# sourceMappingURL=index.js.map