[fix] 部分CJK显示不出来

This commit is contained in:
2026-06-06 10:17:01 +08:00
Unverified
parent 500d302ea9
commit 15e8aedfd2
3 changed files with 142 additions and 5 deletions
+10
View File
@@ -193,6 +193,16 @@ void ttf_rasterize(const ttf_seg_t* segs, SUINT32 num_segs,
while (j > 0 && xs[j-1] > v) { xs[j] = xs[j-1]; j--; }
xs[j] = v;
}
// Deduplicate: merge intersections within 1 pixel (64 in 26.6)
SUINT32 nxd = 0;
for (SUINT32 i = 0; i < nxs; i++) {
if (nxd > 0 && (xs[i] - xs[nxd - 1]) < 64) {
// Near-duplicate — skip to avoid spurious fill slivers
continue;
}
xs[nxd++] = xs[i];
}
nxs = nxd;
// Fill alternating pairs
for (SUINT32 i = 0; i + 1 < nxs; i += 2) {
f26_6 xa = xs[i];