diff options
-rw-r--r-- | gs/Resource/Init/pdf_draw.ps | 18 | ||||
-rw-r--r-- | gs/Resource/Init/pdf_main.ps | 14 |
2 files changed, 28 insertions, 4 deletions
diff --git a/gs/Resource/Init/pdf_draw.ps b/gs/Resource/Init/pdf_draw.ps index bdc02143a..fe788abbe 100644 --- a/gs/Resource/Init/pdf_draw.ps +++ b/gs/Resource/Init/pdf_draw.ps | |||
@@ -2153,7 +2153,7 @@ end | |||
2153 | pop | 2153 | pop |
2154 | false | 2154 | false |
2155 | }{ | 2155 | }{ |
2156 | (invalid color specified for FreeText annotation /C entry) | 2156 | (invalid color specified for annotation /C entry) |
2157 | pdfformaterror false | 2157 | pdfformaterror false |
2158 | } ifelse | 2158 | } ifelse |
2159 | } ifelse | 2159 | } ifelse |
@@ -2776,6 +2776,14 @@ currentdict /set_bc_color undef | |||
2776 | 2776 | ||
2777 | dup annotrect rectclip | 2777 | dup annotrect rectclip |
2778 | 2778 | ||
2779 | dup /CA knownoget { | ||
2780 | .setopacityalpha | ||
2781 | } if | ||
2782 | |||
2783 | dup /ca knownoget { | ||
2784 | .setopacityalpha | ||
2785 | } if | ||
2786 | |||
2779 | dup /C knownoget { | 2787 | dup /C knownoget { |
2780 | dup length 4 eq { | 2788 | dup length 4 eq { |
2781 | aload pop setcmykcolor true | 2789 | aload pop setcmykcolor true |
@@ -2797,7 +2805,13 @@ currentdict /set_bc_color undef | |||
2797 | } ifelse | 2805 | } ifelse |
2798 | } ifelse | 2806 | } ifelse |
2799 | } if | 2807 | } if |
2800 | {dup annotrect rectfill} if | 2808 | {dup annotrect |
2809 | %% Somewhat horrifyingly, rectfill maps directly to the device fill_rectangle | ||
2810 | %% method, which bypasses transparency (!!) So we construct the rectangle, | ||
2811 | %% and fill it, manually instead.... | ||
2812 | gsave 4 2 roll moveto 1 index 0 rlineto | ||
2813 | 0 exch rlineto neg 0 rlineto closepath fill grestore | ||
2814 | } if | ||
2801 | 2815 | ||
2802 | %% get and process the default appearance string, if we don't have one, use a default | 2816 | %% get and process the default appearance string, if we don't have one, use a default |
2803 | dup /DA knownoget { | 2817 | dup /DA knownoget { |
diff --git a/gs/Resource/Init/pdf_main.ps b/gs/Resource/Init/pdf_main.ps index 3ab2a3c19..c2c7693c6 100644 --- a/gs/Resource/Init/pdf_main.ps +++ b/gs/Resource/Init/pdf_main.ps | |||
@@ -2194,11 +2194,21 @@ currentdict /PDF2PS_matrix_key undef | |||
2194 | pop pop //true exit % as transparency. | 2194 | pop pop //true exit % as transparency. |
2195 | } if | 2195 | } if |
2196 | } if | 2196 | } if |
2197 | /AP knownoget { % Get appearance dict for the annoation | 2197 | dup /AP knownoget { % Get appearance dict for the annoation |
2198 | /N knownogetdict { % Get the /N (i.e. normal) appearance stream | 2198 | /N knownogetdict { % Get the /N (i.e. normal) appearance stream |
2199 | 4 dict exch resourceusestransparency { pop //true exit } if | 2199 | 4 dict exch resourceusestransparency { pop pop //true exit } if |
2200 | } if | 2200 | } if |
2201 | } if % If AP dict known | 2201 | } if % If AP dict known |
2202 | dup /CA knownoget { | ||
2203 | 1 le { | ||
2204 | pop pop //true exit | ||
2205 | } if | ||
2206 | } if | ||
2207 | /ca knownoget { | ||
2208 | 1 le { | ||
2209 | pop //true exit | ||
2210 | } if | ||
2211 | } if | ||
2202 | } { | 2212 | } { |
2203 | pop | 2213 | pop |
2204 | } ifelse | 2214 | } ifelse |