Fix de chu DOC khi luu: vong no pad_y=8 nuot nham DONG KE TREN khoi reflow
Build Windows portable / build (push) Canceled after 0s

Bug thu 2 cua "luu xong de len text khac" (bug 1 - de NGANG trong dong - da
fix bang mep muc that): vong no doc 8pt (sinh ra de bat dau tieng Viet ve
bang op roi) nuot ca run cao co chu cua DONG KE TREN khi gian dong sat
(~13-14pt): tam muc run dong tren lot vao bbox+8pt -> ca cau bi xoa,
first_baseline troi len 1 dong -> khoi ve lai de len vi tri dong tren, sot
manh mono dau dong (tam cao hon nguong chut).

Tai hien tren file that cua user (trang 2, khoi "Cac thuoc tinh HttpOnly..."
nuot dong "Path=/ khien refresh token..." ngay tren). Ban dau ket luan nham
la "file nhiem artifact" - DINH CHINH trong docs/12: file sach, Path=/ la
dau bullet hop le.

Fix: vung no 8pt chi duoc nuot op NHO (cao < 0.6 x median cao run trong
khoi - manh dau); op cao co chu phai co tam trong bbox LOI. Test hoi quy
reflow_tight_leading_does_not_swallow_line_above (gian dong 13pt, khoi 2
dong duoi, dong tren phai song sot + dong moi khong cham muc dong tren).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 10:33:54 +07:00
co-authored by Claude Fable 5
parent d812f72dc7
commit c885567b26
3 changed files with 112 additions and 7 deletions
+11 -4
View File
@@ -528,7 +528,14 @@ các mảnh sau commit).
chế độ sửa ảnh chưa load, CSS `:has` cho height auto làm slot cao ≈ 0 →
cuộn ban đầu lệch cả cột, listener cuộn tự chuyển nhầm trang active.
- Kiểm đè chữ trên build thật: dòng lẫn style sau commit tăng dần tuyệt đối
(worst overlap 0pt) — fix mép mực OK. Lưu ý: file test của user
(Ban_dich_tieng_Viet_...) đã NHIỄM sẵn mảnh "Path=/" lạc chỗ từ lần lưu
bằng build lỗi cũ — mảnh đó được reflow bảo tồn như marker, KHÔNG phải bug
mới; đo kiểm phải loại các mảnh giữ-nguyên-vị-trí.
(worst overlap 0pt) — fix mép mực NGANG đạt.
- ĐÍNH CHÍNH + bug thứ 2 (đè DỌC): ban đầu tưởng file test của user "nhiễm"
mảnh `Path=/` lạc chỗ — SAI. File gốc sạch: `Path=/` là ĐẦU BULLET hợp lệ
của dòng "Path=/ khiến refresh token…" nằm NGAY TRÊN khối sửa. Thủ phạm là
vòng nở dọc `pad_y = 8` (sinh ra để bắt dấu tiếng Việt vẽ rời): với giãn
dòng sát (~13–14pt) tâm mực run của DÒNG KỀ TRÊN lọt vào bbox+8pt → cả câu
bị nuốt (xoá), baseline của nó thành `first_baseline` → khối vẽ lại trồi
lên 1 dòng đè chữ, còn sót mảnh mono `Path=/` (tâm cao hơn ngưỡng chút).
Fix: vùng nở 8pt chỉ nuốt op NHỎ (cao < 0.6 × median cao run trong khối —
mảnh dấu); op cao cỡ chữ phải có tâm trong bbox LÕI. Test hồi quy:
`reflow_tight_leading_does_not_swallow_line_above` (giãn dòng 13pt).