GIF89a;
EcchiShell v1.0
/
/
proc/
self/
root/
usr/
share/
ghostscript/
>
% /HookEmbeddedFonts << /UFST [11 42] /FreeType [1 2 9] >>
/Config
<<
% If we've got a FAPIConfig, run it now.
systemdict /FAPIconfig known
{
/FAPIconfig .systemvar .runlibfile
} if
% Now setup defaults for any entries not set above - these defaults are correct
% for FAPI/Freeetype
currentdict /FontPath known not { /FontPath (/Fonts)} if % A default directory for FAPI-handled font files
% path in FAPIfontmap.
currentdict /CIDFontPath known not { /CIDFontPath (/CIDFonts)} if % A default directory for FAPI-handled CIDfont % files path in FAPIcidfmap.
currentdict /HookDiskFonts known not { /HookDiskFonts [1 2 9 11 42] } if % FontType values for disk PS fonts to be
% redirected to FAPI.
currentdict /HookEmbeddedFonts known not { /HookEmbeddedFonts [1 2 9 11 42] } if % FontType values for embedded PS fonts to be
% redirected to FAPI.
/ServerOptions 2 dict
>> def
systemdict /.FAPIconfig //Config put
/UFST .FAPIavailable
{
systemdict /UFST_SSdir known
{
/UFSTFONTDIR UFST_SSdir def
systemdict /UFST_SSdir undef
}
{
/UFSTROMFONTDIR (%rom%fontdata/) def
UFSTROMFONTDIR (mtfonts/pcl45/mt3/plug__xi.fco)
concatstrings status
{
pop pop pop pop
/UFSTFONTDIR UFSTROMFONTDIR def
}
{
/UFSTFONTDIR () def
} ifelse
} ifelse
systemdict /UFST_PlugIn known not
{
systemdict /UFST_PlugIn UFSTFONTDIR (mtfonts/pcl45/mt3/plug__xi.fco) concatstrings put
} if
systemdict /FCOfontfile known not
{
systemdict /FCOfontfile UFSTFONTDIR (mtfonts/pclps2/mt3/pclp2_xj.fco) concatstrings put
} if
systemdict /FCOfontfile2 known not
{
systemdict /FCOfontfile2 UFSTFONTDIR (mtfonts/pcl45/mt3/wd____xh.fco) concatstrings put
} if
systemdict /FAPIfontmap known not
{
systemdict /FAPIfontmap (FCOfontmap-PCLPS2) put
} if
} if
()
systemdict /UFST_SSdir .knownget {
(UFST_SSdir=) exch concatstrings concatstrings
} if
systemdict /UFST_PlugIn .knownget {
1 index length 0 ne {
exch .filenamelistseparator concatstrings exch
} if
(UFST_PlugIn=) exch concatstrings concatstrings
} if
dup length 0 ne {
//Config /ServerOptions get exch /UFST exch put
} {
pop
} ifelse
%------------------Copy the FontEmulationProcs here : -------------------
/FontEmulationProcs /ProcSet findresource {
def
} forall
currentdict /super.complete_instance currentdict /complete_instance get put
%-----------FAPI-specific methods for category redefinition : -----------
/RefinePath % /key RefinePath
{ exch begin
//Config exch get
/Path exch
Path //false .file_name_combine not {
exch
(Can't combine paths ) print print ( and ) print =
/RefinePath cvx /configurationerror signalerror
} if
def
currentdict end
} bind def
/complete_instance % complete_FAPI_Font
{ //super.complete_instance exec
dup /CIDFontName known { /CIDFontPath } { /FontPath } ifelse //RefinePath exec
} bind def
/IsMyRecord % -> bool
{ dup type /dicttype eq { dup /FAPI known } { //false } ifelse
} bind def
/IsActive % IsActive
{ pop //is_device_compatible_to_FAPI exec
} bind def
/FontRecordVirtualMethods //RecordVirtualMethodsStub dup length 2 add dict copy begin
/IsActive //IsActive def
/MakeInstance % MakeInstance
{ currentglobal 3 1 roll //true setglobal
//FontOptions //complete_instance exec
2 copy //GetSize exec
4 3 roll setglobal
} bind def
currentdict end def
/CIDFontRecordVirtualMethods //RecordVirtualMethodsStub dup length 3 add dict copy begin
/GetCSI //TranslateCSI def
/IsActive //IsActive def
/MakeInstance % MakeInstance
{ currentglobal 3 1 roll //true setglobal
//CIDFontOptions //complete_instance exec
2 copy //GetSize exec
4 3 roll setglobal
} bind def
currentdict end def
/ReadFCOfontmap: % ReadFCOfontmap: name dict ...
{
/fontfile exch def
{
currentfile =string readline not {
pop exit
} if
dup length 0 ne {
0 () /SubFileDecode filter
dup token not {
% A comment line
closefile
} {
dup /EndFCOfontmap cvx eq {
pop closefile exit
} if
exch dup token not {
/ReadFCOfontmap: cvx /rangecheck signalerror
} if
exch dup token not {
/StandardEncoding
} {
dup type /nametype ne {
/ReadFCOfontmap: cvx /rangecheck signalerror
} if
} ifelse
findencoding
exch dup token not {
//null
} {
dup type /nametype ne {
/ReadFCOfontmap: cvx /rangecheck signalerror
} if
/Decoding findresource
} ifelse
exch closefile % index name enc dec|null
4 3 roll % name enc dec|null index
<< /Path fontfile
/FontType 1
/FAPI /UFST
/SubfontId counttomark 2 add -1 roll
/Decoding counttomark 2 add -1 roll
dup //null eq {
pop pop
} if
/Encoding counttomark 2 add -1 roll
/FontInfo
<<
/UnderlineThickness 50
/Weight (Regular)
/version (0.00)
/ItalicAngle 0
/UnderlinePosition -100
/FamilyName ()
/Notice ()
/FullName ()
>>
% although we pretend this is a Type 1, the FAPI interface currently
% needs an identity FontMatrix
/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0]
% we need a fake CharStrings dictionary to placate certain jobs
% which try to look inside it
/CharStrings
<<
/.notdef ( )
StandardEncoding { ( ) } forall
>>
% FontBBox will get replaced with valid numbers pulled from the rendering engine
/FontBBox [-128 -128 1024 1024] cvx
>> % dup { exch == = } forall
} ifelse
} {
pop
} ifelse
} loop
currentdict /fontfile undef
} bind def
%----------------------------------The Redefintion---------------------
/MappedCategoryRedefiner /ProcSet findresource /Redefine get /Redefine exch def
% Redefine the /Font category :
4 dict begin
/CategoryName /Font def
/MapFileName systemdict /FAPIfontmap known {/FAPIfontmap .systemvar} {(FAPIfontmap)} ifelse def
/VerifyMap { pop } bind def
/PreprocessRecord %