403Webshell
Server IP : 103.119.228.120  /  Your IP : 3.129.249.170
Web Server : Apache
System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User : nobody ( 99)
PHP Version : 5.6.40
Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime
MySQL : ON |  cURL : ON |  WGET : ON |  Perl : ON |  Python : ON |  Sudo : ON |  Pkexec : ON
Directory :  /usr/share/ghostscript/Resource/Init/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/share/ghostscript/Resource/Init/gs_cidfm.ps
% Copyright (C) 2001-2018 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.
%

% 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
  concatstrings
  % 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

/VerifyMap  % <raw_map> VerifyMap -
{
  % Remove any mappings for which we cannot find the font file
  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
            {closefile pop}
            {
              {(r) file} .internalstopped
              {pop pop 2 index exch .undef}
              {closefile pop} ifelse
            } ifelse
          }
          {2 index exch .undef}
          ifelse
          exit
        } if
      } ifelse
    } loop
  } forall

  % 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

  % 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

/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

Youez - 2016 - github.com/yon3zu
LinuXploit