From c22c03b76ae7581e2c33f928e43ece7f14dcde19 Mon Sep 17 00:00:00 2001 From: jimbojw Date: Wed, 27 Mar 2019 09:43:10 -0400 Subject: [PATCH] Fixing stroke-dasharray rendering bug (#1821923) --- src/calibre/ebooks/pdf/render/graphics.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/pdf/render/graphics.py b/src/calibre/ebooks/pdf/render/graphics.py index 53739e9cfc..8c8acc56d4 100644 --- a/src/calibre/ebooks/pdf/render/graphics.py +++ b/src/calibre/ebooks/pdf/render/graphics.py @@ -430,9 +430,12 @@ class Graphics(object): pdf.current_page.write('%d j '%join) # Dash pattern - ps = {Qt.DashLine:[3], Qt.DotLine:[1,2], Qt.DashDotLine:[3,2,1,2], - Qt.DashDotDotLine:[3, 2, 1, 2, 1, 2]}.get(pen.style(), []) - if ps: + if pen.style() == Qt.CustomDashLine: + pdf.serialize(Array(pen.dashPattern())) + pdf.current_page.write(' %d d ' % pen.dashOffset()) + else: + ps = {Qt.DashLine:[3], Qt.DotLine:[1,2], Qt.DashDotLine:[3,2,1,2], + Qt.DashDotDotLine:[3, 2, 1, 2, 1, 2]}.get(pen.style(), []) pdf.serialize(Array(ps)) pdf.current_page.write(' 0 d ')