summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/Resource/Init
diff options
context:
space:
mode:
authorReinhard Kotucha <reinhard.kotucha@web.de>2018-03-22 23:42:32 +0000
committerReinhard Kotucha <reinhard.kotucha@web.de>2018-03-22 23:42:32 +0000
commit101b320cbf2e4ab4c4a98ab5e7985b881f566a2a (patch)
treec2eaae7f757759f7e0b54a2904e66a1b481291be /Master/tlpkg/tlgs/Resource/Init
parentb8c3630840af3e208cb60e260adc4c9622a0bd6a (diff)
Upgrade gs-9.22 -> gs-9.23
git-svn-id: svn://tug.org/texlive/trunk@47081 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init')
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/FCOfontmap-PCLPS26
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_agl.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_btokn.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cff.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cidcm.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_ciddc.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cidfm.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cidfn.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cidtt.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cmap.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_cspace.ps12
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_dbt_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_diskf.ps223
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_diskn.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_dps.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_dps1.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_dps2.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_dscp.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_epsf.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_fapi.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_fntem.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_fonts.ps25
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_frsd.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_icc.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_il1_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_img.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_init.ps78
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_l2img.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_lev2.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_ll3.ps77
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_mex_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_mgl_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_mro_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_pdf_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_pdfwr.ps8
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_res.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_resmp.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_setpd.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_statd.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_std_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_sym_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_trap.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_ttf.ps10
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_typ32.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_typ42.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_type1.ps12
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/gs_wan_e.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_base.ps39
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_draw.ps637
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_font.ps8
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_main.ps58
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_ops.ps109
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_rbld.ps6
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps6
55 files changed, 1060 insertions, 488 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/FCOfontmap-PCLPS2 b/Master/tlpkg/tlgs/Resource/Init/FCOfontmap-PCLPS2
index 9011451e2c8..b94b0327420 100644
--- a/Master/tlpkg/tlgs/Resource/Init/FCOfontmap-PCLPS2
+++ b/Master/tlpkg/tlgs/Resource/Init/FCOfontmap-PCLPS2
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_agl.ps b/Master/tlpkg/tlgs/Resource/Init/gs_agl.ps
index 6b9e1468f4c..61329dc326f 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_agl.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_agl.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% $Id: gs_agl.ps 10822 2010-02-27 20:24:13Z alexcher $
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_btokn.ps b/Master/tlpkg/tlgs/Resource/Init/gs_btokn.ps
index a2f08b748b2..c7fdcba82ac 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_btokn.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_btokn.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for binary tokens.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cff.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cff.ps
index c5e72602a45..20c35a5f690 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cff.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cff.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Loader for CFF (compressed) fonts, including OpenType CFFs.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cidcm.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cidcm.ps
index d2a767f7625..0201ea8902b 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cidcm.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cidcm.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Extending Font resource category with CIDFont-CMap fonts.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_ciddc.ps b/Master/tlpkg/tlgs/Resource/Init/gs_ciddc.ps
index 612d44a5b09..54c68766606 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_ciddc.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_ciddc.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define SubstCID, Decoding and CIDDecoding resource categories and related procsets.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cidfm.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cidfm.ps
index 9011634ef95..16ef97f0b5c 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cidfm.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cidfm.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Redefine CIDFont category with cidfmap .
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cidfn.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cidfn.ps
index d70d1895c8d..74f1446bcd5 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cidfn.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cidfn.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% ProcSet for implementing CIDFont and CIDMap resources.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cidtt.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cidtt.ps
index 7e83cfdc6d3..a8aa10c98e0 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cidtt.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cidtt.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Redefine CIDFont category with an emulation with True Type fonts.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cmap.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cmap.ps
index a9143efcb85..63c023b6753 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cmap.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cmap.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% ProcSet for implementing CMap resources.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_cspace.ps b/Master/tlpkg/tlgs/Resource/Init/gs_cspace.ps
index deb282df7ba..c612ea9acf4 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_cspace.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_cspace.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% basic colorspace mechanism
@@ -64,8 +64,10 @@ end % colorspacedict
%
% - initgraphics -
%
-% The internal routine gs_initgraphics doesn't (re)set the color space,
-% so we must redefine the operation to do it here.
+% Although the internal routine gs_initgraphics resets the color space,
+% it does not reset the color space we store in the 'interpreter'
+% graphics state (so that we can hand it back in currentcolorspace).
+% So we need to do that in the PostScript world.
%
%
/initgraphics
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dbt_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dbt_e.ps
index abd5e13a4b2..54692f447d3 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_dbt_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_dbt_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the Dingbats encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_diskf.ps b/Master/tlpkg/tlgs/Resource/Init/gs_diskf.ps
deleted file mode 100644
index 3cd10f65076..00000000000
--- a/Master/tlpkg/tlgs/Resource/Init/gs_diskf.ps
+++ /dev/null
@@ -1,223 +0,0 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
-% All Rights Reserved.
-%
-% This software is provided AS-IS with no warranty, either express or
-% implied.
-%
-% This software is distributed under license and may not be copied,
-% modified or distributed except as expressly authorized under the terms
-% of the license contained in the file LICENSE in this distribution.
-%
-% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
-%
-
-% Support for converting Type 1 fonts without eexec encryption to
-% Type 4 fonts that load individual character outlines on demand.
-
-% If DISKFONTS is true, we load individual CharStrings as they are needed.
-% (This is intended primarily for machines with very small memories.)
-% Initially, the character definition is the file position of the definition;
-% this gets replaced with the actual CharString.
-% Note that if we are loading characters lazily, CharStrings is writable.
-
-% _Cstring must be long enough to hold the longest CharString for
-% a character defined using seac. This is lenIV + 4 * 5 (for the operands
-% of sbw, assuming div is not used) + 2 (for sbw) + 3 * 5 (for the operands
-% of seac other than the character codes) + 2 * 2 (for the character codes)
-% + 2 (for seac), i.e., lenIV + 43.
-
-/_Cstring 60 string def
-
-% When we initially load the font, we call
-% <index|charname> <length> <readproc> cskip_C
-% to skip over each character definition and return the file position instead.
-% This substitutes for the procedure
-% <index|charname> <length> string currentfile exch read[hex]string pop
-% [encrypt]
-% What we actually store in the CharString is fileposition * 1000 + length,
-% negated if the string is stored in binary form.
-
-/cskip_C
- { exch dup 1000 ge 3 index type /nametype ne or
- { % This is a Subrs string, or the string is so long we can't represent
- % its length. Load it now.
- exch exec
- }
- { % Record the position and length, and skip the string.
- dup currentfile fileposition 1000 mul add
- 2 index 3 get /readstring cvx eq { neg } if
- 3 1 roll
- dup _Cstring length idiv
- { currentfile _Cstring 3 index 3 get exec pop pop
- } repeat
- _Cstring length mod _Cstring exch 0 exch getinterval
- currentfile exch 3 -1 roll 3 get exec pop pop
- }
- ifelse
- } bind def
-
-% Load a CharString from the file. The font is the top entry
-% on the dictionary stack.
-/load_C % <charname> <fileposandlength> load_C -
- { dup abs 1000 idiv FontFile exch setfileposition
- CharStrings 3 1 roll
- .currentglobal CharStrings .gcheck .setglobal exch
- dup 0 lt
- { neg 1000 mod string FontFile exch readstring }
- { 1000 mod string FontFile exch readhexstring }
- ifelse pop
- exch .setglobal
-% If the CharStrings aren't encrypted on the file, encrypt now.
- Private /-| get 0 get
- dup type /nametype ne
- { dup length 5 sub 5 exch getinterval exec }
- { pop }
- ifelse dup 4 1 roll put
-% If the character is defined with seac, load its components now.
- mark exch seac_C
- counttomark
- { StandardEncoding exch get dup CharStrings exch get
- dup type /integertype eq { load_C } { pop pop } ifelse
- } repeat
- pop % the mark
- } bind def
-
-/seac_C % <charstring> seac_C <achar> <bchar> ..or nothing..
- { dup length _Cstring length le
- { 4330 exch _Cstring .type1decrypt exch pop
- dup dup length 2 sub 2 getinterval <0c06> eq % seac
- { dup length
- Private /lenIV known { Private /lenIV get } { 4 } ifelse
- exch 1 index sub getinterval
-% Parse the string just enough to extract the seac information.
-% We assume that the only possible operators are hsbw, sbw, and seac,
-% and that there are no 5-byte numbers.
- mark 0 3 -1 roll
- { exch
- { { dup 32 lt
- { pop 0 }
- { dup 247 lt
- { 139 sub 0 }
- { dup 251 lt
- { 247 sub 256 mul 108 add 1 1 }
- { 251 sub -256 mul -108 add -1 1 }
- ifelse
- }
- ifelse
- }
- ifelse
- } % 0
- { mul add 0 } % 1
- }
- exch get exec
- }
- forall pop
- counttomark 1 add 2 roll cleartomark % pop all but achar bchar
- }
- { pop % not seac
- }
- ifelse
- }
- { pop % punt
- }
- ifelse
- } bind def
-
-% Define replacement procedures for loading fonts.
-% If DISKFONTS is true and the body of the font is not encrypted with eexec:
-% - Prevent the CharStrings from being made read-only.
-% - Substitute a different CharString-reading procedure.
-% (eexec disables this because the implicit 'systemdict begin' hides
-% the redefinitions that make the scheme work.)
-% We assume that:
-% - The magic procedures (-|, -!, |-, and |) are defined with
-% executeonly or readonly;
-% - The contents of the reading procedures are as defined in bdftops.ps;
-% - The font includes the code
-% <font> /CharStrings <CharStrings> readonly put
-/.loadfontdict 6 dict def mark
- /begin % push this dict after systemdict
- { dup begin
- //systemdict eq { //.loadfontdict begin } if
- } bind
- /end % match begin
- { currentdict end
- //.loadfontdict eq currentdict //systemdict eq and { end } if
- } bind
- /dict % leave room for FontFile, BuildChar, BuildGlyph
- { 3 add dict
- } bind
- /executeonly % for reading procedures
- { readonly
- }
- /noaccess % for Subrs strings and Private dictionary
- { readonly
- }
- /readonly % for procedures and CharStrings dictionary
- { % We want to take the following non-standard actions here:
- % - If the operand is the CharStrings dictionary, do nothing;
- % - If the operand is a number (a file position replacing the
- % actual CharString), do nothing;
- % - If the operand is either of the reading procedures (-| or -!),
- % substitute a different one.
- dup type /dicttype eq % CharStrings or Private
- count 2 gt and
- { 1 index /CharStrings ne { readonly } if }
- { dup type /arraytype eq % procedure or data array
- { dup length 5 ge 1 index xcheck and
- { dup 0 get /string eq
- 1 index 1 get /currentfile eq and
- 1 index 2 get /exch eq and
- 1 index 3 get dup /readstring eq exch /readhexstring eq or and
- 1 index 4 get /pop eq and
- { /cskip_C cvx 2 packedarray cvx
- }
- { readonly
- }
- ifelse
- }
- { readonly
- }
- ifelse
- }
- { dup type /stringtype eq % must be a Subr string
- { readonly }
- if
- }
- ifelse
- }
- ifelse
- } bind
- /definefont % to insert BuildChar/Glyph and change FontType
- { dup /FontType get 1 eq
- { dup /FontType 4 put
- dup /BuildChar /build_C load put
- dup /BuildGlyph /build_C load put
- }
- if definefont
- } bind
-counttomark 2 idiv { .loadfontdict 3 1 roll put } repeat pop
-.loadfontdict readonly pop
-
-% Define the BuildChar and BuildGlyph procedures for modified fonts.
-% A single procedure serves for both.
-/build_C % <font> <code|name> build_C -
- { 1 index begin
- dup dup type /integertype eq { Encoding exch get } if
- % Stack: font code|name name
- dup CharStrings exch .knownget not
- { 2 copy eq { exch pop /.notdef exch } if
- QUIET not
- { (Substituting .notdef for ) print = flush }
- { pop }
- ifelse
- /.notdef CharStrings /.notdef get
- } if
- % Stack: font code|name name charstring
- dup type /integertype eq
- { load_C end build_C }
- { end .type1execchar }
- ifelse
- } bind def
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_diskn.ps b/Master/tlpkg/tlgs/Resource/Init/gs_diskn.ps
index bb47655b2fd..5540715dcff 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_diskn.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_diskn.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for %disk device modifications
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps
index 76fbd288b4c..8e7e241d612 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_dpnxt.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% gs_dpnxt.ps
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dps.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dps.ps
index 7eb0a14401d..3ebd0a33172 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_dps.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_dps.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for Display PostScript functions.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dps1.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dps1.ps
index a4d6dda2a5c..1182f53e61e 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_dps1.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_dps1.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for most of the Display PostScript functions
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dps2.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dps2.ps
index cca4ba6fdbd..64faeda37e0 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_dps2.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_dps2.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for basic Display PostScript functions
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_dscp.ps b/Master/tlpkg/tlgs/Resource/Init/gs_dscp.ps
index 5be220c5f2f..d1a668b9d8a 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_dscp.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_dscp.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Postscript interface routines to DSC parser
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_epsf.ps b/Master/tlpkg/tlgs/Resource/Init/gs_epsf.ps
index 1ed7e1cbb2e..e4037d9b53c 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_epsf.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_epsf.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Allow the interpreter to encapsulate EPS files, to recognize MS-DOS
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_fapi.ps b/Master/tlpkg/tlgs/Resource/Init/gs_fapi.ps
index c78b1b9fccc..deb6b3e19e1 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_fapi.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_fapi.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Redefine Font and CIDFont categories with FAPI-handeled fonts.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_fntem.ps b/Master/tlpkg/tlgs/Resource/Init/gs_fntem.ps
index 5775a36a684..0f7c3153a7b 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_fntem.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_fntem.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% A procset for Postscript font emulation
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_fonts.ps b/Master/tlpkg/tlgs/Resource/Init/gs_fonts.ps
index 1f4c9eda288..38f0f6ca26f 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_fonts.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_fonts.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Font initialization and management code.
@@ -47,12 +47,6 @@ end def
{ /FontDirectory .systemvar
} .bind odef
-% If DISKFONTS is true, we load individual CharStrings as they are needed.
-% (This is intended primarily for machines with very small memories.)
-% In this case, we define another dictionary, parallel to FontDirectory,
-% that retains an open file for every font loaded.
-/FontFileDirectory 10 dict def
-
% Define a temporary string for local use, since using =string
% interferes with some PostScript programs.
/.fonttempstring 8192 string def
@@ -497,12 +491,6 @@ buildfontdict 3 /.buildfont3 cvx put
exec
{
-
- DISKFONTS {
- FontFileDirectory 2 index known {
- dup /FontFile FontFileDirectory 4 index get .growput
- } if
- } if
systemdict /ProvideUnicode .knownget not { //false } if {
/FontEmulationProcs /ProcSet findresource
/ProvideUnicodeDecoding get exec
@@ -1071,13 +1059,6 @@ $error /SubstituteFont { } put
if pop //false exit
} if
% Stack: fontname fontfilename fontfile
- DISKFONTS
- { .currentglobal //true .setglobal
- 2 index (r) file
- FontFileDirectory exch 5 index exch .growput
- .setglobal
- }
- if
QUIET not
{ (Loading ) print 2 index =only
( font from ) print 1 index print (... ) print flush
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_frsd.ps b/Master/tlpkg/tlgs/Resource/Init/gs_frsd.ps
index e815169c6a0..49ea61062b1 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_frsd.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_frsd.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Implementation of ReusableStreamDecode filter.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_icc.ps b/Master/tlpkg/tlgs/Resource/Init/gs_icc.ps
index 8f42ea69731..4ff59c6ef7d 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_icc.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_icc.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% We need LanguageLevel 2 or higher in order to have setuserparams and
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_il1_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_il1_e.ps
index 8014b8fb544..99933c8a1e1 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_il1_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_il1_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the ISO Latin-1 encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_img.ps b/Master/tlpkg/tlgs/Resource/Init/gs_img.ps
index e1cd6279323..273c18b10dd 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_img.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_img.ps
@@ -1,4 +1,4 @@
-% (C) 2002 Artifex, Inc. All rights reserved.
+% Copyright (C) 2002-2018 Artifex, Inc. All rights reserved.
%
% This software is provided AS-IS with no warranty, either express or
% implied.
@@ -10,8 +10,8 @@
% For more information about licensing, please refer to
% http://www.ghostscript.com/licensing/. For information on
% commercial licensing, go to http://www.artifex.com/licensing/ or
-% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
-% San Rafael, CA 94903, U.S.A., +1(415)492-9861.
+% contact Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861.
% image, colorimage, and imagemask implementation
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_init.ps b/Master/tlpkg/tlgs/Resource/Init/gs_init.ps
index 0596e5e28c4..6c8da532ca0 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_init.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_init.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for the interpreter.
@@ -29,7 +29,7 @@
% Interpreter library version number
% NOTE: the interpreter code requires that the first non-comment token
% in this file be an integer, and that it match the compiled-in version!
-922
+923
% Check the interpreter revision.
dup revision ne
@@ -113,6 +113,7 @@ PDFSTEP { /PDFDEBUG //true def } if
currentdict /PDFSTOPONERROR known /PDFSTOPONERROR exch def
currentdict /PDFSTOPONWARNING known {/PDFSTOPONWARNING true def /PDFSTOPONERROR true def}{/PDFSTOPONWARNING false def} ifelse
currentdict /PDFNOCIDFALLBACK known /PDFNOCIDFALLBACK exch def
+/.bind /bind load def
/VMDEBUG
INITDEBUG {{print mark
@@ -133,12 +134,18 @@ currentdict /PDFNOCIDFALLBACK known /PDFNOCIDFALLBACK exch def
{{pop
}}
ifelse
- def
+ .bind def
+
+%% This was a debugging switch removed in 9.22, no other software
+%% should have had any regard for it, and even if testing its value
+%% should have checked its existence first. However pstotext, an
+%% ancient and no longer maintained piece of softare, did check
+%% its value unconditionally. So we retain this key in the dictionary
+%% purely for backward compatibility.
+/NOBIND false def
currentdict /BATCH known /BATCH exch def
currentdict /DELAYBIND known /DELAYBIND exch def
-currentdict /REALLYDELAYBIND known {/REALLYDELAYBIND true def /DELAYBIND true def}{/REALLYDELAYBIND false def}ifelse
-currentdict /DISKFONTS known /DISKFONTS exch def
currentdict /DOINTERPOLATE .knownget { { -1 } { 0 } ifelse /InterpolateControl exch def } if
currentdict /ESTACKPRINT known /ESTACKPRINT exch def
currentdict /FAKEFONTS known /FAKEFONTS exch def
@@ -146,7 +153,6 @@ currentdict /FIXEDMEDIA known /FIXEDMEDIA exch def
currentdict /FIXEDRESOLUTION known /FIXEDRESOLUTION exch def
currentdict /LOCALFONTS known /LOCALFONTS exch def
currentdict /JOBSERVER known /JOBSERVER exch def
-/.bind /bind load def
currentdict /NOCACHE known /NOCACHE exch def
currentdict /NOCCFONTS known /NOCCFONTS exch def
currentdict /NOCIE known /NOCIE exch def
@@ -302,7 +308,16 @@ QUIET not { printgreeting flush } if
% If we're delaying binding, remember everything that needs to be bound later.
DELAYBIND
- { .currentglobal //false .setglobal
+{
+ SAFER {
+ (\n *** WARNING - you have selected SAFER, indicating you want Ghostscript\n) print
+ ( to execute in a safer environment, but at the same time\n) print
+ ( have selected DELAYBIND. Unless you use this option with\n) print
+ ( care \(and specifically, remember to call .bindnow\) it is\n) print
+ ( possible that malicious code may be able to evade the\n) print
+ ( limited security offered by the SAFER option.\n) print
+ } if
+ .currentglobal //false .setglobal
systemdict /.delaybind 2000 array .forceput
.setglobal
userdict /.delaycount 0 put
@@ -317,7 +332,7 @@ DELAYBIND
}
ifelse
} .bind def
- } if
+} if
%**************** BACKWARD COMPATIBILITY ****************
/hwsizedict mark /HWSize //null .dicttomark readonly def
@@ -2154,7 +2169,7 @@ SAFER { .setsafeglobal } if
/.type1execchar /.type2execchar /.type42execchar /.setweightvector /.getuseciecolor /processcolors /.includecolorspace
/.execn /.instopped /.stop /.stopped /.setcolorrendering /.setdevicecolorrendering /.buildcolorrendering1 /.builddevicecolorrendering1
/.TransformPQR_scale_WB0 /.TransformPQR_scale_WB1 /.TransformPQR_scale_WB2 /.currentoverprintmode /.copydevice2
-/.devicename /.doneshowpage /flushpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
+/.devicename /.doneshowpage /.getbitsrect /.getdevice /.getdefaultdevice /.getdeviceparams /.gethardwareparams
/makewordimagedevice /.outputpage /.putdeviceparams /.setdevice /.currentshowpagecount
/.setpagedevice /.currentpagedevice /.knownundef /.setmaxlength /.rectappend /.initialize_dsc_parser /.parse_dsc_comments
/.fillCIDMap /.fillIdentityCIDMap /.buildcmap /.filenamelistseparator /.libfile /.getfilename
@@ -2172,6 +2187,15 @@ SAFER { .setsafeglobal } if
/.systemvmSFD /.settrapparams /.currentsystemparams /.currentuserparams /.getsystemparam /.getuserparam /.setsystemparams /.setuserparams
/.checkpassword /.locale_to_utf8 /.currentglobal /.gcheck /.imagepath
+% Used by a free user in the Library of Congress. Apparently this is used to
+% draw a partial page, which is then filled in by the results of a barcode
+% scanner and SQL database lookup. Its not clear to us exactly why this needs to be
+% done as a partial page, but its easiest to restore the operator, and it seems like
+% its a reasonably safe operator to restore, for the *very* few devices on which
+% it will have any effect. Currently this uses the 'sync_outptu' device method
+% to transfer the partial page, in future we may use a spec_op instead.
+%/flushpage
+
% Used by our own test suite files
%/.fileposition %image-qa.ps
%/.makeoperator /.setCPSImode % gs_cet.ps
@@ -2208,7 +2232,7 @@ SAFER { .setsafeglobal } if
/.abortpdf14devicefilter /.pdfinkpath /.pdfFormName /.setstrokeconstantalpha
/.setfillconstantalpha /.setalphaisshape /.currentalphaisshape
/.settextspacing /.currenttextspacing /.settextleading /.currenttextleading /.settextrise /.currenttextrise
-/.setwordspacing /.currentwordspacing /.settexthscaling /.currenttexthscaling
+/.setwordspacing /.currentwordspacing /.settexthscaling /.currenttexthscaling /.setPDFfontsize /.currentPDFfontsize
% Used by our own test suite files
%/.pushpdf14devicefilter % transparency-example.ps
@@ -2243,6 +2267,7 @@ SAFER { .setsafeglobal } if
//systemdict /.forcecopynew .forceundef % remove temptation
//systemdict /.forcedef .forceundef % ditto
//systemdict /.forceput .forceundef % ditto
+ //systemdict /.undef .forceundef % ditto
//systemdict /.forceundef .forceundef % ditto
currentuserparams /IdiomRecognition known {
1 dict dup /IdiomRecognition 4 -1 roll put setuserparams
@@ -2366,18 +2391,6 @@ DELAYBIND not {
systemdict /.forceundef .undef % ditto
} if
-DELAYBIND REALLYDELAYBIND not and {
-(\n *** WARNING - the DELAYBIND command has been deprecated, and will be\n) print
-( removed in the next version. For now you can restore\n) print
-( the behaviour by using -dREALLYDEALYBIND but if you\n) print
-( require continued use of this command you should contact\n) print
-( the Ghostscript developers. Commercial customers of\n) print
-( Artifex should email their support contact, free users\n) print
-( are encouraged to talk to us on the #ghostscript IRC\n) print
-( channel on irc.freenode.net.\n\n) print
-/DELAYBIND /undefined signalerror
-} if
-
% Move superexec to internaldict if superexec is defined.
systemdict /superexec .knownget {
1183615869 internaldict /superexec 3 -1 roll put
@@ -2385,9 +2398,24 @@ systemdict /superexec .knownget {
} if
%% Can't remove this one until the last minute :-)
+DELAYBIND not {
systemdict /.undef .undef
+} if
+WRITESYSTEMDICT {
+ SAFER {
+ (\n *** WARNING - you have selected SAFER, indicating you want Ghostscript\n) print
+ ( to execute in a safer environment, but at the same time\n) print
+ ( have selected WRITESYSTEMDICT. Unless you use this option with\n) print
+ ( care and specifically, remember to execute code like:\n) print
+ ( "systemdict readonly pop"\n) print
+ ( it is possible that malicious code may be able to evade the\n) print
+ ( limited security offered by the SAFER option.\n) print
+ }if
+}
+{
+ systemdict readonly pop
+} ifelse
-WRITESYSTEMDICT not { systemdict readonly pop } if
(END GC) VMDEBUG
% The Adobe AGM_Core used by Illustrator 9 has some code that breaks
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_l2img.ps b/Master/tlpkg/tlgs/Resource/Init/gs_l2img.ps
index c24f3d6bf0f..c448fc42378 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_l2img.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_l2img.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Emulate the Level 2 dictionary-based image operator in Level 1,
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_lev2.ps b/Master/tlpkg/tlgs/Resource/Init/gs_lev2.ps
index 93037388f8f..72c11edb4a1 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_lev2.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_lev2.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for Level 2 functions.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_ll3.ps b/Master/tlpkg/tlgs/Resource/Init/gs_ll3.ps
index e2bffba377e..5aa56a36833 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_ll3.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_ll3.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for PostScript LanguageLevel 3 functions.
@@ -35,24 +35,58 @@ languagelevel dup 2 .max .setlanguagelevel
% where IdiomRecognition may not be defined.
/.bind_ { % <proc> .bind <proc'>
//.bind currentuserparams /IdiomRecognition
- .knownget not { //false } if {
- (*) {
- /IdiomSet findresource
- //false exch {
- % Stack: proc //false dummykey [template substitute]
- exch pop dup 1 get exch 0 get
- % Stack: proc //false substitute template
+ .knownget not { //false } if
+ {
+ //false
+ /IdiomSet .findcategory .Instances
+ {
+ exch pop % pop the IdiomSet identifying key. Stack /proc /false [-dict- status size]
+ 0 get % get resource instance, a dictionary. Stack : /proc false -dict-
+ {
+ exch pop % pop the instance identifying key
+ % Stack: proc //false [template substitute]
+ dup 1 get exch 0 get % Stack: proc //false substitute template
3 index .eqproc {
- 2 index gcheck 1 index gcheck not and {
- pop
- } {
- 3 -1 roll pop exch not exit
- } ifelse
+ % Stack: proc //false substitute
+ 3 -1 roll pop exch not % Stack: substitute true
} {
- pop
+ pop % Stack: proc //false
} ifelse
- } forall { exit } if
- } //.bindscratch /IdiomSet resourceforall
+ } forall
+ dup {exit} if % Stack proc <bool>
+ } forall
+
+ not % Not matched in global resources
+ currentglobal not and % must not match local resources if currentglobal is true
+ {
+ //false
+ .LocalInstances
+ {
+ exch pop % pop IdiomSet identifying key. Stack /proc /false [-dict- status size]
+ 0 get % get resource instance, a dictionary Stack : /proc false -dict-
+ {
+ exch pop % pop instance identifier key
+ % Stack: proc //false [template substitute]
+ dup 1 get exch 0 get % Stack: proc //false substitute template
+ 3 index .eqproc {
+ % Stack: proc //false substitute
+ 2 index gcheck % Stack: proc //false substitute _global?_
+ 1 index gcheck not and % Stack: proc //false substitute _global?_ _global?_
+ { % must not match if candidate in global VM and substitute in local
+ pop % Stack: proc //false
+ } {
+ % Stack: proc //false substitute
+ 3 -1 roll pop exch not % Stack: substitute true
+ }ifelse
+ } {
+ pop % Stack: proc //false
+ } ifelse
+ } forall
+ dup {exit} if
+ } forall
+ pop % Stack: proc/substitute
+ } if
+ end % .findcategory makes the category dictionary the current dict, so we must pop it from dict stack
} if
} def
/.bind /.bind_ load odef % note that .bind_ will get bound
@@ -489,6 +523,13 @@ end
currentdict end /Category defineresource pop
} forall
+(*) {
+ dup type /nametype eq not {
+ cvn
+ } if
+ /IdiomSet findresource pop
+} 256 string /IdiomSet resourceforall
+
/languagelevel 3 def
% When running in LanguageLevel 3 mode, this interpreter is supposed to be
% compatible with Adobe version 3010.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_mex_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_mex_e.ps
index 7b080eaa6e9..2812cb8d4ad 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_mex_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_mex_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the MacExpert encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_mgl_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_mgl_e.ps
index 64cadd18ce8..4086fb04904 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_mgl_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_mgl_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% $Id: gs_mgl_e.ps 8954 2008-08-08 04:22:38Z ray $
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_mro_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_mro_e.ps
index a90df4e9440..17a194d2e1f 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_mro_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_mro_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% $Id: gs_mro_e.ps 8954 2008-08-08 04:22:38Z ray $
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_pdf_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_pdf_e.ps
index be596585939..a285e491a50 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_pdf_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_pdf_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the PDFDoc encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_pdfwr.ps b/Master/tlpkg/tlgs/Resource/Init/gs_pdfwr.ps
index b49eec43f9b..3da5306223e 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_pdfwr.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_pdfwr.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% PDF writer additions to systemdict.
@@ -101,6 +101,7 @@ languagelevel 2 .setlanguagelevel
/TransferFunctionInfo /Preserve
/UseFlateCompression //true
/UsePrologue //false
+ /PassThroughJPEGImages //true
.dicttomark readonly def
/.distillersettings mark
@@ -829,6 +830,7 @@ currentdict /.pdf_hook_DSC_Creator undef
/MaxSubsetPct { }
/SubsetFonts { }
/DSCEncodingToUnicode { }
+ /PassThroughJPEGImages { }
/PSDocOptions { }
/PSPageOptions { }
.dicttomark readonly def
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_res.ps b/Master/tlpkg/tlgs/Resource/Init/gs_res.ps
index db2ff269868..d1e10c939d8 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_res.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_res.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for Level 2 resource machinery.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_resmp.ps b/Master/tlpkg/tlgs/Resource/Init/gs_resmp.ps
index 96bc67da16c..7cacaf8a4cd 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_resmp.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_resmp.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% A procset to redefine a resource category with a resource map.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_setpd.ps b/Master/tlpkg/tlgs/Resource/Init/gs_setpd.ps
index 6c4a221b315..0fc72300f39 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_setpd.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_setpd.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% The current implementation of setpagedevice has the following limitations:
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps b/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps
index dbcf05199c9..64c6463d103 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_statd.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% This file provides statusdict, serverdict, and assorted LaserWriter
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_std_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_std_e.ps
index 19200503fda..aef9036eaca 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_std_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_std_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the standard encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_sym_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_sym_e.ps
index 5a7c0ccb2f7..4c2eb95db6d 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_sym_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_sym_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the Symbol encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps b/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps
index 71aec983f4b..236b85e0083 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% PostScript LanguageLevel 3 in-RIP trapping support.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_ttf.ps b/Master/tlpkg/tlgs/Resource/Init/gs_ttf.ps
index 8cb5b390c57..05943c5d716 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_ttf.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_ttf.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Support code for direct use of TrueType fonts.
@@ -1350,10 +1350,10 @@ mark
glyphencoding length 0 eq {
/have_post //false def
cmapsub 0 4 getinterval <00030001> eq {
- PDFDEBUG { (No post but have cmap 3.1, so use ISOLatin1Encoding) = } if
+ TTFDEBUG { (No post but have cmap 3.1, so use ISOLatin1Encoding) = } if
/glyphencoding ISOLatin1Encoding dup length array copy def
} {
- PDFDEBUG { (No encoding info, use .GS_extended_SymbolEncoding) = } if
+ TTFDEBUG { (No encoding info, use .GS_extended_SymbolEncoding) = } if
/glyphencoding /.GS_extended_SymbolEncoding findencoding dup length array copy def
} ifelse
} {
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_typ32.ps b/Master/tlpkg/tlgs/Resource/Init/gs_typ32.ps
index 1ed1a2c0eeb..747196f48c8 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_typ32.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_typ32.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Initialization file for Type 32 fonts.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_typ42.ps b/Master/tlpkg/tlgs/Resource/Init/gs_typ42.ps
index fc4f3fad94a..0374a3c3372 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_typ42.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_typ42.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Type 42 font support code.
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_type1.ps b/Master/tlpkg/tlgs/Resource/Init/gs_type1.ps
index dbd9bf38a44..efdae48b284 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_type1.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_type1.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Type 1 font support code.
@@ -157,7 +157,7 @@
ifelse
/.loadfontfile % <file> .loadfontfile -
{ mark exch
- DISKFONTS { .loadfontdict begin } if
+
% In order to load fonts reliably, we should push systemdict
% here. However, Ed Taft says that Adobe implementations
% push userdict and nothing else!
@@ -171,9 +171,9 @@ ifelse
currentpacking
{ //false setpacking .loadfont1 //true setpacking }
{ .loadfont1 }
- ifelse end
+ ifelse
+ end
{ stop } if
- DISKFONTS { end } if
cleartomark
} bind def
% container for CloseSource flag (default //true to prevent buildup of file handles)
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_wan_e.ps b/Master/tlpkg/tlgs/Resource/Init/gs_wan_e.ps
index 96320334e88..226cb47959e 100644
--- a/Master/tlpkg/tlgs/Resource/Init/gs_wan_e.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/gs_wan_e.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Define the WinAnsi encoding vector.
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
index f2ae2dec3ef..0218bab0a1e 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_base.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% pdf_base.ps
@@ -447,25 +447,50 @@ currentdict /token_nofail_dict .undef
{ oforce } forall
} bind def
-/oforce_recursive { % <any> oforce_recursive <any>
+%% Safe recursion maintain a dicitonary in which we record all the object numbers
+%% of objects which we resolve. Whenever it resolves a new one, it checks all the
+%% existing ones to see if its already present, in which case we assume recursion
+%% has taken place. Whenever this procedure calls itself it copies the existing
+%% dictionary, and throws it away afterwards. This means that we won't falsely
+%% detect recursion if two elements at the same level indirect to the same
+%% object.
+/safe_recursive { % <<recursion dict>> <any> oforce_recursive <recursion dict> <any>
dup type dup /arraytype eq exch /packedarraytype eq or {
dup rcheck { % protect tint transform functions, etc.
+ dup length 3 eq {
+ dup 2 get /resolveR eq {
+ dup 0 get % <recursion dict> {x y resolveR} x
+ dup % <recursion dict> {x y resolveR} x x
+ 3 index exch known {
+ ( **** Error: detected circular reference in object number ) pdfformaterror pdfstring cvs pdfformaterror
+ (\n) pdfformaterror
+ pop //null
+ } {
+ dup 3 index % <recursion dict> {x y resolveR} x x <recursion dict>
+ 3 1 roll put % <recursion dict> {x y resolveR}
+ } ifelse
+ } if
+ } if
oforce % but dereference {1 0 R}
dup type dup /arraytype eq exch /packedarraytype eq or {
- [ exch { oforce_recursive } forall ]
+ [ exch 2 index <<>> copy exch { safe_recursive exch } forall pop]
} {
dup type /dicttype eq {
- << exch { oforce_recursive exch oforce exch } forall >>
+ << exch 2 index <<>> copy exch { 3 -1 roll exch safe_recursive 3 -1 roll oforce 3 1 roll exch } forall pop>>
} if
} ifelse
} if
} {
dup type /dicttype eq {
- << exch { oforce_recursive exch oforce exch } forall >>
+ << exch 2 index <<>> copy exch { 3 -1 roll exch safe_recursive 3 -1 roll oforce 3 1 roll exch } forall pop>>
} if
} ifelse
} bind def
+/oforce_recursive {
+ << >> exch safe_recursive exch pop
+} bind def
+
% A null value in a dictionary is equivalent to an omitted key;
% we must check for this specially.
/knownoget { % <dict> <key> knownoget <value> true
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_draw.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_draw.ps
index 68a56a3674b..e8ca213bbae 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_draw.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_draw.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% pdf_draw.ps
@@ -279,9 +279,30 @@ pdfdict begin
mark exch {
oforce
1 index /SpotFunction eq {
- dup type /nametype eq
- { //spotfunctions exch get } { resolvefnproc }
- ifelse
+ dup type /arraytype eq {
+ %% check all the names in the array in turn, stop when we find
+ %% the first one we recognise.
+ {
+ //spotfunctions exch .knownget {
+ exit
+ } if
+ } forall
+ dup type /nametype eq {
+ %% If we didn't find any that we recognise, then use
+ %% the default halftone's spot function
+ .setdefaulthalftone currenthalftone dup /SpotFunction .knownget {
+ exch pop
+ }{
+ /GraySpotFunction .knownget not {
+ //spotfunctions /Round get
+ } if
+ }ifelse
+ } if
+ }{
+ dup type /nametype eq
+ { //spotfunctions exch get } { resolvefnproc }
+ ifelse
+ } ifelse
} {
1 index /TransferFunction eq {
resolveidfnproc
@@ -2936,6 +2957,35 @@ end
{ 0 setgray true} ifelse
} bdef
+% Set an annotation color.
+% If the /C array is empty we don't want to draw the annotation
+%
+/annotsetinteriorcolor { % <annot> annotsetcolor bool
+ /IC knownoget {
+ dup length 4 eq {
+ aload pop setcmykcolor true
+ }{
+ dup length 3 eq {
+ aload pop setrgbcolor true
+ }{
+ dup length 1 eq {
+ aload pop setgray true
+ } {
+ dup length 0 eq {
+ pop
+ false
+ }{
+ ( **** Error: invalid color specified for annotation /C entry)
+ pdfformaterror false
+ ( Output may be incorrect.\n) pdfformaterror
+ } ifelse
+ } ifelse
+ } ifelse
+ } ifelse
+ }
+ { 0 setgray true} ifelse
+} bdef
+
% Draw the border. Currently, we ignore requests for beveling, and we
% don't round the corners of rectangles.
/strokeborder { % <annot> <width> <dash> strokeborder -
@@ -2971,7 +3021,7 @@ end
//true
} ifelse % <annot> [border] <bad?>
} ifelse {
- ( **** Error: Invalids annotation border object, border has not been drawn.\n)
+ ( **** Error: Invalid annotation border object, border has not been drawn.\n)
pdfformaterror
( Output may be incorrect.\n) pdfformaterror
pop { 0 0 0 }
@@ -3001,6 +3051,63 @@ end
grestore
} bdef
+% stroke the path of an annotation border.
+/strokeborderpath { % <annot> strokeborderpath -
+ gsave
+ dup /BS known 1 index /Border known or {
+ dup /BS knownoget {
+ dup type /dicttype ne % <annot> <border> <bad?>
+ } {
+ dup /Border oget
+ dup type /arraytype eq {
+ dup length 3 lt
+ } {
+ //true
+ } ifelse % <annot> [border] <bad?>
+ } ifelse {
+ ( **** Error: Invalid annotation border object, border has not been drawn.\n)
+ pdfformaterror
+ ( Output may be incorrect.\n) pdfformaterror
+ pop { 0 0 0 }
+ } if
+ dup type /dicttype eq {
+ dup /W knownoget not { 1 } if
+ % Per PDF1.6 Reference table 8.13, /W in the border style dictionary is
+ % expressed in points (an absolute unit), so compensate here for any
+ % scaling of the PostScript user space done due to /UserUnit.
+ % Scaling due to -dPDFFitPage is not undone, to keep the correct border width
+ % compared to the size of the surrounding marks.
+ //systemdict /NoUserUnit .knownget not { //false } if not
+ //systemdict /PDFFitPage known not and { % UserUnit is ignored if -dPDFFitPage
+ Page /UserUnit knownoget { div } if
+ } if
+ {} 2 index /S knownoget {
+ /D eq { 2 index /D knownoget not { {3} } if exch pop } if
+ } if
+ 3 index /CA knownoget {.setopacityalpha} if
+ 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
+ } ifelse
+ } {
+ 3 index /CA knownoget {.setopacityalpha} if
+ 1 {} 2 index annotsetcolor {0 setdash setlinewidth stroke} if
+ } ifelse
+ pop
+ grestore
+} bdef
+
+/fillborderpath { % <annot> fillborderpath -
+ gsave
+ dup /ca knownoget {.setopacityalpha} if
+ annotsetinteriorcolor
+ {fill} if
+ grestore
+}bdef
+
%
% The PDF annotation F (flags) integer is bit encoded.
% Bit 1 (LSB) Invisible: 1 --> Do not display if no handler.
@@ -3307,6 +3414,33 @@ currentdict /set_bc_color undef
% Draw an annotation.
/drawannottypes 20 dict begin
+ /startannottransparency {
+ PDFusingtransparency {
+ dup /BM known {
+ dup /BM get
+ << exch /BM exch >>
+ } {
+ << >>
+ }ifelse
+ %% We should be able to use the Rect to create the group, but it seems
+ %% Acrobat ignores this, or at least doesn't clip the annotation to it :-(
+% 1 index /Rect known {
+% 1 index annotrect exch % llx lly h w
+% 3 index add exch % x y urx h
+% 2 index add
+% }{
+ clippath pathbbox newpath
+% } ifelse
+ .begintransparencygroup
+ } if
+ }bdef
+
+ /endannottransparency {
+ PDFusingtransparency {
+ .endtransparencygroup
+ } if
+ }bdef
+
% x0 y0 x1 y1 x2 y2 x3 y3 -> x0 y0 x1-x0 y1-y0 x2-x0 y2-y0
/quadpoints2basis {
8 { oforce 8 1 roll } repeat
@@ -3350,7 +3484,421 @@ currentdict /set_bc_color undef
4 2 roll % x0 y0 x1-x0 y1-y0 x2-x0 y2-y0
} bdef
+ /Square {
+ dup /AP oknown {
+ //true
+ }{
+ gsave
+ //startannottransparency exec
+ dup
+ annotsetinteriorcolor
+ {
+ gsave
+ dup /ca knownoget {.setopacityalpha} if
+ dup annotrect rectfill
+ grestore
+ dup /CA knownoget {.setopacityalpha} if
+ drawborder
+ //false
+ }{
+ pop
+ } ifelse
+ //endannottransparency exec
+ grestore
+ }ifelse
+ } bdef
+
+%% Width Height drawellipse -
+/drawellipse {
+ %% Don Lancaster's code for drawing an ellipse
+ 0.55228475 0.00045 sub % improved magic value
+ 3 1 roll % magic width height
+ 2 div exch 2 div % magic y-radius x-radius
+ dup 3 index mul % magic y-radius x-radius x-magic
+ 2 index % magic y-radius x-radius x-magic y-radius
+ 5 -1 roll mul % magic y-radius x-radius x-magic y-magic
+
+ 2 index neg 0 moveto % xrad neg 0 moveto
+ 2 index neg 1 index 3 index neg 6 index 0 8 index curveto % xrad neg ymag xmag neg yrad 0 yrad curveto
+ 1 index 4 index 4 index 3 index 1 index 0 curveto % xmag yrad xrad ymag xrad 0 curveto
+ 2 index 1 index neg 3 index 6 index neg 0 1 index curveto % xrad ymag neg xmag yrad neg 0 yrad neg curveto
+ % Stack: yrad xrad xmag ymag
+ exch neg 4 1 roll 3 -1 roll neg 3 1 roll exch neg exch
+ neg 1 index 0 curveto % xmag neg yrad neg xrad neg ymag neg 0 curveto
+}bdef
+
+ /Circle {
+ dup /AP oknown {
+ //true
+ }{
+ gsave
+ //startannottransparency exec
+ dup annotrect 4 2 roll exch 3 index 2 div add exch 2 index 2 div add
+ translate //drawellipse exec
+ dup
+ fillborderpath
+ strokeborderpath
+ //endannottransparency exec
+ grestore
+ //false
+ } ifelse
+ } bdef
+
+ /Polygon {
+ dup /AP oknown {
+ //true
+ }{
+ gsave
+ //startannottransparency exec
+ dup /Vertices knownoget {
+ dup length 2 div 1 sub cvi 0 1 3 -1 roll
+ {
+ 2 mul dup
+ 2 index exch 2 getinterval aload pop
+ 3 -1 roll 0 eq {
+ moveto
+ }{
+ lineto
+ } ifelse
+ }
+ for
+ pop
+ closepath
+ //true
+ } {
+ ( **** Error: Invalid Vertices for Polygon, annotation has not been drawn.\n)
+ pdfformaterror
+ ( Output may be incorrect.\n) pdfformaterror
+ //false
+ } ifelse
+
+ 1 index annotsetinteriorcolor {
+ //true
+ }{
+ //false
+ }ifelse
+ and
+
+ {
+ gsave
+ dup /ca knownoget {.setopacityalpha} if
+ fill
+ grestore
+ dup /CA knownoget {.setopacityalpha} if
+ strokeborderpath
+ } if
+ //endannottransparency exec
+ //false
+ grestore
+ } ifelse
+ } bdef
+
+ /LineEnd_dict 10 dict begin
+ %% Stack contains <annot>
+ %% CTM rotated so line segment is vertical, translated so line endpoint at 0,0
+
+ /Square {
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ dup 2.5 mul
+ gsave
+ dup neg 1 index neg exch moveto
+ dup neg 1 index lineto
+ dup 1 index exch lineto
+ dup neg lineto
+ closepath
+ 1 index /CA knownoget {.setopacityalpha} if
+ 1 index fillborderpath
+ grestore
+ 3 mul
+ dup neg 1 index neg exch moveto
+ dup neg 1 index lineto
+ dup 1 index exch lineto
+ dup neg lineto
+ closepath
+ strokeborderpath
+ } bdef
+ /Circle {
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ dup
+ gsave
+ 2.5 mul dup
+ 0 moveto
+ 0 0 3 -1 roll 0 360 arc
+ 1 index /CA knownoget {.setopacityalpha} if
+ 1 index fillborderpath
+ grestore
+ 3 mul dup
+ 0 moveto
+ 0 0 3 -1 roll 0 360 arc
+ strokeborderpath
+ } bdef
+ /Diamond {
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ dup 2.5 mul
+ gsave
+ dup neg 0 exch moveto
+ dup neg 0 lineto
+ dup 0 exch lineto
+ 0 lineto
+ closepath
+ 1 index /CA knownoget {.setopacityalpha} if
+ 1 index fillborderpath
+ grestore
+ 3 mul
+ dup neg 0 exch moveto
+ dup neg 0 lineto
+ dup 0 exch lineto
+ 0 lineto
+ closepath
+ strokeborderpath
+ } bdef
+ /OpenArrow {
+ dup
+ gsave
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ 0 setlinejoin
+ dup 6 mul neg 1 index 4 mul neg moveto dup 1.2 div neg 0 lineto
+ dup 6 mul neg exch 4 mul lineto
+ strokeborderpath
+ grestore
+ } bdef
+ /ClosedArrow {
+ dup
+ gsave
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ dup
+ gsave
+ 0 setlinejoin
+ dup 6 mul neg 1 index 4 mul neg moveto dup 1.2 div neg 0 lineto
+ dup 6 mul neg exch 4 mul lineto closepath
+ 1 index strokeborderpath
+ grestore
+ dup 1.3 mul neg 0 translate
+ dup 2 div sub
+ dup 8.4 mul neg 1 index 5.9 mul neg moveto dup 1.2 div neg 0 lineto
+ dup 8.4 mul neg exch 5.9 mul lineto closepath
+ dup /CA knownoget {.setopacityalpha} if
+ fillborderpath
+ grestore
+ } bdef
+ /None {} bdef
+ /Butt {
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ 3 mul dup neg 0 exch moveto 0 exch lineto
+ strokeborderpath
+ } bdef
+ /ROpenArrow {
+ gsave
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ 180 rotate
+ 0 setlinejoin
+ dup 6 mul neg 1 index 4 mul neg moveto dup 1.2 div neg 0 lineto
+ dup 6 mul neg exch 4 mul lineto
+ strokeborderpath
+ grestore
+ } bdef
+ /RClosedArrow {
+ gsave
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ 180 rotate
+ dup
+ gsave
+ 0 setlinejoin
+ dup 6 mul neg 1 index 4 mul neg moveto dup 1.2 div neg 0 lineto
+ dup 6 mul neg exch 4 mul lineto closepath
+ 1 index strokeborderpath
+ grestore
+ dup 1.3 mul neg 0 translate
+ dup 2 div sub
+ dup 8.4 mul neg 1 index 5.9 mul neg moveto dup 1.2 div neg 0 lineto
+ dup 8.4 mul neg exch 5.9 mul lineto closepath
+ dup /CA knownoget {.setopacityalpha} if
+ fillborderpath
+ grestore
+ } bdef
+ /Slash {
+ gsave
+ dup
+ /BS knownoget {
+ /W knownoget {
+ }{
+ 1
+ }ifelse
+ }{
+ 1
+ }ifelse
+ 330 rotate
+ 3 mul dup neg 0 exch moveto 0 exch lineto
+ strokeborderpath
+ grestore
+ } bdef
+
+ currentdict end readonly def
+
+ /Line {
+ dup /AP oknown {
+ //true
+ } {
+ gsave
+ //startannottransparency exec
+ dup /L knownoget {
+ 1 index /LE knownoget {
+ gsave
+ 1 index aload pop % x1 y1 x2 y2
+ 3 -1 roll sub % x1 x2 dy
+ 3 1 roll exch sub % dy dx
+ 2 copy translate
+ atan
+ rotate
+ dup 0 get dup //LineEnd_dict exch known not {pop /None} if //LineEnd_dict exch get 3 index exch exec
+ grestore
+ gsave
+ 1 index aload pop % x1 y1 x2 y2
+ 3 -1 roll sub % x1 x2 dy
+ 3 1 roll exch sub % dy dx
+ 2 copy translate
+ atan 180 add
+ rotate
+ 1 get dup //LineEnd_dict exch known not {pop /None} if //LineEnd_dict exch get 3 index exch exec
+ grestore
+ }if
+ aload pop 4 2 roll
+ moveto lineto
+ strokeborderpath
+ }{
+ ( **** Error: Invalid L array for Line, annotation has not been drawn.\n)
+ pdfformaterror
+ ( Output may be incorrect.\n) pdfformaterror
+ pop
+ } ifelse
+ //endannottransparency exec
+ //false
+ grestore
+ } ifelse
+ } bdef
+
+ /PolyLine {
+ dup /AP oknown {
+ //true
+ }{
+ gsave
+ //startannottransparency exec
+ dup /Vertices knownoget {
+ 1 index /LE knownoget {
+ gsave
+ 1 index 0 4 getinterval aload pop
+ 4 2 roll
+ 2 copy translate 4 2 roll
+ 3 -1 roll sub % x1 x2 dy
+ 3 1 roll exch sub % dy dx
+ atan
+ rotate
+ dup 0 get dup //LineEnd_dict exch known not {pop /None} if //LineEnd_dict exch get 3 index exch exec
+ grestore
+
+ gsave
+ 1 index dup length 4 sub 4 getinterval aload pop
+ 2 copy translate
+ 3 -1 roll sub % x1 x2 dy
+ 3 1 roll exch sub % dy dx
+ atan
+ rotate
+ 1 get dup //LineEnd_dict exch known not {pop /None} if //LineEnd_dict exch get 3 index exch exec
+ grestore
+ } if
+ dup length 2 div 1 sub cvi 0 1 3 -1 roll
+ {
+ 2 mul dup
+ 2 index exch 2 getinterval aload pop
+ 3 -1 roll 0 eq {
+ moveto
+ }{
+ lineto
+ } ifelse
+ }
+ for
+ pop
+ //true
+ } {
+ ( **** Error: Invalid Vertices for Polygon, annotation has not been drawn.\n)
+ pdfformaterror
+ ( Output may be incorrect.\n) pdfformaterror
+ //false
+ } ifelse
+
+ {
+ strokeborderpath
+ } if
+ //endannottransparency exec
+ //false
+ grestore
+ } ifelse
+ } bdef
+
/Link { % <annot> -> <false>
+ //startannottransparency exec
dup drawborder dup calc_annot_scale
2 copy mul 0 ne
{3 -1 roll drawwidget //false}
@@ -3359,6 +3907,7 @@ currentdict /set_bc_color undef
( **** Error: ignoring annotation with scale factor of 0\n) pdfformaterror
( Output may be incorrect.\n) pdfformaterror
}ifelse
+ //endannottransparency exec
} bdef
/Ink { % <annot> -> <annot> <true>
@@ -3366,6 +3915,7 @@ currentdict /set_bc_color undef
dup /AP oknown {
//true
} {
+ //startannottransparency exec
1 setlinewidth
1 setlinecap
1 setlinejoin
@@ -3373,15 +3923,32 @@ currentdict /set_bc_color undef
dup calc_annot_scale
2 copy mul 0 ne
{
- 3 index annotrect pop pop translate
scale
- /InkList knownoget {
+ dup /InkList knownoget {
{ oforce
mark exch { oforce } forall
.pdfinkpath
stroke
} forall
- } if
+ pop
+ } {
+ /Path knownoget {
+ oforce
+ dup length 1 sub 0 1 3 -1 roll {
+ dup 0 eq {
+ 1 index exch get aload pop moveto
+ } {
+ 1 index exch get dup length 2 eq {
+ aload pop lineto
+ }{
+ aload pop curveto
+ } ifelse
+ }ifelse
+ } for
+ pop dup
+ strokeborderpath
+ } if
+ }ifelse
}
{
pop pop
@@ -3390,6 +3957,7 @@ currentdict /set_bc_color undef
}
ifelse
} if
+ //endannottransparency exec
//false
} ifelse
} bdef
@@ -3533,6 +4101,7 @@ currentdict /set_bc_color undef
dup /AP oknown {
//true
} {
+ //startannottransparency exec
dup annotsetcolor {
dup calc_annot_scale
2 copy mul 0 ne
@@ -3581,6 +4150,7 @@ currentdict /set_bc_color undef
}
ifelse
} if
+ //endannottransparency exec
//false
} ifelse
} bdef
@@ -3589,6 +4159,7 @@ currentdict /set_bc_color undef
dup /AP oknown {
//true
} {
+ //startannottransparency exec
dup calc_annot_scale
2 copy mul 0 ne
{
@@ -3621,6 +4192,7 @@ currentdict /set_bc_color undef
( Output may be incorrect.\n) pdfformaterror
}
ifelse
+ //endannottransparency exec
//false
} ifelse
} bdef
@@ -3640,6 +4212,7 @@ currentdict /set_bc_color undef
{
gsave
+ //startannottransparency exec
dup annotrect rectclip
dup /CA knownoget {
@@ -3748,6 +4321,9 @@ currentdict /set_bc_color undef
%% Get the Contents string, if we don't have one, we're done
%%
2 index /Contents knownoget {
+ PDFusingtransparency {
+ .begintransparencytextgroup
+ } if
%% Check for UTF16-BE, we probably don't work properly with this yet.
%%
dup 0 get 254 eq 1 index 1 get 255 eq and
@@ -3794,8 +4370,12 @@ currentdict /set_bc_color undef
} for
pop
}ifelse
+ PDFusingtransparency {
+ .endtransparencytextgroup
+ } if
} if
pop pop
+ //endannottransparency exec
//false
grestore
}
@@ -3830,6 +4410,9 @@ currentdict /set_bc_color undef
% (text) y h -> -
/text {
+ PDFusingtransparency {
+ .begintransparencytextgroup
+ } if
/Times-Bold findfont exch scalefont setfont % (text) y
gsave
0 0 moveto
@@ -3839,6 +4422,9 @@ currentdict /set_bc_color undef
95 add exch moveto
gsave 1 -1 rmoveto 0.75 setgray dup show grestore
show
+ PDFusingtransparency {
+ .endtransparencytextgroup
+ } if
} bdef
/red <ef4023> readonly def
@@ -3912,6 +4498,7 @@ currentdict /set_bc_color undef
dup /AP oknown {
//true
} {
+ //startannottransparency exec
dup calc_annot_scale
2 copy mul 0 ne
{
@@ -3934,6 +4521,7 @@ currentdict /set_bc_color undef
( Output may be incorrect.\n) pdfformaterror
}
ifelse
+ //endannottransparency exec
//false
} ifelse
} bdef
@@ -3945,6 +4533,7 @@ currentdict /set_bc_color undef
//true
}{
gsave
+ //startannottransparency exec
newpath
0.05 setlinewidth
dup /Parent .knownget {
@@ -3981,10 +4570,16 @@ currentdict /set_bc_color undef
dup
/Contents .knownget {
gsave
+ PDFusingtransparency {
+ .begintransparencytextgroup
+ } if
0 setgray
/Helvetica findfont 9 scalefont setfont
2 index aload pop 3 1 roll pop pop 30 sub exch 5 add exch
moveto show
+ PDFusingtransparency {
+ .endtransparencytextgroup
+ } if
grestore
} if
exch
@@ -3994,15 +4589,22 @@ currentdict /set_bc_color undef
exch
/T .knownget {
gsave
+ PDFusingtransparency {
+ .begintransparencytextgroup
+ } if
0 setgray
/Helvetica findfont 9 scalefont setfont
dup stringwidth pop
2 index aload pop pop exch pop exch sub
exch sub 2 div 2 index aload pop 3 1 roll pop pop 11 sub 3 1 roll add exch moveto
show
+ PDFusingtransparency {
+ .endtransparencytextgroup
+ } if
grestore
} if
grestore
+ //endannottransparency exec
//false
} ifelse
} {
@@ -4013,7 +4615,22 @@ currentdict /set_bc_color undef
}ifelse
} bdef
+ /Redact {
+ %% Redact annotations are part of a process, a Redact annotation is only present
+ %% until the content is removed, before that the content should be present and
+ %% I beleive we should print it. So take no action for Redact annotations if they
+ %% have no appearance.
+ dup /AP oknown {
+ //true
+ } {
+ //false
+ } ifelse
+ } bdef
+
+currentdict /startannottransparency undef
+currentdict /endannottransparency undef
currentdict /quadpoints2basis undef
+currentdict /drawellipse undef
currentdict end readonly def
/.PDFDrawAnnotType?
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_font.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_font.ps
index 02a3b0f6602..a9511570ec2 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_font.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_font.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% PDF font operations.
@@ -524,13 +524,11 @@ currentdict end readonly def
0 4 index 2 mul 3 index length 1 sub { % e [] i offset key_size value_size (keys) (values) j
2 index 1 index 6 index getinterval
string2number % e [] i offset key_size value_size (keys) (values) j keyL
- 6 index add
CMAPDEBUG {
( keyL=) print dup =string cvs print
} if
3 index 2 index 7 index add 7 index getinterval
string2number % e [] i offset key_size value_size (keys) (values) j keyL keyH
- 7 index add
CMAPDEBUG {
( keyH=) print dup =
} if
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_main.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_main.ps
index a16f5806734..1e3fae2e589 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_main.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_main.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% pdf_main.ps
@@ -649,7 +649,6 @@ pdfdict begin
PDFfile fileposition
/dictlevelcount 0 def
/TrailerSizeError false def
- /ICCProfileNError false def
/TrailerSize 0 def
{
@@ -1008,14 +1007,47 @@ currentdict /xref-char-dict undef
/Outlines knownoget {
/NO_PDFMARK_OUTLINES where {pop NO_PDFMARK_OUTLINES not}{true}ifelse
{
- /First knownoget {
+ dup /First known {
+ 100 dict exch %% dictionary for detecting circular references
+ /First get dup type /packedarraytype eq { %% << >> {} or << >>
+ dup 0 get dup %% << >> {} object_num object_num
+ 3 index 3 1 roll %% << >> {} << >> object_num object_num
+ put
+ oforce
+ } if
+
dup type /dicttype eq {
- { dup writeoutline /Next knownoget not { exit } if
- dup type /dicttype eq not {exit} if
+ {
+ dup
+ /Next known {
+ dup /Next get %% << >> <</Next...>> {} or << >>
+ dup type /packedarraytype eq {
+ dup 0 get %% << >> <</Next....>> {} object_num
+ dup 4 index exch known {
+ (\n **** ERROR: Circular reference detected in Outlines,\n) pdfformaterror
+ ( terminating Outline processing.\n) pdfformaterror
+ ( Output may be incorrect.\n) pdfformaterror
+ %% << >> <</Next....>> {} object_num
+ pop pop dup /Next undef %% << >> <<.....>>
+ writeoutline exit
+ } if
+ %% << >> <</Next....>> {} object_num
+ dup 3 index 3 1 roll put %% << >> <</Next....>> {}
+ oforce
+ } if
+ exch writeoutline %% << >> </Next object>
+ dup type /dicttype eq not
+ {pop exit} if
+ } {
+ writeoutline exit
+ }ifelse
} loop
+ pop
}
- {pop} ifelse
- }if
+ {pop pop} ifelse
+ }{
+ pop
+ }ifelse
} {
pop
}ifelse
@@ -1275,6 +1307,7 @@ currentdict /xref-char-dict undef
/RepairedAnError //false def
/StreamRunAborted //false def
/NeedAppearances //false def
+ /ICCProfileNError false def
currentglobal //true .setglobal globaldict begin
/UndefProcList 0 dict def
end .setglobal
@@ -2661,7 +2694,7 @@ currentdict /PDF2PS_matrix_key undef
/showpagecontents { % <pagedict> showpagecontents -
dup % Save the pagedict for the Annotations
count 1 sub /pdfemptycount exch store
- gsave % preserve gstate for Annotations later
+ /pdfemptycount where pop /annot_gstate gstate currentgstate put % preserve gstate for Annots later
/Contents knownoget not { 0 array } if
dup type /arraytype ne { 1 array astore } if {
oforce dup type /dicttype eq {
@@ -2681,7 +2714,7 @@ currentdict /PDF2PS_matrix_key undef
} {
pop
} ifelse
- grestore
+ annot_gstate setgstate % restore the gstate for Annots
% Draw the annotations
//systemdict /ShowAnnots .knownget not { //true } if {
/Annots knownoget {
@@ -2881,6 +2914,9 @@ currentdict /PDF2PS_matrix_key undef
4 dict exch resourceusestransparency { pop pop //true exit } if
} if
} if % If AP dict known
+ dup /BM knownoget {
+ //true exit
+ } if
dup /CA knownoget {
1 le {
pop pop //true exit
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_ops.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_ops.ps
index fabef68a90a..589d0d5d927 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_ops.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_ops.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Definitions for most of the PDF operators.
@@ -291,8 +291,75 @@ currentdict /gput_always_allow .undef
/RG {/DeviceRGB .setstrokecolorspace .setstrokecolor} bdef
/k {/DeviceCMYK .setfillcolorspace .setfillcolor} bdef
/K {/DeviceCMYK .setstrokecolorspace .setstrokecolor} bdef
-/cs {dup dup type /nametype ne { 0 get } if //CSdict exch get exec exch .setfillcolorspace exec .setfillcolor} bdef
-/CS {dup dup type /nametype ne { 0 get } if //CSdict exch get exec exch .setstrokecolorspace exec .setstrokecolor} bdef
+/cs {dup dup type /nametype ne { 0 get } if
+ dup /ICCBased eq {
+ 1 index 1 get /OrigN .knownget not {1 index 1 get /N get} if mark
+ 4 2 roll
+ //CSdict exch get exec exch .setfillcolorspace exec {.setfillcolor} stopped
+ {
+ (error) == flush
+ cleartomark
+ [//null /DeviceGray //null /DeviceRGB /DeviceCMYK] exch
+ {get} stopped
+ {
+ ( **** Error: Unable to set an ICCBased colour space, and cannot set an alternate from the number of components.\n) print
+ /setcolorspace cvx /undefined signalerror
+ }
+ {
+ dup //null eq {
+ ( **** Error: Unable to set an ICCBased colour space, and cannot set an alternate from the number of components.\n) print
+ /setcolorspace cvx /undefined signalerror
+ }{
+ ICCProfileNError flush not {
+ ( **** Warning : Error setting an ICCBased colour space, using /N to set an alternate device space.\n) print
+ ( Output may be incorrect.\n) print
+ } if
+ setcolorspace
+ /ICCProfileNError where {/ICCProfileNError true put} if
+ } ifelse
+ }ifelse
+ }{
+ cleartomark pop
+ }
+ ifelse
+ } {
+ //CSdict exch get exec exch .setfillcolorspace exec .setfillcolor
+ } ifelse
+} bdef
+/CS {dup dup type /nametype ne { 0 get } if
+ dup /ICCBased eq {
+ 1 index 1 get /OrigN .knownget not {1 index 1 get /N get} if mark
+ 4 2 roll
+ //CSdict exch get exec exch .setstrokecolorspace exec {.setstrokecolor} stopped
+ {
+ cleartomark
+ [//null /DeviceGray //null /DeviceRGB /DeviceCMYK] exch
+ {get} stopped
+ {
+ ( **** Error: Unable to set an ICCBased colour space, and cannot set an alternate from the number of components.\n) print
+ /setcolorspace cvx /undefined signalerror
+ }
+ {
+ dup //null eq {
+ ( **** Error: Unable to set an ICCBased colour space, and cannot set an alternate from the number of components.\n) print
+ /setcolorspace cvx /undefined signalerror
+ }{
+ ICCProfileNError flush not {
+ ( **** Warning : Error setting an ICCBased colour space, using /N to set an alternate device space.\n) print
+ ( Output may be incorrect.\n) print
+ } if
+ setcolorspace
+ /ICCProfileNError where {/ICCProfileNError true put} if
+ } ifelse
+ }ifelse
+ }{
+ cleartomark pop
+ }
+ ifelse
+ } {
+ //CSdict exch get exec exch .setstrokecolorspace exec .setstrokecolor
+ } ifelse
+} bdef
/sc {.setfillcolor} bdef
/SC {.setstrokecolor} bdef
/sc* {.setfillcolor} bdef
@@ -409,19 +476,15 @@ currentdict /gput_always_allow .undef
% Establish a given color (and color space) as current.
/.settransparencyparams { % <alpha> <smask> .settransparencyparams -
PDFusingtransparency {
- /.begintransparencygroup where {
- pop .currentalphaisshape
- {
- 1 .setopacityalpha exch .setshapealpha 1
- } {
- 1 .setshapealpha exch .setopacityalpha 0
- } ifelse
- % Set the soft mask by rendering the XObject. Doing this every time
- % is obviously very inefficient; we'll improve it later.
- .settransparencymask
+ .currentalphaisshape
+ {
+ 1 .setopacityalpha exch .setshapealpha 1
} {
- pop pop
+ 1 .setshapealpha exch .setopacityalpha 0
} ifelse
+ % Set the soft mask by rendering the XObject. Doing this every time
+ % is obviously very inefficient; we'll improve it later.
+ .settransparencymask
} {
pop pop
} ifelse
@@ -1153,10 +1216,8 @@ end readonly def
} bdef
/Tf { % <font> <scale> Tf -
+ dup .setPDFfontsize
dup 0 eq {
- (\n **** Error: Invalid 0.0 font scale given for Tf\n)
- pdfformaterror
- ( Output may be incorrect.\n) pdfformaterror
pop 0.00000001 % handle invalid scale by using a really small value
} if
1 index type /dicttype ne {
@@ -1721,8 +1782,10 @@ end readonly def
% NB: We don't need clippath when filling or stroking
/tf {
+ .currentPDFfontsize 0 eq not {
//true /TextFillStateNeeded gput
settextfillstate //true TextTransSetup currentpoint fill TextTransTeardown moveto
+ } if
} bdef
/tn { currentpoint newpath moveto } bdef % Obsolete, never used.
% For stroking characters, temporarily restore the graphics CTM so that
@@ -1735,9 +1798,11 @@ end readonly def
settextfillstate //true TextTransSetup currentpoint fill TextTransTeardown moveto
}
{
- setstrokestate //true TextTransSetup
- currentpoint //Tmatrix currentmatrix TextSaveMatrix setmatrix .swapcolors stroke TextTransTeardown .swapcolors
- setmatrix moveto
+ .currentPDFfontsize 0 eq not {
+ setstrokestate //true TextTransSetup
+ currentpoint //Tmatrix currentmatrix TextSaveMatrix setmatrix .swapcolors stroke TextTransTeardown .swapcolors
+ setmatrix moveto
+ } if
} ifelse
//true /TextFillStateNeeded gput
} bdef
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_rbld.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_rbld.ps
index 673a8db8ad2..d5e2b11b51c 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_rbld.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_rbld.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% pdf_rbld.ps - Rebuilding of broken PDF files (xref errors)
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
index 3889ae70292..fe21c8f2b54 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2012 Artifex Software, Inc.
+% Copyright (C) 2001-2018 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -9,8 +9,8 @@
% of the license contained in the file LICENSE in this distribution.
%
% Refer to licensing information at http://www.artifex.com or contact
-% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael,
-% CA 94903, U.S.A., +1(415)492-9861, for further information.
+% Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato,
+% CA 94945, U.S.A., +1(415)492-9861, for further information.
%
% Copyright (C) 1996-1998 Geoffrey Keating.
% Copyright (C) 2001-2008 Artifex Software, Inc.