__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
% Copyright (C) 2001-2023 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., 39 Mesa Street, Suite 108A, San Francisco,
% CA 94129, USA, for further information.
%
% Redefine CIDFont category with cidfmap .
languagelevel 2 .setlanguagelevel
4 dict begin
/CategoryName /CIDFont def
/MapFileName (cidfmap) def
/IsMyRecord % <raw_record> -> <raw_record> bool
{ % Only for client's needs.
dup type /stringtype eq exch
dup type /nametype eq 3 -1 roll or
} bind def
/RecordVirtualMethods 3 dict begin
/MakeInstance % <Name> <record> MakeInstance <Name> <Instance> <size>
{ % We know that currentdict is the category.
/Substitute get dup type /stringtype eq
{
(r) file dup cvx exec closefile
dup
} if
FindResource % /Name <<CIDFont>>
dup length dict copy % /Name <<CIDFont>>
1 index ResourceStatus pop exch pop % /Name <<CIDFont>> size
} bind def
/GetFilePath % <scratch> <Name> <record> GetFilePath <filepath>
{ % We know that currentdict is the category.
exch pop
/Substitute get dup type /stringtype eq not
{
exch ResourceFileName
} if
} bind def
/GetSize % <Name> <record> GetSize <size>
{ % We know that currentdict is the category.
dup /Substitute get dup type /stringtype eq
{
% The simplest solution is to instantiate the resource
pop //MakeInstance exec
3 1 roll pop pop
}
{
exch pop
ResourceStatus {
exch pop exch pop
} {
/undefinedresource signalerror
} ifelse
}ifelse
} bind def
/GetCSI % <record> GetCSI null
% <record> GetCSI dict
{ % We know that currentdict is the category.
RESMPDEBUG { (cidfm GetCSI beg ) = } if
dup /Substitute get dup type /stringtype eq
{
pop
dup /Name get exch //MakeInstance exec
pop exch pop
/CIDSystemInfo get
}
{
exch pop % /Name
GetCIDSystemInfoFromMap
} ifelse
RESMPDEBUG { (cidfm GetCSI end ) print dup = } if
} bind def
/IsActive % <record> IsActive <bool>
{ pop //true
} bind def
currentdict end def
% This is the default definition of our fallback CIDFont
/DefaultCIDFallBack
<<
/Path
systemdict /CIDFSubstPath .knownget
{
(/) concatstrings
}
{
(CIDFSUBSTPATH) getenv
{
(/) concatstrings
}
{
currentsystemparams /GenericResourceDir get (CIDFSubst/) concatstrings
} ifelse
} ifelse
systemdict /CIDFSubstFont .knownget not
{
(CIDFSUBSTFONT) getenv not
{
(DroidSansFallback.ttf)
} if
} if
% If CIDFSubstFont looks like a path/file (rather than just file)
% use it without the CIDFSubstPath string
dup .file_name_directory_separator rsearch
{pop pop pop exch pop}
{pop concatstrings}
ifelse
% The CSI data just has to be valid, the substition machinery will
% generally overwrite it with appropriate values for the missing font.
/CSI [(Identity) 0]
/RecordVirtualMethods //RecordVirtualMethods
/FileType /TrueType
(CIDFSUBSTFONTID) getenv
{
/SubfontID exch cvi
} if
>> def
% <dir.../base.extn> .basename <dir>
/.splitdirname {
(/) rsearch { //true } { (\\) rsearch } ifelse
{exch concatstrings exch pop //true}{//false} ifelse
} bind def
% <file> .addcidfmappath -
/.addcidfmpermitpath
{
.filename
{
//.splitdirname exec
{dup def} if
} if
} bind def
/VerifyMap % <raw_map> VerifyMap -
{
% This is where we insert the default fallback into the map
% checking first to see if there is a user specified alternative
dup /CIDFallBack known not{
//DefaultCIDFallBack dup /Path get status
{
pop pop pop pop
/CIDFallBack exch 2 index 3 1 roll put
}
{
pop
}ifelse
} if
% Remove any mappings for which we cannot find the font file
dup length dict begin
dup
{
% if we have a name1->name2 mapping, follow the "trail",
% so if the name2 mapping is known in the .map dict, retrieve
% that map value and loop round until we either reach a map
% which references a TTF (i.e. a dictionary record) or we have
% a name not known in the .map, in which case we have to resort
% to the normal Postscript "resourcestatus".
{
dup type /nametype eq
{
dup 3 index exch .knownget
{ exch pop }
{
/CIDFont resourcestatus
{ pop pop pop }
{ 2 index exch .undef }
ifelse
exit
} ifelse
}
{
dup type /dicttype eq
{
/Path .knownget
{
.libfile
{
dup //.addcidfmpermitpath exec closefile pop}
{
{(r) file} //.internalstopped exec
{pop pop 2 index exch .undef}
{dup //.addcidfmpermitpath exec closefile pop} ifelse
} ifelse
}
{2 index exch .undef}
ifelse
exit
} if
} ifelse
} loop
} forall
currentdict end
{exch pop /PermitFileReading exch .addcontrolpath} forall
% Checks for vicious substitution cycles.
dup length dict copy % <<map>>
dup length dict % <<map>> <<temp>>
{ % Choose a random record :
//true 2 index { % <<map>> <<temp>> true /Name /Subs
3 2 roll pop //false exit % <<map>> <<temp>> /Name /Subs false
} forall
{ exit % <<map>> <<temp>>
} if % <<map>> <<temp>> /Name /Subs
% Move the substitution chain to <<temp>>, checking for a cycle :
3 index 2 index undef % <<map>> <<temp>> /Name /Subs
exch 2 index exch 0 put % <<map>> <<temp>> /Subs
{ //IsMyRecord exec not {
% Not a substitution, the chain terminates.
pop exit % <<map>> <<temp>>
} if % <<map>> <<temp>> /Subs
1 index 1 index known {
(Vicious substitution cycle in map file with the entry ) print =string cvs print ( .) =
/VerifyMap cvx /undefinedresource signalerror
} if % <<map>> <<temp>> /Subs
1 index 1 index 0 put
dup 3 index exch .knownget not { % <<map>> <<temp>> /Subs
% No more substitutions, the chain terminates.
pop exit % <<map>> <<temp>>
} if % <<map>> <<temp>> /Subs /Subs1
exch % <<map>> <<temp>> /Subs1 /Subs
3 index exch undef % <<map>> <<temp>> /Subs1
} loop
% Not cycled, now purge the <<temp>> :
{ % Choose a random record :
//true 1 index { % <<map>> <<temp>> true /Name /Subs
3 2 roll pop //false exit % <<map>> <<temp>> /Name /Subs false
} forall
{ exit % <<map>> <<temp>>
} if % <<map>> <<temp>> /Name /Subs
% Remove it :
pop 1 index exch undef % <<map>> <<temp>>
} loop
} loop
pop pop
} bind def
currentdict /.splitdirname undef
currentdict /.addcidfmpermitpath undef
/PreprocessRecord % <map> <Name> <raw_record> PreprocessRecord <map> <Name> <record> <bool>
{
//IsMyRecord exec {
1 dict begin
/Substitute exch def
dup /Name exch def
/RecordVirtualMethods //RecordVirtualMethods def
currentdict end
//true
} {
//false
} ifelse
} bind def
currentdict end
/MappedCategoryRedefiner /ProcSet findresource /Redefine get exec
.setlanguagelevel
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| FAPIcidfmap | File | 1.45 KB | 0644 |
|
| FAPIconfig | File | 815 B | 0644 |
|
| FAPIfontmap | File | 1.43 KB | 0644 |
|
| FCOfontmap-PCLPS2 | File | 2.77 KB | 0644 |
|
| Fontmap | File | 109 B | 0644 |
|
| Fontmap.GS | File | 12.89 KB | 0644 |
|
| gs_agl.ps | File | 212.9 KB | 0644 |
|
| gs_btokn.ps | File | 12.45 KB | 0644 |
|
| gs_cet.ps | File | 4.85 KB | 0644 |
|
| gs_cff.ps | File | 6.79 KB | 0644 |
|
| gs_cidcm.ps | File | 16.42 KB | 0644 |
|
| gs_ciddc.ps | File | 8.29 KB | 0644 |
|
| gs_cidfm.ps | File | 7.86 KB | 0644 |
|
| gs_cidfn.ps | File | 14.19 KB | 0644 |
|
| gs_cidtt.ps | File | 5.69 KB | 0644 |
|
| gs_cmap.ps | File | 18.26 KB | 0644 |
|
| gs_cspace.ps | File | 3.95 KB | 0644 |
|
| gs_dbt_e.ps | File | 2.07 KB | 0644 |
|
| gs_diskn.ps | File | 6.69 KB | 0644 |
|
| gs_dps1.ps | File | 4.63 KB | 0644 |
|
| gs_dps2.ps | File | 8.55 KB | 0644 |
|
| gs_dscp.ps | File | 3.83 KB | 0644 |
|
| gs_epsf.ps | File | 11.95 KB | 0644 |
|
| gs_fapi.ps | File | 15.23 KB | 0644 |
|
| gs_fntem.ps | File | 11.11 KB | 0644 |
|
| gs_fonts.ps | File | 47.76 KB | 0644 |
|
| gs_frsd.ps | File | 3.68 KB | 0644 |
|
| gs_icc.ps | File | 3.02 KB | 0644 |
|
| gs_il1_e.ps | File | 2.64 KB | 0644 |
|
| gs_img.ps | File | 23.42 KB | 0644 |
|
| gs_init.ps | File | 92.77 KB | 0644 |
|
| gs_lev2.ps | File | 42.84 KB | 0644 |
|
| gs_ll3.ps | File | 19.11 KB | 0644 |
|
| gs_mex_e.ps | File | 3.74 KB | 0644 |
|
| gs_mgl_e.ps | File | 2.11 KB | 0644 |
|
| gs_mro_e.ps | File | 2.43 KB | 0644 |
|
| gs_pdf_e.ps | File | 1.5 KB | 0644 |
|
| gs_pdfwr.ps | File | 32.49 KB | 0644 |
|
| gs_res.ps | File | 41.04 KB | 0644 |
|
| gs_resmp.ps | File | 21.94 KB | 0644 |
|
| gs_setpd.ps | File | 37.57 KB | 0644 |
|
| gs_statd.ps | File | 17.69 KB | 0644 |
|
| gs_std_e.ps | File | 3.05 KB | 0644 |
|
| gs_sym_e.ps | File | 3.02 KB | 0644 |
|
| gs_trap.ps | File | 2.86 KB | 0644 |
|
| gs_ttf.ps | File | 65.04 KB | 0644 |
|
| gs_typ32.ps | File | 4.44 KB | 0644 |
|
| gs_typ42.ps | File | 2.03 KB | 0644 |
|
| gs_type1.ps | File | 12.5 KB | 0644 |
|
| gs_wan_e.ps | File | 1.51 KB | 0644 |
|
| pdf_main.ps | File | 42.22 KB | 0644 |
|
| xlatmap | File | 1.73 KB | 0644 |
|