From f2c4b14462f6884a29f80233a4c89e8f07f1964a Mon Sep 17 00:00:00 2001 From: Reinhard Kotucha Date: Fri, 20 Apr 2012 18:43:26 +0000 Subject: tlpkg/tlgs: upgrade gs-9.04 => gs-9.05 git-svn-id: svn://tug.org/texlive/trunk@26070 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/tlgs/README.TEXLIVE | 2 +- Master/tlpkg/tlgs/bin/gsdll32.dll | Bin 14639104 -> 12378112 bytes Master/tlpkg/tlgs/bin/gsdll32.lib | Bin 8014 -> 8014 bytes Master/tlpkg/tlgs/bin/gswin32.exe | Bin 147456 -> 147456 bytes Master/tlpkg/tlgs/bin/gswin32c.exe | Bin 139264 -> 139264 bytes Master/tlpkg/tlgs/lib/PDFA_def.ps | 11 +--- Master/tlpkg/tlgs/lib/cidfmap | 58 +------------------ Master/tlpkg/tlgs/lib/opdfread.ps | 112 +++++++++++++++++++++++++++++++------ Master/tlpkg/tlgs/lib/prfont.ps | 4 +- 9 files changed, 100 insertions(+), 87 deletions(-) (limited to 'Master/tlpkg/tlgs') diff --git a/Master/tlpkg/tlgs/README.TEXLIVE b/Master/tlpkg/tlgs/README.TEXLIVE index b9a5bfb3f01..762793b1336 100644 --- a/Master/tlpkg/tlgs/README.TEXLIVE +++ b/Master/tlpkg/tlgs/README.TEXLIVE @@ -1,5 +1,5 @@ -This directory contains a subset of the Ghostscript 9.04 distribution +This directory contains a subset of the Ghostscript 9.05 distribution for Windows. The only purpose of this package is to support programs shipped with TeX Live. It's not intended for general use. diff --git a/Master/tlpkg/tlgs/bin/gsdll32.dll b/Master/tlpkg/tlgs/bin/gsdll32.dll index 3598ab4a452..df2facd476e 100755 Binary files a/Master/tlpkg/tlgs/bin/gsdll32.dll and b/Master/tlpkg/tlgs/bin/gsdll32.dll differ diff --git a/Master/tlpkg/tlgs/bin/gsdll32.lib b/Master/tlpkg/tlgs/bin/gsdll32.lib index deeefd19f5e..119d3bbe546 100644 Binary files a/Master/tlpkg/tlgs/bin/gsdll32.lib and b/Master/tlpkg/tlgs/bin/gsdll32.lib differ diff --git a/Master/tlpkg/tlgs/bin/gswin32.exe b/Master/tlpkg/tlgs/bin/gswin32.exe index 29f4528f63b..da42c9d4ce4 100755 Binary files a/Master/tlpkg/tlgs/bin/gswin32.exe and b/Master/tlpkg/tlgs/bin/gswin32.exe differ diff --git a/Master/tlpkg/tlgs/bin/gswin32c.exe b/Master/tlpkg/tlgs/bin/gswin32c.exe index d9c915cc217..153c6324551 100755 Binary files a/Master/tlpkg/tlgs/bin/gswin32c.exe and b/Master/tlpkg/tlgs/bin/gswin32c.exe differ diff --git a/Master/tlpkg/tlgs/lib/PDFA_def.ps b/Master/tlpkg/tlgs/lib/PDFA_def.ps index 7fe7871370a..138ab449080 100644 --- a/Master/tlpkg/tlgs/lib/PDFA_def.ps +++ b/Master/tlpkg/tlgs/lib/PDFA_def.ps @@ -6,16 +6,7 @@ % This assumes an ICC profile to reside in the file (ISO Coated sb.icc), % unless the user modifies the corresponding line below. -systemdict /ProcessColorModel known { - systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and -} { - true -} ifelse -{ (ERROR: ProcessColorModel must be /DeviceGray or DeviceCMYK.)= - /ProcessColorModel cvx /rangecheck signalerror -} if - -% Define entries to the document Info dictionary : +% Define entries in the document Info dictionary : /ICCProfile (ISO Coated sb.icc) % Customize. def diff --git a/Master/tlpkg/tlgs/lib/cidfmap b/Master/tlpkg/tlgs/lib/cidfmap index 620afee3292..bb9fd70ba46 100644 --- a/Master/tlpkg/tlgs/lib/cidfmap +++ b/Master/tlpkg/tlgs/lib/cidfmap @@ -1,63 +1,7 @@ %! % cidfmap generated automatically by mkcidfm.ps from fonts found in -% C:/Windows/Fonts +% C:/windows/Fonts % Substitutions -/Batang << /SubfontID 0 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/batang.ttc) /FileType /TrueType >> ; -/SimHei << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simhei.ttf) /FileType /TrueType >> ; -/GulimChe << /SubfontID 1 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/gulim.ttc) /FileType /TrueType >> ; -/ArialUnicodeMS-CNS << /SubfontID 0 /CSI [(CNS1) 2] /Path (C:/Windows/Fonts/arialuni.ttf) /FileType /TrueType >> ; -/Gulim << /SubfontID 0 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/gulim.ttc) /FileType /TrueType >> ; -/MalgunGothicRegular << /SubfontID 0 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/malgun.ttf) /FileType /TrueType >> ; -/MS-Mincho << /SubfontID 0 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msmincho.ttc) /FileType /TrueType >> ; -/Gungsuh << /SubfontID 2 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/batang.ttc) /FileType /TrueType >> ; -/MalgunGothicBold << /SubfontID 0 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/malgunbd.ttf) /FileType /TrueType >> ; -/Meiryo-Italic << /SubfontID 1 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/meiryo.ttc) /FileType /TrueType >> ; -/MS-PGothic << /SubfontID 1 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msgothic.ttc) /FileType /TrueType >> ; -/NSimSun << /SubfontID 1 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simsun.ttc) /FileType /TrueType >> ; -/Meiryo << /SubfontID 0 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/meiryo.ttc) /FileType /TrueType >> ; -/MS-Gothic << /SubfontID 0 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msgothic.ttc) /FileType /TrueType >> ; -/MicrosoftYaHei << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/msyh.ttf) /FileType /TrueType >> ; -/FangSong << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simfang.ttf) /FileType /TrueType >> ; -/Meiryo-Bold << /SubfontID 0 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/meiryob.ttc) /FileType /TrueType >> ; -/SimSun << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simsun.ttc) /FileType /TrueType >> ; -/Dotum << /SubfontID 2 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/gulim.ttc) /FileType /TrueType >> ; -/ArialUnicodeMS-KR << /SubfontID 0 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/arialuni.ttf) /FileType /TrueType >> ; -/DotumChe << /SubfontID 3 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/gulim.ttc) /FileType /TrueType >> ; -/KaiTi << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/simkai.ttf) /FileType /TrueType >> ; -/BatangChe << /SubfontID 1 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/batang.ttc) /FileType /TrueType >> ; -/MS-PMincho << /SubfontID 1 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msmincho.ttc) /FileType /TrueType >> ; -/ArialUnicodeMS-GB << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/arialuni.ttf) /FileType /TrueType >> ; -/Meiryo-BoldItalic << /SubfontID 1 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/meiryob.ttc) /FileType /TrueType >> ; -/MicrosoftJhengHeiRegular << /SubfontID 0 /CSI [(CNS1) 2] /Path (C:/Windows/Fonts/msjh.ttf) /FileType /TrueType >> ; -/MicrosoftYaHeiBold << /SubfontID 0 /CSI [(GB1) 2] /Path (C:/Windows/Fonts/msyhbd.ttf) /FileType /TrueType >> ; -/MicrosoftJhengHeiBold << /SubfontID 0 /CSI [(CNS1) 2] /Path (C:/Windows/Fonts/msjhbd.ttf) /FileType /TrueType >> ; -/DFKaiShu-SB-Estd-BF << /SubfontID 0 /CSI [(CNS1) 2] /Path (C:/Windows/Fonts/kaiu.ttf) /FileType /TrueType >> ; -/ArialUnicodeMS-JP << /SubfontID 0 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/arialuni.ttf) /FileType /TrueType >> ; -/PMingLiU << /SubfontID 1 /CSI [(CNS1) 2] /Path (C:/Windows/Fonts/mingliu.ttc) /FileType /TrueType >> ; -/MingLiU << /SubfontID 0 /CSI [(CNS1) 2] /Path (C:/Windows/Fonts/mingliu.ttc) /FileType /TrueType >> ; -/GungsuhChe << /SubfontID 3 /CSI [(Korea1) 3] /Path (C:/Windows/Fonts/batang.ttc) /FileType /TrueType >> ; -/MS-UI-Gothic << /SubfontID 2 /CSI [(Japan1) 3] /Path (C:/Windows/Fonts/msgothic.ttc) /FileType /TrueType >> ; % Aliases -/Ryumin-Medium /MS-Mincho ; -/AdobeHeitiStd-Regular /MicrosoftYaHei ; -/HeiseiKakuGo-W5 /MS-Gothic ; -/AdobeMingStd-Light /MingLiU ; -/MKai-Medium /DFKaiShu-SB-Estd-BF ; -/MHei-Medium /MicrosoftJhengHeiRegular ; -/MSung-Light /MingLiU ; -/HYRGoThic-Medium /Gulim ; -/GothicBBB-Medium /MS-Gothic ; -/AdobeSongStd-Light /SimSun ; -/AdobeMyungjoStd-Medium /Batang ; -/HYSMyeongJo-Medium /Batang ; -/HYGoThic-Medium /Dotum ; -/STSong-Light /SimSun ; -/STKaiti-Regular /KaiTi ; -/KozMinPr6N-Regular /MS-Mincho ; -/STHeiti-Regular /MicrosoftYaHei ; -/STFangsong-Light /FangSong ; -/MSung-Medium /MingLiU ; -/Ryumin-Light /MS-Mincho ; -/HeiseiMin-W3 /MS-Mincho ; diff --git a/Master/tlpkg/tlgs/lib/opdfread.ps b/Master/tlpkg/tlgs/lib/opdfread.ps index f934f085134..80a557384fb 100644 --- a/Master/tlpkg/tlgs/lib/opdfread.ps +++ b/Master/tlpkg/tlgs/lib/opdfread.ps @@ -890,8 +890,20 @@ currentdict end readonly def } if pop pop 3 index 3 index 2 copy % bw bh px0 py0 bw bh bw bh currentglobal false setglobal 3 1 roll % bw bh px0 py0 bw bh bool bw bh - 2 array astore % bw bh px0 py0 bw bh bool [] - << exch /PageSize exch >> setpagedevice % bw bh px0 py0 bw bh bool + currentpagedevice dup /PageSize known { + /PageSize get aload pop % Get current page size + } { + 0 0 % dummy page size values if not known + }ifelse + % bw bh px0 py0 bw bh bool bw bh Width Height + round cvi 2 index round cvi % bw bh px0 py0 bw bh bool bw bh Width bool + exch round cvi 3 index round cvi eq and % bw bh px0 py0 bw bh bool bw bh bool + { % Page Size unchanged, do not emit setpagedevice + pop pop % bw bh px0 py0 bw bh bool + } { + 2 array astore % bw bh px0 py0 bw bh bool [] + << exch /PageSize exch >> setpagedevice % bw bh px0 py0 bw bh bool + } ifelse userdict /PDFR_InitialGS gstate put setglobal % bw bh px0 py0 bw bh } if @@ -1947,7 +1959,7 @@ end 2 copy get % fr E M s mw c0 W i w exch 3 index add % fr E M s mw c0 W w c 7 index exch get % fr E M s mw c0 W w n - dup null ne { + dup dup null ne exch /.notdef ne and { 6 index 3 1 roll exch % fr E M s mw c0 W M n w 6 index div 3 copy pop //knownget exec { @@ -1994,6 +2006,33 @@ end closepath stroke } bind def +%% These two routines may have more general application. +%% When executing BuildChar we need to run in the context of the font +%% as far as resources are concerned (in case the glyph uses another font) +%% but since we are executing a page stream, we must not lose the original +%% context, or we won't be able to find page resources. Originally this was +%% a simpler routine, but this failed when presented with a type 3 font +%% whose BuildChar/CharProcs used another type 3 font +/SaveResourcesToStack +{ + [ + //PDFReader /OldResources known { + //PDFReader /OldResources get + }{ + null + } ifelse + //PDFReader /CurrentObject get /Context get /Resources get + ] + //PDFReader /OldResources 3 -1 roll put +}bind def + +/RestoreResourcesFromStack +{ + //PDFReader /OldResources get dup + 0 get //PDFReader /OldResources 3 -1 roll put + 1 get //PDFReader /CurrentObject get /Context get /Resources 3 -1 roll put +} bind def + /BuildChar % BuildChar - { //PDFR_DEBUG { (BuildChar ) print dup //=only exec ( ) print @@ -2005,12 +2044,24 @@ end } if dup null eq { pop //NotDef exec % - } { % n - CharProcs exch //knownget exec { % cp_stream - //RunDelayedStream exec - } { + } + { % n + CharProcs exch//knownget exec + { + currentfont /Font get /Resources //knownget exec{ %% Does the Font have any Resources ? + exec %% Get them + SaveResourcesToStack %% Save the current Resources + //PDFReader /CurrentObject get /Context get %% Replace the current resources + /Resources 3 -1 roll put %% With the Font resources + //RunDelayedStream exec + RestoreResourcesFromStack %% Restore the previous Resources + } { + //RunDelayedStream exec + } ifelse + } + { //NotDef exec - } ifelse + }ifelse } ifelse % end % font } bind def @@ -2319,6 +2370,7 @@ end % idiosyncratic fonts that start at 0xf000: pop /firstcode startc 0 getu16 16#ff00 and dup 16#f000 ne { pop 0 } if def + /striptopbyte false def /putglyph { glyphs code 3 -1 roll put /code code 1 add def } bind def @@ -2328,14 +2380,20 @@ end /i2 exch def /scode startc i2 getu16 def /ecode endc i2 getu16 def - numcodes scode firstcode sub - % Hack for fonts that have only 0x0000 and 0xf000 ranges - %dup 16#e000 ge { 255 and } if - % the previous line is obstructive to CJK fonts, so it was removed - exch sub 0 .max ecode scode sub 1 add add - exch 1 index add exch - numcodes add /numcodes exch def - } for array def + ecode lastcode gt { + /lastcode ecode def + } if + } for pop + % If the glyph range is within 0x..00 to 0x..FF, make sure that we strip + % off any top bytes. + firstcode 16#f000 ge lastcode firstcode sub 255 le and { + lastcode 255 and + /striptopbyte true def + } { + lastcode + }ifelse + 1 add + array def % prefill the array with 0's faster than a { 0 putglyph } repeat glyphs length 1024 ge { .array1024z 0 1024 glyphs length 1023 sub { glyphs exch 2 index putinterval } for @@ -2365,9 +2423,19 @@ end } if idroff i2 getu16 dup 0 eq { pop scode delta add 65535 and 1 ecode delta add 65535 and + striptopbyte { + /code scode 255 and def + } { + /code scode def + } ifelse { putglyph } for } { % The +2 is for the 'reserved pad'. /gloff exch 14 nseg2 3 mul add 2 add i2 add add def + striptopbyte { + /code scode 255 and def + } { + /code scode def + } ifelse 0 1 ecode scode sub { 2 mul gloff add etab exch getu16 dup 0 ne { delta add 65535 and } if putglyph @@ -3563,7 +3631,7 @@ end dup 0 get /CalGray eq { 1 get % dict dup /Gamma //knownget exec { - [ exch /exp load ] cvx + [ exch [ exch /exp load ] cvx dup dup ] 1 index exch /DecodeLMN exch put } if [ exch /CIEBasedA exch ] % [] @@ -3717,6 +3785,16 @@ end 2 copy 3 exch put pop } if + dup 0 get/Pattern eq{ + dup length 1 gt { + dup dup 1 get dup type /arraytype eq { + ResolveColorSpaceArray + 1 index 1 3 -1 roll put + }{ + pop + }ifelse + }if + }if PDFR_DEBUG { (Construcrted color space :) = dup == diff --git a/Master/tlpkg/tlgs/lib/prfont.ps b/Master/tlpkg/tlgs/lib/prfont.ps index 7d8f86f1b9d..884193debbf 100644 --- a/Master/tlpkg/tlgs/lib/prfont.ps +++ b/Master/tlpkg/tlgs/lib/prfont.ps @@ -155,7 +155,7 @@ 0 128 Unencoded length 1 sub { /BlockStart 1 index def - dup 128 add Unencoded length .min 1 index sub + dup 128 add Unencoded length min 1 index sub Unencoded 3 1 roll getinterval TempEncoding copy /BlockEncoding exch def /BlockCount BlockEncoding length def @@ -176,7 +176,7 @@ 36 2.4 Inch moveto 0 32 BlockCount 1 sub { 0 -0.4 Inch rmoveto gsave - dup 31 add BlockCount 1 sub .min + dup 31 add BlockCount 1 sub min exch BlockStart add exch BlockStart add DoLine grestore } for -- cgit v1.2.3