[gs-commits] ghostpdl branch, master, updated. jbig2dec-0.14-2010-gc25d590

[email protected] (Ken Sharp) Tue, 3 Dec 2019 01:22:02 +0000 (UTC)
Newsgroups gmane.comp.printing.ghostscript.cvs
Message-ID <[email protected]>
The ghostpdl branch, master has been updated
       via  c25d59001421845d0ff74735388d450d62b459d5 (commit)
       via  11f6202373fc546cc10d08acfb5ca0463df20437 (commit)
       via  182e228cee6b30c6e2f00d8abd20a6791d44323f (commit)
      from  c535c0c879162ccd7c88c5b8cc6c3a0847c0babe (commit)

----------------------------------------------------------------------
commit c25d59001421845d0ff74735388d450d62b459d5
Author: Ken Sharp <[email protected]>
Date:   Mon Dec 2 18:24:09 2019 +0000

    PDF interpreter - improve /Polygon annotation appearance creation
    
    Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance missing"
    
    Another case of failing to stroke the border of an annotation if it had
    no interior colour. We still don't support the 'Cloudy' Border Effect.

diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
index 8c16262..099b054 100644
--- a/Resource/Init/pdf_draw.ps
+++ b/Resource/Init/pdf_draw.ps
@@ -3727,7 +3727,9 @@ currentdict /set_bc_color undef
         grestore
         dup /CA knownoget {.setopacityalpha} if
         strokeborderpath
-      } if
+      } {
+        strokeborderpath
+      } ifelse
       //endannottransparency exec
       //false
       grestore

----------------------------------------------------------------------
commit 11f6202373fc546cc10d08acfb5ca0463df20437
Author: Ken Sharp <[email protected]>
Date:   Mon Dec 2 17:59:34 2019 +0000

    PDF interpreter - generate callout (/CL) lines for FreeText annots
    
    Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance is missing"
    
    FreeText annotations can have a /CL (callout) entry, which defines a
    line to be drawn to the point referenced by the text.
    
    This is a first pass at the problem, Acrobat generates arrow heads for
    the callout lines, this patch does not.

diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
index b4fd536..8c16262 100644
--- a/Resource/Init/pdf_draw.ps
+++ b/Resource/Init/pdf_draw.ps
@@ -4543,6 +4543,17 @@ currentdict /set_bc_color undef
         } ifelse
       } if
       pop pop
+      dup /CL knownoget {
+        dup length 6 eq {
+          aload pop moveto lineto lineto stroke
+        } {
+          dup length 4 eq {
+            aload pop moveto lineto stroke
+          } {
+            pop
+          } ifelse
+        } ifelse
+      } if
       //endannottransparency exec
       //false
       grestore

----------------------------------------------------------------------
commit 182e228cee6b30c6e2f00d8abd20a6791d44323f
Author: Ken Sharp <[email protected]>
Date:   Mon Dec 2 17:19:00 2019 +0000

    PDF interpreter - improve /Square annotation appearance creation
    
    Bug #701889 "Annotation objects missing or incorrectly interpreted when appearance stream missing"
    
    First of probably several changes. In this case we were failing to
    stroke the border of a /Square annotation if it had no interior colour
    (we did not render the annotation at all).
    
    In addition, when element 3 of the Border array was 0 we were still
    drawing a Border, which we should not do (this didn't show up until we
    fixed the problem above).

diff --git a/Resource/Init/pdf_draw.ps b/Resource/Init/pdf_draw.ps
index 2f8b610..b4fd536 100644
--- a/Resource/Init/pdf_draw.ps
+++ b/Resource/Init/pdf_draw.ps
@@ -3164,9 +3164,14 @@ end
       3 -1 roll pop 2 index annotsetcolor {0 setdash setlinewidth stroke} if
     } {
       dup 2 get
-      exch dup length 3 gt { 3 get } { pop {} } ifelse
-      3 index /CA knownoget {.setopacityalpha} if
-      2 index annotsetcolor {0 setdash setlinewidth stroke} if
+      % If element 3 of the /Border array is 0, then don't draw the border
+      dup 0 ne {
+        exch dup length 3 gt { 3 get } { pop {} } ifelse
+        3 index /CA knownoget {.setopacityalpha} if
+        2 index annotsetcolor {0 setdash setlinewidth stroke} if
+      }{
+       pop pop
+      } ifelse
     } ifelse
   } {
     3 index /CA knownoget {.setopacityalpha} if
@@ -3633,7 +3638,8 @@ currentdict /set_bc_color undef
         drawborder
         //false
       }{
-        pop
+        dup annotrect
+        drawopdict /re get exec strokeborderpath
       } ifelse
       //endannottransparency exec
       grestore


Summary of changes:
 Resource/Init/pdf_draw.ps | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)