GIF89a=( �' 7IAXKgNgYvYx\%wh&h}t�h%�s%x�}9�R��&�0%� (�.��5�SD��&�a)�x5��;ͣ*ȡ&ղ)ׯ7׵<ѻ4�3�H֧KͯT��Y�aq��q��F� !� ' !� NETSCAPE2.0 , =( ��pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g���E�������R���E����B�� ��ȸ��D���"�Ů� �H��L��D٫D�B�����D���T���H �G��A R�ڐ |�� ٭&��E8�S�kG�A�px�a��� R2XB��E8I���6X�:vT)�~��q�賥��"F~%x� � 4#Z�0O|-4Bs�X:= Q� Sal��yXJ`GȦ|s h��K3l7�B|�$'7Jީܪ0!��D�n=�P� ����0`�R�lj����v>���5 �.69�ϸd�����nlv�9��f{���Pbx �l5}�p� ��� �3a���I�O����!ܾ���i��9��#��)p�a ޽ �{�)vm��%D~ 6f��s}Œ�D�W E�`!� �&L8x� �ܝ{)x`X/>�}m��R�*|`D�=�_ ^�5 !_&'a�O�7�c��`DCx`�¥�9�Y�F���`?��"� �n@`�} lď��@4>�d S �v�xN��"@~d��=�g�s~G��� ���ud &p8Q�)ƫlXD����A~H�ySun�j���k*D�LH�] ��C"J��Xb~ʪwSt}6K,��q�S:9ت:���l�@�`�� �.۬�t9�S�[:��=`9N����{¿�A !R�:���6��x�0�_ �;������^���#����!����U���;0L1�����p% A��U̬ݵ��%�S��!���~`�G���� ���=4�np�3���������u�u�ٮ|%2�I��r�#0��J``8�@S@5� ���^`8E�]�.�S���7 � �0�j S�D� z���i�S�����!���l��w9*�D�I�nEX��� &A�Go�Qf��F��;���}�J����F5��Q|���X��T��y���]� o ��C=��:���PB@ D׽S�(>�C�x}`��xJЬ�۠��p+eE0`�}`A �/NE�� �9@��� H�7�!%B0`�l*��!8 2�%� �:�1�0E��ux%nP1�!�C)�P81l�ɸF#Ƭ{����B0>�� �b�`��O3��()yRpb��E.ZD8�H@% �Rx+%���c� ���f��b�d�`F�"8�XH"��-�|1�6iI, 2�$+](A*j� QT�o0.�U�`�R�}`�SN����yae�����b��o~ S)�y�@��3 �tT�0�&�+~L�f"�-|�~��>!�v��~�\Q1)}@�}h#aP72�"�$ !� " , =( &7IAXG]KgNgYvYxR"k\%w]'}h}t�h%�g+�s%r.m3ax3�x�}9��&��+�!7�0%� (�.�SD��&��;�"&ײ)׻4��6�K� �@pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g �� E �� �������E �´��C���ǶR��D��"Ʒ�ʱH��M��GڬD�B����D��T����G���C�C� l&�~:'�tU�6ɹ#��)�'�.6�&��Ȼ K(8p0N�?!�2"��NIJX>R��OM '��2�*x�>#n� �@<[:�I�f ��T���Cdb��[�}E�5MBo��@�`@��tW-3 �x�B���jI�&E�9[T&$��ﯧ&"s��ȳ����dc�UUρ#���ldj?����`\}���u|3'�R]�6 �S#�!�FKL�*N E���`$�:e�YD�q�.�촁�s \-�jA 9�����-��M[�x(�s��x�|���p��}k�T�DpE@W� ��]k`1� ���Yb ��0l��*n0��"~zBd�~u�7�0Bl��0-�x~|U�U0 �h�*HS�|��e"#"?vp�i`e6^�+q��`m8 #V�� ��VS|`��"m"сSn|@:U���~`pb�G�ED����2F�I�? >�x� R� ��%~jx��<�a�9ij�2�D��&: Z`�]w���:�6��B�7eFJ|�ҧ�,���FǮcS�ʶ+B�,�ܺN���>PAD�HD��~���n��}�#�� Q��S���2�X�{�k�lQ�2�����w�|2� h9��G�,m���3��6-��E�L��I�³*K���q�`DwV�QXS��peS��� qܧTS����R�u �<�a�*At�lmE� � ��N[P1�ۦ��$��@`��Dpy�yXvCAy�B`}D� 0QwG#� �a[^�� $���Ǧ{L�"[��K�g�;�S~��GX.�goT.��ư��x���?1z��x~:�g�|�L� ��S`��0S]P�^p F<""�?!,�!N4&P� ����:T�@h�9%t��:�-~�I<`�9p I&.)^ 40D#p@�j4�ج:�01��rܼF2oW�#Z ;$Q q  �K��Nl#29 !F@�Bh�ᏬL!XF�LHKh�.�hE&J�G��<"WN!�����Y@� >R~19J"�2,/ &.GXB%�R�9B6�W]���W�I�$��9�RE8Y� ��"�A5�Q.axB�&ة�J�! �t)K%tS-�JF b�NMxL��)�R��"���6O!TH�H� 0 !� ) , =( &AXKgNgYvYxR"k\%wh&h}h%�g+�s%r.x3�x�}9��&��+�R,�!7�0%� (�.��5��&�a)��;�"&ף*Ȳ)ׯ7׻4�3��6�H֧KͻH�T��Y��q��h� ��pH,�Ȥr�l:xШtJ�Z�جv��z��xL.:��z�n���|N�����~�������& !�0`9R�}��"�"a:S�~x��������g �� E$����� � ����$E$��"��D� � ������R��C��� E ��H�M��G�D� �B��ϾD��a��`1r��Ӑ�� �o~�zU!L�C'�yW�UGt����ll�0���uG�)A�s[��x� �xO%��X2�  P�n:R/��aHae+�Dm?# ǣ6�8�J�x�Di�M���j���5oQ7�- <! *�l��R2r/a!l)d� A"�E���� &� ;��c �%����b��pe~C"B���H�eF2��`8qb�t_`ur`e� w�u3��Pv�h""�`�Íx�LĹ��3� �~ֺ�:���MDfJ� �۵�W�%�S�X �؁)�@��:E��w�u�Sxb8y\m�zS��Zb�E�L��w!y(>�"w�=�|��s�d �C�W)H�cC$�L �7r.�\{)@�`@ �X�$PD `aaG:���O�72E�amn]�"Rc�x�R� &dR8`g��i�xLR!�P &d����T���i�|�_ � Qi�#�`g:��:noM� :V �)p����W&a=�e�k� j���1߲s�x�W�jal|0��B0�, \j۴:6���C ��W��|��9���zĸV {�;��n��V�m�I��.��PN� ����C��+��By�ѾHŸ:��� 7�Y�FTk�SaoaY$D�S���29R�kt� ��f� ��:��Sp�3�I��DZ� �9���g��u�*3)O��[_hv ,���Et x�BH� �[��64M@�S�M7d�l�ܶ5-��U܍��z�R3Ԭ3~ ��P��5�g: ���kN�&0�j4���#{��3S�2�K�'ợl���2K{� {۶?~m𸧠�I�nE�='����^���_�=��~�#O���'���o..�Y�n��CSO��a��K��o,���b�����{�C�� "�{�K ��w��Ozdը�:$ ���v�] A#� ���a�z)Rx׿ƥ�d``�w-�y�f�K!����|��P��=�`�(f��'Pa ��BJa%��f�%`�}F����6>��`G"�}�=�!o`�^FP�ةQ�C���`(�}\�ݮ ��$<��n@dĠE#��U�I�!� #l��9`k���'Rr��Z�NB�MF �[�+9���-�wj���8�r� ,V�h"�|�S=�G_��"E� 0i*%̲��da0mVk�):;&6p>�jK ��# �D�:�c?:R Ӭf��I-�"�<�="��7�3S��c2RW ,�8(T"P0F¡Jh�" ; 403WebShell
403Webshell
Server IP : 173.249.157.85  /  Your IP : 18.224.72.117
Web Server : Apache
System : Linux server.frogzhost.com 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64
User : econtech ( 1005)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  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_cidfn.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.
%

% ProcSet for implementing CIDFont and CIDMap resources.
% When this is run, systemdict is still writable.

% ---------------- Defining CIDFont resources ---------------- %

% Define a CIDFont resource.  This is the defineresource implementation for
% the CIDFont resource category.

/.checkfonttype {	% <cidfont> <fonttype> .checkfonttype <cidfont> <new?>
  1 index /FID known {
    1 index /FontType get ne {
      /definefont cvx /invalidfont signalerror
    } if //false
  } {
    1 index /FontType 3 -1 roll put //true
  } ifelse
} bind def

/.cidfonttypes where { pop } { /.cidfonttypes 6 dict def } ifelse
.cidfonttypes

30 dict begin

% The key in .cidfonttypes is the CIDFontType value;
% the value is a procedure that takes a font name and the CIDFont dictionary
% and replaces the latter with a real font.

% ------ CIDFontType 0 (FontType 9) ------ %

% We add the following entries to the CIDFont dictionary, in addition to
% the ones documented by Adobe:
%	SubrCache - dictionary for caching Subr arrays
% For CIDFonts where we read the data from disk incrementally:
%	GlyphData is 0 (arbitrary)
%	DataSource - a ReusableStreamDecode filter for the data
% We also add a FID entry, and possibly a Subrs entry, to each element of
% FDArray.

dup 0 {
  9 .checkfonttype {
    /CIDInit /ProcSet findresource begin
    .completefont9
    end
  } if
  1 index exch .buildfont9 exch pop
} put % Don't bind it here, because gs_fapi.ps redefines .buildfont9

% Add entries to a new CIDFontType 0 font per documentation (FontMatrix)
% or for .buildfont9 (FDArray.Private.Subrs).
/.completefont9 {	% <cidfont0> .completefont9 <cidfont0>
  currentglobal 3 1 roll dup gcheck setglobal
  dup /FontMatrix known {
    dup /FDArray get {
      dup /FontMatrix get 0 get 1000000 ge {
        /FontMatrix matrix put  % Bug 688517
      } {
        pop
      } ifelse
    } forall
  } {
    dup /FontMatrix [0.001 0 0 0.001 0 0] put
    dup /FDArray get {
       currentglobal exch dup gcheck setglobal
       dup /FontMatrix get {1000 0 0 1000 0 0} matrix concatmatrix
       /FontMatrix exch put
       setglobal
    } forall
  } ifelse
  dup /FDArray get {
                % Read the Subrs if necessary.
    dup /Private get dup /Subrs known not {
      dup /SubrCount .knownget {
                % Stack: font Private SubrCount
        currentglobal 3 1 roll 1 index gcheck setglobal
        array 1 index /Subrs 3 -1 roll put
                % Stack: font global Private
        2 index begin begin .loadsubrs end end
        setglobal
      } {
        pop
      } ifelse readonly pop
    } {
      pop pop
    } ifelse
  } forall
  3 -1 roll setglobal
} bind def

% Read some Subrs for the current Type 1 subfont.
% The subfont's Private dict is currentdict; the CIDFont itself is the
% next dictionary on the stack.
/.readsubrs {		% <Subrs> <start> .readsubrs <Subrs>
  1 SubrCount 1 sub {
    dup SDBytes mul SubrMapOffset add
    dup SDBytes .readint exch SDBytes add SDBytes .readint
    1 index sub string ReadString 2 index 3 1 roll put
  } for
} bind def

% Ensure that all the Subrs for the current Type 1 subfont are loaded.
% The subfont's Private dict is currentdict; the CIDFont itself is the
% next dictionary on the stack.
/.loadsubrs {
  Subrs length 0 ne {
    SubrCache SubrMapOffset .knownget {
                % We've already loaded some Subrs at this offset.
                % Make sure we've got as many as we need.
      dup length SubrCount lt {
                % We need to load more.
        SubrCount array exch 1 index copy length .readsubrs
        SubrCache SubrMapOffset 2 index put
      } if
    } {
                % We haven't loaded any Subrs at this offset yet.
      SubrCount array 0 .readsubrs
      SubrCache SubrMapOffset 2 index put
    } ifelse
    Subrs copy pop
  } if
} bind def

% ------ CIDFontType 1 (FontType 10) ------ %

dup 1 {
  10 .checkfonttype pop
  1 index exch .buildfont10 exch pop
} put % Don't bind it here because gs_fapi.ps redefines .buildfont10

% ------ CIDFontType 2 (FontType 11) ------ %

dup 2 {
  11 .checkfonttype pop
  1 index exch .buildfont11 exch pop
} put % Don't bind it here because gs_fapi.ps redefines .buildfont11

pop		% .cidfonttypes

% ---------------- Reading CIDFontType 0 files ---------------- %

/StartData {		% <(Binary)|(Hex)> <datalength> StartData -
                        %   (currentdict is CID font dict)
                % If we're loading a resource file and the data format is
                % binary, we can just save a pointer to the data and load it
                % incrementally.
  mark {
                % Previous versions of this code made provisions for
                % reading hex-encoded data incrementally.  Since hex data
                % doesn't seem to be used in practice, we no longer bother.
    2 index (Binary) ne { stop } if
    currentfile .currentresourcefile ne { stop } if
                % Hack: the pdfwrite driver relies on finalization to write
                % out fonts.  However, the font may be finalized after the
                % resource file, in which case the resource file will be
                % closed.  So if the current output device is pdfwrite,
                % don't use incremental loading.
    /AllowIncrementalCFF /GetDeviceParam .special_op {
      exch pop {stop}if
    }if
    currentfile fileposition
  } .internalstopped {
                % File is not positionable, or uses hex data.
                % Load the data now.
    cleartomark exch
    currentfile exch
    (Hex) eq { /ASCIIHexDecode filter } if
    exch
                % Stack: file length
    dup 65400 le {
                % readstring with a 0-length string causes a rangecheck,
                % but a data length of 0 is allowed.
      string dup () ne { 1 index exch readstring pop } if
    } {
      mark 3 1 roll {
                % Stack: mark str ... file length
        dup 0 eq { pop exit } if
        dup 65400 .min dup string 3 index exch readstring pop
                % Stack: mark str ... file length newstrlen newstr
        4 1 roll sub
      } loop
      counttomark 1 add 1 roll ]
    } ifelse
    /GlyphData exch def
    dup currentfile eq { pop } { closefile } ifelse
  } {
                % File is positionable and binary, just save a pointer.
                % Stack: (Binary) length -mark- pos
    /GlyphData 0 def
    exch pop 3 -1 roll pop exch
                % Stack: pos length
    /DataSource currentfile 2 index () .subfiledecode //true .reusablestream def
    currentfile 3 1 roll add setfileposition
  } ifelse
  /SubrCache 10 dict def
  CIDFontName currentdict /CIDFont defineresource pop
  end			% CID font dict
  end			% resource category dict
} bind def

% Some Adobe fonts include the line
%   /Setup /cid_Setup load def
% This is apparently included only to prevent proper, conforming PostScript
% interpreters (as opposed to ATM or a special Adobe font loader) from
% loading the font, since Setup is not referenced anywhere else in the file.
/cid_Setup { } def

% ------ Generic ------ %

% Read a string at a given offset in a "file" (binary file or
% GlyphData in RAM).
/ReadString {		% <pos> <string> ReadString <string>
  GlyphData 0 eq {
        % Read from the file.
    DataSource 3 -1 roll setfileposition
    DataSource exch readstring pop
  } {
        % Read from a string or an array of strings.
    GlyphData .stringsreadstring
  } ifelse
} bind def
/.stringsreadstring	% <pos> <string> <strings> .stringsreadstring
                        %   <vmstring>
{ dup type /stringtype eq
   { 3 1 roll length getinterval
   }
   {  {		% Stack: pos string glyphdata
        dup 0 get length dup 4 index gt { exit } if
        4 -1 roll exch sub 3 1 roll
        dup length 1 sub 1 exch getinterval
      }
     loop
                % Stack: pos string glyphdata glyphdata[0]length
                % We know no request can span more than 2 strings.
     3 index 3 index length add 1 index le
      {		% Request fits in a single string: just return a substring.
        pop 0 get 3 1 roll length getinterval
      }
      {		% Request spans 2 strings.  Copy the first part.
        1 index 0 get 4 index 3 -1 roll 1 index sub getinterval
        2 index copy
                % Copy the second part.
                % Stack: pos str glyphdata str1
        length exch 1 get 0 3 index length
        3 index sub getinterval 2 index 3 1 roll putinterval
        exch pop
      }
     ifelse
   }
  ifelse
} bind def

% Interpret a byte string as a (big-endian) integer.
/.cvbsi			% <bytes> .cvbsi <int>
{ 0 exch { exch 8 bitshift add } forall
} bind def

% Read an integer from binary data.
/.readint		% <pos> <nbytes> .readint <int>
{ string ReadString .cvbsi
} bind def

currentdict end

% ---------------- Rendering ---------------- %

% ------ CIDFontType 0 ------ %

/.readglyphdata {
  currentfont exch .type9mapcid
  FDArray exch get exch
} bind def

% BuildGlyph procedure for CIDFontType 0.
% The name %Type9BuildGlyph is known to the interpreter.
/.cid0buildstring 10 string def
(%Type9BuildGlyph) cvn {	% <cidfont> <cid> %Type9BuildGlyph -
  .currentglobal 3 1 roll 1 index gcheck .setglobal
  1 index begin
  dup .readglyphdata dup //null eq {
                % Substitute CID 0. **** WRONG ****
    pop pop 0 .readglyphdata
  } if
                % Stack: cidfont cid subfont charstring
  dup //null eq { pop pop pop pop } {	%**** WRONG ****
    4 -1 roll pop
    3 1 roll exch dup 4 -1 roll 0 0 moveto
    3 index /FontType get 2 eq { .type2execchar } { .type1execchar } ifelse
  } ifelse	%**** WRONG ****
  end
  .setglobal
} bind def

