Server IP : 103.119.228.120 / Your IP : 18.227.49.73 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 : |
% 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 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 { (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