[fix] 部分CJK显示不出来
This commit is contained in:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user