/
usr
/
share
/
ghostscript
/
Resource
/
Init
/
/usr/share/ghostscript/Resource/Init
mkdir
upload
Name
Size
Mode
Actions
cidfmap
2156
0644
edit
dl
rm
FAPIcidfmap
1483
0644
edit
dl
rm
FAPIconfig
815
0644
edit
dl
rm
FAPIfontmap
1468
0644
edit
dl
rm
FCOfontmap-PCLPS2
2857
0644
edit
dl
rm
Fontmap
109
0644
edit
dl
rm
Fontmap.GS
12929
0644
edit
dl
rm
gs_agl.ps
218021
0644
edit
dl
rm
gs_btokn.ps
12765
0644
edit
dl
rm
gs_cet.ps
4964
0644
edit
dl
rm
gs_cff.ps
6969
0644
edit
dl
rm
gs_cidcm.ps
16827
0644
edit
dl
rm
gs_ciddc.ps
8505
0644
edit
dl
rm
gs_cidfm.ps
8069
0644
edit
dl
rm
gs_cidfn.ps
14547
0644
edit
dl
rm
gs_cidtt.ps
5847
0644
edit
dl
rm
gs_cmap.ps
18444
0644
edit
dl
rm
gs_cspace.ps
4059
0644
edit
dl
rm
gs_dbt_e.ps
2134
0644
edit
dl
rm
gs_diskn.ps
6867
0644
edit
dl
rm
gs_dps1.ps
4756
0644
edit
dl
rm
gs_dps2.ps
8771
0644
edit
dl
rm
gs_dscp.ps
3938
0644
edit
dl
rm
gs_epsf.ps
12161
0644
edit
dl
rm
gs_fapi.ps
15611
0644
edit
dl
rm
gs_fntem.ps
11389
0644
edit
dl
rm
gs_fonts.ps
48531
0644
edit
dl
rm
gs_frsd.ps
3780
0644
edit
dl
rm
gs_icc.ps
3104
0644
edit
dl
rm
gs_il1_e.ps
2722
0644
edit
dl
rm
gs_img.ps
23998
0644
edit
dl
rm
gs_init.ps
94572
0644
edit
dl
rm
gs_lev2.ps
43850
0644
edit
dl
rm
gs_ll3.ps
19572
0644
edit
dl
rm
gs_mex_e.ps
3843
0644
edit
dl
rm
gs_mgl_e.ps
2181
0644
edit
dl
rm
gs_mro_e.ps
2506
0644
edit
dl
rm
gs_pdfwr.ps
32179
0644
edit
dl
rm
gs_pdf_e.ps
1556
0644
edit
dl
rm
gs_res.ps
42450
0644
edit
dl
rm
gs_resmp.ps
22482
0644
edit
dl
rm
gs_setpd.ps
38487
0644
edit
dl
rm
gs_statd.ps
17851
0644
edit
dl
rm
gs_std_e.ps
3143
0644
edit
dl
rm
gs_sym_e.ps
3104
0644
edit
dl
rm
gs_trap.ps
2946
0644
edit
dl
rm
gs_ttf.ps
66173
0644
edit
dl
rm
gs_typ32.ps
4560
0644
edit
dl
rm
gs_typ42.ps
2096
0644
edit
dl
rm
gs_type1.ps
12543
0644
edit
dl
rm
gs_wan_e.ps
1563
0644
edit
dl
rm
pdf_base.ps
60815
0644
edit
dl
rm
pdf_draw.ps
188723
0644
edit
dl
rm
pdf_font.ps
98378
0644
edit
dl
rm
pdf_main.ps
143907
0644
edit
dl
rm
pdf_ops.ps
75878
0644
edit
dl
rm
pdf_rbld.ps
20480
0644
edit
dl
rm
pdf_sec.ps
27865
0644
edit
dl
rm
xlatmap
1767
0644
edit
dl
rm
Edit:
/usr/share/ghostscript/Resource/Init/gs_ciddc.ps
(8505B)
% Copyright (C) 2001-2021 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., 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. languagelevel 2 .setlanguagelevel currentglobal //true setglobal %----------------ParseDecoding procset---------------------------- /ParseDecoding << /Parse % <resource_name> <num_tokens> Parse - { dict begin % /ResName 0 % /ResName nCode { currentfile token not { exit } if % /ResName nCode token dup type /integertype eq { % /ResName nCode exch pop } { 1 index def % /ResName nCode } ifelse } loop % /ResName nCode pop % /ResName currentdict end /Decoding % /ResName <<inst>> /Decoding defineresource pop } bind >> /ProcSet defineresource pop %----------------Decoding category---------------------------- /Generic /Category findresource dup length dict copy dup /InstanceType /dicttype put /Decoding exch /Category defineresource pop %----------------ParseCMap_Inverse procset---------------------------- /ParseCMap_Inverse << /findresource { pop } bind /defineresource { pop pop } bind /dict {} /def { pop pop } bind /dup //null /begin { pop } bind /end {} /currentdict //null /CMapName //null /usecmap { pop } bind /begincmap {} /endcmap {} /begincodespacerange { pop mark } bind /endcodespacerange { cleartomark } bind /beginnotdefrange { pop mark } bind /endnotdefrange { cleartomark } bind /beginbfchar { pop mark } bind /endbfchar { pop mark } bind /beginbfrange { begincidrange } /endbfrange { endcidrange } /begincidchar { beginbfchar } /endcidchar { endbfchar } /begincidrange { pop mark } bind /endcidrange { cleartomark } bind >> % Just keep it on stack for a while. % Now we define another dict for local binding, than merge it with the previous one : dup length 5 add dict begin /.Ranges 40 dict def % Key = CID/256, value = array of 256 integer codes. //.Ranges /CIDCount 0 put /.StringToInt % <string> .StringToInt <integer> { 0 exch { exch 8 bitshift add } forall } bind def /.SetCouple % <I> <b> .SetCouple - { exch % b I dup 256 idiv % b I I0 dup //.Ranges exch known not { dup //.Ranges exch 256 array put } if % b I I0 //.Ranges exch get % b I [Range] exch 256 mod % b [Range] I1 2 copy get % b [Range] I1 e dup //null ne { % We've got char code duplicates for same CID. dup type /integertype eq { 4 3 roll % [Range] I1 e b 2 array astore put % } { dup length 1 add dup dup array dup % b [Range] I1 D l l D' D' 3 2 roll 0 exch getinterval % b [Range] I1 D l D' D'' 4 3 roll exch copy pop % b [Range] I1 l D' dup 3 2 roll 1 sub % b [Range] I1 D' D' l-1 6 5 roll % [Range] I1 D' D' l-1 b put put % } ifelse } { pop 3 2 roll put % } ifelse } bind def /endcidrange { % Writes the inversed CMap to .Ranges counttomark 3 idiv { % (b) (e) I exch .StringToInt % (b) I e 3 2 roll .StringToInt % I e b % Note : this code does't handle multidimentional CID ranges. % fixme : optimize below. dup 3 2 roll exch sub 1 add % I b d { 2 copy //.SetCouple exec % I b 1 add exch 1 add exch } repeat % I b pop % I dup //.Ranges /CIDCount get gt { % I dup //.Ranges exch /CIDCount exch put } if % I pop } repeat pop % mark } bind def /.GetCIDDecoding % - .GetCIDDEcoding <dict> { //.Ranges dup length dict copy //.Ranges //.PurgeDict exec //.Ranges /CIDCount 0 put } bind def currentdict end exch copy % Merge the dicts - see above. /ProcSet defineresource pop %----------------CIDDecoding category---------------------------- % Note that we put all instances in global memory - see FindResource. /Generic /Category findresource dup length dict copy begin /Category /CIDDecoding def /InstanceType /dicttype def /.CMapChooser << % This lists CMaps to inverse and unite for creating a CIDDecoding. % Choose by FAPIcidfmap.Registry concatenated with TrueType encoding ID. % Font renderer must provide the glyph substitution internally. /CNS1.Big5 [ /ETen-B5-H /ETen-B5-V ] /CNS1.Unicode [ /UniCNS-UCS2-H /UniCNS-UCS2-V] /CNS1.UCS-4 [ /UniCNS-UCS2-H /UniCNS-UCS2-V] /GB1.GB2312 [ /GBK-EUC-H /GBK-EUC-V ] /GB1.Unicode [ /UniGB-UCS2-H /UniGB-UCS2-V ] /GB1.UCS-4 [ /UniGB-UCS2-H /UniGB-UCS2-V ] /Japan1.ShiftJIS [ /90ms-RKSJ-H /90ms-RKSJ-V ] /Japan1.Unicode [ /UniJIS-UCS2-H /UniJIS-UCS2-V] /Japan1.UCS-4 [ /UniJIS-UCS2-H /UniJIS-UCS2-V] /Japan2.ShiftJIS [ /90ms-RKSJ-H /90ms-RKSJ-V ] /Japan2.Unicode [ /UniHojo-UCS2-H ] /Japan2.UCS-4 [ /UniHojo-UCS2-H ] /Korea1.Johab [ /KSC-Johab-V /KSC-Johab-H ] /Korea1.Wansung [ /KSCms-UHC-V /KSCms-UHC-H ] /Korea1.Unicode [ /UniKS-UCS2-H /UniKS-UCS2-V ] /Identity.Symbol [ /Identity-H /Identity-V ] /Unicode.Unicode [ /Identity-UTF16-H ] /Identity.Unicode [ /Identity-UTF16-H ] /Identity.UCS-4 [ /Identity-H /Identity-V ] >> def /.MakeInstance % <name> .MakeInstance <inst> { dup % /Name /Name //.CMapChooser exch .knownget not { (Can't build /) print =string cvs print ( /CIDDecoding resource. See gs_ciddc.ps . ) = flush /findresource cvx /undefinedresource signalerror } if % /Name [CMaps] exch pop % [CMaps] /CMap /Category findresource % [CMaps] <CMapCategory> /ParseCMap_Inverse /ProcSet findresource % [CMaps] <CMapCategory> <PCI> 3 2 roll { % <CMapCategory> <PCI> /CMapName 3 2 roll begin % <PCI> /CMapName dup .ResourceFile not { (Can't find CMap ) print =string cvs print ( building a CIDDecoding resource. ) = flush /findresource cvx /undefinedresource signalerror } if currentdict end exch % <PCI> /CMapName <CMapCategory> file 3 index begin cvx exec % <PCI> /CMapName <CMapCategory> end exch pop exch % <CMapCategory> <PCI> } forall exch pop begin % .GetCIDDecoding end } bind executeonly def /FindResource % <name> FindResource <dict> { currentglobal exch % bGlobal /InstName //true setglobal dup //.MakeInstance exec % bGlobal /InstName <Inst> DefineResource % bGlobal <Inst> exch setglobal % <Inst> } bind executeonly def currentdict end /CIDDecoding exch /Category defineresource pop %----------------SubstCID category---------------------------- /Generic /Category findresource dup length dict copy begin /Category /SubstCID def /InstanceType /dicttype def currentdict end /SubstCID exch /Category defineresource pop setglobal .setlanguagelevel
Save
cmd:
run