fix _merge_yi crash

This commit is contained in:
wangzeyuan 2025-06-06 09:49:20 +08:00
parent 62431b1eae
commit 0aa82e9201

View File

@ -654,18 +654,19 @@ class ToneSandhi:
# function 1
while i < len(seg):
word, pos = seg[i]
merged = False
if (
i - 1 >= 0
and word == ""
and i + 1 < len(seg)
and seg[i - 1][0] == seg[i + 1][0]
and seg[i - 1][1] == "v"
and seg[i + 1][1] == "v"
):
merged = seg[i - 1][0] + "" + seg[i + 1][0]
new_seg[-1] = [merged, seg[i - 1][1]]
i += 2
else:
last = new_seg[-1] if new_seg else seg[i - 1]
if last[0] == seg[i + 1][0] and last[1] == "v" and seg[i + 1][1] == "v":
combined = last[0] + "" + seg[i + 1][0]
new_seg[-1] = [combined, last[1]]
i += 2
merged = True
if not merged:
new_seg.append([word, pos])
i += 1
seg = new_seg