feat(渲染能力): 修复粗体文字导致的PDF线宽异常,保持阅读与导出效果一致
build.yaml / build (push) Successful in 42s

This commit is contained in:
xiaoqidun committed 2026-09-09 21:45:01 +08:00
1 parent 853ffc6327
commit 537b5779e1
1 file changed
+2 -1
+2 -1
View File
@@ -184,7 +184,7 @@ func (r *Renderer) renderText(ctx *canvas.Context, obj TextObject, pageH float64
} }
dxs, dys := parseFloats(tc.DeltaX), parseFloats(tc.DeltaY) dxs, dys := parseFloats(tc.DeltaX), parseFloats(tc.DeltaY)
xs, ys := parseFloats(tc.X), parseFloats(tc.Y) xs, ys := parseFloats(tc.X), parseFloats(tc.Y)
drawAsPath := embeddedFont || textCodePositioned(tc, xs, ys) || fillClip != nil || shadedFill || fillPattern != nil || shouldStroke drawAsPath := embeddedFont || face.FauxBold > 0 || textCodePositioned(tc, xs, ys) || fillClip != nil || shadedFill || fillPattern != nil || shouldStroke
cx, cy := 0.0, 0.0 cx, cy := 0.0, 0.0
previousAdvance := 0.0 previousAdvance := 0.0
if len(xs) > 0 { if len(xs) > 0 {
@@ -296,6 +296,7 @@ func (r *Renderer) renderText(ctx *canvas.Context, obj TextObject, pageH float64
} }
if fillPaint != nil || fillPattern != nil { if fillPaint != nil || fillPattern != nil {
ctx.SetFill(fillPaint) ctx.SetFill(fillPaint)
ctx.SetStrokeColor(canvas.Transparent)
if fillClip != nil || shadedFill || fillPattern != nil { if fillClip != nil || shadedFill || fillPattern != nil {
scaleX := hScale scaleX := hScale
if advanceLimit > 0 && glyphWidth*scaleX > advanceLimit { if advanceLimit > 0 && glyphWidth*scaleX > advanceLimit {