% ------ CIDFontType 2 ------ %

% BuildGlyph procedure for CIDFontType 2.
% The name %Type11BuildGlyph is known to the interpreter.
(%Type11BuildGlyph) cvn {	% <cidfont> <cid> %Type11BuildGlyph -
                % We must be prepared for out-of-range CIDs.
  2 copy { .type11mapcid } .internalstopped {
    pop /CharStrings get /.notdef get
  } if
                        % Stack: cidfont cid glyphindex
  1 index exch .type42execchar
} bind def

% ---------------- Define resources ---------------- %

languagelevel exch 2 .setlanguagelevel

% Define the CIDInit ProcSet resource.
% The ProcSet dictionary is still on the stack.

% We might have loaded CMap support already.  However, Adobe's
% protected font downloader defines a CIDInit ProcSet that will be
% loaded from the filesystem later, so we must check specifically
% for the ProcSet being defined in VM.
/CIDInit /ProcSet 2 copy resourcestatus { pop 0 eq } { //false } ifelse {
  pop pop findresource dup length 4 index length add dict .copydict
  4 -1 roll exch .copydict
} {
  3 -1 roll
} ifelse exch defineresource pop

% Define the CIDFont resource category.
% We break out .buildcidfont because it appears that at least for
% Type 32 (CIDFontType 4) fonts, the font can be registered in the Font
% category with only a CIDFontType and no FontType.
/.buildcidfont {		% <name> <fontdict> .buildcidfont
                                %   <name> <cidfont>
  systemdict /ProvideUnicode .knownget not { //false } if {
    /FontEmulationProcs /ProcSet findresource
    /ProvideUnicodeDecoding get exec
  } if
  dup /CIDFontType get //.cidfonttypes exch get exec
} odef

