emoji: search the dictionary by prefix in the engine, not in the data

mkemoji wrote a row for every prefix of every alias, so that a query
matched as it was typed; the trie is a prefix index already, and with a
real emoji list those rows would be four times the aliases themselves.
Now emoji.dict has one row per alias, trienode() names a key's node, and
dictlookup walks the entries at and below it, the key's own first, up to
Maxkouho.  Trie children are appended rather than pushed, so the walk
keeps the file's order and a bare digit still picks the superscript or
subscript it always did.

The hand-written symbol rows move to symbol.src; emoji.src is left to
the emoji.  mkemoji reads both by default, or the files it is given.
This commit is contained in:
2026-08-17 01:07:10 +09:00
parent 221117f93d
commit abff5ed122
9 changed files with 275 additions and 386 deletions

View File

@@ -1,35 +1,20 @@
! ⚠ ≠
!! ⚠
!= ≠
* ★
** ★
+ ±
+- ±
- →
-> →
. · … ÷
.. · …
.. ·
... …
./ ÷
: ☹ ☺
:( ☹
:) ☺
< ← ≤ ♥ ≠
<- ←
<3 ♥
<= ≤
<3 ♥
<> ≠
= ≡ ⇒
!=
== ≡
=> ⇒
> ≥
>= ≥
^ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ⁽ ⁾ ⁺ ⁻ ⁼ ⁰ ⁱ ⁿ
^( ⁽
^) ⁾
^+ ⁺
^- ⁻
^0 ⁰
^1 ¹
^2 ²
^3 ³
@@ -39,15 +24,6 @@
^7 ⁷
^8 ⁸
^9 ⁹
^= ⁼
^i ⁱ
^n ⁿ
_ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉ ₍ ₎ ₊ ₋ ₌ ₀ ₐ ₑ ₒ ₓ
_( ₍
_) ₎
_+ ₊
_- ₋
_0 ₀
_1 ₁
_2 ₂
_3 ₃
@@ -57,236 +33,108 @@ _6 ₆
_7 ₇
_8 ₈
_9 ₉
^( ⁽
^) ⁾
^+ ⁺
^- ⁻
^= ⁼
_( ₍
_) ₎
_+ ₊
_- ₋
_= ₌
~= ≈
^0 ⁰
_0 ₀
_a ₐ
_e ₑ
_o ₒ
_x ₓ
a α
al α
alp α
alph α
alpha α
b β 😊
be β
bet β
beta β
bl 😊
blu 😊
blus 😊
blush 😊
c χ ☕️
ch χ
chi χ
co ☕️
cof ☕️
coff ☕️
coffe ☕️
coffee ☕️
d ° δ Δ ↓
de Δ ° δ
deg °
del δ
delt δ
delta δ
de Δ
dn ↓
e ε η
ep ε
_e
eps ε
et η
eta η
f 凸
fu 凸
fuc 凸
fuck 凸
g γ Γ 😀
ga Γ γ
gam γ
gamm γ
gamma γ
gr 😀
gri 😀
grin 😀
h 😄 😊 ❤️
ha 😄 😊
hap 😄 😊
happ 😄 😊
happy 😄 😊
he ❤️
hea ❤️
hear ❤️
heart ❤️
i ∫ ∞ ι
ga Γ
^i
ii ∫
in ∞
inf ∞
io ι
iot ι
iota ι
j 😂
jo 😂
joy 😂
k κ
ka κ
kap κ
kapp κ
kappa κ
l λ Λ 😂 ❤️ 👍
la Λ λ
lam λ
lamb λ
lambd λ
lambda λ
li 👍
lik 👍
like 👍
lo 😂 ❤️
lol 😂
lov ❤️
love ❤️
m × μ
mu μ ×
la Λ
mul ×
n ν
mu μ
^n ⁿ
nu ν
o ω Ω ●
om Ω ω
ome ω
omeg ω
omega ω
om Ω
oo ●
p φ Φ π Π ∏ ψ Ψ
ph Φ φ
_o ₒ
phi φ
ph Φ
pi π Π
pp ∏
ps Ψ ψ
psi ψ
r ρ
rh ρ
ps Ψ
rho ρ
s σ Σ √ ∑ 😀 😄 😊
si Σ σ
sig σ
sigm σ
sigma σ
sm 😀 😄 😊
smi 😀 😄 😊
smil 😀 😄 😊
smile 😀 😄 😊
si Σ
sq √
ss ∑
t τ θ Θ 👍
ta τ
tau τ
th Θ θ 👍
the θ
thet θ
theta θ
thu 👍
thum 👍
thumb 👍
thumbs 👍
thumbsu 👍
thumbsup 👍
u ↑ υ
up ↑ υ
th Θ
up ↑
ups υ
v ✓
vv ✓
x ξ Ξ ✗
xi ξ Ξ
xx ✗
z ζ
ze ζ
zet ζ
_x ₓ
zeta ζ
~ ≈
~= ≈
あ ❤️
あい ❤️
い 👍
いい 👍
いいね 👍
え 😀 😄 😊
えが 😀 😄 😊
えがお 😀 😄 😊
こ ☕️
こー ☕️
こーひ ☕️
こーひー ☕️
さ 👍
さん 👍
さんせ 👍
さんせい 👍
ば 😂
ばく 😂
ばくし 😂
ばくしょ 😂
ばくしょう 😂
ほ 😄 😊
ほほ 😄 😊
ほほえ 😄 😊
ほほえみ 😄 😊
わ 😀 😂
わら 😀 😂
わらい 😀 😂
ア ❤️
アイ ❤️
イ 👍
イイ 👍
イイネ 👍
エ 😀 😄 😊
エガ 😀 😄 😊
エガオ 😀 😄 😊
コ ☕️
コー ☕️
コーヒ ☕️
コーヒー ☕️
サ 👍
サン 👍
サンセ 👍
サンセイ 👍
ハ ❤️
ハー ❤️
ハート ❤️
バ 😂
バク 😂
バクシ 😂
バクショ 😂
バクショウ 😂
ホ 😄 😊
ホホ 😄 😊
ホホエ 😄 😊
ホホエミ 😄 😊
ワ 😀 😂
ワラ 😀 😂
ワライ 😀 😂
따 👍
따봉 👍
미 😄 😊
미소 😄 😊
방 😊
방긋 😊
사 ❤️
사랑 ❤️
스 😀 😄
스마 😀 😄
스마일 😀 😄
엄 👍
엄지 👍
웃 😀 😄 😂
웃겨 😂
웃다 😀
웃음 😀 😄 😂
좋 👍
좋아 👍
좋아요 👍
찬 👍
찬성 👍
커 ☕️
커피 ☕️
폭 😂
웃다 😀
스마일 😀 😄
えがお 😀 😄 😊
エガオ 😀 😄 😊
わらい 😀 😂
ワライ 😀 😂
smile 😀 😄 😊
grin 😀
미소 😄 😊
ほほえみ 😄 😊
ホホエミ 😄 😊
happy 😄 😊
폭소 😂
하 ❤️
웃겨 😂
ばくしょう 😂
バクショウ 😂
joy 😂
lol 😂
방긋 😊
blush 😊
사랑 ❤️
하트 ❤️
あい ❤️
アイ ❤️
ハート ❤️
heart ❤️
love ❤️
좋아요 👍
찬성 👍
따봉 👍
엄지 👍
いいね 👍
イイネ 👍
さんせい 👍
サンセイ 👍
thumbsup 👍
like 👍
커피 ☕️
こーひー ☕️
コーヒー ☕️
coffee ☕️