Files
FoFreeXit/docs
adminandClaude Fable 5 a72bfae176
Build Windows portable / build (push) Canceled after 0s
Ô sửa inline trùng khít chữ gốc (đúng font/cỡ/vị trí — WYSIWYG như Foxit)
Ba lỗi làm chữ trong ô sửa khác hẳn chữ gốc:
- Hồi quy: line-height từng dòng tính bằng khoảng hở giữa 2 bbox (~0/âm,
  kẹp 8px) thay vì khoảng cách baseline → các dòng dồn cục lên đầu ô.
  Fix: advance = hiệu mép dưới 2 bbox liền kề.
- Sai font: family PostScript CamelCase (TimesNewRoman, SegoeUI) không
  khớp tên font Windows → CSS rơi về serif/sans mặc định. Fix: cssFontStack
  tách CamelCase + bảng alias (Helvetica→Arial...).
- Sai cỡ với file engine báo cỡ lệch: thêm fitEditLinesToPdf — vòng ĐO-HIỆU
  CHỈNH sau khi mount: đo chiều cao mực thật của đúng chuỗi đó (canvas
  actualBoundingBox ở cỡ tham chiếu 100px, né hinting) so với bbox dòng PDF
  rồi tự sửa cỡ (dead-band 12% giữ ổn định file chuẩn); đo vị trí render
  thật (Range + font/ink ascent) rồi bù margin/indent từng dòng cho trùng
  mép mực — khối căn giữa cũng bù ngang qua text-indent.
Kèm: giữ thụt lề từng dòng; đúp từ viewer thường đặt con trỏ đúng điểm đúp
(chờ img.decode trước khi đo). Kiểm chứng bằng harness canvas + Edge
headless: 3 kịch bản (cỡ báo sai 1/2, cỡ đúng, căn giữa) đều trùng khít
≤1.3px. Chi tiết: docs/12-phase4-summary.md (Vá vòng 3).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 17:45:33 +07:00
..