Cong123779 commited on
Commit
723ba31
·
verified ·
1 Parent(s): 2a1cf4d

Initial deploy of Standalone Vietphrase Translation API

Browse files
.gitattributes CHANGED
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ dictionaries/Vietphrase.txt filter=lfs diff=lfs merge=lfs -text
37
+ dictionaries/han_readings_lookup.csv filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM python:3.10-slim
2
+
3
+ # Install system dependencies
4
+ RUN apt-get update && apt-get install -y --no-install-recommends build-essential && rm -rf /var/lib/apt/lists/*
5
+
6
+ # Create user
7
+ RUN useradd -m -u 1000 user
8
+ USER user
9
+ ENV HOME=/home/user PATH=/home/user/.local/bin:$PATH PYTHONUNBUFFERED=1
10
+
11
+ WORKDIR $HOME/app
12
+
13
+ # Copy requirements
14
+ COPY --chown=user requirements.txt .
15
+ RUN pip install --no-cache-dir -r requirements.txt
16
+
17
+ # Copy application files
18
+ COPY --chown=user . .
19
+
20
+ # Expose port 7860
21
+ EXPOSE 7860
22
+
23
+ # Run FastAPI via Uvicorn
24
+ CMD ["uvicorn", "api_server:app", "--host", "0.0.0.0", "--port", "7860"]
api_server.py ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ import json
4
+ import asyncio
5
+ from fastapi import FastAPI, HTTPException, Body
6
+ from fastapi.responses import StreamingResponse
7
+ from pydantic import BaseModel
8
+ from typing import List, Optional
9
+
10
+ # Add parent directory to path to import engine
11
+ current_dir = os.path.dirname(os.path.abspath(__file__))
12
+ sys.path.insert(0, os.path.dirname(os.path.dirname(current_dir)))
13
+
14
+ from backend.engine.engine import VietphraseEngine
15
+ from backend.config import Config
16
+
17
+ app = FastAPI(
18
+ title="Vietphrase Translation Standalone API Server",
19
+ description="Standalone API for fast Chinese to Vietnamese translation with 5 modes"
20
+ )
21
+
22
+ # Initialize engine
23
+ print("Lazy-loading Vietphrase Engine on API Startup...")
24
+ engine = VietphraseEngine()
25
+ print("Vietphrase Engine successfully loaded!")
26
+
27
+ class TranslateRequest(BaseModel):
28
+ texts: List[str]
29
+ mode: Optional[str] = "advanced"
30
+
31
+ @app.get("/health")
32
+ def health():
33
+ return {
34
+ "status": "ok",
35
+ "modes": ["advanced", "fast", "vietphrase", "hanviet", "advanced_hanviet"],
36
+ "dictionary_sizes": {
37
+ "char_dict": len(engine.char_dict),
38
+ "proper_names": len(engine.proper_names),
39
+ "vietphrase": len(engine.vietphrase)
40
+ }
41
+ }
42
+
43
+ @app.post("/v1/translate")
44
+ def translate(req: TranslateRequest):
45
+ if not req.texts:
46
+ raise HTTPException(status_code=400, detail="Missing 'texts' list")
47
+
48
+ translations = []
49
+ for text in req.texts:
50
+ if not text.strip():
51
+ translations.append(text)
52
+ else:
53
+ try:
54
+ translations.append(engine.translate(text, mode=req.mode))
55
+ except Exception as e:
56
+ translations.append(text)
57
+ print(f"Error translating text: {e}")
58
+
59
+ return {"translations": translations}
60
+
61
+ @app.post("/v1/translate_stream")
62
+ async def translate_stream(req: TranslateRequest):
63
+ if not req.texts:
64
+ raise HTTPException(status_code=400, detail="Missing 'texts' list")
65
+
66
+ async def event_generator():
67
+ for i, text in enumerate(req.texts):
68
+ if not text.strip():
69
+ trans = text
70
+ else:
71
+ try:
72
+ trans = engine.translate(text, mode=req.mode)
73
+ except Exception as e:
74
+ trans = text
75
+ print(f"Error streaming translation: {e}")
76
+
77
+ yield f"data: {json.dumps({'index': i, 'text': trans}, ensure_ascii=False)}\n\n"
78
+ await asyncio.sleep(0.001)
79
+
80
+ return StreamingResponse(event_generator(), media_type="text/event-stream")
81
+
82
+ if __name__ == "__main__":
83
+ import uvicorn
84
+ port = int(os.environ.get("PORT", 8050))
85
+ uvicorn.run("translate_api_server:app", host="0.0.0.0", port=port, reload=False)
backend/__init__.py ADDED
File without changes
backend/config.py ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ from datetime import timedelta
3
+ from dotenv import load_dotenv
4
+
5
+ load_dotenv(override=True)
6
+
7
+ class Config:
8
+ # Flask settings
9
+ SECRET_KEY = os.environ.get("FLASK_SECRET_KEY", "tienhiep_lyvuha_secret_key_9988")
10
+
11
+ # Base directories and DB paths
12
+ ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
13
+ DB_PATH = os.path.join(ROOT_DIR, "merged_books.db")
14
+ USER_DB_PATH = os.path.join(ROOT_DIR, "users_data.db")
15
+
16
+ # JWT authentication settings
17
+ JWT_SECRET = SECRET_KEY + "_jwt_v2_secure"
18
+ JWT_ALGORITHM = "HS256"
19
+ JWT_ACCESS_TOKEN_EXPIRE = timedelta(minutes=30)
20
+ JWT_REFRESH_TOKEN_EXPIRE = timedelta(days=7)
21
+
22
+ # VIP plans
23
+ VIP_PLANS = {
24
+ "month": {
25
+ "name_vi": "Gói Tháng",
26
+ "name_en": "Monthly Plan",
27
+ "name_zh": "月套餐",
28
+ "price": 50000, # 50,000 VND
29
+ "duration_days": 30,
30
+ "description_vi": "VIP 1 tháng — Dịch không giới hạn, AI, TTS, EPUB",
31
+ "description_en": "VIP 1 month — Unlimited translation, AI, TTS, EPUB",
32
+ "description_zh": "VIP 1个月 — 无限翻译、AI、TTS、EPUB",
33
+ },
34
+ "year": {
35
+ "name_vi": "Gói Năm (Tiết kiệm 67%)",
36
+ "name_en": "Yearly Plan (Save 67%)",
37
+ "name_zh": "年套餐 (节省67%)",
38
+ "price": 200000, # 200,000 VND
39
+ "duration_days": 365,
40
+ "description_vi": "VIP 1 năm — Tất cả quyền lợi VIP, ưu đãi tốt nhất",
41
+ "description_en": "VIP 1 year — All VIP benefits, best value",
42
+ "description_zh": "VIP 1年 — 所有VIP权益,最优惠",
43
+ }
44
+ }
45
+
46
+ # Payment Gateway Config
47
+ PAYMENT_CONFIG = {
48
+ "bank_id": os.environ.get("BANK_ID", "MB"),
49
+ "account_no": os.environ.get("BANK_ACCOUNT_NO", "0349717475"),
50
+ "account_name": os.environ.get("BANK_ACCOUNT_NAME", "LY VU HA"),
51
+ "template": "compact2",
52
+ "payos_client_id": os.environ.get("PAYOS_CLIENT_ID", ""),
53
+ "payos_api_key": os.environ.get("PAYOS_API_KEY", ""),
54
+ "payos_checksum_key": os.environ.get("PAYOS_CHECKSUM_KEY", ""),
55
+ "payos_webhook_url": os.environ.get("PAYOS_WEBHOOK_URL", "https://yourdomain.com/api/payment/webhook"),
56
+ }
57
+
58
+ # Rate Limiting
59
+ RATE_LIMITS = {
60
+ "login": {"max": 5, "window": 300},
61
+ "register": {"max": 3, "window": 600},
62
+ "otp": {"max": 3, "window": 60},
63
+ "payment": {"max": 10, "window": 600},
64
+ }
65
+
66
+ # SMTP email config
67
+ SMTP_CONFIG = {
68
+ "host": "smtp.gmail.com",
69
+ "port": 587,
70
+ "username": os.environ.get("SMTP_EMAIL", ""),
71
+ "password": os.environ.get("SMTP_PASSWORD", ""),
72
+ "from_name": "Novel Translator VIP",
73
+ "enabled": True if os.environ.get("SMTP_PASSWORD") else False
74
+ }
75
+
76
+ # Google OAuth
77
+ GOOGLE_OAUTH_CONFIG = {
78
+ "client_id": os.environ.get("GOOGLE_CLIENT_ID", ""),
79
+ "client_secret": os.environ.get("GOOGLE_CLIENT_SECRET", ""),
80
+ "redirect_uri": os.environ.get("GOOGLE_REDIRECT_URI", "http://localhost:5050/api/auth/google/callback"),
81
+ "enabled": True
82
+ }
83
+
84
+ # VIP Validation Codes
85
+ VALID_VIP_CODES = {"VIP2026", "ANTIGRAVITY", "PREMIUM_MEMBER", "VIP_TRANSLATOR", "VIP_SERVER"}
backend/engine/__init__.py ADDED
File without changes
backend/engine/engine.py ADDED
@@ -0,0 +1,820 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import sys
3
+ import re
4
+ import jieba.posseg as pseg
5
+
6
+ from backend.config import Config
7
+
8
+ NUM_RE = re.compile(r'^[0-9一二三四五六七八九十百千万几数多半两]+$')
9
+ PUNCT_SET = {',', '.', '!', '?', ';', ':', '"', '\'', '(', ')', '[', ']', '{', '}',
10
+ ',', '。', '!', '?', ';', ':', '“', '”', '‘', '’', '(', ')', '【', '】', '《', '》', '、', '—', '~'}
11
+
12
+
13
+ class SimpleToken:
14
+ def __init__(self, word, tag):
15
+ self.word = word
16
+ self.tag = tag
17
+ self.translated = None
18
+
19
+ @property
20
+ def flag(self):
21
+ return self.tag
22
+
23
+ @flag.setter
24
+ def flag(self, value):
25
+ self.tag = value
26
+
27
+ class VietphraseEngine:
28
+ def __init__(self, config=None):
29
+ self.config = config or {}
30
+ self.load_dictionaries()
31
+
32
+ # Check translation mode
33
+ self.translation_mode = self.config.get("translation", {}).get("mode", "advanced")
34
+ if self.config.get("translation", {}).get("fast_mode", False):
35
+ self.translation_mode = "fast"
36
+
37
+ # Warm-up jieba
38
+ import jieba
39
+ try:
40
+ # Fix segmenter splitting overlapping words like 重生于
41
+ jieba.add_word("重生", tag="v")
42
+ jieba.suggest_freq(("生", "于"), True)
43
+ jieba.suggest_freq(("着", "重"), True)
44
+ jieba.suggest_freq(("醉", "人"), True)
45
+ # Tag grades as nouns instead of proper names (nr)
46
+ jieba.add_word("高一", tag="n")
47
+ jieba.add_word("高二", tag="n")
48
+ jieba.add_word("高三", tag="n")
49
+ except Exception as e:
50
+ print("Error initializing custom word splits in Jieba:", e)
51
+
52
+ # Always initialize both tokenizers to support dynamic mode switching
53
+ self.jieba_tokenizer = jieba.dt
54
+ self.pseg_dict = pseg.dt.word_tag_tab
55
+ list(self.jieba_tokenizer.cut("暖洋洋"))
56
+ list(pseg.cut("暖洋洋"))
57
+
58
+ def load_dictionaries(self):
59
+ paths = self.config.get("paths", {}).get("dictionaries", {})
60
+ vp_path = paths.get("vietphrase", "")
61
+ if not vp_path or not os.path.isabs(vp_path):
62
+ vp_path = os.path.join(Config.ROOT_DIR, vp_path or "dictionaries/Vietphrase.txt")
63
+
64
+ dict_dir = os.path.dirname(vp_path)
65
+
66
+ # Check for encrypted .bin dictionaries first, then fallback to .txt
67
+ def load_file_content(base_name):
68
+ bin_file = os.path.join(dict_dir, base_name + ".bin")
69
+ txt_file = os.path.join(dict_dir, base_name + ".txt")
70
+
71
+ if os.path.exists(bin_file):
72
+ # Decrypt XOR
73
+ with open(bin_file, "rb") as f:
74
+ data = f.read()
75
+ key_bytes = "quick_translator_secret_key_2026".encode("utf-8")
76
+ key_len = len(key_bytes)
77
+ repeated_key = (key_bytes * (len(data) // key_len + 1))[:len(data)]
78
+ decrypted = bytes(a ^ b for a, b in zip(data, repeated_key))
79
+ return decrypted.decode("utf-8")
80
+ elif os.path.exists(txt_file):
81
+ with open(txt_file, "r", encoding="utf-8") as f:
82
+ return f.read()
83
+ return ""
84
+
85
+ print("Loading dictionaries in VietphraseEngine...")
86
+ self.char_dict = self.parse_dict_content(load_file_content("HanViet_CharDict"))
87
+
88
+ # --- ADD HÁn Nôm FALLBACK ---
89
+ import csv
90
+ han_csv_path = os.path.join(dict_dir, "han_all_readings.csv")
91
+ if os.path.exists(han_csv_path):
92
+ try:
93
+ with open(han_csv_path, 'r', encoding='utf-8') as f:
94
+ reader = csv.DictReader(f)
95
+ for row in reader:
96
+ char = row.get("Ký_tự", "").strip()
97
+ hv = row.get("Hán_Việt", "").strip()
98
+ if char and hv and char not in self.char_dict:
99
+ self.char_dict[char] = hv.replace("~", "")
100
+ print("Loaded han_all_readings.csv as fallback for missing Chinese characters.")
101
+ except Exception as e:
102
+ print("Could not load han_all_readings.csv:", e)
103
+
104
+ self.proper_names = self.parse_dict_content(load_file_content("Aligned_HanViet"), convert_to_simplified=True)
105
+
106
+ vp_content = load_file_content("Vietphrase")
107
+ self.vietphrase = self.parse_vietphrase_content(vp_content)
108
+ print("Dictionaries loaded successfully.")
109
+
110
+ # Build Tries for vietphrase and hanviet modes
111
+ from .trie import Trie
112
+ print("Building Tries for fast translation modes...")
113
+ self.vietphrase_trie = Trie()
114
+ # Insert proper names (priority 1)
115
+ for k, v in self.proper_names.items():
116
+ self.vietphrase_trie.insert(k, v, 1)
117
+ # Insert Vietphrase (priority 2 - higher)
118
+ for k, v in self.vietphrase.items():
119
+ self.vietphrase_trie.insert(k, v, 2)
120
+
121
+ self.hanviet_trie = Trie()
122
+ # Insert proper names (priority 2)
123
+ for k, v in self.proper_names.items():
124
+ self.hanviet_trie.insert(k, v, 2)
125
+ print("Tries built successfully.")
126
+
127
+ # Register proper names in Jieba dictionary for fast modes
128
+ import jieba
129
+ for name in self.proper_names:
130
+ jieba.add_word(name)
131
+
132
+ def parse_dict_content(self, content, convert_to_simplified=False):
133
+ dictionary = {}
134
+ if content:
135
+ to_simplified = lambda s: s
136
+ if convert_to_simplified:
137
+ try:
138
+ from hanziconv import HanziConv
139
+ to_simplified = HanziConv.toSimplified
140
+ except ImportError:
141
+ pass
142
+
143
+ for line in content.splitlines():
144
+ line = line.strip()
145
+ if not line or "=" not in line or line.startswith('#'):
146
+ continue
147
+ parts = line.split("=", 1)
148
+ key = parts[0].strip()
149
+ val = self.clean_annotation(parts[1].strip())
150
+ dictionary[to_simplified(key)] = val
151
+ return dictionary
152
+
153
+ def parse_vietphrase_content(self, content):
154
+ dictionary = {}
155
+ if content:
156
+ for line in content.splitlines():
157
+ line = line.strip()
158
+ if not line or "=" not in line or line.startswith('#'):
159
+ continue
160
+ parts = line.split("=", 1)
161
+ left = parts[0].strip()
162
+ right = self.clean_annotation(parts[1].strip())
163
+
164
+ if "," in left and "," in right:
165
+ keys = [k.strip() for k in left.split(",") if k.strip()]
166
+ vals = [v.strip() for v in right.split(",") if v.strip()]
167
+ if len(keys) == len(vals):
168
+ for k, v in zip(keys, vals):
169
+ dictionary[k] = v
170
+ continue
171
+ if left:
172
+ dictionary[left] = right
173
+ return dictionary
174
+
175
+ def is_number(self, word):
176
+ return bool(re.match(r'^[0-9一二三四五六七八九十百千万几数多半两]+$', word))
177
+
178
+ def capitalize_phrase(self, phrase):
179
+ chars = 'a-zA-ZàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđĐ'
180
+ pattern = f'[{chars}]+'
181
+ return re.sub(pattern, lambda m: m.group(0).capitalize(), phrase)
182
+
183
+ def clean_annotation(self, text, mode='vietphrase'):
184
+ if not text:
185
+ return ""
186
+ # 1. Parse curly braces {meaning:reading}
187
+ def repl_curly(match):
188
+ content = match.group(1)
189
+ if ':' in content:
190
+ parts = content.split(':', 1)
191
+ return parts[0].strip() if mode == 'vietphrase' else parts[1].strip()
192
+ return content.strip()
193
+
194
+ text = re.sub(r'\{([^{}]+)\}', repl_curly, text)
195
+
196
+ # 2. Strip (*...) annotations
197
+ text = re.sub(r'\s*\(\*[^)]*\)', '', text)
198
+
199
+ return text.strip()
200
+
201
+ def format_translation(self, raw_value, multi_option, word=None, prefer_hanviet=False):
202
+ if not raw_value:
203
+ return ""
204
+ options = [o for o in raw_value.split("/") if o.strip()]
205
+
206
+ # Deduplicate options while preserving order
207
+ seen = set()
208
+ deduped = []
209
+ for o in options:
210
+ if o not in seen:
211
+ seen.add(o)
212
+ deduped.append(o)
213
+
214
+ if not deduped:
215
+ return ""
216
+
217
+ if multi_option and len(deduped) > 1:
218
+ return f"{deduped[0]}[{'/'.join(deduped[1:])}]"
219
+
220
+ # If multi-option is False, we have a word of length >= 2, and prefer_hanviet is True, prefer Hán Việt alignment
221
+ if prefer_hanviet and word and len(word) >= 2 and len(deduped) > 1:
222
+ hv_sets = []
223
+ for char in word:
224
+ readings = set()
225
+ if char in self.char_dict:
226
+ for r in self.char_dict[char].split('/'):
227
+ r_clean = r.strip().lower()
228
+ if r_clean:
229
+ readings.add(r_clean)
230
+ if readings:
231
+ hv_sets.append(readings)
232
+
233
+ best_option = deduped[0]
234
+ best_score = -1
235
+
236
+ for opt in deduped:
237
+ opt_syllables = [w.strip().lower() for w in opt.split() if w.strip()]
238
+ score = 0
239
+ for r_set in hv_sets:
240
+ if any(r in opt_syllables for r in r_set):
241
+ score += 1
242
+ if score > best_score:
243
+ best_score = score
244
+ best_option = opt
245
+ if best_score > 0:
246
+ return best_option
247
+
248
+ return deduped[0]
249
+
250
+ def clean_punctuation_spacing(self, text):
251
+ if not text:
252
+ return text
253
+
254
+ # 1. Ensure exactly one space after commas, semicolons, colons, periods, question marks, and exclamation marks.
255
+ # Avoid inserting space if the next character is a closing bracket, closing quote, space, or another punctuation.
256
+ text = re.sub(r'([,;.:!?])(?=[^\s)\]}』】”"’])', r'\1 ', text)
257
+
258
+ # 2. Remove any accidental whitespace before these punctuation marks
259
+ text = re.sub(r'\s+([,;.:!?])', r'\1', text)
260
+
261
+ # 3. Clean spaces inside parentheses, brackets, and curly/double brackets (including Chinese quote styles)
262
+ text = re.sub(r'([(\[{『【«])\s+', r'\1', text)
263
+ text = re.sub(r'\s+([)\]}』】»])', r'\1', text)
264
+
265
+ # Ensure a space exists before opening brackets and after closing brackets when they border words/digits
266
+ text = re.sub(r'(?<=[^\s(\[{『【«])([(\[{『【«])', r' \1', text)
267
+ text = re.sub(r'([)\]}』】»])(?=[^\s.,;:!?)\]}』】»])', r'\1 ', text)
268
+
269
+ # 4. Standardize dashes/hyphens used as separators (e.g. "Artist - Song") to have one space on each side
270
+ text = re.sub(r'\s*-\s*', ' - ', text)
271
+
272
+ # 5. Clean up any duplicated/trailing whitespaces
273
+ text = re.sub(r'\s+', ' ', text).strip()
274
+
275
+ return text
276
+
277
+ def translate_sentence(self, sentence, multi_option=False, mode=None):
278
+ if not sentence or sentence.isspace():
279
+ return ""
280
+
281
+ # If the sentence doesn't contain any Chinese characters or symbols, preserve it as-is
282
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df\u3000-\u303f\uff00-\uffef]', sentence):
283
+ return sentence
284
+
285
+ # Segment into Chinese text blocks and non-Chinese text blocks
286
+ # Keep Chinese characters and Chinese specific punctuations in the translation segment
287
+ chinese_pattern = re.compile(r'([\u4e00-\u9fff\u3000-\u303f\uff00-\uffef]+)')
288
+ parts = chinese_pattern.split(sentence)
289
+
290
+ # Merge simple alphanumeric non-Chinese blocks into adjacent Chinese blocks
291
+ i = 1
292
+ while i < len(parts) - 1:
293
+ non_chinese = parts[i+1]
294
+ if re.match(r'^\s*[a-zA-Z0-9]+\s*$', non_chinese):
295
+ parts[i] = parts[i] + non_chinese + parts[i+2]
296
+ parts.pop(i+1)
297
+ parts.pop(i+1)
298
+ else:
299
+ i += 2
300
+
301
+ translated_parts = []
302
+ capitalize_next = True
303
+
304
+ for part in parts:
305
+ if not part:
306
+ continue
307
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df\u3000-\u303f\uff00-\uffef]', part):
308
+ # Non-Chinese segment -> preserve exactly
309
+ translated_parts.append(part)
310
+ # Check if it ends with sentence terminator
311
+ if re.search(r'[.!?]\s*$', part):
312
+ capitalize_next = True
313
+ elif part.strip():
314
+ capitalize_next = False
315
+ else:
316
+ # Chinese segment -> translate
317
+ trans = self._translate_pure_chinese_sentence(part, multi_option, mode, capitalize_first=capitalize_next)
318
+ translated_parts.append(trans)
319
+ # Check if it ends with sentence terminator
320
+ if re.search(r'[.!?]\s*$', part) or re.search(r'[.!?]\s*$', trans):
321
+ capitalize_next = True
322
+ else:
323
+ capitalize_next = False
324
+
325
+ return "".join(translated_parts)
326
+
327
+ def _translate_pure_chinese_sentence(self, sentence, multi_option=False, mode=None, capitalize_first=True):
328
+ if not sentence or sentence.isspace():
329
+ return ""
330
+
331
+ active_mode = mode or self.translation_mode
332
+
333
+ # Tokenization & Tagging depending on mode
334
+ if active_mode in ("advanced", "advanced_hanviet"):
335
+ raw_tokens = [SimpleToken(t.word, t.flag) for t in pseg.cut(sentence)]
336
+ else:
337
+ # "fast", "vietphrase", "hanviet" modes use the fast tokenizer
338
+ words = list(self.jieba_tokenizer.cut(sentence))
339
+ raw_tokens = []
340
+ for w in words:
341
+ if w in PUNCT_SET:
342
+ tag = 'x'
343
+ elif NUM_RE.match(w):
344
+ tag = 'm'
345
+ else:
346
+ tag = self.pseg_dict.get(w, 'n')
347
+ raw_tokens.append(SimpleToken(w, tag))
348
+
349
+ if not raw_tokens:
350
+ return ""
351
+
352
+ NUM_KEYWORDS = {"重", "阶", "品", "级", "层", "剑", "星", "转", "天", "色", "关", "重天"}
353
+ HANVIET_NUMBERS = {
354
+ '0': 'Không', '1': 'Nhất', '2': 'Nhị', '3': 'Tam', '4': 'Tứ', '5': 'Ngũ', '6': 'Lục', '7': 'Thất', '8': 'Bát', '9': 'Cửu', '10': 'Thập',
355
+ '一': 'Nhất', '二': 'Nhị', '三': 'Tam', '四': 'Tứ', '五': 'Ngũ', '六': 'Lục', '七': 'Thất', '八': 'Bát', '九': 'Cửu', '十': 'Thập',
356
+ '百': 'Bách', '千': 'Thiên', '万': 'Vạn', '萬': 'Vạn', '几': 'Vài', '数': 'Số', '多': 'Đa', '半': 'Bán', '两': 'Lưỡng', '兩': 'Lưỡng'
357
+ }
358
+ # Helper function to translate a single token
359
+ def translate_single_token(idx, tok, list_of_tokens):
360
+ word = tok.word
361
+ tag = tok.tag
362
+
363
+ # Punctuation
364
+ is_punct = (tag == 'x' or word in {',', '.', '!', '?', ';', ':', '"', '(', ')', '[', ']', '{', '}'})
365
+ if is_punct:
366
+ has_chinese = False
367
+ for char in word:
368
+ if char in self.char_dict:
369
+ has_chinese = True
370
+ break
371
+ if not has_chinese:
372
+ punct_map = {
373
+ ',': ',', '。': '.', '「': '"', '」': '"', '、': ',', '?': '?', '!': '!',
374
+ ':': ':', ';': ';', '“': '"', '”': '"', '(': '(', ')': ')'
375
+ }
376
+ tok.translated = punct_map.get(word, word)
377
+ return
378
+
379
+ # Rule for number + 人 (e.g. 几十人, 三人)
380
+ if len(word) > 1 and word.endswith('人') and self.is_number(word[:-1]):
381
+ num_part = word[:-1]
382
+ if num_part in self.vietphrase:
383
+ num_trans = self.format_translation(self.vietphrase[num_part], multi_option, num_part)
384
+ else:
385
+ num_trans = " ".join([self.char_dict.get(c, c).split("/")[0] for c in num_part])
386
+ tok.translated = f"{num_trans} người"
387
+ return
388
+
389
+ # Special rule for 了 (le vs liao)
390
+ if word == 'l' or word == '了':
391
+ is_at_end = True
392
+ for next_tok in list_of_tokens[idx+1:]:
393
+ if next_tok.word in {'"', '\'', '(', ')', '[', ']', '{', '}', '“', '”', '‘', '’', '(', ')', '【', '】', '《', '》'}:
394
+ continue
395
+ if next_tok.word in {',', '.', '!', '?', ';', ':', ',', '。', '!', '?', ';', ':', '、'}:
396
+ is_at_end = True
397
+ break
398
+ is_at_end = False
399
+ break
400
+ if is_at_end:
401
+ tok.translated = "rồi"
402
+ else:
403
+ tok.translated = "được"
404
+ return
405
+
406
+ # Cultivation Realm (cultivation)
407
+ if tag == 'cultivation':
408
+ result = []
409
+ for char in word:
410
+ if char in HANVIET_NUMBERS:
411
+ result.append(HANVIET_NUMBERS[char])
412
+ else:
413
+ cap_val = self.char_dict.get(char, char).split("/")[0].capitalize()
414
+ result.append(cap_val)
415
+ tok.translated = " ".join(result)
416
+ return
417
+
418
+ # Determine if it's a noun or an adjective
419
+ is_proper = (tag in {'nr', 'ns', 'nt'} if tag else False)
420
+ is_noun = (tag.startswith('n') if tag else False) or tag in {'n', 'nz', 'ng'} if tag else False
421
+ is_adj = tag in {'a', 'b', 'ad', 'an', 'z'} if tag else False
422
+ is_noun_or_adj = is_proper or is_noun or is_adj
423
+
424
+ # --- Chốt chặn cuối cùng cho Tên riêng (Proper Names Guard) ---
425
+ if is_proper:
426
+ if word in self.proper_names:
427
+ tok.translated = self.format_translation(self.proper_names[word], multi_option, word, prefer_hanviet=True)
428
+ else:
429
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', word):
430
+ tok.translated = word
431
+ else:
432
+ result = []
433
+ for char in word:
434
+ val = self.char_dict.get(char, char).split("/")[0]
435
+ result.append(val)
436
+ tok.translated = " ".join(result)
437
+ if tok.translated:
438
+ tok.translated = self.capitalize_phrase(tok.translated)
439
+
440
+ # --- Translate lookup strategy depending on active_mode (for non-proper names) ---
441
+ else:
442
+ if active_mode == 'hanviet':
443
+ # Mode 4: Pure Hán Việt (NO Vietphrase)
444
+ if word in self.proper_names:
445
+ tok.translated = self.format_translation(self.proper_names[word], multi_option, word, prefer_hanviet=True)
446
+ else:
447
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', word):
448
+ tok.translated = word
449
+ else:
450
+ result = []
451
+ for char in word:
452
+ val = self.char_dict.get(char, char).split("/")[0]
453
+ result.append(val)
454
+ tok.translated = " ".join(result)
455
+
456
+ elif active_mode == 'vietphrase':
457
+ # Mode 3: Prioritize Vietphrase (Traditional)
458
+ if word in self.vietphrase:
459
+ tok.translated = self.format_translation(self.vietphrase[word], multi_option, word, prefer_hanviet=False)
460
+ elif word in self.proper_names:
461
+ tok.translated = self.format_translation(self.proper_names[word], multi_option, word, prefer_hanviet=True)
462
+ else:
463
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', word):
464
+ tok.translated = word
465
+ else:
466
+ result = []
467
+ for char in word:
468
+ val = self.char_dict.get(char, char).split("/")[0]
469
+ result.append(val)
470
+ tok.translated = " ".join(result)
471
+
472
+ else:
473
+ # Modes 1, 2 & 5: 'fast', 'advanced', or 'advanced_hanviet' (POS-based noun/adjective Hán Việt override)
474
+ if is_noun_or_adj:
475
+ # Nouns/Adjectives: Bypasses vietphrase
476
+ if word in self.proper_names:
477
+ tok.translated = self.format_translation(self.proper_names[word], multi_option, word, prefer_hanviet=True)
478
+ else:
479
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', word):
480
+ tok.translated = word
481
+ else:
482
+ result = []
483
+ for char in word:
484
+ val = self.char_dict.get(char, char).split("/")[0]
485
+ result.append(val)
486
+ tok.translated = " ".join(result)
487
+ else:
488
+ # Verbs and other parts of speech
489
+ if active_mode == 'advanced_hanviet':
490
+ # Prefer HanViet dictionary (proper_names) over Vietphrase
491
+ if word in self.proper_names:
492
+ tok.translated = self.format_translation(self.proper_names[word], multi_option, word, prefer_hanviet=True)
493
+ elif word in self.vietphrase:
494
+ tok.translated = self.format_translation(self.vietphrase[word], multi_option, word, prefer_hanviet=False)
495
+ else:
496
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', word):
497
+ tok.translated = word
498
+ else:
499
+ result = []
500
+ for char in word:
501
+ val = self.char_dict.get(char, char).split("/")[0]
502
+ result.append(val)
503
+ tok.translated = " ".join(result)
504
+ else:
505
+ # Standard fast/advanced: vietphrase -> proper_names -> character fallback
506
+ if word in self.vietphrase:
507
+ tok.translated = self.format_translation(self.vietphrase[word], multi_option, word, prefer_hanviet=False)
508
+ elif word in self.proper_names:
509
+ tok.translated = self.format_translation(self.proper_names[word], multi_option, word, prefer_hanviet=True)
510
+ else:
511
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', word):
512
+ tok.translated = word
513
+ else:
514
+ result = []
515
+ for char in word:
516
+ val = self.char_dict.get(char, char).split("/")[0]
517
+ result.append(val)
518
+ tok.translated = " ".join(result)
519
+
520
+ # Strip trailing "đích" / "Đích" from modifier translations
521
+ if tok.translated and word.endswith('的') and len(word) > 1:
522
+ val = tok.translated
523
+ if val.lower().endswith(' đích'):
524
+ tok.translated = val[:-5]
525
+ elif val.lower().endswith('đích'):
526
+ tok.translated = val[:-4]
527
+
528
+ # Step 1: Group numeral phrases and cultivation terms FIRST
529
+ grouped = []
530
+ i = 0
531
+ while i < len(raw_tokens):
532
+ tok = raw_tokens[i]
533
+ word = tok.word
534
+ tag = tok.tag
535
+
536
+ if self.is_number(word) and i + 1 < len(raw_tokens) and raw_tokens[i+1].word in NUM_KEYWORDS:
537
+ grouped_word = word + raw_tokens[i+1].word
538
+ i_next = i + 2
539
+ if i_next < len(raw_tokens) and raw_tokens[i_next].tag in {'n', 'nr', 'ns', 'nt', 'nz'}:
540
+ grouped_word += raw_tokens[i_next].word
541
+ i_next += 1
542
+ grouped.append(SimpleToken(grouped_word, 'cultivation'))
543
+ i = i_next
544
+ else:
545
+ grouped.append(SimpleToken(word, tag))
546
+ i += 1
547
+
548
+ # Step 2: Translate individual tokens on the cultivation-grouped tokens
549
+ for idx, tok in enumerate(grouped):
550
+ translate_single_token(idx, tok, grouped)
551
+
552
+ # Step 3: Greedy merge adjacent tokens if their combination exists in dictionaries
553
+ i = 0
554
+ merged = []
555
+ while i < len(grouped):
556
+ matched = False
557
+ for length in range(min(4, len(grouped) - i), 1, -1):
558
+ combined_word = "".join([grouped[i+k].word for k in range(length)])
559
+
560
+ # Prevent merging across '的' particle to preserve root Hán Việt translation and allow reordering
561
+ should_skip = False
562
+ if 'đích' in combined_word or '的' in combined_word and combined_word.find('的') > 0:
563
+ should_skip = True
564
+ elif i + length < len(grouped) and grouped[i+length].word == '的':
565
+ # If next token is 'de' (de/的), don't merge if it would swallow a pronoun/noun/verb
566
+ last_tok = grouped[i+length-1]
567
+ if last_tok.flag in {'r', 'n', 'nr', 'ns', 'nt', 'nz', 'ng', 'v'}:
568
+ should_skip = True
569
+ elif '是' in combined_word and any(p in combined_word for p in {'我', '你', 'he', 'she', 'it', '们', '您', '自己'}):
570
+ # Prevent merging copula + pronoun phrases (like '这是他', '那是我') to allow proper clause reordering
571
+ should_skip = True
572
+
573
+ # Dict check strategy depends on active_mode
574
+ if active_mode == 'hanviet':
575
+ in_dicts = (combined_word in self.proper_names)
576
+ else:
577
+ in_dicts = (combined_word in self.vietphrase or combined_word in self.proper_names)
578
+
579
+ if not should_skip and in_dicts:
580
+ combined_tag = None
581
+ try:
582
+ cut_res = list(pseg.cut(combined_word))
583
+ if cut_res:
584
+ combined_tag = cut_res[0].flag
585
+ except Exception:
586
+ pass
587
+ if not combined_tag:
588
+ combined_tag = grouped[i].flag
589
+ for k in range(length):
590
+ if grouped[i+k].flag in {'nr', 'ns', 'nt', 'nz'}:
591
+ combined_tag = grouped[i+k].flag
592
+ break
593
+ new_tok = SimpleToken(combined_word, combined_tag)
594
+ # Translate the new merged token immediately
595
+ translate_single_token(0, new_tok, [new_tok])
596
+ merged.append(new_tok)
597
+ i += length
598
+ matched = True
599
+ break
600
+ if not matched:
601
+ merged.append(grouped[i])
602
+ i += 1
603
+
604
+ # Step 4: Reordering Grammar Rules
605
+ if active_mode != 'hanviet':
606
+ # Pass 1: Adjective + Noun reordering
607
+ changed = True
608
+ while changed:
609
+ changed = False
610
+ i = 0
611
+ while i < len(merged) - 1:
612
+ t_a = merged[i]
613
+ t_n = merged[i+1]
614
+
615
+ # Do not swap with prepositions/conjunctions/copulas/particles
616
+ if t_n.word in {'跟', '和', '与', '與', '同', '在', '从', '從', '自', '由', '向', '往', '朝', '对', '對', '给', '給', '比', '是', '叫', '让', '讓', '被', '把', '使', '令', '到', '了', '的', '而', '&', '并', '並', '以', '或', '者'}:
617
+ i += 1
618
+ continue
619
+
620
+ if (t_a.tag in {'a', 'b'} or (t_a.word.endswith('的') and t_a.word != '的')) and t_n.tag in {'n', 'nr', 'ns', 'nt', 'nz', 'ng', 'v', 'vd', 'vg', 'vi', 'vn'}:
621
+ combined = t_n.translated + " " + t_a.translated
622
+ new_tok = SimpleToken(t_a.word + t_n.word, t_n.tag)
623
+ new_tok.translated = combined
624
+ merged[i:i+2] = [new_tok]
625
+ changed = True
626
+ break
627
+ i += 1
628
+
629
+ # Pass 2: "的" reordering (with multi-token noun/verb phrase lookahead)
630
+ NOUN_PHRASE_TAGS = {'n', 'nr', 'ns', 'nt', 'nz', 'ng', 'a', 'b', 'm', 'q', 'j', 'i'}
631
+ LOOKAHEAD_TAGS = NOUN_PHRASE_TAGS | {'v', 'vd', 'vg', 'vi', 'vn'}
632
+ i = 1
633
+ while i < len(merged) - 1:
634
+ tok = merged[i]
635
+ if tok.word in {'de', '的'}:
636
+ t_x = merged[i-1]
637
+ # Scan forward to collect all consecutive noun or verb phrase tokens
638
+ k = i + 1
639
+ has_noun = False
640
+ while k < len(merged):
641
+ tok_k = merged[k]
642
+ # Stop collecting if we hit a locality word/orientation noun
643
+ if tok_k.word in {'下', '上', '中', '里', '外', '内', '內', '后', '後', '前', '旁', '侧', '側', '底', '间', '間'}:
644
+ break
645
+
646
+ # If we already encountered a noun/verb in the phrase,
647
+ # we cannot have a subsequent adjective modifying that noun from the right.
648
+ if has_noun and tok_k.tag in {'a', 'b'}:
649
+ break
650
+
651
+ # Do not collect a verb tag if we already have a noun/verb head
652
+ is_verb_tag = tok_k.tag in {'v', 'vd', 'vg', 'vi', 'vn'}
653
+ if has_noun and is_verb_tag:
654
+ break
655
+
656
+ if tok_k.tag in LOOKAHEAD_TAGS or tok_k.word == '色':
657
+ if tok_k.tag in {'n', 'nr', 'ns', 'nt', 'nz', 'ng', 'v', 'vd', 'vg', 'vi', 'vn'}:
658
+ has_noun = True
659
+ k += 1
660
+ else:
661
+ break
662
+
663
+ is_verb_modifier = t_x.tag in {'v', 'vd', 'vg', 'vi', 'vn'}
664
+
665
+ # If we collected at least one token AND the modifier is not a verb clause
666
+ if k > i + 1 and not is_verb_modifier:
667
+ y_tokens = merged[i+1:k]
668
+ y_translated = " ".join([t.translated for t in y_tokens if t.translated])
669
+ y_word = "".join([t.word for t in y_tokens])
670
+
671
+ if t_x.tag != 'x':
672
+ start_idx = i - 1
673
+ j_back = i - 2
674
+ while j_back >= 0:
675
+ tag_back = merged[j_back].tag
676
+ if tag_back in {'n', 'nr', 'ns', 'nt', 'nz', 'ng', 'a', 'b', 'm', 'q', 'j', 'i', 's', 't'}:
677
+ start_idx = j_back
678
+ j_back -= 1
679
+ else:
680
+ break
681
+
682
+ modifier_tokens = merged[start_idx:i]
683
+ modifier_translated = " ".join([t.translated for t in modifier_tokens if t.translated])
684
+ modifier_word = "".join([t.word for t in modifier_tokens])
685
+
686
+ is_proper_or_pronoun = (
687
+ t_x.tag in {'nr', 'r'}
688
+ )
689
+ is_noun_modifier = is_proper_or_pronoun and not t_x.word.endswith('色')
690
+ if is_noun_modifier and start_idx == i - 1:
691
+ combined = y_translated + " của " + modifier_translated
692
+ else:
693
+ combined = y_translated + " " + modifier_translated
694
+
695
+ new_tok = SimpleToken(modifier_word + tok.word + y_word, 'n')
696
+ new_tok.translated = combined
697
+ merged[start_idx:k] = [new_tok]
698
+ continue
699
+ else:
700
+ # If we didn't reorder, set the '的' translation to empty string to avoid translating as 'đấy' / 'đích'
701
+ tok.translated = ""
702
+ i += 1
703
+
704
+ # Join words
705
+ translated_text = " ".join([t.translated for t in merged if t.translated])
706
+
707
+ # Clean spacing and punctuation
708
+ translated_text = self.clean_punctuation_spacing(translated_text)
709
+
710
+ # Capitalize sentences
711
+ sentences = re.split(r'([.!?]\s*)', translated_text)
712
+ start_idx = 0 if capitalize_first else 1
713
+ for idx in range(start_idx, len(sentences)):
714
+ s = sentences[idx]
715
+ if s and not s.isspace() and not s[0] in {'.', '!', '?'}:
716
+ for c_idx, char in enumerate(s):
717
+ if char.isalpha():
718
+ sentences[idx] = s[:c_idx] + char.upper() + s[c_idx+1:]
719
+ break
720
+ return "".join(sentences).strip()
721
+
722
+ def translate_paragraph(self, paragraph, multi_option=False, mode=None):
723
+ if not paragraph or paragraph.isspace():
724
+ return paragraph
725
+
726
+ active_mode = mode or self.translation_mode
727
+
728
+ if active_mode in ('vietphrase', 'hanviet'):
729
+ # Ultra-fast Trie-based translation path (50M+ characters/minute)
730
+ trie = self.vietphrase_trie if active_mode == 'vietphrase' else self.hanviet_trie
731
+ prefer_hanviet = (active_mode == 'hanviet')
732
+
733
+ i = 0
734
+ text_length = len(paragraph)
735
+ result_words = []
736
+
737
+ while i < text_length:
738
+ length, translation, priority = trie.search_longest_match(paragraph, i)
739
+ if length > 0:
740
+ word = paragraph[i:i+length]
741
+ formatted = self.format_translation(translation, multi_option, word, prefer_hanviet=prefer_hanviet)
742
+ # Capitalize if it is a proper name
743
+ if priority == 1 or word in self.proper_names:
744
+ formatted = self.capitalize_phrase(formatted)
745
+ result_words.append(formatted)
746
+ i += length
747
+ else:
748
+ char = paragraph[i]
749
+ if not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', char):
750
+ punct_map = {
751
+ ',': ',', '。': '.', '「': '"', '」': '"', '、': ',', '?': '?', '!': '!',
752
+ ':': ':', ';': ';', '“': '"', '”': '"', '(': '(', ')': ')',
753
+ '『': '"', '』': '"', '【': '[', '】': ']'
754
+ }
755
+ result_words.append(punct_map.get(char, char))
756
+ else:
757
+ val = self.char_dict.get(char, char).split("/")[0]
758
+ result_words.append(val)
759
+ i += 1
760
+
761
+ translated_text = " ".join(result_words)
762
+ translated_text = self.clean_punctuation_spacing(translated_text)
763
+
764
+ # Sentence Capitalization
765
+ sentences = re.split(r'([.!?]\s*)', translated_text)
766
+ for idx in range(len(sentences)):
767
+ s = sentences[idx]
768
+ if s and not s.isspace() and not s[0] in {'.', '!', '?'}:
769
+ for c_idx, char in enumerate(s):
770
+ if char.isalpha():
771
+ sentences[idx] = s[:c_idx] + char.upper() + s[c_idx+1:]
772
+ break
773
+ return "".join(sentences).strip()
774
+
775
+ # For advanced & fast modes, use normal sentence splitting & tokenization
776
+ sentence_ends = re.compile(r'([。!?!?]+)')
777
+ parts = sentence_ends.split(paragraph)
778
+
779
+ translated_parts = []
780
+ for part in parts:
781
+ if not part:
782
+ continue
783
+ if sentence_ends.match(part):
784
+ punct_map = {
785
+ '。': '.', '!': '!', '?': '?', ',': ','
786
+ }
787
+ translated_parts.append(punct_map.get(part, part))
788
+ else:
789
+ translated_parts.append(self.translate_sentence(part, multi_option, mode=mode))
790
+
791
+ return self.clean_punctuation_spacing("".join(translated_parts))
792
+
793
+ def translate_text_node(self, text, multi_option=False, mode=None):
794
+ """
795
+ Dich mot text node tu DOM.
796
+ BAO TOAN HOAN TOAN cau truc: xuong dong \n, khoang trang dau/cuoi tung dong.
797
+ """
798
+ if not text:
799
+ return text
800
+
801
+ # Tach theo \n truoc -> dich tung dong doc lap -> gop lai
802
+ lines = text.split('\n')
803
+ translated_lines = []
804
+ for line in lines:
805
+ leading = re.match(r'^\s*', line).group(0)
806
+ trailing = re.search(r'\s*$', line).group(0)
807
+ body = line.strip()
808
+
809
+ if not body:
810
+ translated_lines.append(line) # dong rong -> giu nguyen
811
+ elif not re.search(r'[\u3400-\u9fff\U00020000-\U0002a6df]', body):
812
+ translated_lines.append(line) # khong co chu Han -> giu nguyen
813
+ else:
814
+ translated_body = self.translate_paragraph(body, multi_option, mode=mode)
815
+ translated_lines.append(leading + translated_body + trailing)
816
+
817
+ return '\n'.join(translated_lines)
818
+
819
+ def translate(self, text, multi_option=False, mode=None):
820
+ return self.translate_text_node(text, multi_option=multi_option, mode=mode)
backend/engine/trie.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class TrieNode:
2
+ def __init__(self):
3
+ self.children = {}
4
+ self.translation = None
5
+ self.priority = 0 # Priority level: 0=none, 1=Vietphrase, 2=Names
6
+
7
+ class Trie:
8
+ def __init__(self):
9
+ self.root = TrieNode()
10
+
11
+ def insert(self, phrase_zh, translation_vi, priority):
12
+ """
13
+ Inserts a Chinese phrase and its translation into the Trie.
14
+ Overwrites existing translations if the new translation has higher or equal priority.
15
+ """
16
+ if not phrase_zh:
17
+ return
18
+
19
+ node = self.root
20
+ for char in phrase_zh:
21
+ if char not in node.children:
22
+ node.children[char] = TrieNode()
23
+ node = node.children[char]
24
+
25
+ # Prioritize names (2) over general phrases (1)
26
+ if node.translation is None or priority >= node.priority:
27
+ node.translation = translation_vi
28
+ node.priority = priority
29
+
30
+ def search_longest_match(self, text, start_index):
31
+ """
32
+ Finds the longest matching Chinese phrase starting from start_index.
33
+ Returns a tuple of (matched_length, translation, priority).
34
+ If no match is found, returns (0, None, 0).
35
+ """
36
+ node = self.root
37
+ longest_length = 0
38
+ longest_translation = None
39
+ longest_priority = 0
40
+
41
+ current_index = start_index
42
+ text_length = len(text)
43
+
44
+ while current_index < text_length:
45
+ char = text[current_index]
46
+ if char in node.children:
47
+ node = node.children[char]
48
+ current_index += 1
49
+ if node.translation is not None:
50
+ longest_length = current_index - start_index
51
+ longest_translation = node.translation
52
+ longest_priority = node.priority
53
+ else:
54
+ break
55
+
56
+ return longest_length, longest_translation, longest_priority
dictionaries/Aligned_HanViet.txt ADDED
The diff for this file is too large to render. See raw diff
 
dictionaries/HanViet_CharDict.txt ADDED
The diff for this file is too large to render. See raw diff
 
dictionaries/Names.txt ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 萧炎=Tiêu Viêm
2
+ 林动=Lâm Động
3
+ 唐三=Đường Tam
4
+ 石昊=Thạch Hạo
5
+ 牧尘=Mục Trần
6
+ 周恒=Chu Hằng
7
+ 碧霄石=Bích Tiêu thạch
8
+ 墨果=Mặc quả
9
+ 林馥香=Lâm Phức Hương
10
+ 六足巨头兽=Lục Túc Cự Đầu thú
11
+ 墨黑=màu đen như mực
12
+ 飞宇七剑=Phi Vũ Thất kiếm
13
+ 剑破飞宇=kiếm phá Phi Vũ
14
+ 周恒腾=Chu Hằng đằng
15
+ 黑驴=lừa đen
16
+ 碧霄=Bích Tiêu
17
+ 飞宇=Phi Vũ
18
+ 墨黑色=màu đen như mực
19
+ 周恒腾腾腾=Chu Hằng đằng đằng đằng
dictionaries/Vietphrase.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b601a286878d8b5d849b447c8a1eedb8e092a2d3bc648f0e29dc860c9860049f
3
+ size 23844684
dictionaries/chu_nom_all.csv ADDED
@@ -0,0 +1,4233 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Chữ_Nôm,Phiên_âm_Hán_Việt
2
+ 𠀖,khạng
3
+ 𠀗,khệnh
4
+ 𠀧,ba
5
+ 𠀨,cụp
6
+ 𠀪,khà
7
+ 𠀫,khề
8
+ 𠀲,đứa
9
+ 𠀳,rẻ
10
+ 𠀴,trụt
11
+ 𠀿,xuôi
12
+ 𠁀,đời
13
+ 𠁂,đứa
14
+ 𠁄,luồn
15
+ 𠁑,dưới
16
+ 𠁔,sánh
17
+ 𠁙,chả
18
+ 𠁚,cúi
19
+ 𠁝,gồm
20
+ 𠁟,gồm
21
+ 𠁪,nhắm
22
+ 𠁵,giữa
23
+ 𠁸,suốt
24
+ 𠁹,giữa
25
+ 𠁺,xuyên
26
+ 𠁻,chuỗi
27
+ 𠂎,ấy
28
+ 𠂪,bèn
29
+ 𠂫,bèn
30
+ 𠃅,mái
31
+ 𠃔,
32
+ 𠃝,út
33
+ 𠃣,ít
34
+ 𠃩,chín
35
+ 𠃯,ụt
36
+ 𠃶,
37
+ 𠃷,út
38
+ 𠄀,vú
39
+ 𠄜,thờ
40
+ 𠄦,gộp
41
+ 𠄧,vài
42
+ 𠄩,hai
43
+ 𠄯,bẩn
44
+ 𠄳,kép
45
+ 𠄶,nhăm
46
+ 𠄺,giếng
47
+ 𠄻,lăm
48
+ 𠄼,năm
49
+ 𠄽,vài
50
+ 𠅍,mất
51
+ 𠅎,mất
52
+ 𠅐,mất
53
+ 𠅒,mất
54
+ 𠅙,
55
+ 𠅜,lề
56
+ 𠅳,quên
57
+ 𠅻,quên
58
+ 𠅼,mất
59
+ 𠆍,sởn
60
+ 𠆳,trùm
61
+ 𠆿,
62
+ 𠇆,
63
+ 𠇍,với
64
+ 𠇕,va
65
+ 𠇖,bợm
66
+ 𠇼,hùa
67
+ 𠇽,tốp
68
+ 𠈋,nhòng
69
+ 𠈌,
70
+ 𠉜,vãi
71
+ 𠉝,nghĩ
72
+ 𠉞,nay
73
+ 𠉟,xiên
74
+ 𠉠,trày
75
+ 𠉪,
76
+ 𠉱,phường
77
+ 𠊙,nghè
78
+ 𠊚,ngài
79
+ 𠊛,người
80
+ 𠊜,nhố
81
+ 𠊝,thay
82
+ 𠊡,vững
83
+ 𠋥,mày
84
+ 𠋦,mụ
85
+ 𠌥,
86
+ 𠌦,nập
87
+ 𠌧,nạ
88
+ 𠌨,phía
89
+ 𠍁,
90
+ 𠍣,bầy
91
+ 𠍤,bụt
92
+ 𠍥,bợm
93
+ 𠍦,hèn
94
+ 𠍭,gấp
95
+ 𠎊,xúm
96
+ 𠎨,cắp
97
+ 𠎩,bay
98
+ 𠎪,lũ
99
+ 𠎫,chầu
100
+ 𠎬,đấng
101
+ 𠎴,vải
102
+ 𠏟,bặm
103
+ 𠏠,gã
104
+ 𠏥,ngài
105
+ 𠏦,đừng
106
+ 𠏲,thợ
107
+ 𠏳,giống
108
+ 𠐅,nghè
109
+ 𠐞,trỗi
110
+ 𠐬,đòi
111
+ 𠐸,dôi
112
+ 𠑈,trộm
113
+ 𠑉,thói
114
+ 𠑋,lọng
115
+ 𠑕,ngửa
116
+ 𠑖,ngôi
117
+ 𠑢,nghè
118
+ 𠑬,nhau
119
+ 𠒥,ràng
120
+ 𠒦,rỡ
121
+ 𠒬,vặc
122
+ 𠒯,nhóc
123
+ 𠒲,
124
+ 𠒷,tin
125
+ 𠓀,trước
126
+ 𠓁,rạng
127
+ 𠓅,vằng
128
+ 𠓇,sáng
129
+ 𠓎,
130
+ 𠓏,
131
+ 𠓐,quanh
132
+ 𠓑,rõ
133
+ 𠓔,mống
134
+ 𠓨,vào
135
+ 𠓩,nhúi
136
+ 𠓬,lặn
137
+ 𠓹,lọn
138
+ 𠓺,vô
139
+ 𠓻,trọn
140
+ 𠓼,
141
+ 𠔦,lính
142
+ 𠔭,tám
143
+ 𠔮,gồm
144
+ 𠔳,
145
+ 𠖈,xuống
146
+ 𠖘,nắp
147
+ 𠖝,liệng
148
+ 𠖤,bay
149
+ 𠖨,mồng
150
+ 𠖭,lẻo
151
+ 𠖯,ngắt
152
+ 𠖰,dãy
153
+ 𠖾,mát
154
+ 𠖿,ròng
155
+ 𠗣,lún
156
+ 𠗤,váng
157
+ 𠗰,trơn
158
+ 𠗸,cóng
159
+ 𠗹,rét
160
+ 𠘃,đọng
161
+ 𠙅,sập
162
+ 𠙣,bẫy
163
+ 𠙦,
164
+ 𠙽,
165
+ 𠚐,mọc
166
+ 𠚢,ra
167
+ 𠛌,châm
168
+ 𠛣,đứt
169
+ 𠛤,chém
170
+ 𠛬,
171
+ 𠜏,đẽo
172
+ 𠜬,đẵn
173
+ 𠜭,đâm
174
+ 𠜮,húi
175
+ 𠜯,cạo
176
+ 𠝇,bào
177
+ 𠝓,xẻ
178
+ 𠝔,thái
179
+ 𠝕,cùn
180
+ 𠝖,tách
181
+ 𠝗,đứt
182
+ 𠝫,mẻ
183
+ 𠝭,
184
+ 𠝹,
185
+ 𠝺,mổ
186
+ 𠝻,chạm
187
+ 𠝼,mổ
188
+ 𠞛,thiến
189
+ 𠞟,cạo
190
+ 𠞠,chặt
191
+ 𠞡,gọt
192
+ 𠞢,băm
193
+ 𠞳,
194
+ 𠞸,đẽo
195
+ 𠞹,dứt
196
+ 𠞺,lần
197
+ 𠟀,đẽo
198
+ 𠟤,thiến
199
+ 𠟥,hoắt
200
+ 𠟲,vạc
201
+ 𠟸,gặt
202
+ 𠟹,rựa
203
+ 𠠉,bửa
204
+ 𠠊,cứng
205
+ 𠠍,lê
206
+ 𠠑,tét
207
+ 𠠙,rìu
208
+ 𠠚,xẻ
209
+ 𠠩,trước
210
+ 𠠭,chớm
211
+ 𠡎,rán
212
+ 𠡏,siêng
213
+ 𠡚,gắng
214
+ 𠡛,nhằn
215
+ 𠡧,rặn
216
+ 𠡺,khướt
217
+ 𠢑,nhọc
218
+ 𠢝,vâm
219
+ 𠢞,giúp
220
+ 𠢟,giúp
221
+ 𠢬,lử
222
+ 𠣂,rướn
223
+ 𠣛,móc
224
+ 𠣶,bịt
225
+ 𠤆,chớ
226
+ 𠤌,chớ
227
+ 𠤧,thìa
228
+ 𠤩,bẩy
229
+ 𠥈,khám
230
+ 𠥤,giấu
231
+ 𠦄,
232
+ 𠦩,mươi
233
+ 𠦯,gắn
234
+ 𠦳,nghìn
235
+ 𠦹,chục
236
+ 𠦺,rưỡi
237
+ 𠦻,lưng
238
+ 𠦿,xừng
239
+ 𠧆,trọn
240
+ 𠧌,nhẩy
241
+ 𠧍,nhú
242
+ 𠨞,
243
+ 𠨡,trứng
244
+ 𠨪,nghèo
245
+ 𠩕,mé
246
+ 𠪱,
247
+ 𠪸,rạp
248
+ 𠫅,dày
249
+ 𠫆,dầy
250
+ 𠫊,
251
+ 𠫏,rột
252
+ 𠫤,
253
+ 𠫾,đi
254
+ 𠬃,bỏ
255
+ 𠬉,tránh
256
+ 𠬒,cút
257
+ 𠬕,bỏ
258
+ 𠬖,bỏ
259
+ 𠬠,một
260
+ 𠭤,trở
261
+ 𠮩,léo
262
+ 𠮶,
263
+ 𠯅,dức
264
+ 𠯇,rỉ
265
+ 𠯦,thét
266
+ 𠯮,
267
+ 𠯻,ào
268
+ 𠯼,dành
269
+ 𠯽,chửi
270
+ 𠯾,tườu
271
+ 𠯿,lóc
272
+ 𠰀,diếu
273
+ 𠰁,gáy
274
+ 𠰂,ngoen
275
+ 𠰃,nhảm
276
+ 𠰌,mách
277
+ 𠰙,khen
278
+ 𠰭,méo
279
+ 𠰲,
280
+ 𠰳,phĩnh
281
+ 𠱁,
282
+ 𠱂,
283
+ 𠱃,
284
+ 𠱄,miệng
285
+ 𠱅,quai
286
+ 𠱆,dặng
287
+ 𠱇,hoẹt
288
+ 𠱈,thẻ
289
+ 𠱉,rịn
290
+ 𠱊,sẽ
291
+ 𠱋,rồ
292
+ 𠱌,nhại
293
+ 𠱍,phớm
294
+ 𠱶,vổ
295
+ 𠱷,
296
+ 𠱸,
297
+ 𠲟,gạn
298
+ 𠲠,thầu
299
+ 𠲡,hão
300
+ 𠲢,đáu
301
+ 𠲣,huýt
302
+ 𠲤,nhở
303
+ 𠲥,lẽ
304
+ 𠲦,nhung
305
+ 𠲧,thức
306
+ 𠲨,trề
307
+ 𠳏,
308
+ 𠳑,ực
309
+ 𠳒,lời
310
+ 𠳕,
311
+ 𠳖,
312
+ 𠳗,xác
313
+ 𠳘,nhú
314
+ 𠳙,thay
315
+ 𠳚,cãi
316
+ 𠳝,bựa
317
+ 𠳨,hỏi
318
+ 𠳺,lẩn
319
+ 𠴉,ngoẻn
320
+ 𠴊,rở
321
+ 𠴋,phào
322
+ 𠴌,nhanh
323
+ 𠴍,nhắn
324
+ 𠴎,óc
325
+ 𠴏,màng
326
+ 𠴐,núc
327
+ 𠴑,nở
328
+ 𠴒,rểnh
329
+ 𠴓,đay
330
+ 𠴔,chiềng
331
+ 𠴕,diễu
332
+ 𠴖,vọi
333
+ 𠴗,dỗ
334
+ 𠴘,thổn
335
+ 𠴙,bở
336
+ 𠴚,toác
337
+ 𠴛,gùng
338
+ 𠴜,kẽ
339
+ 𠴝,uông
340
+ 𠴞,bạn
341
+ 𠴟,
342
+ 𠴠,biếng
343
+ 𠴤,vũm
344
+ 𠴥,ngoàm
345
+ 𠵆,
346
+ 𠵇,
347
+ 𠵈,
348
+ 𠵉,
349
+ 𠵋,nẹt
350
+ 𠵏,xạp
351
+ 𠵐,mép
352
+ 𠵘,mồm
353
+ 𠵚,ngán
354
+ 𠵱,e
355
+ 𠵽,phập
356
+ 𠵿,
357
+ 𠶀,thăm
358
+ 𠶁,nhử
359
+ 𠶂,sủa
360
+ 𠶃,ngoạm
361
+ 𠶄,gạ
362
+ 𠶅,trêu
363
+ 𠶆,mời
364
+ 𠶇,viếng
365
+ 𠶈,sỗ
366
+ 𠶉,bặng
367
+ 𠶊,phà
368
+ 𠶋,rỉa
369
+ 𠶌,cặn
370
+ 𠶍,chũm
371
+ 𠶎,bẻ
372
+ 𠶏,phỉnh
373
+ 𠶐,nghễnh
374
+ 𠶑,u
375
+ 𠶒,đắt
376
+ 𠶓,bẻo
377
+ 𠶔,quại
378
+ 𠶕,nhàu
379
+ 𠶖,uống
380
+ 𠶗,sực
381
+ 𠶘,sắt
382
+ 𠶙,bộp
383
+ 𠶚,ạ
384
+ 𠶛,kiêng
385
+ 𠶜,chế
386
+ 𠶝,sựa
387
+ 𠶞,nhính
388
+ 𠶟,ép
389
+ 𠶠,trẹ
390
+ 𠶡,trối
391
+ 𠶢,dù
392
+ 𠶣,mai
393
+ 𠶤,sượng
394
+ 𠶥,khúng
395
+ 𠶦,mẹo
396
+ 𠶮,
397
+ 𠶯,chụt
398
+ 𠷤,phào
399
+ 𠷥,đành
400
+ 𠷦,miếng
401
+ 𠸉,
402
+ 𠸊,
403
+ 𠸍,mé
404
+ 𠸎,
405
+ 𠸏,
406
+ 𠸐,
407
+ 𠸑,
408
+ 𠸒,bảu
409
+ 𠸓,quát
410
+ 𠸔,nịu
411
+ 𠸕,dặn
412
+ 𠸗,xưa
413
+ 𠸘,tục
414
+ 𠸙,sống
415
+ 𠸚,cảu
416
+ 𠸛,tên
417
+ 𠸜,tên
418
+ 𠸞,đúm
419
+ 𠸟,bai
420
+ 𠸠,bí
421
+ 𠸡,hực
422
+ 𠸢,phức
423
+ 𠸣,hòng
424
+ 𠸤,giãi
425
+ 𠸥,kể
426
+ 𠸦,khan
427
+ 𠸧,khạc
428
+ 𠸨,láy
429
+ 𠸩,rên
430
+ 𠸪,vặc
431
+ 𠸫,tâu
432
+ 𠸬,xầm
433
+ 𠸼,mời
434
+ 𠸽,chìa
435
+ 𠸾,mấp
436
+ 𠹗,chát
437
+ 𠹭,
438
+ 𠹯,bẹ
439
+ 𠹰,bèm
440
+ 𠹱,khừ
441
+ 𠹲,chứ
442
+ 𠹳,cợt
443
+ 𠹴,quằn
444
+ 𠹷,
445
+ 𠹸,
446
+ ��,
447
+ 𠹺,
448
+ 𠹻,
449
+ 𠹼,rỉa
450
+ 𠹽,cay
451
+ 𠹾,chịu
452
+ 𠺇,
453
+ 𠺌,
454
+ 𠺠,lúng
455
+ 𠺥,chịu
456
+ 𠺦,chói
457
+ 𠺧,diều
458
+ 𠺨,rỉ
459
+ 𠺩,trơu
460
+ 𠺪,
461
+ 𠺫,
462
+ 𠺬,
463
+ 𠺭,bỗng
464
+ 𠺮,thè
465
+ 𠺯,vòng
466
+ 𠺰,xằng
467
+ 𠺱,húng
468
+ 𠺲,chán
469
+ 𠺳,ghê
470
+ 𠺴,hát
471
+ 𠺵,chắc
472
+ 𠺶,nớp
473
+ 𠺷,choạc
474
+ 𠺸,tỉm
475
+ 𠺹,ri
476
+ 𠺺,qué
477
+ 𠺻,cốp
478
+ 𠺼,xui
479
+ 𠺽,sượt
480
+ 𠺾,chau
481
+ 𠺿,ngoan
482
+ 𠻀,dò
483
+ 𠻁,gương
484
+ 𠻂,ngốn
485
+ 𠻃,han
486
+ 𠻄,oang
487
+ 𠻅,bẹp
488
+ 𠻆,giận
489
+ 𠻇,dại
490
+ 𠻈,ớn
491
+ 𠻉,quát
492
+ 𠻊,tuệch
493
+ 𠻋,bựa
494
+ 𠻒,ngoạm
495
+ 𠻓,thòi
496
+ 𠻘,
497
+ 𠻵,mảng
498
+ 𠻷,hẹn
499
+ 𠻺,
500
+ 𠻻,
501
+ 𠻼,nhậu
502
+ 𠻽,mồi
503
+ 𠼕,vời
504
+ 𠼦,mướn
505
+ 𠼭,
506
+ 𠼯,hớ
507
+ 𠼱,
508
+ 𠼲,nhôi
509
+ 𠼳,cằn
510
+ 𠼴,khoạch
511
+ 𠼵,dành
512
+ 𠼶,nín
513
+ 𠼷,thay
514
+ 𠼸,ện
515
+ 𠼹,gằn
516
+ 𠼺,dặn
517
+ 𠼼,bĩu
518
+ 𠼽,mách
519
+ 𠼾,sòng
520
+ 𠼿,rẳn
521
+ 𠽀,ngáu
522
+ 𠽁,xớ
523
+ 𠽂,đần
524
+ 𠽃,chiếp
525
+ 𠽄,thăm
526
+ 𠽅,thùng
527
+ 𠽆,nuốt
528
+ 𠽇,nạt
529
+ 𠽈,thỉn
530
+ 𠽉,thầm
531
+ 𠽊,mởn
532
+ 𠽋,nấc
533
+ 𠽌,toét
534
+ 𠽍,rầm
535
+ 𠽎,nhai
536
+ 𠽏,hám
537
+ 𠽐,ngớ
538
+ 𠽑,xịa
539
+ 𠽒,nhỉnh
540
+ 𠽓,ngốn
541
+ 𠽔,thưa
542
+ 𠽕,thẹp
543
+ 𠽖,giục
544
+ 𠽗,nhẳn
545
+ 𠽘,hẳng
546
+ 𠽙,nhả
547
+ 𠽚,chồng
548
+ 𠽛,oàm
549
+ 𠽞,hổn
550
+ 𠽤,
551
+ 𠽮,dè
552
+ 𠾍,
553
+ 𠾒,nhả
554
+ 𠾓,trếu
555
+ 𠾔,thuế
556
+ 𠾕,đòi
557
+ 𠾛,ngoàng
558
+ 𠾣,rùm
559
+ 𠾦,bai
560
+ 𠾭,
561
+ 𠾴,
562
+ 𠾵,
563
+ 𠾷,váo
564
+ 𠾸,sêu
565
+ 𠾹,nuốt
566
+ 𠾺,thẹn
567
+ 𠾻,giạm
568
+ 𠾼,toẹt
569
+ 𠾽,nhún
570
+ 𠾾,nhấp
571
+ 𠾿,hẫng
572
+ 𠿀,sáo
573
+ 𠿁,khì
574
+ 𠿂,xép
575
+ 𠿃,môi
576
+ 𠿄,ngậu
577
+ 𠿒,hét
578
+ 𠿚,nhịp
579
+ 𠿪,
580
+ 𠿫,
581
+ 𠿬,
582
+ 𠿭,
583
+ 𠿮,ẫm
584
+ 𠿯,ngùi
585
+ 𠿰,sứt
586
+ 𠿱,nhạo
587
+ 𠿲,đắt
588
+ 𠿳,lèm
589
+ 𠿴,ngáy
590
+ 𠿵,khắn
591
+ 𠿶,choán
592
+ 𠿷,nháo
593
+ 𠿸,ngạt
594
+ 𠿹,nhẩm
595
+ 𠿿,ngợi
596
+ 𡀂,lôi
597
+ 𡀇,đổng
598
+ 𡀝,
599
+ 𡀞,
600
+ 𡀠,bịa
601
+ 𡀡,ních
602
+ 𡀢,tuông
603
+ 𡀣,cằn
604
+ 𡀤,đù
605
+ 𡀥,phào
606
+ 𡀦,ồn
607
+ 𡀧,oái
608
+ 𡀨,bõ
609
+ 𡀩,lác
610
+ 𡀪,vời
611
+ 𡀫,bấm
612
+ 𡀬,tủi
613
+ 𡀭,cạu
614
+ 𡀮,nếu
615
+ 𡀯,chuyện
616
+ 𡀰,thôi
617
+ 𡀱,hào
618
+ 𡀲,cay
619
+ 𡀳,quằn
620
+ 𡀴,ủa
621
+ 𡀵,khoác
622
+ 𡀶,ngòn
623
+ 𡀷,rộn
624
+ 𡁏,
625
+ 𡁙,kháy
626
+ 𡁚,hớn
627
+ 𡁛,nôn
628
+ 𡁜,hoẹ
629
+ 𡁝,hắng
630
+ 𡁞,xào
631
+ 𡁤,cạc
632
+ 𡁯,
633
+ 𡁵,
634
+ 𡁶,
635
+ 𡁷,
636
+ 𡁸,
637
+ 𡁹,dỗ
638
+ 𡁺,ngốn
639
+ 𡁻,
640
+ 𡁼,phều
641
+ 𡁽,chạ
642
+ 𡁾,thót
643
+ 𡁿,sô
644
+ 𡂀,khào
645
+ 𡂁,xổng
646
+ 𡂂,ngỡ
647
+ 𡂃,hún
648
+ 𡂄,phở
649
+ 𡂅,mõm
650
+ 𡂆,rệu
651
+ 𡂇,mớm
652
+ 𡂈,vọc
653
+ 𡂉,thè
654
+ 𡂌,xỉn
655
+ 𡂍,eng
656
+ 𡂎,lóc
657
+ 𡂑,bàn
658
+ 𡂪,
659
+ 𡂮,ngau
660
+ 𡂯,rẳng
661
+ 𡂰,răn
662
+ 𡂱,đắng
663
+ 𡂲,rày
664
+ 𡂳,trối
665
+ 𡂵,nhảnh
666
+ 𡂷,khoăn
667
+ 𡂹,thỏm
668
+ 𡃀,
669
+ 𡃁,
670
+ 𡃇,
671
+ 𡃈,
672
+ 𡃉,
673
+ 𡃊,khẽ
674
+ 𡃋,tròn
675
+ 𡃌,nhặng
676
+ 𡃍,chém
677
+ 𡃎,phàn
678
+ 𡃏,doạ
679
+ 𡃐,dặn
680
+ 𡃑,thánh
681
+ 𡃒,bốc
682
+ 𡃓,bựa
683
+ 𡃔,trêu
684
+ 𡃕,gùng
685
+ 𡃗,mua
686
+ 𡃘,nhồm
687
+ 𡃙,mút
688
+ 𡃚,rền
689
+ 𡃛,ngợi
690
+ 𡃜,xạc
691
+ 𡃤,
692
+ 𡃧,
693
+ 𡃴,
694
+ 𡃵,
695
+ 𡃶,
696
+ 𡃹,chén
697
+ 𡃺,ghẹo
698
+ 𡃻,đắng
699
+ 𡃼,thèo
700
+ 𡃽,nhô
701
+ 𡃾,phắc
702
+ 𡃿,thớt
703
+ 𡄀,lạ
704
+ 𡄁,lúm
705
+ 𡄍,rúc
706
+ 𡄎,gặm
707
+ 𡄏,hấm
708
+ 𡄐,úng
709
+ 𡄥,liếm
710
+ 𡄦,lom
711
+ 𡄧,dẳng
712
+ 𡄨,nôn
713
+ 𡄩,khấn
714
+ 𡄪,toe
715
+ 𡄫,khem
716
+ 𡄬,hùn
717
+ 𡄭,thủng
718
+ 𡄮,rèn
719
+ 𡄯,ực
720
+ 𡄰,tốt
721
+ 𡄽,
722
+ 𡄾,cẳn
723
+ 𡅉,dắng
724
+ 𡅊,bún
725
+ 𡅋,hụm
726
+ 𡅌,giỡn
727
+ 𡅍,nhẻo
728
+ 𡅎,tróm
729
+ 𡅏,lẫy
730
+ 𡅐,lành
731
+ 𡅑,ngọng
732
+ 𡅒,nhẩu
733
+ 𡅠,xằng
734
+ 𡅢,gặm
735
+ 𡅧,năn
736
+ 𡅨,thèm
737
+ 𡅩,dẻm
738
+ 𡅪,nguyền
739
+ 𡅫,ghẹo
740
+ 𡅬,hoai
741
+ 𡅯,ỏn
742
+ 𡅳,khuyên
743
+ 𡅷,ngậy
744
+ 𡆀,
745
+ 𡆁,nhàu
746
+ 𡆂,xỏn
747
+ 𡆄,nhép
748
+ 𡆇,
749
+ 𡆈,sặc
750
+ 𡆌,kêu
751
+ 𡆍,sặc
752
+ 𡆑,nhàm
753
+ 𡆖,trớm
754
+ 𡆗,lạ
755
+ 𡆘,hển
756
+ 𡆙,gièm
757
+ 𡆚,gù
758
+ 𡆞,giấu
759
+ 𡇙,
760
+ 𡇻,nhốt
761
+ 𡈈,chuồng
762
+ 𡈡,chuồng
763
+ 𡈩,chuồng
764
+ 𡈺,tròn
765
+ 𡉕,hòn
766
+ 𡉖,cong
767
+ 𡉦,ngõ
768
+ 𡉽,lóc
769
+ 𡉾,tum
770
+ 𡉿,mốc
771
+ 𡊮,
772
+ 𡊰,đền
773
+ 𡊱,chậu
774
+ 𡊲,chõ
775
+ 𡊳,sành
776
+ 𡋀,rẫy
777
+ 𡋁,niêu
778
+ 𡋂,nền
779
+ 𡋃,lòi
780
+ 𡋥,cát
781
+ 𡋦,vách
782
+ 𡋿,lở
783
+ 𡌀,bết
784
+ 𡌠,đáy
785
+ 𡌡,đĩa
786
+ 𡌢,hầm
787
+ 𡌽,đám
788
+ 𡌿,gềnh
789
+ 𡍘,ché
790
+ 𡍙,vung
791
+ 𡍚,lấm
792
+ 𡍛,dũm
793
+ 𡍜,mùn
794
+ 𡍝,nùi
795
+ 𡍞,thềm
796
+ 𡍟,xủi
797
+ 𡍢,gò
798
+ 𡍣,bến
799
+ 𡎛,bùn
800
+ 𡎜,nấm
801
+ 𡎝,cõi
802
+ 𡎞,triêng
803
+ 𡎟,hang
804
+ 𡎠,giềng
805
+ 𡎡,mỏ
806
+ 𡎢,ngồi
807
+ 𡎣,chậu
808
+ 𡎤,mẻ
809
+ 𡎥,ngồi
810
+ 𡎦,ngồi
811
+ 𡎭,thống
812
+ 𡎴,
813
+ 𡏟,dũm
814
+ 𡏠,hông
815
+ 𡏡,luống
816
+ 𡏢,mả
817
+ 𡏣,xó
818
+ 𡏤,ngạch
819
+ 𡏥,trét
820
+ 𡏦,xây
821
+ 𡏧,bụi
822
+ 𡏽,đập
823
+ 𡐗,hốc
824
+ 𡐘,nứt
825
+ 𡐙,đất
826
+ 𡐚,ngừa
827
+ 𡐨,
828
+ 𡐮,ve
829
+ 𡐯,hè
830
+ 𡑒,cối
831
+ 𡑓,chum
832
+ 𡑖,đồi
833
+ 𡑗,thoai
834
+ 𡑝,lăn
835
+ 𡑩,nẻo
836
+ 𡑪,cát
837
+ 𡑭,cối
838
+ 𡑰,vườn
839
+ 𡑱,cồn
840
+ 𡑲,gốm
841
+ 𡑳,cồn
842
+ 𡑴,đền
843
+ 𡑵,vồng
844
+ 𡒘,đào
845
+ 𡒪,ệch
846
+ 𡒫,cấu
847
+ 𡒬,ghè
848
+ 𡒭,niêu
849
+ 𡒮,sướng
850
+ 𡒻,chật
851
+ 𡓁,bãi
852
+ 𡓂,đựng
853
+ 𡓃,lối
854
+ 𡓄,vùng
855
+ 𡓅,ấm
856
+ 𡓆,xệp
857
+ 𡓇,chõ
858
+ 𡓈,ghề
859
+ 𡓋,đuôi
860
+ 𡓎,vại
861
+ 𡓏,sân
862
+ 𡓞,đốc
863
+ 𡓟,chĩnh
864
+ 𡓠,thó
865
+ 𡓡,rãnh
866
+ 𡓢,chễm
867
+ 𡓥,chén
868
+ 𡓮,ngồi
869
+ 𡓯,chum
870
+ 𡓾,rẫy
871
+ 𡔃,nặn
872
+ 𡔍,chậu
873
+ 𡔑,lõm
874
+ 𡔒,nền
875
+ 𡔔,làn
876
+ 𡔖,bến
877
+ 𡔿,trấu
878
+ 𡕵,hè
879
+ 𡖡,nhóm
880
+ 𡖱,bộn
881
+ 𡖵,đêm
882
+ 𡖼,sánh
883
+ 𡗂,sai
884
+ 𡗄,gồm
885
+ 𡗅,về
886
+ 𡗉,nhiều
887
+ 𡗊,nhiều
888
+ 𡗋,lắm
889
+ 𡗎,tụm
890
+ 𡗐,muống
891
+ 𡗶,giời
892
+ 𡘞,
893
+ 𡘮,mất
894
+ 𡘯,lớn
895
+ 𡙦,sồ
896
+ 𡙧,mường
897
+ 𡙴,cành
898
+ 𡙵,nhớn
899
+ 𡚃,xộn
900
+ 𡚄,kếch
901
+ 𡚎,lạ
902
+ 𡚚,lớn
903
+ 𡚝,cồ
904
+ 𡚡,to
905
+ 𡚢,to
906
+ 𡚦,đĩ
907
+ 𡛔,gái
908
+ 𡛤,nửa
909
+ 𡛷,
910
+ 𡜤,đĩ
911
+ 𡝃,bụa
912
+ 𡝔,kép
913
+ 𡝕,và
914
+ 𡝖,nỡ
915
+ 𡝤,
916
+ 𡞕,vợ
917
+ 𡞖,đĩ
918
+ 𡞗,bóng
919
+ 𡞱,
920
+ 𡠣,cưới
921
+ 𡡅,lẹo
922
+ 𡡆,mìn
923
+ 𡡇,cái
924
+ 𡡦,đòi
925
+ 𡡧,dí
926
+ 𡢐,sau
927
+ 𡢻,nợ
928
+ 𡢼,vợ
929
+ 𡢽,sui
930
+ 𡣄,nịu
931
+ 𡣕,
932
+ 𡣧,mái
933
+ 𡣨,cưới
934
+ 𡣻,sen
935
+ 𡤊,chửa
936
+ 𡤓,mới
937
+ 𡤔,mới
938
+ 𡤟,giỏi
939
+ 𡤠,rể
940
+ 𡥉,
941
+ 𡥌,nhắt
942
+ 𡥙,cháu
943
+ 𡥚,gã
944
+ 𡥤,nòi
945
+ 𡥥,đứa
946
+ 𡥴,nít
947
+ 𡥵,con
948
+ 𡥼,
949
+ 𡦂,chữ
950
+ 𡦅,so
951
+ 𡦧,rốt
952
+ 𡦫,chắt
953
+ 𡦮,nhắng
954
+ 𡦶,côi
955
+ 𡧌,
956
+ 𡧯,
957
+ 𡧲,giữa
958
+ 𡨌,giữa
959
+ 𡨧,tốt
960
+ 𡨸,chữ
961
+ 𡨹,giữ
962
+ 𡨺,trữ
963
+ 𡩋,
964
+ 𡪇,chữa
965
+ 𡪜,xum
966
+ 𡪦,chở
967
+ 𡪻,cỗ
968
+ 𡫐,rèm
969
+ 𡫡,sao
970
+ 𡫨,kín
971
+ 𡫫,lần
972
+ 𡫶,lùng
973
+ 𡬈,xuống
974
+ 𡬶,
975
+ 𡬷,tấc
976
+ 𡬼,gang
977
+ 𡭉,bắn
978
+ 𡭕,cụt
979
+ 𡭜,mọn
980
+ 𡭦,bủn
981
+ 𡭧,chút
982
+ 𡭬,bé
983
+ 𡭰,xíu
984
+ 𡭱,chút
985
+ 𡭲,trút
986
+ 𡭴,
987
+ 𡭺,nhí
988
+ 𡭻,nhọn
989
+ 𡭽,
990
+ 𡮂,
991
+ 𡮄,hoẻn
992
+ 𡮅,nhẻ
993
+ 𡮆,mọn
994
+ 𡮇,chút
995
+ 𡮈,nhỏ
996
+ 𡮉,mọn
997
+ 𡮊,dẹp
998
+ 𡮋,may
999
+ 𡮌,bé
1000
+ 𡮍,chút
1001
+ 𡮒,ót
1002
+ 𡮓,choai
1003
+ 𡮔,mảy
1004
+ 𡮗,hoằn
1005
+ 𡮘,mỏ
1006
+ 𡮛,nít
1007
+ 𡮜,xíu
1008
+ 𡮠,mày
1009
+ 𡮣,bé
1010
+ 𡮤,bé
1011
+ 𡮥,bé
1012
+ 𡮨,mảy
1013
+ 𡮩,bé
1014
+ 𡮪,khí
1015
+ 𡮫,nhen
1016
+ 𡮬,mọn
1017
+ 𡮭,nhọn
1018
+ 𡮮,mọn
1019
+ 𡮯,tẹo
1020
+ 𡮲,Thơ
1021
+ 𡮳,mảy
1022
+ 𡮵,chuộng
1023
+ 𡮶,chuộng
1024
+ 𡮷,hèn
1025
+ 𡮸,nhọn
1026
+ 𡮹,mỏng
1027
+ 𡮺,hèn
1028
+ 𡮽,nhọn
1029
+ 𡮾,nhẻo
1030
+ 𡯀,oắt
1031
+ 𡯎,
1032
+ 𡰏,ghềnh
1033
+ 𡰸,
1034
+ 𡱖,
1035
+ 𡱩,thước
1036
+ 𡱶,gợ
1037
+ 𡱸,gang
1038
+ 𡲈,vẻ
1039
+ 𡲢,
1040
+ 𡲤,vả
1041
+ 𡲫,vải
1042
+ 𡲬,
1043
+ 𡳀,ngoe
1044
+ 𡳁,xái
1045
+ 𡳃,cuối
1046
+ 𡳎,vã
1047
+ 𡳒,vẽ
1048
+ 𡳛,cứt
1049
+ 𡳜,cuối
1050
+ 𡳝,rốt
1051
+ 𡳢,đo
1052
+ 𡳣,đo
1053
+ 𡳤,đo
1054
+ 𡳥,toi
1055
+ 𡳩,vở
1056
+ 𡳪,đuôi
1057
+ 𡳰,cũ
1058
+ 𡳳,cuối
1059
+ 𡳵,cũ
1060
+ 𡳶,cũ
1061
+ 𡳹,vỡi
1062
+ 𡳺,vía
1063
+ 𡳽,nóc
1064
+ 𡴉,vòm
1065
+ 𡴢,nhòn
1066
+ 𡴲,
1067
+ 𡵺,cù
1068
+ 𡶀,núi
1069
+ 𡶁,đùn
1070
+ 𡶨,ngàn
1071
+ 𡸇,đèo
1072
+ 𡸏,vọi
1073
+ 𡹞,ghềnh
1074
+ 𡹟,chởm
1075
+ 𡹠,nghi
1076
+ 𡹡,ghềnh
1077
+ 𡺥,ngổng
1078
+ 𡺦,din
1079
+ 𡻓,vọi
1080
+ 𡻔,rặng
1081
+ 𡻖,von
1082
+ 𡻗,chớn
1083
+ 𡼇,mỏm
1084
+ 𡼈,chóp
1085
+ 𡼸,vót
1086
+ 𡼹,rừng
1087
+ 𡽫,non
1088
+ 𡽾,lởm
1089
+ 𡾟,
1090
+ 𡾫,đồi
1091
+ 𡾬,dốc
1092
+ 𡾭,lởm
1093
+ 𡾵,ngôi
1094
+ 𡿅,ngông
1095
+ 𢀑,
1096
+ 𢀥,vâng
1097
+ 𢀦,sửa
1098
+ 𢀧,trọn
1099
+ 𢀨,sang
1100
+ 𢀫,bẫng
1101
+ 𢀬,lớn
1102
+ 𢀭,giầu
1103
+ 𢀮,sấm
1104
+ 𢀱,to
1105
+ 𢀲,lớn
1106
+ 𢁊,xức
1107
+ 𢁋,trăng
1108
+ 𢁍,va
1109
+ 𢁑,trái
1110
+ 𢁸,phướn
1111
+ 𢂌,đãy
1112
+ 𢂎,dù
1113
+ 𢂜,vua
1114
+ 𢂰,tranh
1115
+ 𢃇,
1116
+ 𢃈,lọng
1117
+ 𢃉,bịt
1118
+ 𢃊,vua
1119
+ 𢄂,chợ
1120
+ 𢄃,phới
1121
+ 𢄝,bâu
1122
+ 𢄩,dải
1123
+ 𢄯,mấn
1124
+ 𢅄,vải
1125
+ 𢅅,quạt
1126
+ 𢅆,mành
1127
+ 𢅧,mền
1128
+ 𢅬,chăn
1129
+ 𢆁,rèm
1130
+ 𢆕,phẳng
1131
+ 𢆘,nẽn
1132
+ 𢆠,lài
1133
+ 𢆡,
1134
+ 𢆥,năm
1135
+ 𢆧,may
1136
+ 𢆨,may
1137
+ 𢆪,may
1138
+ 𢆫,tuổi
1139
+ 𢆭,nến
1140
+ 𢇁,
1141
+ 𢇂,
1142
+ 𢇉,dối
1143
+ 𢇡,khuya
1144
+ 𢇢,sến
1145
+ 𢇱,hè
1146
+ 𢈖,chái
1147
+ 𢈱,lời
1148
+ 𢉽,kho
1149
+ 𢉾,u
1150
+ 𢊑,vựa
1151
+ 𢊫,vòm
1152
+ 𢋠,đáy
1153
+ 𢋬,chòi
1154
+ 𢋴,đáy
1155
+ 𢌊,rộng
1156
+ 𢌌,rộng
1157
+ 𢌎,nghịt
1158
+ 𢌜,
1159
+ 𢏑,bắn
1160
+ 𢏠,giằng
1161
+ 𢏡,tên
1162
+ 𢏢,cong
1163
+ 𢏣,cong
1164
+ 𢏿,vốn
1165
+ 𢒎,bay
1166
+ 𢕸,săn
1167
+ 𢖀,suốt
1168
+ 𢖕,sau
1169
+ 𢖖,sau
1170
+ 𢖮,ắt
1171
+ 𢖱,nải
1172
+ 𢗆,rượn
1173
+ 𢗐,
1174
+ 𢗖,nhầm
1175
+ 𢗚,tệch
1176
+ 𢗠,thít
1177
+ 𢗷,thoải
1178
+ 𢗸,sẩu
1179
+ 𢗼,lo
1180
+ 𢗽,tẻ
1181
+ 𢗾,ngượng
1182
+ 𢘬,sã
1183
+ 𢘭,rùng
1184
+ 𢘮,rắp
1185
+ 𢙔,lẫy
1186
+ 𢙕,ghiếc
1187
+ 𢙩,rủi
1188
+ 𢙪,đổi
1189
+ 𢙫,nhớn
1190
+ 𢙬,e
1191
+ 𢙭,tim
1192
+ 𢙵,đẽ
1193
+ 𢙽,mủi
1194
+ 𢚖,
1195
+ 𢚲,cảy
1196
+ 𢚳,xôn
1197
+ 𢚴,dặn
1198
+ 𢚵,dãi
1199
+ 𢚶,thoả
1200
+ 𢚷,giận
1201
+ 𢚸,lòng
1202
+ 𢚹,khuây
1203
+ 𢚼,ngớp
1204
+ 𢚽,mến
1205
+ 𢛴,
1206
+ 𢛵,
1207
+ 𢜏,mừng
1208
+ 𢜜,hổ
1209
+ 𢜝,sực
1210
+ 𢜞,lười
1211
+ 𢜠,mừng
1212
+ 𢜡,thiếp
1213
+ 𢜢,bẽ
1214
+ 𢝘,nết
1215
+ 𢝙,vui
1216
+ 𢝚,rẩy
1217
+ 𢝛,khít
1218
+ 𢝜,đành
1219
+ 𢝵,
1220
+ 𢞂,buồn
1221
+ 𢞃,hòng
1222
+ 𢞄,cáu
1223
+ 𢞅,éo
1224
+ 𢞆,ngán
1225
+ 𢞵,
1226
+ 𢟇,
1227
+ 𢟎,đùa
1228
+ 𢟏,sệt
1229
+ 𢟐,chua
1230
+ 𢟑,hên
1231
+ 𢟒,năn
1232
+ 𢟓,tẻ
1233
+ 𢟔,thói
1234
+ 𢟕,nép
1235
+ 𢟖,tởm
1236
+ 𢟗,nết
1237
+ 𢟘,chắc
1238
+ 𢟙,chăm
1239
+ 𢟚,quên
1240
+ 𢟛,riếu
1241
+ 𢟞,nhóng
1242
+ 𢟟,dát
1243
+ 𢟹,nhuốc
1244
+ 𢠃,
1245
+ 𢠄,sùng
1246
+ 𢠅,thung
1247
+ 𢠆,thuồng
1248
+ 𢠇,hở
1249
+ 𢠈,bẳn
1250
+ 𢠉,ngẩu
1251
+ 𢠐,ngơ
1252
+ 𢠣,giận
1253
+ 𢠤,đần
1254
+ 𢠥,gàn
1255
+ 𢠦,hớn
1256
+ 𢠧,mẩm
1257
+ 𢠨,mẩn
1258
+ 𢠩,mơ
1259
+ 𢠪,ngoảy
1260
+ 𢠯,lắng
1261
+ 𢡿,nhờn
1262
+ 𢢁,sờn
1263
+ 𢢄,ngùng
1264
+ 𢢅,chiều
1265
+ 𢢆,thẹn
1266
+ 𢢇,tủi
1267
+ 𢢈,hằn
1268
+ 𢢉,nức
1269
+ 𢢊,đòi
1270
+ 𢢋,nhằng
1271
+ 𢢬,gờm
1272
+ 𢢯,nguôi
1273
+ 𢢲,đẹp
1274
+ 𢢺,
1275
+ 𢢽,khắn
1276
+ 𢣀,ngấy
1277
+ 𢣂,nghĩ
1278
+ 𢣃,tủi
1279
+ 𢣄,quớ
1280
+ 𢣅,nhác
1281
+ 𢣆,tuông
1282
+ 𢣇,hằm
1283
+ 𢣈,não
1284
+ 𢣧,khuây
1285
+ 𢣸,ngỡ
1286
+ 𢣹,hửng
1287
+ 𢤛,bỡ
1288
+ 𢤜,chạnh
1289
+ 𢤝,chăm
1290
+ 𢤞,hờn
1291
+ 𢤟,chán
1292
+ 𢤠,lẽn
1293
+ 𢤡,dỗi
1294
+ 𢤢,nhịt
1295
+ 𢤣,tẽn
1296
+ 𢤹,
1297
+ 𢥅,cẫm
1298
+ 𢥆,lung
1299
+ 𢥇,chán
1300
+ 𢥈,lo
1301
+ 𢥉,nhãng
1302
+ 𢥖,trai
1303
+ 𢥢,ngẩn
1304
+ 𢥣,giỡn
1305
+ 𢥪,nản
1306
+ 𢥶,ngủng
1307
+ 𢥷,ngơi
1308
+ 𢦂,lờn
1309
+ 𢦄,thò
1310
+ 𢧚,nên
1311
+ 𢧜,
1312
+ 𢧲,ta
1313
+ 𢨃,mác
1314
+ 𢨵,ngõ
1315
+ 𢩉,cổng
1316
+ 𢩊,quanh
1317
+ 𢩛,cổng
1318
+ 𢩜,họ
1319
+ 𢩣,buồng
1320
+ 𢩤,mướn
1321
+ 𢩧,hắt
1322
+ 𢩪,tríu
1323
+ 𢩭,thuốn
1324
+ 𢩽,dẩy
1325
+ 𢩾,chộp
1326
+ 𢩿,sẻ
1327
+ 𢪀,nghĩ
1328
+ 𢪗,vục
1329
+ 𢪭,giạm
1330
+ 𢪮,móc
1331
+ 𢪯,tháy
1332
+ 𢪰,ngắt
1333
+ 𢪱,vắt
1334
+ 𢪲,nâng
1335
+ 𢪳,vập
1336
+ 𢫃,kéo
1337
+ 𢫄,giạt
1338
+ 𢫅,thắt
1339
+ 𢫆,vụn
1340
+ 𢫈,gõ
1341
+ 𢫊,
1342
+ 𢫌,tha
1343
+ 𢫏,
1344
+ 𢫑,ngoáy
1345
+ 𢫕,vểnh
1346
+ 𢫖,trọt
1347
+ 𢫗,phạch
1348
+ 𢫙,đậy
1349
+ 𢫚,xáo
1350
+ 𢫛,ngoặc
1351
+ 𢫜,trụm
1352
+ 𢫝,rung
1353
+ 𢫞,quấy
1354
+ 𢫟,sảy
1355
+ 𢫠,oằn
1356
+ 𢫡,dựng
1357
+ 𢫣,bắc
1358
+ 𢬂,
1359
+ 𢬄,bưng
1360
+ 𢬅,têm
1361
+ 𢬇,giữ
1362
+ 𢬐,múc
1363
+ 𢬗,chùi
1364
+ 𢬢,díu
1365
+ 𢬣,tay
1366
+ 𢬤,khuống
1367
+ 𢬥,giàng
1368
+ 𢬦,lẩy
1369
+ 𢬧,nêm
1370
+ 𢬨,nhứ
1371
+ 𢬩,phiết
1372
+ 𢬭,đổi
1373
+ 𢬮,vớt
1374
+ 𢬹,cạy
1375
+ 𢭑,thước
1376
+ 𢭗,lẳng
1377
+ 𢭜,xắc
1378
+ 𢭝,nhẫn
1379
+ 𢭫,ngón
1380
+ 𢭬,gạn
1381
+ 𢭭,quáo
1382
+ 𢭮,cạy
1383
+ 𢭯,quét
1384
+ 𢭰,trỏ
1385
+ 𢭱,đẵn
1386
+ 𢭲,vói
1387
+ 𢭳,giấu
1388
+ 𢭴,khuấy
1389
+ 𢭵,nhổ
1390
+ 𢭶,vẫy
1391
+ 𢭷,vọm
1392
+ 𢭸,tựa
1393
+ 𢭹,lấn
1394
+ 𢭺,dụi
1395
+ 𢭻,xoi
1396
+ 𢭼,dìu
1397
+ 𢭽,chằm
1398
+ 𢭾,buông
1399
+ 𢭿,phảy
1400
+ 𢮀,sờ
1401
+ 𢮑,róc
1402
+ 𢮩,co
1403
+ 𢮪,rộn
1404
+ 𢮫,nhổ
1405
+ 𢮬,chút
1406
+ 𢮭,cọ
1407
+ 𢮿,quay
1408
+ 𢯊,
1409
+ 𢯎,
1410
+ 𢯏,bẻ
1411
+ 𢯐,co
1412
+ 𢯑,quải
1413
+ 𢯒,bóp
1414
+ 𢯓,và
1415
+ 𢯔,quắt
1416
+ 𢯕,ngơi
1417
+ 𢯖,khép
1418
+ 𢯗,quấy
1419
+ 𢯘,huơ
1420
+ 𢯙,chẻ
1421
+ 𢯚,nhổ
1422
+ 𢯛,sắp
1423
+ 𢯜,buộc
1424
+ 𢯝,vén
1425
+ 𢯞,vỗ
1426
+ 𢯟,đứt
1427
+ 𢯠,va
1428
+ 𢯡,rọc
1429
+ 𢯢,sửa
1430
+ 𢯤,ngáng
1431
+ 𢯥,ngón
1432
+ 𢯦,lay
1433
+ 𢯧,xỏ
1434
+ 𢯨,níu
1435
+ 𢰥,đày
1436
+ 𢰳,éo
1437
+ 𢰸,
1438
+ 𢰺,phũ
1439
+ 𢰽,gắp
1440
+ 𢱎,bới
1441
+ 𢱏,đánh
1442
+ 𢱐,gieo
1443
+ 𢱑,
1444
+ 𢱒,mẻ
1445
+ 𢱓,rẩy
1446
+ 𢱔,bòn
1447
+ 𢱕,
1448
+ 𢱖,mò
1449
+ 𢱗,gõ
1450
+ 𢱘,ngán
1451
+ 𢱙,cài
1452
+ 𢱚,phung
1453
+ 𢱛,xới
1454
+ 𢱜,đẩy
1455
+ 𢱝,nhốt
1456
+ 𢱞,đốt
1457
+ 𢲈,
1458
+ 𢲛,dò
1459
+ 𢲝,rùn
1460
+ 𢲟,tỉa
1461
+ 𢲠,đơm
1462
+ 𢲡,
1463
+ 𢲢,rờ
1464
+ 𢲣,rung
1465
+ 𢲤,cấu
1466
+ 𢲥,chằm
1467
+ 𢲦,xức
1468
+ 𢲧,gây
1469
+ 𢲨,hái
1470
+ 𢲩,cắp
1471
+ 𢲪,mài
1472
+ 𢲫,mớ
1473
+ 𢲬,thò
1474
+ 𢲭,phủi
1475
+ 𢲮,sải
1476
+ 𢲯,thiếp
1477
+ 𢲱,cấu
1478
+ 𢲲,sang
1479
+ 𢳞,đơm
1480
+ 𢳠,muỗng
1481
+ 𢳥,dạo
1482
+ 𢳳,luồn
1483
+ 𢴇,chắp
1484
+ 𢴈,
1485
+ 𢴉,đùa
1486
+ 𢴊,chộp
1487
+ 𢴋,chong
1488
+ 𢴌,vặn
1489
+ 𢴍,dằn
1490
+ 𢴎,thoát
1491
+ 𢴏,giầm
1492
+ 𢴐,day
1493
+ 𢴑,dứt
1494
+ 𢴒,phành
1495
+ 𢴓,móp
1496
+ 𢴔,phện
1497
+ 𢴕,nính
1498
+ 𢴖,khảy
1499
+ 𢴗,dạm
1500
+ 𢴘,xay
1501
+ 𢴙,lảy
1502
+ 𢴚,nức
1503
+ 𢴛,gãy
1504
+ 𢴜,xâu
1505
+ 𢴝,ngón
1506
+ 𢴞,nhúng
1507
+ 𢵄,
1508
+ 𢵉,bám
1509
+ 𢵋,đua
1510
+ 𢵌,dụi
1511
+ 𢵓,
1512
+ 𢵔,sườn
1513
+ 𢵧,dàn
1514
+ 𢵨,váo
1515
+ 𢵩,dội
1516
+ 𢵪,phẩy
1517
+ 𢵫,nện
1518
+ 𢵬,dọn
1519
+ 𢵭,rời
1520
+ 𢵯,máy
1521
+ 𢵰,góp
1522
+ 𢵱,khơi
1523
+ 𢵲,ngáng
1524
+ 𢵳,sum
1525
+ 𢵴,quay
1526
+ 𢵵,quờ
1527
+ 𢵶,dọn
1528
+ 𢵷,cắt
1529
+ 𢵸,xấp
1530
+ 𢵹,mỏi
1531
+ 𢵺,chạm
1532
+ 𢵻,chữa
1533
+ 𢵼,vớt
1534
+ 𢵽,rớ
1535
+ 𢶂,vặn
1536
+ 𢶐,níu
1537
+ 𢶜,
1538
+ 𢶟,cùi
1539
+ 𢶠,
1540
+ 𢶢,chóng
1541
+ 𢶤,
1542
+ 𢶥,choảng
1543
+ 𢶯,
1544
+ 𢶷,cởi
1545
+ 𢶸,bụm
1546
+ 𢶹,mám
1547
+ 𢶺,dom
1548
+ 𢶻,bung
1549
+ 𢶼,ngoi
1550
+ 𢶽,ãm
1551
+ 𢶾,chĩa
1552
+ 𢶿,dọn
1553
+ 𢷀,giũ
1554
+ 𢷁,ném
1555
+ 𢷂,xắn
1556
+ 𢷃,níu
1557
+ 𢷄,giết
1558
+ 𢷅,trộ
1559
+ 𢷆,chen
1560
+ 𢷎,
1561
+ 𢷣,dở
1562
+ 𢷤,
1563
+ 𢷮,dúi
1564
+ 𢷯,xồ
1565
+ 𢷰,khênh
1566
+ 𢷱,rủ
1567
+ 𢷲,hấng
1568
+ 𢷳,khuỳnh
1569
+ 𢷴,quẫy
1570
+ 𢷵,vố
1571
+ 𢸚,bồng
1572
+ 𢸛,đèo
1573
+ 𢸜,lăn
1574
+ 𢸝,dìm
1575
+ 𢸞,dựng
1576
+ 𢸟,kẽm
1577
+ 𢸠,khoác
1578
+ 𢸡,xỉa
1579
+ 𢸢,chẹn
1580
+ 𢸵,bịch
1581
+ 𢹅,chọc
1582
+ 𢹆,gài
1583
+ 𢹇,mắc
1584
+ 𢹈,rung
1585
+ 𢹉,nhồi
1586
+ 𢹊,xé
1587
+ 𢹌,chìa
1588
+ 𢹣,kéo
1589
+ 𢹤,xâu
1590
+ 𢹥,ép
1591
+ 𢹦,lượm
1592
+ 𢹧,xỏ
1593
+ 𢹨,túm
1594
+ 𢹩,sương
1595
+ 𢹪,tóm
1596
+ 𢹫,khít
1597
+ 𢹽,giâm
1598
+ 𢹾,que
1599
+ 𢹿,lảy
1600
+ 𢺀,mò
1601
+ 𢺁,phóc
1602
+ 𢺋,
1603
+ 𢺍,rạp
1604
+ 𢺎,rạp
1605
+ 𢺒,búng
1606
+ 𢺓,dìm
1607
+ 𢺔,bấu
1608
+ 𢺛,sởn
1609
+ 𢺜,trạc
1610
+ 𢺝,uốn
1611
+ 𢺤,lườn
1612
+ 𢺳,mân
1613
+ 𢺹,chia
1614
+ 𢺺,chia
1615
+ 𢽙,vẻ
1616
+ 𢽴,
1617
+ 𢽼,và
1618
+ 𢾖,
1619
+ 𢿼,tuồm
1620
+ 𣀟,và
1621
+ 𣁔,lớn
1622
+ 𣁲,đong
1623
+ 𣂃,giạ
1624
+ 𣂋,gáo
1625
+ 𣃣,vừa
1626
+ 𣃤,vừa
1627
+ 𣃱,khuông
1628
+ 𣃲,vuông
1629
+ 𣃺,góc
1630
+ 𣄇,vuông
1631
+ 𣄒,ở
1632
+ 𣄖,vuông
1633
+ 𣄥,chếch
1634
+ 𣄬,lệch
1635
+ 𣅅,nãy
1636
+ 𣅗,kỉa
1637
+ 𣅘,khuya
1638
+ 𣅙,khuya
1639
+ 𣅵,tăm
1640
+ 𣅶,lúc
1641
+ 𣆏,phơi
1642
+ 𣆮,chang
1643
+ 𣆯,hẵng
1644
+ 𣆰,giây
1645
+ 𣆱,dòn
1646
+ 𣇊,bữa
1647
+ 𣇜,buổi
1648
+ 𣇝,rảnh
1649
+ 𣇞,giờ
1650
+ 𣇟,sao
1651
+ 𣇠,kĩa
1652
+ 𣇡,kịa
1653
+ 𣈒,kìa
1654
+ 𣈓,phơi
1655
+ 𣈔,đêm
1656
+ 𣈕,mai
1657
+ 𣈖,bóng
1658
+ 𣈗,ngày
1659
+ 𣈘,đêm
1660
+ 𣈙,rầy
1661
+ 𣈚,chạng
1662
+ 𣈛,quắt
1663
+ 𣈜,ngày
1664
+ 𣈝,cữ
1665
+ 𣈞,hong
1666
+ 𣈢,tia
1667
+ 𣈰,nau
1668
+ 𣉍,ui
1669
+ 𣉎,trưa
1670
+ 𣉏,lình
1671
+ 𣉐,thoạt
1672
+ 𣉲,chếch
1673
+ 𣉳,buổi
1674
+ 𣉴,chói
1675
+ 𣉵,rua
1676
+ 𣉶,háo
1677
+ 𣉷,dễ
1678
+ 𣉸,kía
1679
+ 𣉹,giờ
1680
+ 𣊋,se
1681
+ 𣊌,nôi
1682
+ 𣊍,mơ
1683
+ 𣊎,chớp
1684
+ 𣊘,ngừ
1685
+ 𣊾,bây
1686
+ 𣊿,chiều
1687
+ 𣋀,sao
1688
+ 𣋁,tối
1689
+ 𣋂,chiều
1690
+ 𣋃,rạng
1691
+ 𣋆,nhoạng
1692
+ 𣋇,đổi
1693
+ 𣋑,dịp
1694
+ 𣋚,hôm
1695
+ 𣋛,lát
1696
+ 𣋜,cợm
1697
+ 𣋝,ráo
1698
+ 𣋨,xôm
1699
+ 𣋩,lát
1700
+ 𣋰,bão
1701
+ 𣋱,hẩng
1702
+ 𣋻,mịt
1703
+ 𣋼,giỗ
1704
+ 𣋽,sớm
1705
+ 𣋾,thủa
1706
+ 𣌁,trưa
1707
+ 𣌂,trưa
1708
+ 𣌆,trưa
1709
+ 𣌉,khuya
1710
+ 𣌋,sớm
1711
+ 𣌌,rua
1712
+ 𣌒,đổi
1713
+ 𣌔,trán
1714
+ 𣌛,trán
1715
+ 𣌝,nắng
1716
+ 𣌴,ngoặt
1717
+ 𣌵,quặp
1718
+ 𣌶,còng
1719
+ 𣌹,vạy
1720
+ 𣌺,xéo
1721
+ 𣍀,ngúc
1722
+ 𣍁,vạy
1723
+ 𣍂,góc
1724
+ 𣍅,vẹo
1725
+ 𣍊,hết
1726
+ 𣍋,cúi
1727
+ 𣍍,oăm
1728
+ 𣍕,ngoèo
1729
+ 𣍗,còng
1730
+ 𣎀,đêm
1731
+ 𣎃,tháng
1732
+ 𣎊,mề
1733
+ 𣎏,có
1734
+ 𣎖,chạp
1735
+ 𣎞,trăng
1736
+ 𣎢,chiều
1737
+ 𣎣,khuỷu
1738
+ 𣎦,ráng
1739
+ 𣎷,ớt
1740
+ 𣏂,
1741
+ 𣏋,
1742
+ 𣏒,hòn
1743
+ 𣏴,
1744
+ 𣏾,qua
1745
+ 𣏿,then
1746
+ 𣐄,truông
1747
+ 𣐅,nhum
1748
+ 𣐆,thớt
1749
+ 𣐝,xốp
1750
+ 𣐲,quéo
1751
+ 𣐳,sứ
1752
+ 𣐴,sậy
1753
+ 𣑌,trát
1754
+ 𣑎,rơi
1755
+ 𣑳,chồi
1756
+ 𣑴,giàn
1757
+ 𣑵,nhót
1758
+ 𣑶,rễ
1759
+ 𣑷,sim
1760
+ 𣑺,trồng
1761
+ 𣑻,nen
1762
+ 𣒠,vạy
1763
+ 𣒣,măng
1764
+ 𣒱,xoài
1765
+ 𣒲,sao
1766
+ 𣒳,cong
1767
+ 𣒴,táu
1768
+ 𣒵,cải
1769
+ 𣒾,vông
1770
+ 𣓁,
1771
+ 𣓦,phím
1772
+ 𣓪,
1773
+ 𣔝,đón
1774
+ 𣔞,cui
1775
+ 𣔟,bắp
1776
+ 𣔠,cần
1777
+ 𣔡,phà
1778
+ 𣔢,xới
1779
+ 𣔣,ngộc
1780
+ 𣔤,sứ
1781
+ ��,chanh
1782
+ 𣔦,nhài
1783
+ 𣔧,đó
1784
+ 𣔨,khẳng
1785
+ 𣔩,bó
1786
+ 𣔳,
1787
+ 𣕘,hay
1788
+ 𣕬,nọc
1789
+ 𣖕,
1790
+ 𣖖,chày
1791
+ 𣖗,chày
1792
+ 𣖘,hồng
1793
+ 𣖙,mía
1794
+ 𣖚,ca
1795
+ 𣖛,chót
1796
+ 𣖜,vựa
1797
+ 𣖝,sề
1798
+ 𣖞,bí
1799
+ 𣖟,ghế
1800
+ 𣖠,suốt
1801
+ 𣖡,trắc
1802
+ 𣖢,trót
1803
+ 𣖧,sòi
1804
+ 𣗌,mê
1805
+ 𣗑,chạn
1806
+ 𣗒,chằm
1807
+ 𣗓,chưa
1808
+ 𣗪,chà
1809
+ 𣗱,lè
1810
+ 𣗼,vên
1811
+ 𣗾,son
1812
+ 𣗿,tủ
1813
+ 𣘁,cà
1814
+ 𣘂,ươi
1815
+ 𣘃,cây
1816
+ 𣘄,thớt
1817
+ 𣘆,nẹp
1818
+ 𣘈,son
1819
+ 𣘉,cùm
1820
+ 𣘊,đồ
1821
+ 𣘌,choác
1822
+ 𣘓,bẫy
1823
+ 𣘽,nâu
1824
+ 𣘾,vai
1825
+ 𣙙,rắc
1826
+ 𣙦,trĩ
1827
+ 𣙧,nhãn
1828
+ 𣙨,bè
1829
+ 𣙩,sồng
1830
+ 𣙪,mơ
1831
+ 𣙫,sộp
1832
+ 𣙬,lặt
1833
+ 𣙭,giậu
1834
+ 𣙮,chay
1835
+ 𣙯,rui
1836
+ 𣙸,sốt
1837
+ 𣙹,cốn
1838
+ 𣙺,mâm
1839
+ 𣚮,trôm
1840
+ 𣚺,
1841
+ 𣛟,xanh
1842
+ 𣛠,máy
1843
+ 𣛡,gụ
1844
+ 𣛢,vả
1845
+ 𣛣,khay
1846
+ 𣛤,trái
1847
+ 𣛥,be
1848
+ 𣛦,đu
1849
+ 𣛧,chuôm
1850
+ 𣛨,chèo
1851
+ 𣛩,then
1852
+ 𣛪,tu
1853
+ 𣛭,đu
1854
+ 𣛯,rạo
1855
+ 𣜋,mớ
1856
+ 𣜰,lim
1857
+ 𣜱,son
1858
+ 𣜲,đụn
1859
+ 𣜳,vông
1860
+ 𣜴,dó
1861
+ 𣜵,hèo
1862
+ 𣜶,ót
1863
+ 𣜷,sầu
1864
+ 𣜸,vừng
1865
+ 𣜻,nhủ
1866
+ 𣜾,chửa
1867
+ 𣜿,nhịp
1868
+ 𣝀,cằn
1869
+ 𣞂,giổi
1870
+ 𣞃,khù
1871
+ 𣞄,cuối
1872
+ 𣞅,chũm
1873
+ 𣞊,sôn
1874
+ 𣞍,thợ
1875
+ 𣞎,tràm
1876
+ 𣞪,mức
1877
+ 𣞶,sến
1878
+ 𣞻,bưởi
1879
+ 𣞽,dặng
1880
+ 𣞾,trầu
1881
+ 𣟂,khuôn
1882
+ 𣟃,mộng
1883
+ 𣟩,duì
1884
+ 𣟪,nóc
1885
+ 𣟫,nhãn
1886
+ 𣟬,
1887
+ 𣟭,mạ
1888
+ 𣟮,mềm
1889
+ 𣟱,
1890
+ 𣠑,bòng
1891
+ 𣠒,thắm
1892
+ 𣠓,pheo
1893
+ 𣠕,chưa
1894
+ 𣠖,chửa
1895
+ 𣠗,que
1896
+ 𣠘,gàu
1897
+ 𣠩,tràm
1898
+ 𣠰,giần
1899
+ 𣠱,trâm
1900
+ 𣠲,rễ
1901
+ 𣠳,mềm
1902
+ 𣠶,đỏ
1903
+ 𣠽,
1904
+ 𣡓,tràm
1905
+ 𣡙,trái
1906
+ 𣡚,trái
1907
+ 𣡝,vui
1908
+ 𣡤,nén
1909
+ 𣡯,bẫy
1910
+ 𣡹,siểng
1911
+ 𣢹,lỏi
1912
+ 𣢾,
1913
+ 𣥱,trải
1914
+ 𣦆,trải
1915
+ 𣦍,ngay
1916
+ 𣦎,thẳng
1917
+ 𣦓,giêng
1918
+ 𣦛,thẳng
1919
+ 𣦮,tuổi
1920
+ 𣦰,trải
1921
+ 𣧟,
1922
+ 𣨕,giã
1923
+ 𣨧,giuộc
1924
+ 𣨭,quàn
1925
+ 𣨮,giẫm
1926
+ 𣨯,
1927
+ 𣨰,thác
1928
+ 𣩁,chết
1929
+ 𣩂,chết
1930
+ 𣩦,ngoéo
1931
+ 𣩵,
1932
+ 𣩸,toi
1933
+ 𣪵,
1934
+ 𣪺,
1935
+ 𣫂,
1936
+ 𣫅,
1937
+ 𣫋,
1938
+ 𣫕,đền
1939
+ 𣫲,đừng
1940
+ 𣫷,vắn
1941
+ 𣭃,sù
1942
+ 𣭛,bờm
1943
+ 𣭯,ria
1944
+ 𣭰,mào
1945
+ 𣮇,ngù
1946
+ 𣯡,lông
1947
+ 𣰏,ngòi
1948
+ 𣰙,quặm
1949
+ 𣰳,lông
1950
+ 𣰴,lông
1951
+ 𣰵,lông
1952
+ 𣱆,họ
1953
+ 𣱬,hơi
1954
+ 𣱭,bủm
1955
+ 𣱰,rắm
1956
+ 𣱾,lẻo
1957
+ 𣱿,nhớp
1958
+ 𣲍,ngụt
1959
+ 𣲠,ngớt
1960
+ 𣲦,sểu
1961
+ 𣲹,nhèm
1962
+ 𣳔,dòng
1963
+ 𣳡,mồ
1964
+ 𣳢,ngòi
1965
+ 𣳪,lượi
1966
+ 𣳮,lả
1967
+ 𣳼,
1968
+ 𣴙,đư
1969
+ 𣴚,hụp
1970
+ 𣴛,nhúng
1971
+ 𣴜,thác
1972
+ 𣵮,bưng
1973
+ 𣵯,xôi
1974
+ 𣵰,lặn
1975
+ 𣵲,bợn
1976
+ 𣵴,ngấm
1977
+ 𣵵,ngập
1978
+ 𣵶,xuôi
1979
+ 𣶒,
1980
+ 𣷭,bể
1981
+ 𣷮,lội
1982
+ 𣷯,cặn
1983
+ 𣷰,nhơm
1984
+ 𣷱,sữa
1985
+ 𣷲,sữa
1986
+ 𣷳,đáy
1987
+ 𣷴,vẻo
1988
+ 𣷷,biển
1989
+ 𣹓,đầy
1990
+ 𣹔,hoảnh
1991
+ 𣹕,lụt
1992
+ 𣹖,tồ
1993
+ 𣹗,tràn
1994
+ 𣹘,dãi
1995
+ 𣹙,ọ
1996
+ 𣺺,dò
1997
+ 𣺻,đắm
1998
+ 𣺾,nhựa
1999
+ 𣻀,nuột
2000
+ 𣻁,chặm
2001
+ 𣻂,sết
2002
+ 𣻃,bụi
2003
+ 𣻄,sờ
2004
+ 𣻅,cát
2005
+ 𣻆,tuôn
2006
+ 𣻇,xối
2007
+ 𣻈,bỏng
2008
+ 𣻉,dưới
2009
+ 𣻗,dề
2010
+ 𣻽,kênh
2011
+ 𣻾,nít
2012
+ 𣼍,són
2013
+ 𣼩,ẩm
2014
+ 𣼪,bớt
2015
+ 𣼫,chã
2016
+ 𣼬,đểnh
2017
+ 𣼭,dồi
2018
+ 𣼮,thìa
2019
+ 𣼯,vùi
2020
+ 𣼰,lùng
2021
+ 𣼱,ngàu
2022
+ 𣼲,doi
2023
+ 𣼳,xọp
2024
+ 𣼴,nhẵng
2025
+ 𣼶,vẩn
2026
+ 𣼷,lớt
2027
+ 𣼸,nhợt
2028
+ 𣼹,dợn
2029
+ 𣼺,mèm
2030
+ 𣼼,tràn
2031
+ 𣼽,lắng
2032
+ 𣼾,lẻo
2033
+ 𣽀,ngấu
2034
+ 𣽊,thỏi
2035
+ 𣾃,ngót
2036
+ 𣾵,choẹt
2037
+ 𣾶,dội
2038
+ 𣾸,đìa
2039
+ 𣾹,giặt
2040
+ 𣾺,khơi
2041
+ 𣾻,chã
2042
+ 𣾼,vượt
2043
+ 𣾽,xối
2044
+ 𣾾,bụi
2045
+ 𣾿,ói
2046
+ 𣿃,ngấu
2047
+ 𤀏,thía
2048
+ 𤀐,đáy
2049
+ 𤀒,nhỏ
2050
+ 𤀓,lọc
2051
+ 𤀔,ẩm
2052
+ 𤀕,ráy
2053
+ 𤀖,ngoi
2054
+ 𤀗,rửa
2055
+ 𤀘,vùng
2056
+ 𤀙,ồ
2057
+ 𤀚,lượn
2058
+ 𤀛,lầy
2059
+ 𤀜,tành
2060
+ 𤀞,chứa
2061
+ 𤁓,dào
2062
+ 𤁔,khơi
2063
+ 𤁕,lạt
2064
+ 𤁖,loã
2065
+ 𤁘,trong
2066
+ 𤁙,bớt
2067
+ 𤁛,chửa
2068
+ 𤁠,dào
2069
+ 𤁩,giợt
2070
+ 𤂧,bồng
2071
+ 𤂨,mò
2072
+ 𤂩,rửa
2073
+ 𤂪,dấn
2074
+ 𤂫,phùn
2075
+ 𤂬,lội
2076
+ 𤂭,toé
2077
+ 𤂱,rề
2078
+ 𤃛,bều
2079
+ 𤃜,leo
2080
+ 𤃝,rách
2081
+ 𤃞,mương
2082
+ 𤃟,úng
2083
+ 𤃠,nổi
2084
+ 𤃡,rãnh
2085
+ 𤃢,lõm
2086
+ 𤃤,nhão
2087
+ 𤃥,rèm
2088
+ 𤃧,thướt
2089
+ 𤄋,tỏng
2090
+ 𤄌,giết
2091
+ 𤄍,rượu
2092
+ 𤄭,rề
2093
+ 𤄮,nhiều
2094
+ 𤄯,trong
2095
+ 𤄰,nhăn
2096
+ 𤄱,dẫn
2097
+ 𤄲,cấn
2098
+ 𤅉,ráng
2099
+ 𤅜,veo
2100
+ 𤅧,xổn
2101
+ 𤅶,biển
2102
+ 𤆈,nảy
2103
+ 𤆣,
2104
+ 𤆷,loá
2105
+ 𤆸,tom
2106
+ 𤆹,nhá
2107
+ 𤆺,hóng
2108
+ 𤆻,thếp
2109
+ 𤇊,bừng
2110
+ 𤇌,kho
2111
+ 𤇢,vặc
2112
+ 𤇣,xên
2113
+ 𤇤,xáo
2114
+ 𤇥,lập
2115
+ 𤇦,mò
2116
+ 𤇧,sấy
2117
+ 𤇨,phơi
2118
+ 𤇩,tắt
2119
+ 𤇪,chín
2120
+ 𤇮,bép
2121
+ 𤇲,nhúm
2122
+ 𤈜,cháy
2123
+ 𤈝,nghẹ
2124
+ 𤈞,lùi
2125
+ 𤈟,nhừ
2126
+ 𤈠,sốt
2127
+ 𤈡,ngút
2128
+ 𤈤,hông
2129
+ 𤈪,chớ
2130
+ 𤉒,giãi
2131
+ 𤉓,tro
2132
+ 𤉔,tác
2133
+ 𤉕,tro
2134
+ 𤉖,se
2135
+ 𤉗,héo
2136
+ 𤉘,ngún
2137
+ 𤉚,sôi
2138
+ 𤉛,toà
2139
+ 𤉜,ràng
2140
+ 𤉠,chườm
2141
+ 𤊒,luộc
2142
+ 𤊠,rọi
2143
+ 𤊡,bóng
2144
+ 𤊢,ngời
2145
+ 𤊣,tro
2146
+ 𤊤,nhem
2147
+ 𤊥,lừng
2148
+ 𤊦,phỏng
2149
+ 𤊧,rực
2150
+ 𤊨,vặc
2151
+ 𤊩,rom
2152
+ 𤊪,rỡ
2153
+ 𤊫,phơi
2154
+ 𤊬,phơi
2155
+ 𤊭,lốm
2156
+ 𤊰,bén
2157
+ 𤋵,dãi
2158
+ 𤋶,rành
2159
+ 𤋷,nấu
2160
+ 𤋸,khét
2161
+ 𤋹,kho
2162
+ 𤋻,phới
2163
+ 𤋼,kho
2164
+ 𤋽,chới
2165
+ 𤋾,um
2166
+ 𤋿,đốt
2167
+ 𤌀,kíp
2168
+ 𤌄,chả
2169
+ 𤌅,nháng
2170
+ 𤌣,rát
2171
+ 𤍃,hây
2172
+ 𤍄,tỏ
2173
+ 𤍅,rệt
2174
+ 𤍆,ngốt
2175
+ 𤍇,nấu
2176
+ 𤍉,ngùn
2177
+ 𤍊,tỏ
2178
+ 𤍋,hực
2179
+ 𤍌,thiêng
2180
+ 𤍑,chong
2181
+ 𤍶,loà
2182
+ 𤎍,quắc
2183
+ 𤎎,mờ
2184
+ 𤎏,nóng
2185
+ 𤎐,nực
2186
+ 𤎑,mõm
2187
+ 𤎒,phấp
2188
+ 𤎓,thiêng
2189
+ 𤎔,rạng
2190
+ 𤎕,tắt
2191
+ 𤎛,rấm
2192
+ 𤎜,rậng
2193
+ 𤏢,nhội
2194
+ 𤏣,tỏ
2195
+ 𤏤,hơ
2196
+ 𤏥,thui
2197
+ 𤏦,khét
2198
+ 𤏧,thắp
2199
+ 𤏨,se
2200
+ 𤏪,rao
2201
+ 𤏫,buốt
2202
+ 𤏬,rạng
2203
+ 𤐓,khê
2204
+ 𤐚,hâm
2205
+ 𤐛,nấu
2206
+ 𤐜,ngòi
2207
+ 𤐝,soi
2208
+ 𤐠,luộc
2209
+ 𤐡,khói
2210
+ 𤑈,chang
2211
+ 𤑉,rỡ
2212
+ 𤑍,hửng
2213
+ 𤑟,rõ
2214
+ 𤑫,bùng
2215
+ 𤑬,loé
2216
+ 𤑭,lói
2217
+ 𤑮,mồ
2218
+ 𤑯,sém
2219
+ 𤒘,đuốc
2220
+ 𤒙,chín
2221
+ 𤒚,nung
2222
+ 𤒛,nấu
2223
+ 𤒟,nhùi
2224
+ 𤒠,đỏ
2225
+ 𤒢,lốm
2226
+ 𤒲,chờn
2227
+ 𤒴,thắp
2228
+ 𤓆,ram
2229
+ 𤓇,quầng
2230
+ 𤓓,
2231
+ 𤓛,dìu
2232
+ 𤓢,nến
2233
+ 𤓩,bén
2234
+ 𤓺,vấu
2235
+ 𤔛,sụ
2236
+ 𤔯,vuốt
2237
+ 𤔷,dành
2238
+ 𤔻,móng
2239
+ 𤔽,móng
2240
+ 𤔾,móng
2241
+ 𤕔,cha
2242
+ 𤖡,rìu
2243
+ 𤖶,bánh
2244
+ 𤖸,chũa
2245
+ 𤖹,lớp
2246
+ 𤗆,múi
2247
+ 𤗖,mảnh
2248
+ 𤗤,cổng
2249
+ 𤗲,tấm
2250
+ 𤗹,phướn
2251
+ 𤘁,mỏng
2252
+ 𤘂,mỏng
2253
+ 𤘋,ngà
2254
+ 𤘓,nanh
2255
+ 𤙮,ngàu
2256
+ 𤚆,bê
2257
+ 𤚇,nghé
2258
+ 𤚦,cộ
2259
+ 𤚧,sao
2260
+ 𤛇,chăn
2261
+ 𤛉,
2262
+ 𤛞,nghé
2263
+ 𤛠,trâu
2264
+ 𤜠,nái
2265
+ 𤜬,săn
2266
+ 𤜭,tử
2267
+ 𤝋,vằn
2268
+ 𤝑,mướp
2269
+ 𤝫,nhím
2270
+ 𤞐,chồn
2271
+ 𤞑,hòi
2272
+ 𤞒,ngỗng
2273
+ 𤞓,săn
2274
+ 𤞔,thấc
2275
+ 𤞕,tấy
2276
+ 𤞖,lòi
2277
+ 𤞘,sề
2278
+ 𤞦,mọi
2279
+ 𤞧,khọn
2280
+ 𤞨,bò
2281
+ 𤞩,rợ
2282
+ 𤞪,rợ
2283
+ 𤞫,rái
2284
+ 𤞺,cáo
2285
+ 𤞻,hùm
2286
+ 𤞼,lợn
2287
+ 𤞽,mường
2288
+ 𤟂,độc
2289
+ 𤟛,thỏ
2290
+ 𤠂,đười
2291
+ 𤠃,kễnh
2292
+ 𤠄,gà
2293
+ 𤠅,voi
2294
+ 𤠆,ươi
2295
+ 𤠑,
2296
+ 𤠤,hoẵng
2297
+ 𤠰,gấu
2298
+ 𤠱,ươi
2299
+ 𤠲,khái
2300
+ 𤠳,khỉ
2301
+ 𤠴,vượn
2302
+ 𤠷,sề
2303
+ 𤠹,rái
2304
+ 𤠾,
2305
+ 𤡁,mãn
2306
+ 𤡌,muông
2307
+ 𤡚,khái
2308
+ 𤡛,nanh
2309
+ 𤢇,vuốt
2310
+ 𤢈,săn
2311
+ 𤢔,nhen
2312
+ 𤢤,bẵm
2313
+ 𤢥,vượn
2314
+ 𤢫,ngáo
2315
+ 𤢬,đười
2316
+ 𤢽,nhắt
2317
+ 𤢾,nhím
2318
+ 𤢿,sói
2319
+ 𤣄,beo
2320
+ 𤣚,nhím
2321
+ 𤣡,dọc
2322
+ 𤣥,
2323
+ 𤤰,vua
2324
+ 𤥑,vòng
2325
+ 𤨏,
2326
+ 𤪊,cườm
2327
+ 𤫿,dưa
2328
+ 𤬀,dưa
2329
+ 𤬈,hấu
2330
+ 𤬲,ngói
2331
+ 𤬸,sành
2332
+ 𤭚,gáo
2333
+ 𤭵,ấm
2334
+ 𤭶,hông
2335
+ 𤭷,chậu
2336
+ 𤭸,bình
2337
+ 𤮀,
2338
+ 𤮃,ang
2339
+ 𤮄,gạch
2340
+ 𤮑,be
2341
+ 𤮒,hũ
2342
+ 𤮗,lọ
2343
+ 𤮞,ngói
2344
+ 𤮟,ngói
2345
+ 𤮠,muống
2346
+ 𤮥,âu
2347
+ 𤮾,ngọt
2348
+ 𤮿,ngọt
2349
+ 𤯆,ngon
2350
+ 𤯊,chè
2351
+ 𤯑,lắm
2352
+ 𤯨,sống
2353
+ 𤯩,sống
2354
+ 𤯭,sánh
2355
+ 𤯰,đẻ
2356
+ 𤯱,gã
2357
+ 𤯳,
2358
+ 𤯶,cữ
2359
+ 𤯺,siêng
2360
+ 𤯿,đẻ
2361
+ 𤰁,cữ
2362
+ 𤰇,
2363
+ 𤰕,
2364
+ 𤱬,
2365
+ 𤲂,dưới
2366
+ 𤲌,ruộng
2367
+ 𤲼,dái
2368
+ 𤳄,bởi
2369
+ 𤳆,trai
2370
+ 𤳇,trai
2371
+ 𤳢,trống
2372
+ 𤳧,lạ
2373
+ 𤳨,rộc
2374
+ 𤳰,ve
2375
+ 𤳱,ruộng
2376
+ 𤳷,bởi
2377
+ 𤳸,bởi
2378
+ 𤳽,ruộng
2379
+ 𤴏,lạ
2380
+ 𤴔,
2381
+ 𤴬,đau
2382
+ 𤴭,bớt
2383
+ 𤴵,nhức
2384
+ 𤴶,sởi
2385
+ 𤵕,khờ
2386
+ 𤵖,vết
2387
+ 𤵚,
2388
+ 𤵪,sẹo
2389
+ 𤵳,bón
2390
+ 𤵴,sảy
2391
+ 𤵶,si
2392
+ 𤵺,dại
2393
+ 𤶄,nhặm
2394
+ 𤶎,chau
2395
+ 𤶏,choáng
2396
+ 𤶐,chồn
2397
+ 𤶑,nhăn
2398
+ 𤶒,ben
2399
+ 𤶸,
2400
+ 𤶹,guộc
2401
+ 𤶺,xoải
2402
+ 𤶻,nghén
2403
+ 𤶼,mâng
2404
+ 𤶽,mụt
2405
+ 𤶾,lằn
2406
+ 𤶿,hầu
2407
+ 𤷪,
2408
+ 𤷫,
2409
+ 𤷭,điếc
2410
+ 𤷮,váng
2411
+ 𤷯,loét
2412
+ 𤷰,bủng
2413
+ 𤷱,mòn
2414
+ 𤷲,sần
2415
+ 𤷳,nhom
2416
+ 𤷴,ê
2417
+ 𤷵,phờ
2418
+ 𤷶,bướu
2419
+ 𤸧,hoen
2420
+ 𤸨,xìu
2421
+ 𤸭,rồ
2422
+ 𤹐,
2423
+ 𤹑,rôm
2424
+ 𤹒,khừ
2425
+ 𤹓,quặn
2426
+ 𤹔,báng
2427
+ 𤹕,ươn
2428
+ 𤹖,hen
2429
+ 𤹗,ỏng
2430
+ 𤹘,nhọc
2431
+ 𤹙,chốc
2432
+ 𤹚,nhức
2433
+ 𤹼,bướu
2434
+ 𤹽,nốt
2435
+ 𤹾,hủi
2436
+ 𤹿,ngơ
2437
+ 𤺛,
2438
+ 𤺧,
2439
+ 𤺭,buốt
2440
+ 𤺮,gúa
2441
+ 𤺯,mụn
2442
+ 𤺰,khom
2443
+ 𤺱,nhèn
2444
+ 𤺲,sởn
2445
+ 𤺳,tê
2446
+ 𤺴,bướu
2447
+ 𤺵,ốm
2448
+ 𤺶,ngứa
2449
+ 𤻎,cúm
2450
+ 𤻏,hủi
2451
+ 𤻐,hom
2452
+ 𤻑,rêm
2453
+ 𤻒,toi
2454
+ 𤻓,gầy
2455
+ 𤻔,ngứa
2456
+ 𤻪,nhó
2457
+ 𤻫,nhối
2458
+ 𤻬,thượt
2459
+ 𤻭,ngứa
2460
+ 𤻳,luỗi
2461
+ 𤻻,mệt
2462
+ 𤻼,rỗ
2463
+ 𤻽,xải
2464
+ 𤻾,rạn
2465
+ 𤼓,rôm
2466
+ 𤼔,ngợm
2467
+ 𤼕,nhức
2468
+ 𤼞,gầy
2469
+ 𤼸,dâng
2470
+ 𤽀,trẻo
2471
+ 𤽗,ngươi
2472
+ 𤽴,hếu
2473
+ 𤽵,phau
2474
+ 𤽶,vía
2475
+ 𤽸,trắng
2476
+ 𤾓,trăm
2477
+ 𤾔,vang
2478
+ 𤾟,hớ
2479
+ 𤾯,mởn
2480
+ 𤾰,ngươi
2481
+ 𤾱,nhênh
2482
+ 𤾷,phếch
2483
+ 𤿂,
2484
+ 𤿍,vỏ
2485
+ 𤿤,bè
2486
+ 𤿦,da
2487
+ 𤿪,
2488
+ 𤿰,trống
2489
+ 𤿱,bịt
2490
+ 𥀌,giày
2491
+ 𥀪,ủng
2492
+ 𥀳,mo
2493
+ 𥁓,
2494
+ 𥁷,vịm
2495
+ 𥂉,trộm
2496
+ 𥂩,
2497
+ 𥃑,mâm
2498
+ 𥃚,mâm
2499
+ 𥃛,mâm
2500
+ 𥃞,hết
2501
+ 𥃱,nhắp
2502
+ 𥄫,mập
2503
+ 𥄬,ngủ
2504
+ 𥄭,ngó
2505
+ 𥄮,nhắm
2506
+ 𥄯,ngơm
2507
+ 𥄰,nhơn
2508
+ 𥅃,nhớn
2509
+ 𥅈,
2510
+ 𥅲,chau
2511
+ 𥅾,
2512
+ 𥅿,chợp
2513
+ 𥆀,giương
2514
+ 𥆁,liếc
2515
+ 𥆂,nhằm
2516
+ 𥆃,nhơ
2517
+ 𥆄,quáng
2518
+ 𥆹,ngớp
2519
+ 𥆺,dấu
2520
+ 𥆻,rử
2521
+ 𥆼,lé
2522
+ 𥆽,ngỏm
2523
+ 𥆾,nhìn
2524
+ 𥆿,quàu
2525
+ 𥇀,màng
2526
+ 𥇁,trố
2527
+ 𥇂,bét
2528
+ 𥇈,nhốn
2529
+ 𥇣,
2530
+ 𥇶,him
2531
+ 𥇷,nhòm
2532
+ 𥇸,nhác
2533
+ 𥇹,ngái
2534
+ 𥇺,trợn
2535
+ 𥇻,trố
2536
+ 𥇼,nhõi
2537
+ 𥇽,nhõ
2538
+ 𥈁,nghểnh
2539
+ 𥈢,mí
2540
+ 𥈭,ngác
2541
+ 𥈯,láy
2542
+ 𥈰,hóng
2543
+ 𥈱,nhìn
2544
+ 𥈲,ngấp
2545
+ 𥈳,chột
2546
+ 𥈴,ngước
2547
+ 𥈵,nhớn
2548
+ 𥈶,nom
2549
+ 𥈹,nhòm
2550
+ 𥈺,dòm
2551
+ 𥉩,trông
2552
+ 𥉪,háy
2553
+ 𥉫,trông
2554
+ 𥉬,lét
2555
+ 𥉭,trít
2556
+ 𥉮,sọc
2557
+ 𥉯,khoẻ
2558
+ 𥉲,trợn
2559
+ 𥊌,
2560
+ 𥊖,đui
2561
+ 𥊗,gượm
2562
+ 𥊘,ghé
2563
+ 𥊙,mòm
2564
+ 𥊚,mờ
2565
+ 𥊛,trông
2566
+ 𥊜,nguýt
2567
+ 𥊝,chớp
2568
+ 𥊞,quắc
2569
+ 𥊟,nhăn
2570
+ 𥊠,sòng
2571
+ 𥊡,nhỏn
2572
+ 𥊢,thẳng
2573
+ 𥊣,thẳng
2574
+ 𥊤,ngươi
2575
+ 𥊥,dòm
2576
+ 𥊦,mù
2577
+ 𥋇,
2578
+ 𥋒,tré
2579
+ 𥋓,ngoảnh
2580
+ 𥋔,trừng
2581
+ 𥋕,trộm
2582
+ 𥋘,
2583
+ 𥋲,lem
2584
+ 𥋳,coi
2585
+ 𥋴,ngắm
2586
+ 𥋵,him
2587
+ 𥋶,lấm
2588
+ 𥋷,liếc
2589
+ 𥋸,soi
2590
+ 𥋹,ngáy
2591
+ 𥋺,dòm
2592
+ 𥋼,gườm
2593
+ 𥋽,tráo
2594
+ 𥌎,nhó
2595
+ 𥌙,nhó
2596
+ 𥌥,khoé
2597
+ 𥌦,lén
2598
+ 𥌧,ló
2599
+ 𥌫,trợn
2600
+ 𥌬,nhìn
2601
+ 𥌷,hiếng
2602
+ 𥌸,dim
2603
+ 𥌹,ngắm
2604
+ 𥍍,lom
2605
+ 𥍎,ngóng
2606
+ 𥍑,ghẹo
2607
+ 𥍒,chăm
2608
+ 𥍖,trõm
2609
+ 𥍘,nheo
2610
+ 𥍛,ngom
2611
+ 𥎁,mềm
2612
+ 𥏋,tên
2613
+ 𥏌,tên
2614
+ 𥏍,tên
2615
+ 𥏿,vắn
2616
+ 𥐆,vắn
2617
+ 𥐇,ngắn
2618
+ 𥐈,số
2619
+ 𥐉,ngắn
2620
+ 𥐋,ngủi
2621
+ 𥐍,ngắn
2622
+ 𥐏,cộc
2623
+ 𥐐,ngủn
2624
+ 𥐒,cụt
2625
+ 𥐔,vắn
2626
+ 𥐦,dĩa
2627
+ 𥐧,lỏi
2628
+ 𥐨,đĩa
2629
+ 𥑂,chai
2630
+ 𥑃,bền
2631
+ 𥑠,cườm
2632
+ 𥑭,xách
2633
+ 𥑲,rắn
2634
+ 𥒃,đĩa
2635
+ 𥒅,gại
2636
+ 𥒐,
2637
+ 𥒥,đá
2638
+ 𥒦,đĩa
2639
+ 𥓄,mài
2640
+ 𥓅,vỡ
2641
+ 𥓉,sành
2642
+ 𥓳,bể
2643
+ 𥓴,mài
2644
+ 𥓵,đĩa
2645
+ 𥓶,vỡ
2646
+ 𥓷,canh
2647
+ 𥓸,sờm
2648
+ 𥓹,lỗi
2649
+ 𥔦,vôi
2650
+ 𥔧,chồng
2651
+ 𥔿,
2652
+ 𥕄,mài
2653
+ 𥕊,mảnh
2654
+ 𥕌,chởm
2655
+ 𥕥,gồ
2656
+ 𥖐,đọi
2657
+ 𥖑,vỡ
2658
+ 𥖒,quành
2659
+ 𥖓,vỡ
2660
+ 𥖔,sạn
2661
+ 𥖕,lở
2662
+ ���,vỡ
2663
+ 𥖩,cuội
2664
+ 𥖸,oè
2665
+ 𥖺,mẻ
2666
+ 𥗌,gạch
2667
+ 𥗍,rè
2668
+ 𥗎,ghề
2669
+ 𥗏,quánh
2670
+ 𥗐,sỏi
2671
+ 𥗜,chén
2672
+ 𥗨,nén
2673
+ 𥗩,gạch
2674
+ 𥗳,gạch
2675
+ 𥗹,tô
2676
+ 𥘀,nặng
2677
+ 𥘂,bến
2678
+ 𥘑,vạ
2679
+ 𥘪,ngó
2680
+ 𥘶,trẽ
2681
+ 𥘷,trẻ
2682
+ 𥙒,trẩy
2683
+ 𥙓,rúng
2684
+ 𥙧,nhẽ
2685
+ 𥙩,lấy
2686
+ 𥙪,rưỡi
2687
+ 𥚄,lạy
2688
+ 𥚅,nhễ
2689
+ 𥚆,nhìn
2690
+ 𥚇,lưỡi
2691
+ 𥚤,thờ
2692
+ 𥚥,lãi
2693
+ 𥚯,dễ
2694
+ 𥛉,lậy
2695
+ 𥛗,nhòm
2696
+ 𥛭,lẻ
2697
+ 𥜀,vải
2698
+ 𥜡,nhẽ
2699
+ 𥜤,rẻ
2700
+ 𥝎,gặt
2701
+ 𥝽,cấy
2702
+ 𥞖,giống
2703
+ 𥟈,thóc
2704
+ 𥟉,thóc
2705
+ 𥟊,ngô
2706
+ 𥟌,bông
2707
+ 𥟹,lụi
2708
+ 𥟼,bắp
2709
+ 𥠬,trấu
2710
+ 𥠭,giống
2711
+ 𥠮,rơm
2712
+ 𥠯,rơm
2713
+ 𥡗,má
2714
+ 𥡘,vựa
2715
+ 𥢂,mạ
2716
+ 𥢃,nành
2717
+ 𥢄,mấm
2718
+ 𥢅,riêng
2719
+ 𥢆,riêng
2720
+ 𥢉,thóc
2721
+ 𥢫,gặt
2722
+ 𥢬,vè
2723
+ 𥢳,chứa
2724
+ 𥣐,vừng
2725
+ 𥣑,trồng
2726
+ 𥣒,giỗ
2727
+ 𥣽,chuỗi
2728
+ 𥤛,
2729
+ 𥧎,hang
2730
+ 𥧩,núp
2731
+ 𥧪,rỗng
2732
+ 𥧹,
2733
+ 𥨋,lủng
2734
+ 𥨧,xó
2735
+ 𥨨,trống
2736
+ 𥩇,hoắm
2737
+ 𥩉,chui
2738
+ 𥩍,xỏ
2739
+ 𥩯,dựng
2740
+ 𥩰,sập
2741
+ 𥪅,xòi
2742
+ 𥪕,
2743
+ 𥪝,trong
2744
+ 𥪞,trong
2745
+ 𥪸,đứng
2746
+ 𥫌,trỗi
2747
+ 𥫗,
2748
+ 𥫣,
2749
+ 𥫭,nứa
2750
+ 𥬊,cần
2751
+ 𥬋,sề
2752
+ 𥬧,chòm
2753
+ 𥬨,khau
2754
+ 𥬩,nia
2755
+ 𥭍,dằm
2756
+ 𥭎,măng
2757
+ 𥭏,mấu
2758
+ 𥭵,nả
2759
+ 𥭶,măng
2760
+ 𥮇,bương
2761
+ 𥮈,hum
2762
+ 𥮉,bu
2763
+ 𥮊,đũa
2764
+ 𥮋,thẻ
2765
+ 𥯇,rổ
2766
+ 𥯈,ván
2767
+ 𥯉,đó
2768
+ 𥯊,rá
2769
+ 𥯋,mành
2770
+ 𥯌,tre
2771
+ 𥯍,mui
2772
+ 𥯎,xóm
2773
+ 𥯏,cổng
2774
+ 𥯒,tơi
2775
+ 𥯓,trúm
2776
+ 𥯗,
2777
+ 𥰄,cảu
2778
+ 𥰆,rế
2779
+ 𥰇,kè
2780
+ 𥰈,siểng
2781
+ 𥰊,thấp
2782
+ 𥱪,cót
2783
+ 𥱫,sáo
2784
+ 𥱬,ghi
2785
+ 𥱭,giành
2786
+ 𥱮,nôi
2787
+ 𥱯,thời
2788
+ 𥱰,giò
2789
+ 𥱱,chòm
2790
+ 𥱲,kèn
2791
+ 𥱴,vó
2792
+ 𥳂,lược
2793
+ 𥳃,khại
2794
+ 𥳄,giần
2795
+ 𥳅,rá
2796
+ 𥴗,thúng
2797
+ 𥴘,mui
2798
+ 𥴙,dậu
2799
+ 𥴚,gầu
2800
+ 𥴛,chòi
2801
+ 𥴜,chiếu
2802
+ 𥴢,trĩ
2803
+ 𥵕,chiếu
2804
+ 𥵖,tơi
2805
+ 𥵗,hom
2806
+ 𥵘,rây
2807
+ 𥵙,giậu
2808
+ 𥵛,nong
2809
+ 𥵾,chõng
2810
+ 𥵿,mung
2811
+ 𥶀,thùng
2812
+ 𥶁,lạt
2813
+ 𥶂,gây
2814
+ 𥶃,mủng
2815
+ 𥶄,nón
2816
+ 𥶮,toi
2817
+ 𥶯,còi
2818
+ 𥶰,nừng
2819
+ 𥶱,phách
2820
+ 𥶲,chổi
2821
+ 𥶳,dằm
2822
+ 𥷒,lách
2823
+ 𥷓,nôi
2824
+ 𥷧,trạc
2825
+ 𥷺,mo
2826
+ 𥷻,mây
2827
+ 𥸁,
2828
+ 𥸄,giậm
2829
+ 𥸆,liếp
2830
+ 𥸍,siểng
2831
+ 𥸒,nẳn
2832
+ 𥸓,níp
2833
+ 𥸝,trúm
2834
+ 𥸠,thẻ
2835
+ 𥸷,xôi
2836
+ 𥸿,bả
2837
+ 𥹀,tấm
2838
+ 𥹘,bánh
2839
+ 𥹙,cháo
2840
+ 𥹞,dại
2841
+ 𥹯,dồi
2842
+ 𥹰,lâu
2843
+ 𥺆,sền
2844
+ 𥺎,bổi
2845
+ 𥺏,xôi
2846
+ 𥺐,thính
2847
+ 𥺑,tấm
2848
+ 𥺒,thính
2849
+ 𥺓,lớ
2850
+ 𥺔,xôi
2851
+ 𥺕,bã
2852
+ 𥺖,bã
2853
+ 𥺹,oản
2854
+ 𥺺,xệp
2855
+ 𥺻,cốm
2856
+ 𥺽,suông
2857
+ 𥺾,khằn
2858
+ 𥺿,ỉa
2859
+ 𥻙,mẻ
2860
+ 𥻚,
2861
+ 𥻠,dẻo
2862
+ 𥻡,mày
2863
+ 𥻢,thính
2864
+ 𥻣,dầy
2865
+ 𥻸,bún
2866
+ 𥻹,chè
2867
+ 𥻺,khê
2868
+ 𥻻,nếp
2869
+ 𥻼,ú
2870
+ 𥻽,cứt
2871
+ 𥼕,lép
2872
+ 𥼖,mẳn
2873
+ 𥼱,kẹo
2874
+ 𥼲,hẩm
2875
+ 𥼳,ú
2876
+ 𥽄,thúng
2877
+ 𥽇,cám
2878
+ 𥽌,gạo
2879
+ 𥽍,cốm
2880
+ 𥽎,hèm
2881
+ 𥽔,men
2882
+ 𥽡,phân
2883
+ 𥽢,phèn
2884
+ 𥽤,xia
2885
+ 𥽩,xầy
2886
+ 𥽪,đúc
2887
+ 𥽵,nhão
2888
+ 𥾃,men
2889
+ 𥾗,díu
2890
+ 𥾘,Sợi
2891
+ 𥾵,phảng
2892
+ 𥾽,bền
2893
+ 𥾾,buộc
2894
+ 𥾿,ngó
2895
+ 𥿀,vít
2896
+ 𥿁,vương
2897
+ 𥿂,tim
2898
+ 𥿗,giấy
2899
+ 𥿠,bủa
2900
+ 𥿡,nỉ
2901
+ 𥿣,chão
2902
+ 𥿤,khâu
2903
+ 𥿥,sợi
2904
+ 𦀅,niền
2905
+ 𦀊,dai
2906
+ 𦀋,buông
2907
+ 𦀌,nhợ
2908
+ 𦀍,rách
2909
+ 𦀎,riết
2910
+ 𦀏,thùa
2911
+ 𦀐,chằng
2912
+ 𦀑,trói
2913
+ 𦀗,xích
2914
+ 𦀚,giềng
2915
+ 𦀪,vá
2916
+ 𦀫,yếm
2917
+ 𦀴,mạng
2918
+ 𦀵,chuỗi
2919
+ 𦀹,thun
2920
+ 𦀺,xe
2921
+ 𦀻,cửi
2922
+ 𦀼,nối
2923
+ 𦀽,kéo
2924
+ 𦀾,ràng
2925
+ 𦀿,vải
2926
+ 𦁀,bối
2927
+ 𦁁,nuộc
2928
+ 𦁂,bận
2929
+ 𦁅,sô
2930
+ 𦁢,chằng
2931
+ 𦁣,go
2932
+ 𦁸,mạng
2933
+ 𦁹,rớ
2934
+ 𦁺,món
2935
+ 𦁻,nịt
2936
+ 𦁼,may
2937
+ 𦁽,vướng
2938
+ 𦁾,ửng
2939
+ 𦁿,gò
2940
+ 𦂁,đỏi
2941
+ 𦂛,the
2942
+ 𦂥,
2943
+ 𦂺,ươm
2944
+ 𦂻,luốt
2945
+ 𦂼,giậm
2946
+ 𦂽,đột
2947
+ 𦂾,dệt
2948
+ 𦂿,buộc
2949
+ 𦃀,chải
2950
+ 𦃐,tao
2951
+ 𦃮,gai
2952
+ 𦃯,tói
2953
+ 𦃾,lượt
2954
+ 𦃿,vải
2955
+ 𦄀,mã
2956
+ 𦄁,thùn
2957
+ 𦄃,chít
2958
+ 𦄄,quấn
2959
+ 𦄅,dệt
2960
+ 𦄆,may
2961
+ 𦄇,nịt
2962
+ 𦄈,xuyến
2963
+ 𦄞,vấn
2964
+ 𦄠,nút
2965
+ 𦄣,cuộn
2966
+ 𦄴,chài
2967
+ 𦄵,dứt
2968
+ 𦄶,rìa
2969
+ 𦄷,thòng
2970
+ 𦄸,xụng
2971
+ 𦄹,chão
2972
+ 𦄺,rắng
2973
+ 𦄻,quắn
2974
+ 𦄾,vóc
2975
+ 𦅭,đũi
2976
+ 𦅮,tàn
2977
+ 𦅯,nhẳng
2978
+ 𦅰,đùm
2979
+ 𦅱,thùa
2980
+ 𦅲,vợt
2981
+ 𦅴,vở
2982
+ 𦆙,sồi
2983
+ 𦆚,néo
2984
+ 𦆯,
2985
+ 𦆹,đũi
2986
+ 𦆺,lĩnh
2987
+ 𦇇,nhão
2988
+ 𦇒,rối
2989
+ 𦇮,chùng
2990
+ 𦈂,nhàu
2991
+ 𦈽,chậu
2992
+ 𦉘,
2993
+ 𦉱,bảy
2994
+ 𦊙,
2995
+ 𦊚,bốn
2996
+ 𦊛,tư
2997
+ 𦊟,
2998
+ 𦋕,bẫy
2999
+ 𦋦,ra
3000
+ 𦍉,lạ
3001
+ 𦍋,
3002
+ 𦍑,
3003
+ 𦍛,dáng
3004
+ 𦎍,giòn
3005
+ 𦎛,gương
3006
+ 𦎡,xinh
3007
+ 𦎬,tanh
3008
+ 𦏄,đỏm
3009
+ 𦏒,miều
3010
+ 𦏓,bọn
3011
+ 𦑃,cánh
3012
+ 𦑅,lượn
3013
+ 𦑗,quạt
3014
+ 𦒮,lông
3015
+ 𦒵,khụ
3016
+ 𦒷,
3017
+ 𦒹,sáu
3018
+ 𦓅,già
3019
+ 𦓇,khụ
3020
+ 𦓉,lụ
3021
+ 𦓊,cỗi
3022
+ 𦓜,lẫu
3023
+ 𦓡,mà
3024
+ 𦓿,cầy
3025
+ 𦔙,cấy
3026
+ 𦕃,
3027
+ 𦕈,
3028
+ 𦕟,vểnh
3029
+ 𦕳,lảu
3030
+ 𦖇,bịt
3031
+ 𦖑,nghe
3032
+ 𦖡,điếc
3033
+ 𦖻,tai
3034
+ 𦗏,lắng
3035
+ 𦗝,lỏm
3036
+ 𦗞,ghé
3037
+ 𦗽,điếc
3038
+ 𦘧,vẽ
3039
+ 𦘱,vóc
3040
+ 𦙏,ngực
3041
+ 𦙣,mọc
3042
+ 𦙤,mào
3043
+ 𦙥,họng
3044
+ 𦙦,tim
3045
+ 𦚔,chạo
3046
+ 𦚕,cằm
3047
+ 𦚖,mập
3048
+ 𦚗,tóp
3049
+ 𦚭,truồng
3050
+ 𦛉,đéo
3051
+ 𦛊,chồn
3052
+ 𦛋,gật
3053
+ 𦛌,ruột
3054
+ 𦛍,tái
3055
+ 𦛺,bét
3056
+ 𦛻,thộn
3057
+ 𦛼,bênh
3058
+ 𦛽,ngóm
3059
+ 𦛾,nục
3060
+ 𦛿,mang
3061
+ 𦜀,phị
3062
+ 𦜘,vú
3063
+ 𦜞,rốn
3064
+ 𦝂,đít
3065
+ 𦝃,ròm
3066
+ 𦝄,răng
3067
+ 𦝅,phễn
3068
+ 𦝆,sần
3069
+ 𦝇,đít
3070
+ 𦝈,ngắc
3071
+ 𦝉,đẻ
3072
+ 𦝊,trôn
3073
+ 𦝋,mụn
3074
+ 𦝌,mép
3075
+ 𦝍,sần
3076
+ 𦝎,phốp
3077
+ 𦝡,
3078
+ 𦝹,lườn
3079
+ 𦝺,mẩy
3080
+ 𦞍,cáy
3081
+ 𦞎,nghén
3082
+ 𦞏,ôi
3083
+ 𦞐,ngực
3084
+ 𦞑,vòi
3085
+ 𦞒,đẫy
3086
+ 𦞓,phay
3087
+ 𦞔,hoẳn
3088
+ 𦟉,còm
3089
+ 𦟊,phổi
3090
+ 𦟋,bọ
3091
+ 𦟌,
3092
+ 𦟍,gây
3093
+ 𦟎,sươi
3094
+ 𦟏,khu
3095
+ 𦟐,má
3096
+ 𦟑,iả
3097
+ 𦟒,giòn
3098
+ 𦟖,mỡ
3099
+ 𦟗,nem
3100
+ 𦟪,lườn
3101
+ 𦟵,bệu
3102
+ ����,nem
3103
+ 𦟷,bòi
3104
+ 𦟸,nách
3105
+ 𦟹,lồn
3106
+ 𦟺,ngoải
3107
+ 𦟻,nạc
3108
+ 𦟼,bế
3109
+ 𦟽,mật
3110
+ 𦟾,khù
3111
+ 𦟿,đùi
3112
+ 𦠘,vai
3113
+ 𦠯,nhờn
3114
+ 𦠰,vác
3115
+ 𦠱,phét
3116
+ 𦠲,ú
3117
+ 𦠳,sườn
3118
+ 𦠴,cằm
3119
+ 𦠵,rọi
3120
+ 𦠶,seo
3121
+ 𦠽,vòi
3122
+ 𦡋,rốn
3123
+ 𦡞,ngấm
3124
+ 𦡟,lưng
3125
+ 𦡠,sống
3126
+ 𦡡,ngậy
3127
+ 𦡢,rau
3128
+ 𦡣,bầm
3129
+ 𦡤,chũn
3130
+ 𦡥,nách
3131
+ 𦡦,dỏng
3132
+ 𦡬,cằm
3133
+ 𦡮,phổi
3134
+ 𦡯,đít
3135
+ 𦡶,lọm
3136
+ 𦢄,buồi
3137
+ 𦢉,mật
3138
+ 𦢓,
3139
+ 𦢞,chó
3140
+ 𦢟,phịch
3141
+ 𦢠,răng
3142
+ 𦢡,nóc
3143
+ 𦢢,nóc
3144
+ 𦢳,vai
3145
+ 𦢴,lột
3146
+ 𦢵,rõm
3147
+ 𦢶,đùi
3148
+ 𦢷,má
3149
+ 𦢾,gáy
3150
+ 𦣎,nân
3151
+ 𦣕,phèo
3152
+ 𦣗,nhau
3153
+ 𦣙,nấng
3154
+ 𦣝,
3155
+ 𦣞,
3156
+ 𦣰,nằm
3157
+ 𦣱,
3158
+ 𦤠,hôi
3159
+ 𦤭,lẹt
3160
+ 𦤮,thối
3161
+ 𦤯,khắm
3162
+ 𦤰,thủm
3163
+ 𦤱,khẳn
3164
+ 𦤾,đến
3165
+ 𦥃,đến
3166
+ 𦥇,
3167
+ 𦥛,
3168
+ 𦧃,lâu
3169
+ 𦧜,lưỡi
3170
+ 𦧲,
3171
+ 𦧷,liếm
3172
+ 𦧺,
3173
+ 𦧽,lưỡi
3174
+ 𦨂,múa
3175
+ 𦨑,chài
3176
+ 𦨻,khoang
3177
+ 𦩚,mui
3178
+ 𦩛,gụ
3179
+ 𦩰,xuồng
3180
+ 𦩳,giã
3181
+ 𦪂,đò
3182
+ 𦪃,sõng
3183
+ 𦪏,thong
3184
+ 𦪐,sõng
3185
+ 𦪦,xưởng
3186
+ 𦪨,trẩy
3187
+ 𦪵,ghe
3188
+ 𦪻,khoang
3189
+ 𦪼,ghe
3190
+ 𦫘,bợt
3191
+ 𦬑,nở
3192
+ 𦬶,ngò
3193
+ 𦭦,trổ
3194
+ 𦭧,túp
3195
+ 𦭪,húng
3196
+ 𦮲,rễ
3197
+ 𦮴,nen
3198
+ 𦰟,ngọn
3199
+ 𦰠,óng
3200
+ 𦰢,nưa
3201
+ 𦰣,đay
3202
+ 𦰤,lau
3203
+ 𦰦,cải
3204
+ 𦰩,
3205
+ 𦲒,nhài
3206
+ 𦲵,chênh
3207
+ 𦲹,rạ
3208
+ 𦲺,sả
3209
+ 𦲻,rơm
3210
+ 𦲼,ngó
3211
+ 𦲾,mướp
3212
+ 𦲿,lá
3213
+ 𦳙,tré
3214
+ 𦴋,mống
3215
+ 𦵏,
3216
+ 𦵗,ké
3217
+ 𦵘,sả
3218
+ 𦵙,nhựa
3219
+ 𦵚,nụ
3220
+ 𦵛,đốt
3221
+ 𦵜,ráy
3222
+ 𦵠,hẹ
3223
+ 𦷨,chè
3224
+ 𦷩,bốm
3225
+ 𦷫,hái
3226
+ 𦷬,bí
3227
+ 𦷭,cói
3228
+ 𦷮,ngổ
3229
+ 𦷯,mài
3230
+ 𦷾,đấy
3231
+ 𦹯,cỏ
3232
+ 𦹰,mầm
3233
+ 𦹱,gừng
3234
+ 𦹳,thơm
3235
+ 𦹴,bìm
3236
+ 𦹵,cỏ
3237
+ 𦹶,vối
3238
+ 𦹷,bụi
3239
+ 𦹸,dền
3240
+ 𦹹,nhài
3241
+ 𦹺,rác
3242
+ 𦹻,dâm
3243
+ 𦻐,
3244
+ 𦼃,sắng
3245
+ 𦼔,lều
3246
+ 𦼚,lùm
3247
+ 𦼛,sắn
3248
+ 𦼜,sắn
3249
+ 𦼝,nẫu
3250
+ 𦼞,dưa
3251
+ 𦼟,khay
3252
+ 𦼠,súng
3253
+ 𦼥,dứa
3254
+ 𦼨,cũ
3255
+ 𦼯,
3256
+ 𦽰,tranh
3257
+ 𦾠,dưa
3258
+ 𦾢,rậm
3259
+ 𦾣,chồi
3260
+ 𦾤,dó
3261
+ 𦾥,vừng
3262
+ 𧀏,súng
3263
+ 𧀐,gồi
3264
+ 𧀑,giống
3265
+ 𧀒,non
3266
+ 𧀓,rú
3267
+ 𧀜,sam
3268
+ 𧀞,trái
3269
+ 𧀟,đầy
3270
+ 𧁴,ghém
3271
+ 𧁵,vỏ
3272
+ 𧁶,giền
3273
+ 𧁷,khó
3274
+ 𧁸,vừng
3275
+ 𧁹,khó
3276
+ 𧁺,rườm
3277
+ 𧃋,dưa
3278
+ 𧃌,rạp
3279
+ 𧃵,đắng
3280
+ 𧃶,muống
3281
+ 𧃷,khoai
3282
+ 𧃽,ứng
3283
+ 𧄈,rêu
3284
+ 𧄊,han
3285
+ 𧄲,mo
3286
+ 𧄳,kiệu
3287
+ 𧄴,ngồng
3288
+ 𧄵,rạp
3289
+ 𧅕,rạp
3290
+ 𧅫,rác
3291
+ 𧅬,men
3292
+ 𧅭,muống
3293
+ 𧆄,thuốc
3294
+ 𧆲,
3295
+ 𧈣,nái
3296
+ 𧉙,trùn
3297
+ 𧉚,vắt
3298
+ 𧉝,cáy
3299
+ 𧉻,bạng
3300
+ 𧊉,bướm
3301
+ 𧊊,nhộng
3302
+ 𧊋,thằn
3303
+ 𧊌,chão
3304
+ 𧊎,vắt
3305
+ 𧊐,trút
3306
+ 𧊵,
3307
+ 𧊶,
3308
+ 𧋀,chấu
3309
+ 𧋁,nhái
3310
+ 𧋂,vò
3311
+ 𧋃,chuồn
3312
+ 𧋄,còng
3313
+ 𧋅,rận
3314
+ 𧋆,dòi
3315
+ 𧋇,chạch
3316
+ 𧋟,mối
3317
+ 𧋦,
3318
+ 𧋵,cuống
3319
+ 𧋶,mọt
3320
+ 𧋷,ghẹ
3321
+ 𧋸,trạnh
3322
+ 𧋹,giời
3323
+ 𧋺,chấy
3324
+ 𧋻,lằn
3325
+ 𧋼,nhộng
3326
+ 𧋽,mang
3327
+ 𧋾,ộp
3328
+ 𧋿,khoải
3329
+ 𧌀,thằn
3330
+ 𧌂,bọ
3331
+ 𧍅,sứa
3332
+ 𧍆,cua
3333
+ 𧍇,sứa
3334
+ 𧍈,đóm
3335
+ 𧍉,đỉa
3336
+ 𧍊,giời
3337
+ 𧍋,ngài
3338
+ 𧍌,chẫu
3339
+ 𧍍,rầy
3340
+ 𧍎,hôn
3341
+ 𧍏,cua
3342
+ 𧍐,rầy
3343
+ 𧎛,đọt
3344
+ 𧎜,ốc
3345
+ 𧎝,chấu
3346
+ 𧎠,rận
3347
+ 𧏯,nhúc
3348
+ 𧏰,sam
3349
+ 𧏱,đóm
3350
+ 𧏲,rết
3351
+ 𧏳,bọ
3352
+ 𧏴,choi
3353
+ 𧏵,rồng
3354
+ 𧏶,rận
3355
+ 𧏷,nhúc
3356
+ 𧐸,điu
3357
+ 𧐹,dời
3358
+ 𧐺,thuồng
3359
+ 𧐻,nhồi
3360
+ 𧐼,chẫu
3361
+ 𧐽,róm
3362
+ 𧐾,bọ
3363
+ 𧐿,sùng
3364
+ 𧑁,sam
3365
+ 𧑂,cáy
3366
+ 𧑃,ngao
3367
+ 𧑄,
3368
+ 𧑅,vét
3369
+ 𧒅,bướm
3370
+ 𧒇,sâu
3371
+ 𧒉,rùa
3372
+ 𧒊,ráy
3373
+ 𧒋,rọm
3374
+ 𧒌,rùa
3375
+ 𧒍,rùa
3376
+ 𧓅,nòng
3377
+ 𧓆,chuồn
3378
+ 𧓇,riện
3379
+ 𧓍,
3380
+ 𧓭,mèn
3381
+ 𧓮,vích
3382
+ 𧓯,ngoé
3383
+ 𧓰,sam
3384
+ 𧔙,bậu
3385
+ 𧔚,còng
3386
+ 𧔛,nhặng
3387
+ 𧔜,rạm
3388
+ 𧔾,giòi
3389
+ 𧔿,điu
3390
+ 𧕀,vích
3391
+ 𧕏,
3392
+ 𧕚,trai
3393
+ 𧕬,rẽ
3394
+ 𧕭,rạm
3395
+ 𧖃,hến
3396
+ 𧖐,róm
3397
+ 𧖦,mọi
3398
+ 𧖰,máu
3399
+ 𧖱,máu
3400
+ 𧗅,mủ
3401
+ 𧗗,
3402
+ 𧗷,
3403
+ 𧘇,ấy
3404
+ 𧘸,xòn
3405
+ 𧘹,
3406
+ 𧙻,lốt
3407
+ 𧙼,rách
3408
+ 𧙽,truồng
3409
+ 𧚔,
3410
+ 𧚟,váy
3411
+ 𧚠,sống
3412
+ 𧚢,xống
3413
+ 𧛆,đụp
3414
+ 𧛇,tràng
3415
+ 𧛈,lụn
3416
+ 𧛉,may
3417
+ 𧛊,rách
3418
+ 𧛋,nệm
3419
+ 𧛌,vạt
3420
+ 𧛶,đãy
3421
+ 𧛷,tơi
3422
+ 𧜀,
3423
+ 𧜐,trễ
3424
+ 𧜖,chăn
3425
+ 𧜗,mớ
3426
+ 𧜘,viền
3427
+ 𧜙,xống
3428
+ 𧜹,xười
3429
+ 𧜺,bâu
3430
+ 𧜻,đũng
3431
+ 𧝞,
3432
+ 𧝦,rách
3433
+ 𧝧,chẻn
3434
+ 𧝨,chéo
3435
+ 𧝩,toàng
3436
+ 𧞊,dải
3437
+ 𧞋,rèm
3438
+ 𧞤,toạc
3439
+ 𧞥,nòi
3440
+ 𧞴,địu
3441
+ 𧞾,mặc
3442
+ 𧞿,rách
3443
+ 𧟀,chẽn
3444
+ 𧟁,viền
3445
+ 𧟝,vạt
3446
+ 𧠅,úp
3447
+ 𧡊,thấy
3448
+ 𧡝,
3449
+ 𧢑,dớn
3450
+ 𧢟,nghiến
3451
+ 𧣈,
3452
+ 𧣠,chánh
3453
+ 𧣧,dia
3454
+ 𧣲,cạnh
3455
+ 𧣳,góc
3456
+ 𧣴,
3457
+ 𧤁,sừng
3458
+ 𧤂,sừng
3459
+ 𧤥,kèn
3460
+ 𧤭,ba
3461
+ 𧤸,mám
3462
+ 𧤹,thoi
3463
+ 𧥃,chọi
3464
+ 𧥇,còi
3465
+ 𧥔,va
3466
+ 𧦔,ghế
3467
+ 𧦕,kể
3468
+ 𧦖,đồn
3469
+ 𧦠,
3470
+ 𧦿,béng
3471
+ 𧧀,ngoa
3472
+ 𧧯,khoang
3473
+ 𧫼,mơ
3474
+ 𧯄,hang
3475
+ 𧯅,hang
3476
+ 𧯵,phộng
3477
+ 𧯶,há
3478
+ 𧰗,nành
3479
+ 𧰜,chòng
3480
+ 𧰦,ụt
3481
+ 𧰧,
3482
+ 𧰼,
3483
+ 𧱺,ỷ
3484
+ 𧲫,cọp
3485
+ 𧲼,beo
3486
+ 𧳇,cọp
3487
+ 𧳘,hùm
3488
+ 𧴋,beo
3489
+ 𧴱,nợ
3490
+ 𧵆,gần
3491
+ 𧵟,quà
3492
+ 𧶫,biếu
3493
+ 𧶬,đắt
3494
+ 𧶭,buôn
3495
+ 𧶮,của
3496
+ 𧶯,cõng
3497
+ 𧷇,
3498
+ 𧷝,xoe
3499
+ 𧷸,mua
3500
+ 𧷹,tậu
3501
+ 𧷺,tròn
3502
+ 𧸒,vủi
3503
+ 𧸓,chứa
3504
+ 𧸝,bán
3505
+ 𧸰,khềnh
3506
+ 𧸺,còng
3507
+ 𧸻,búi
3508
+ 𧹅,nghèo
3509
+ 𧹋,vay
3510
+ 𧹟,đà
3511
+ 𧹥,đỏ
3512
+ 𧹦,đỏ
3513
+ 𧹪,son
3514
+ 𧹫,lòm
3515
+ 𧹰,hường
3516
+ 𧹱,thắm
3517
+ 𧹻,đỏ
3518
+ 𧹼,đỏ
3519
+ 𧹿,tím
3520
+ 𧺀,thắm
3521
+ 𧺁,thắm
3522
+ 𧺂,đổ
3523
+ 𧺃,đỏ
3524
+ 𧺉,
3525
+ 𧺕,rượt
3526
+ 𧻐,đuổi
3527
+ 𧻩,rảo
3528
+ 𧻪,nhông
3529
+ 𧻭,dậy
3530
+ 𧼋,chạy
3531
+ 𧼌,chạy
3532
+ 𧼍,lanh
3533
+ 𧽇,dấy
3534
+ 𧽈,dấy
3535
+ 𧾌,trốn
3536
+ 𧾷,
3537
+ 𧾿,tréo
3538
+ 𧿐,chen
3539
+ 𧿑,nhắc
3540
+ 𧿬,nhón
3541
+ 𧿭,vết
3542
+ 𨀈,bước
3543
+ 𨀊,dậng
3544
+ 𨀋,sẩy
3545
+ 𨀌,lánh
3546
+ 𨀍,dùng
3547
+ 𨀎,lộp
3548
+ 𨀏,đến
3549
+ 𨀐,rong
3550
+ 𨀑,ngoáy
3551
+ 𨀒,vó
3552
+ 𨀣,
3553
+ 𨀰,băng
3554
+ 𨀹,giạng
3555
+ 𨀺,lết
3556
+ 𨀻,nhòng
3557
+ 𨀼,rảo
3558
+ 𨀽,ríu
3559
+ 𨀾,nhỡ
3560
+ 𨀿,cẳng
3561
+ 𨁘,choải
3562
+ 𨁝,buột
3563
+ 𨁥,đủ
3564
+ 𨁦,lõng
3565
+ 𨁧,noi
3566
+ 𨁨,cuống
3567
+ 𨁩,bả
3568
+ 𨁪,dấu
3569
+ 𨁫,lỉa
3570
+ 𨁬,duỗi
3571
+ 𨁭,rảo
3572
+ 𨁮,lần
3573
+ 𨁯,xếch
3574
+ 𨁰,xụi
3575
+ 𨁱,vã
3576
+ 𨁲,ập
3577
+ 𨁼,bon
3578
+ 𨂔,dọc
3579
+ 𨂕,lồm
3580
+ 𨂖,khập
3581
+ 𨂗,co
3582
+ 𨂘,rầm
3583
+ 𨂙,ghềnh
3584
+ 𨂚,rón
3585
+ 𨂼,rẽ
3586
+ 𨂽,
3587
+ 𨂾,
3588
+ 𨃈,cẳng
3589
+ 𨃉,giãy
3590
+ 𨃊,nhổm
3591
+ 𨃋,ríu
3592
+ 𨃌,giày
3593
+ 𨃍,tọt
3594
+ 𨃎,lồm
3595
+ 𨃏,xăm
3596
+ 𨃐,giày
3597
+ 𨃑,khoèo
3598
+ 𨃩,
3599
+ 𨃫,nhảo
3600
+ 𨃴,gót
3601
+ 𨃵,chỗm
3602
+ 𨃶,ghếch
3603
+ 𨃷,chúc
3604
+ 𨃸,xông
3605
+ 𨃹,lảng
3606
+ 𨃺,nập
3607
+ 𨃻,lết
3608
+ 𨃼,tọ
3609
+ 𨃽,nhúc
3610
+ 𨃾,xửng
3611
+ 𨄁,đâm
3612
+ 𨄂,lứng
3613
+ 𨄑,bậc
3614
+ 𨄞,chóng
3615
+ 𨄟,đùi
3616
+ 𨄠,tắt
3617
+ 𨄳,bò
3618
+ 𨄴,sụp
3619
+ 𨄵,sạo
3620
+ 𨄶,dạng
3621
+ 𨄷,sững
3622
+ 𨄸,đỉnh
3623
+ 𨄹,dạo
3624
+ 𨄺,chui
3625
+ 𨄻,dận
3626
+ 𨄼,dời
3627
+ 𨄽,hổm
3628
+ 𨄾,ghé
3629
+ 𨄿,giong
3630
+ 𨅀,lệp
3631
+ 𨅁,sụp
3632
+ 𨅂,mọp
3633
+ 𨅃,xồng
3634
+ 𨅄,nhón
3635
+ 𨅇,tòi
3636
+ 𨅉,lửng
3637
+ 𨅐,què
3638
+ 𨅞,nhấp
3639
+ 𨅥,bay
3640
+ 𨅮,đua
3641
+ 𨅰,chững
3642
+ 𨅷,dọi
3643
+ 𨅸,đứng
3644
+ 𨅹,trèo
3645
+ 𨅺,chổm
3646
+ 𨅻,khèo
3647
+ 𨅼,láy
3648
+ 𨅽,lòn
3649
+ 𨅾,sụm
3650
+ 𨅿,vượt
3651
+ 𨆒,choạng
3652
+ 𨆓,cầm
3653
+ 𨆝,cúi
3654
+ 𨆞,lỏng
3655
+ 𨆟,đủng
3656
+ 𨆠,quày
3657
+ 𨆡,dép
3658
+ 𨆢,lôi
3659
+ 𨆣,vợn
3660
+ 𨆤,quằn
3661
+ 𨆥,tuốn
3662
+ 𨆯,
3663
+ 𨆶,bò
3664
+ 𨆷,đuổi
3665
+ 𨆸,ngoèn
3666
+ 𨆹,giạt
3667
+ 𨆺,vêu
3668
+ 𨆿,gác
3669
+ 𨇀,khiễng
3670
+ 𨇉,leo
3671
+ 𨇑,bải
3672
+ 𨇒,lủi
3673
+ 𨇓,gượm
3674
+ 𨇛,đủ
3675
+ 𨇜,đủ
3676
+ 𨇣,lôm
3677
+ 𨇬,sóm
3678
+ 𨇵,nhào
3679
+ 𨇶,khụy
3680
+ 𨇷,ngoẹo
3681
+ 𨇸,chồm
3682
+ 𨇹,ống
3683
+ 𨈇,
3684
+ 𨈒,vóc
3685
+ 𨉑,rình
3686
+ 𨉓,mình
3687
+ 𨉞,lưng
3688
+ 𨉟,mình
3689
+ 𨉠,bắn
3690
+ 𨉼,
3691
+ 𨊋,mẩy
3692
+ 𨊌,lăn
3693
+ 𨋌,
3694
+ 𨋍,
3695
+ 𨋢,
3696
+ 𨋣,bánh
3697
+ 𨋤,so
3698
+ 𨌀,nhẹ
3699
+ 𨍄,cộ
3700
+ 𨍦,sau
3701
+ 𨎆,so
3702
+ 𨎞,ngáo
3703
+ 𨎟,trước
3704
+ 𨎠,trước
3705
+ 𨏄,nhẹ
3706
+ 𨏧,so
3707
+ 𨐮,cay
3708
+ 𨐷,chát
3709
+ 𨐸,đắng
3710
+ 𨐺,nồng
3711
+ 𨐿,chát
3712
+ 𨑗,trên
3713
+ 𨑮,mười
3714
+ 𨑻,đem
3715
+ 𨒒,mười
3716
+ 𨒟,đong
3717
+ 𨒸,chuồn
3718
+ 𨒹,bạch
3719
+ 𨒺,quanh
3720
+ 𨒻,đuổi
3721
+ 𨓐,lạ
3722
+ 𨓑,nghểnh
3723
+ 𨓡,lùng
3724
+ 𨓢,ngót
3725
+ 𨔈,chơi
3726
+ 𨔉,gỡ
3727
+ 𨔊,suốt
3728
+ 𨔌,co
3729
+ 𨔍,lạ
3730
+ 𨔾,chở
3731
+ 𨔿,chục
3732
+ 𨕀,địt
3733
+ 𨕭,trên
3734
+ 𨖅,sang
3735
+ 𨖧,mau
3736
+ 𨖨,rời
3737
+ 𨖩,quýnh
3738
+ 𨖲,lên
3739
+ 𨗉,
3740
+ 𨗊,đò
3741
+ 𨗛,chầu
3742
+ 𨗜,nhanh
3743
+ 𨗮,mặn
3744
+ 𨗵,địt
3745
+ 𨘗,đuổi
3746
+ 𨘘,vã
3747
+ 𨘱,nhanh
3748
+ 𨙌,tít
3749
+ 𨙍,kéo
3750
+ 𨙖,suốt
3751
+ 𨙛,chóng
3752
+ 𨙝,lui
3753
+ 𨙥,xoảng
3754
+ 𨛦,quẩn
3755
+ 𨠉,tăm
3756
+ 𨠣,chuếnh
3757
+ 𨠲,giấm
3758
+ 𨠳,gây
3759
+ 𨠴,sưa
3760
+ 𨠵,xoàng
3761
+ 𨡈,choáng
3762
+ 𨡉,dấm
3763
+ 𨡊,miệt
3764
+ 𨡧,choạng
3765
+ 𨡨,gây
3766
+ 𨡼,giấm
3767
+ 𨢟,cay
3768
+ 𨢻,miền
3769
+ 𨢼,mến
3770
+ 𨣤,giấm
3771
+ 𨣥,dấu
3772
+ 𨤔,vẻ
3773
+ 𨤧,lẽ
3774
+ 𨤮,dặm
3775
+ 𨤯,chồng
3776
+ 𨤰,nhẽ
3777
+ 𨤵,dặm
3778
+ 𨤻,nhẽ
3779
+ 𨤼,nặng
3780
+ 𨥿,chảo
3781
+ 𨦀,kéo
3782
+ 𨦁,sã
3783
+ 𨦙,lề
3784
+ 𨦥,chì
3785
+ 𨦦,vỡ
3786
+ 𨦧,nén
3787
+ 𨦩,vòng
3788
+ 𨦽,rảng
3789
+ 𨧆,bửa
3790
+ 𨧜,
3791
+ 𨧝,đẵn
3792
+ 𨧟,nhẫn
3793
+ 𨧠,gang
3794
+ 𨧢,bịt
3795
+ 𨧣,xớt
3796
+ 𨨅,hoắt
3797
+ 𨨕,
3798
+ 𨨤,khép
3799
+ 𨨦,mai
3800
+ 𨨧,thép
3801
+ 𨨨,chiêng
3802
+ 𨨪,chẻ
3803
+ 𨨫,hái
3804
+ 𨩖,lình
3805
+ 𨩠,tĩn
3806
+ 𨪀,mỏ
3807
+ 𨪝,kền
3808
+ 𨪞,thuổng
3809
+ 𨫄,băm
3810
+ 𨫅,lon
3811
+ 𨫇,chũm
3812
+ 𨫈,chọc
3813
+ 𨫉,thìa
3814
+ 𨫊,sắt
3815
+ 𨫋,cồng
3816
+ 𨫪,han
3817
+ 𨫵,cuốc
3818
+ 𨬈,mạ
3819
+ 𨬉,duì
3820
+ 𨬊,giáo
3821
+ 𨬋,miểng
3822
+ 𨭌,
3823
+ 𨭍,bay
3824
+ 𨭏,choang
3825
+ 𨭑,thuổng
3826
+ 𨭒,choang
3827
+ 𨭡,thau
3828
+ 𨮇,bung
3829
+ 𨮈,hom
3830
+ 𨮉,cùn
3831
+ 𨮊,đâm
3832
+ 𨮋,giũa
3833
+ 𨮌,rựa
3834
+ 𨮍,vằm
3835
+ 𨮎,lạp
3836
+ 𨮐,nhọn
3837
+ 𨮑,thoi
3838
+ 𨮘,
3839
+ 𨮵,muổng
3840
+ 𨮶,vếu
3841
+ 𨯃,sỏ
3842
+ 𨯘,kẽm
3843
+ 𨯛,ấm
3844
+ 𨯷,đấng
3845
+ 𨯸,duì
3846
+ 𨯹,đúc
3847
+ 𨰇,kẽm
3848
+ 𨰈,kiềng
3849
+ 𨰧,sủng
3850
+ 𨰪,thiếc
3851
+ 𨰲,lõm
3852
+ 𨰴,nén
3853
+ 𨰺,bén
3854
+ 𨱪,đườn
3855
+ 𨱽,dài
3856
+ 𨱾,dài
3857
+ 𨲅,nhằng
3858
+ 𨲖,ngòng
3859
+ 𨲷,đườn
3860
+ 𨳍,
3861
+ 𨳒,mọn
3862
+ 𨳦,suồng
3863
+ 𨳱,ngõ
3864
+ 𨴦,cửa
3865
+ 𨵣,cửa
3866
+ 𨵿,
3867
+ 𨶛,cổng
3868
+ 𨷈,muôn
3869
+ 𨷑,mở
3870
+ 𨷯,cửa
3871
+ 𨷶,cửa
3872
+ 𨸈,mở
3873
+ 𨸍,cụp
3874
+ 𨸾,bậc
3875
+ 𨹬,lở
3876
+ 𨻫,luống
3877
+ 𨻬,xó
3878
+ 𨻮,vện
3879
+ 𨼚,be
3880
+ 𨼼,nhỏ
3881
+ 𨽌,
3882
+ 𨿽,
3883
+ 𩀳,sống
3884
+ 𩁦,loi
3885
+ 𩁱,nhóm
3886
+ 𩁶,ngất
3887
+ 𩂀,cơn
3888
+ 𩂁,ngút
3889
+ 𩂏,che
3890
+ 𩂐,râm
3891
+ 𩂑,bùng
3892
+ 𩂟,mù
3893
+ 𩂠,đậy
3894
+ 𩂳,
3895
+ 𩂶,sét
3896
+ 𩃳,bóng
3897
+ 𩄎,mưa
3898
+ 𩄏,bùng
3899
+ 𩄐,ráng
3900
+ 𩄑,nồm
3901
+ 𩄒,ũm
3902
+ 𩄓,rợp
3903
+ 𩄔,xẩng
3904
+ 𩄨,guốt
3905
+ 𩄰,sét
3906
+ 𩄱,dông
3907
+ 𩄲,mây
3908
+ 𩄳,tạnh
3909
+ 𩄴,bóng
3910
+ 𩄵,nấp
3911
+ 𩄶,xối
3912
+ 𩅘,tóc
3913
+ 𩅙,sẩm
3914
+ 𩅚,dồi
3915
+ 𩅛,bùng
3916
+ 𩅜,ráng
3917
+ 𩅹,mây
3918
+ 𩅺,râu
3919
+ 𩅻,chở
3920
+ 𩆋,rào
3921
+ 𩆍,rào
3922
+ 𩆏,rợp
3923
+ 𩆐,sấm
3924
+ 𩆠,mống
3925
+ 𩆡,rào
3926
+ 𩆢,ầm
3927
+ 𩆪,mịt
3928
+ 𩆬,mống
3929
+ 𩆴,lờ
3930
+ 𩆾,khuya
3931
+ 𩇅,mù
3932
+ 𩇆,sấm
3933
+ 𩇍,loà
3934
+ 𩇛,
3935
+ 𩇢,xanh
3936
+ 𩈂,bay
3937
+ 𩈘,mặt
3938
+ 𩈩,nạ
3939
+ 𩈪,trán
3940
+ 𩊽,hia
3941
+ 𩊾,dõn
3942
+ 𩋔,
3943
+ 𩌂,giầy
3944
+ 𩍢,roi
3945
+ 𩍣,dép
3946
+ 𩏳,vía
3947
+ 𩑺,
3948
+ 𩓛,ngụp
3949
+ 𩓜,màng
3950
+ 𩕄,
3951
+ 𩖅,sỏ
3952
+ 𩖫,vuông
3953
+ 𩗂,mát
3954
+ 𩗃,tố
3955
+ 𩘄,may
3956
+ 𩘣,tố
3957
+ 𩘨,dông
3958
+ 𩘩,thói
3959
+ 𩘪,giông
3960
+ 𩘫,hẩy
3961
+ 𩘬,thói
3962
+ 𩙋,gió
3963
+ 𩙌,gió
3964
+ 𩙍,gió
3965
+ 𩙕,bão
3966
+ 𩙳,liệng
3967
+ 𩙹,bổng
3968
+ 𩙻,bay
3969
+ 𩚔,nhử
3970
+ 𩚦,thết
3971
+ 𩚧,quà
3972
+ 𩚩,cỗ
3973
+ 𩛂,no
3974
+ 𩛃,quà
3975
+ 𩛄,bánh
3976
+ 𩛜,đói
3977
+ 𩛷,bữa
3978
+ 𩛸,mồi
3979
+ 𩜠,
3980
+ 𩜪,nhạy
3981
+ 𩜫,mồi
3982
+ 𩝇,mồi
3983
+ 𩝺,nuôi
3984
+ ��,chăn
3985
+ 𩞝,mềm
3986
+ 𩟄,
3987
+ 𩟡,đói
3988
+ 𩟢,bò
3989
+ 𩟬,sổi
3990
+ 𩟵,đúc
3991
+ 𩟻,nấng
3992
+ 𩟼,nuôi
3993
+ 𩠓,gật
3994
+ 𩠔,mào
3995
+ 𩠘,ngoái
3996
+ 𩠠,cúi
3997
+ 𩠧,gục
3998
+ 𩠩,sỏ
3999
+ 𩠭,óc
4000
+ 𩠱,chui
4001
+ 𩠳,chui
4002
+ 𩠴,cúi
4003
+ 𩠵,chọi
4004
+ 𩠸,nóc
4005
+ 𩡋,thơm
4006
+ 𩡜,lựng
4007
+ 𩢦,giong
4008
+ 𩢬,lừa
4009
+ 𩣑,
4010
+ 𩤕,bíu
4011
+ 𩦓,mở
4012
+ 𩧍,ruổi
4013
+ 𩨼,kheo
4014
+ 𩩇,sống
4015
+ 𩩖,sống
4016
+ 𩩩,vêu
4017
+ 𩩪,xương
4018
+ 𩩫,xương
4019
+ 𩩬,xác
4020
+ 𩩿,hom
4021
+ 𩪞,sụn
4022
+ 𩪯,
4023
+ 𩪵,sọ
4024
+ 𩪽,cụt
4025
+ 𩫛,chót
4026
+ 𩬆,gáy
4027
+ 𩬎,
4028
+ 𩬪,bợp
4029
+ 𩭆,cợp
4030
+ 𩭜,xùi
4031
+ 𩭵,quăn
4032
+ 𩭶,râu
4033
+ 𩮔,quăn
4034
+ 𩮕,xồm
4035
+ 𩮭,ria
4036
+ 𩮿,chóp
4037
+ 𩯀,tóc
4038
+ 𩯁,râu
4039
+ 𩯂,gáy
4040
+ 𩯮,mờn
4041
+ 𩯯,xoàm
4042
+ 𩯹,sói
4043
+ 𩰈,nheo
4044
+ 𩲥,trơi
4045
+ 𩳊,ranh
4046
+ 𩳳,trơi
4047
+ 𩳴,quẻ
4048
+ 𩴅,vía
4049
+ 𩴚,trơi
4050
+ 𩴬,vía
4051
+ 𩵃,trơi
4052
+ 𩵋,
4053
+ 𩵜,cá
4054
+ 𩵝,chài
4055
+ 𩵞,thiên
4056
+ 𩵽,tom
4057
+ 𩵾,trê
4058
+ 𩵿,ngừ
4059
+ 𩶝,chình
4060
+ 𩶟,bướp
4061
+ 𩶪,cháy
4062
+ 𩶬,
4063
+ 𩷆,gỏi
4064
+ 𩷇,húng
4065
+ 𩷈,liệt
4066
+ 𩷉,giếc
4067
+ 𩷊,thu
4068
+ 𩷛,giếc
4069
+ 𩷳,vẩy
4070
+ 𩸘,quản
4071
+ 𩸮,bống
4072
+ 𩸯,chuối
4073
+ 𩸰,go
4074
+ 𩸱,ghím
4075
+ 𩸲,sứa
4076
+ 𩸳,mòi
4077
+ 𩸴,trê
4078
+ 𩸵,chình
4079
+ 𩸶,nhám
4080
+ 𩸷,rói
4081
+ 𩸸,thia
4082
+ 𩹤,thu
4083
+ 𩹩,nâu
4084
+ 𩹪,mè
4085
+ 𩹫,tép
4086
+ 𩹬,khô
4087
+ 𩹭,chày
4088
+ 𩹮,mú
4089
+ 𩹯,tươi
4090
+ 𩹰,trạnh
4091
+ 𩹲,
4092
+ 𩹹,giếc
4093
+ 𩺋,ngờ
4094
+ 𩺌,giải
4095
+ 𩺡,bơn
4096
+ 𩺢,chạch
4097
+ 𩺣,tràu
4098
+ 𩺤,sặt
4099
+ 𩺥,sò
4100
+ 𩺦,thờn
4101
+ 𩺧,cháy
4102
+ 𩺨,bống
4103
+ 𩺩,vảy
4104
+ 𩺪,bơn
4105
+ 𩺺,gáy
4106
+ 𩻐,mắm
4107
+ 𩻑,lẹp
4108
+ 𩻒,sộp
4109
+ 𩻓,dưa
4110
+ 𩻔,thệ
4111
+ 𩻕,trắm
4112
+ 𩻹,chèo
4113
+ 𩻺,vây
4114
+ 𩻻,leo
4115
+ 𩼀,vây
4116
+ 𩼁,rô
4117
+ 𩼢,vích
4118
+ 𩼤,trám
4119
+ 𩼷,đuối
4120
+ 𩼸,đuối
4121
+ 𩽉,sấu
4122
+ 𩽊,lúi
4123
+ 𩽋,sủ
4124
+ 𩽖,ruốc
4125
+ 𩽗,quỳnh
4126
+ 𩽤,sấu
4127
+ 𩽥,lươn
4128
+ 𩽸,nheo
4129
+ 𩾰,trĩ
4130
+ 𩿘,mào
4131
+ 𩿙,quạ
4132
+ 𩿚,khướu
4133
+ 𩿞,
4134
+ 𩿨,khướu
4135
+ 𪀄,chim
4136
+ 𪀅,quạ
4137
+ 𪀆,sẻ
4138
+ 𪀎,sả
4139
+ 𪀐,bịp
4140
+ 𪁂,diệc
4141
+ 𪁃,chiện
4142
+ 𪁄,két
4143
+ 𪁅,sắc
4144
+ 𪁆,hâu
4145
+ 𪁇,sống
4146
+ 𪁳,trả
4147
+ 𪁴,cốc
4148
+ 𪁵,cốc
4149
+ 𪁶,quạ
4150
+ 𪂮,cò
4151
+ 𪂯,gô
4152
+ 𪂰,giẻ
4153
+ 𪂱,vạc
4154
+ 𪂲,cò
4155
+ 𪂳,cun
4156
+ 𪃙,chả
4157
+ 𪃱,hâu
4158
+ 𪃲,chả
4159
+ 𪃴,gà
4160
+ 𪃵,trả
4161
+ 𪄞,sồ
4162
+ 𪄤,sáo
4163
+ 𪄥,cút
4164
+ 𪄦,choè
4165
+ 𪄧,hịch
4166
+ 𪄨,sáo
4167
+ 𪅤,kên
4168
+ 𪅥,vạc
4169
+ 𪅦,cuốc
4170
+ 𪅧,choi
4171
+ 𪅨,ri
4172
+ 𪅩,sấm
4173
+ 𪅪,quạch
4174
+ 𪅫,vạc
4175
+ 𪅬,yểng
4176
+ 𪅭,tu
4177
+ 𪅶,
4178
+ 𪆣,yểng
4179
+ 𪆤,đủi
4180
+ 𪆥,khướu
4181
+ 𪆦,tu
4182
+ 𪆧,vẹt
4183
+ 𪆼,lôi
4184
+ 𪇋,cùi
4185
+ 𪇌,nông
4186
+ 𪇍,quạ
4187
+ 𪇎,quắm
4188
+ 𪇏,cưởng
4189
+ 𪇐,sáo
4190
+ 𪇨,bồ
4191
+ 𪇩,ngan
4192
+ 𪇪,chích
4193
+ 𪇫,cùi
4194
+ 𪈾,nhạn
4195
+ 𪉥,muối
4196
+ 𪉴,muối
4197
+ 𪉽,mặn
4198
+ 𪉾,mặn
4199
+ 𪊅,mắm
4200
+ 𪐢,sì
4201
+ 𪐾,sì
4202
+ 𪑑,ngăm
4203
+ 𪒗,thâm
4204
+ 𪒳,ngòn
4205
+ 𪒷,ngòm
4206
+ 𪒽,trũi
4207
+ 𪓇,đen
4208
+ 𪓈,nghịt
4209
+ 𪓪,trạnh
4210
+ 𪓫,sam
4211
+ 𪔚,đùng
4212
+ 𪔠,trống
4213
+ 𪔡,bỏi
4214
+ 𪖠,sẹo
4215
+ 𪖫,mũi
4216
+ 𪖬,mũi
4217
+ 𪖭,ngửi
4218
+ 𪖺,ngáy
4219
+ 𪗀,hít
4220
+ 𪘌,lợi
4221
+ 𪘵,răng
4222
+ 𪚚,trong
4223
+ 𪚤,trông
4224
+ 𪚩,
4225
+ 𪛅,rùa
4226
+ 𪛇,rùa
4227
+ 𪛗,
4228
+ 𪛘,
4229
+ 𪛙,
4230
+ 𪛚,
4231
+ 𪛛,
4232
+ 𪛜,
4233
+ 𪛝,
dictionaries/han_all_readings.csv ADDED
The diff for this file is too large to render. See raw diff
 
dictionaries/han_characters_only.csv ADDED
The diff for this file is too large to render. See raw diff
 
dictionaries/han_readings_lookup.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5e84566095192caebf82edd89b96ed248768e676dc60375708079a4a9ad5ac09
3
+ size 48384657
dictionaries/user_dict_jieba.txt ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Jieba User Dictionary
2
+ # Format: <word> <weight> <pos_tag> (separated by space)
3
+ # Use this to force Jieba to group words/phrases correctly (e.g., compound words, names)
4
+
5
+ 人工智能 1000 n
6
+ 结构分析 1000 n
7
+ 虽然 1000 c
8
+ 但是 1000 c
9
+ 因为 1000 c
10
+ 所以 1000 c
11
+ 不仅 1000 c
12
+ 而且 1000 c
13
+ 比起 1000 c
14
+ giao diện người dùng 1000 n
dictionaries/user_dict_underthesea.txt ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Underthesea User Dictionary
2
+ # Format: one word/phrase per line
3
+ # Used to enforce custom tokenization for Vietnamese terms
4
+
5
+ cú pháp học
6
+ phân tích cấu trúc
7
+ mô hình ngôn ngữ
8
+ phát triển phần mềm
9
+ trí tuệ nhân tạo
10
+ học máy sâu
11
+ đặc tả cú pháp
12
+ phân tích cú pháp phụ thuộc
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ fastapi
2
+ uvicorn
3
+ pydantic
4
+ jieba
5
+ hanziconv
6
+ python-dotenv