/CIDFont /Generic /Category findresource dup length dict .copydict
dup /InstanceType /dicttype put
dup /DefineResource {
  dup /OrigFont known not {
     dup dup /OrigFont exch .growput  % CPSI does it. Adding just for CET 33_all.PS conformity.
  } if
  dup /PaintType known not {
     dup /PaintType 0 .growput  % CPSI does it. Adding just for CET 33_all.PS conformity.
  } if
  .buildcidfont
  /Generic /Category findresource /DefineResource get exec
} put
% CIDFonts may be defined in CFF OpenType files.
% Check for this here.
/.loadcidfontresource {
  dup .ResourceFile {
    {.loadfont} .execasresource
  } {
    dup /undefinedresource signalerror
  } ifelse
} bind def
dup /.LoadResource {
  currentglobal {
    .loadcidfontresource
  } {
    //true setglobal {.loadcidfontresource} stopped //false setglobal {stop} if
  } ifelse
} bind put

/Category defineresource pop

% Add the new FontType resources.

9 1 11 { dup /FontType defineresource pop } for

% Add the new FMapType resource.

9 dup /FMapType defineresource pop

% Define the CIDMap resource category.
% These aren't documented, but it's clear what they are for:
% to give names to CIDMaps for CIDFontType 2 fonts.

/CIDMap /Generic /Category findresource dup length dict .copydict
dup /.CheckResource {
        % Allow a string, an array of strings, or (as of Adobe release 3011)
        % a dictionary.
  dup type dup dup /stringtype eq exch /dicttype eq or {
    pop //true
  } {
    dup /arraytype eq exch /packedarraytype eq or {
      //true exch { type /stringtype eq and } forall
    } {
      //false
    } ifelse
  } ifelse
} bind put
/Category defineresource pop

.setlanguagelevel

%% Replace 1 (gs_ciddc.ps)
(gs_ciddc.ps) runlibfile

Youez - 2016 - github.com/yon3zu
LinuXploit