PHP 8.2.30
Preview: gs_cidtt.ps Size: 5.71 KB
//proc/thread-self/root/usr/share/ghostscript/Resource/Init/gs_cidtt.ps

% Copyright (C) 2001-2019 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 an emulation with True Type fonts.

languagelevel 2 .setlanguagelevel

15 dict begin    % a temporary dictionary for local binding.

%------------------Copy the FontEmulationProcs here : -------------------

/FontEmulationProcs /ProcSet findresource {
  def
} forall

currentdict /super.complete_instance currentdict /complete_instance get put

%-------Auxiliary procedures for building CIDFontType 2 from TT file -----------

/GenerateCIDMap   % <font> GenerateCIDMap <font>
{ begin
    % Obtain the maximal CID :
    %   This implementation doesn't check whether glyphs really present.
    Decoding /CIDCount get /CIDCount exch def
    % Prepare the CIDMap structure :
    /CIDMap [
      CIDCount 22000 le {
        CIDCount 2 mul string
      } {
        44000 string
        CIDCount 44000 gt {
           % need three strings
           44000 string		% 22000 2 mul string
           CIDCount 44000 sub 2 mul string
        } {
           CIDCount 22000 sub 2 mul string
        } ifelse
      } ifelse
    ] def
    % Now fill it :
    Decoding TT_cmap SubstNWP GDBytes CIDMap .fillCIDMap
  currentdict end
} bind def

/GenerateIdentityCIDMap   % <font> GenerateCIDMap <font>
{ begin
    /CIDMap [ 44000 string 44000 string 44000 string] def
    CIDMap .fillIdentityCIDMap
  currentdict end
} bind def

/load_sfnts  % <FontDict> load_sfnts <FontDict>
{ % Read the True Type file from the path /Path, and buld /sfnts,
  % skipping glyf and loca.
  dup /Path get                                            % <font> (path)
  QUIET not {
    (Loading a TT font from ) print dup print
    ( to emulate a CID font ) print 1 index /CIDFontName get =only ( ... ) print
  } if
  (r) file dup                                             % <font> file file
  3 1 roll                                                 % file <font> file
  1 index /SubfontID .knownget not { 0 } if                % file <font> file SubfontID
  2 index /FileType .knownget
  {/WOFF eq}
  {//false} ifelse
  % It's not (currently) viable to load WOFF fonts "stripped", so we don't try
  {.load_woff_for_cid exch copy exch pop}
  {
    .load_tt_font_stripped exch
    copy                         % file <font>
    QUIET not {
      (Done.) =
    } if
    dup 3 1 roll                                             % <font> file <font>
    exch /File exch put                                      % <font>
  } ifelse
  dup dup /CIDSystemInfo get /Ordering get (.)             % <font> () ()
  2 index /Decoding get =string cvs                        % <font> () () ()
  concatstrings concatstrings cvn /Decoding exch put       % <font>
  dup dup /CIDSystemInfo get /Ordering get (-WMode)        % <font> <font> () ()
  concatstrings cvn /SubstCID
  2 copy resourcestatus {
    pop pop
    findresource /subst_CID_on_WMode exch put              % <font>
  } {
    pop pop pop
  } ifelse
  dup /Decoding get /Identity.Unicode eq {
    //ChooseDecoding exec                                  % <font>
    //GenerateIdentityCIDMap exec                          % <font>
  } {
    //ChooseDecoding exec                                  % <font>
    //GenerateCIDMap exec                                  % <font>
  } ifelse
} bind def

%-----------TrueType-specific methods for category redefinition : -----------

/RefinePath      % <FontDict> RefinePath <FontDict>
{ dup begin
  Path .libfile {
      dup .filename {
        currentdict exch /Path exch put
      } if
      closefile
  } {
    (r) { file } //.internalstopped exec
    {
      (Can't find the font file ) print =
      /findfont cvx /undefinedfilename signalerror
    }
    {
      dup .filename {
        currentdict exch /Path exch put
      } if
      closefile
    } ifelse
  } ifelse
  end
} bind def

/complete_instance  % <font_name> <FontDict> <Options> complete_FAPI_Font <font_name> <FontDict>
{ 1 index /CIDFontType 2 put % Other types are not emulated yet.
  //super.complete_instance exec
  //RefinePath exec
  //load_sfnts exec
} bind def

/ValidFileTypes
<<
  /TrueType 0
  /WOFF 0
>> def

/IsMyRecord      % <raw_record> -> <raw_record> bool
{
  dup type /dicttype eq { dup /FileType .knownget { //ValidFileTypes exch known } { //false } ifelse } { //false } ifelse
} bind def

currentdict /ValidFileTypes undef

/IsActive       % <record> IsActive <bool>
{ pop //true
} bind def

/CIDFontRecordVirtualMethods //RecordVirtualMethodsStub dup length 3 add dict copy begin
  /GetCSI //TranslateCSI def
  /IsActive //IsActive def
  /MakeInstance   % <Name> <record> MakeInstance <Name> <Instance> <size>
  { currentglobal 3 1 roll //true setglobal
    //CIDFontOptions //complete_instance exec
    2 copy //GetSize exec
    4 3 roll setglobal
  } bind def
currentdict end def

% Redefine the /CIDFont category :
4 dict begin
  /CategoryName /CIDFont def
  /IsMapFileOptional //true def
  /VerifyMap  { pop } bind def
  /PreprocessRecord  % <map> <Name> <raw_record> PreprocessRecord <map> <Name> <record> <bool>
  { //IsMyRecord exec dup {
      pop dup /RecordVirtualMethods //CIDFontRecordVirtualMethods put
      //true
    } if
  } bind def
currentdict end

/MappedCategoryRedefiner /ProcSet findresource /Redefine get exec

end  % the temporary dictionary for local binding.

.setlanguagelevel

Directory Contents

Dirs: 0 × Files: 59

Name Size Perms Modified Actions
2.11 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
1.45 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
815 B lrw-r--r-- 2025-06-03 02:48:14
Edit Download
1.43 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.79 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
109 B lrw-r--r-- 2025-06-03 02:48:14
Edit Download
12.63 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
212.91 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
12.17 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
4.85 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
6.80 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
16.43 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
8.31 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
7.15 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
14.21 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
5.71 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
18.01 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.96 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.08 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
6.71 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
4.64 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
8.56 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.85 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
9.20 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
15.26 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
11.04 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
45.73 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.08 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.03 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.66 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
23.44 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
89.44 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
42.79 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
19.13 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.75 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.13 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.45 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
31.69 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
1.52 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
41.42 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
21.95 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
37.54 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
17.43 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.07 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
3.03 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.88 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
63.24 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
4.45 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
2.05 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
12.25 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
1.53 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
51.31 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
169.33 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
89.57 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
124.35 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
72.00 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
18.97 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
24.22 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download
1.73 KB lrw-r--r-- 2025-06-03 02:48:14
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).