PHP 7.4.33
Preview: printafm.ps Size: 4.78 KB
//usr/share/ghostscript/lib/printafm.ps

%!
% written by James Clark <[email protected]>
% print an afm file on the standard output
% usage is `fontname printafm' eg `/Times-Roman printafm'

% From the `dvitops' distribution, which included this notice:
% dvitops is not copyrighted; you can do with it exactly as you please.
% I would, however, ask that if you make improvements or modifications,
% you ask me before distributing them to others.

% Altered by [email protected] to produce input for Rokicki's afm2tfm,
% which groks the format of the Adobe AFMs.

% Modified by L. Peter Deutsch 9/14/93:
%   uses Ghostscript's =only procedure to replace 'buf cvs print'.
% Modified by L. Peter Deutsch 9/6/95:
%   uses Ghostscript's .shellarguments facility to accept the font name
%     on the command line.

% Altered my [email protected] to work with fonts of more than 256 glyphs
% and avoid FSType output. Also print a comment with UniqueID of the font.

/onechar 1 string def

% c toupper - c
/toupper {
        dup dup 8#141 ge exch 8#172 le and {
                8#40 sub
        } if
} bind def

% print unencoded character metric data lines for glyphs in `v' array
% and reset `v' -
/printv {
        % define a new font with v as its encoding vector
        currentfont maxlength dict /f exch def
        currentfont {
                exch dup dup /FID ne exch /Encoding ne and {
                        exch f 3 1 roll put
                } {
                        pop pop
                } ifelse
        } forall
        f /Encoding v put
        f /FontName /temp put
        % make this new font the current font
        /temp f definefont setfont
        % print a entry for each character not in old vector
        /e currentfont /Encoding get def
        0 1 255 {
                dup e exch get
                dup dup /.notdef ne exch s exch known not and {
                        exch -1 printmetric
                } {
                        pop pop
                } ifelse
        } for
        0 1 255 {
                v exch /.notdef put
        } for
} bind def

% printcharmetrics -

/printcharmetrics {
        (StartCharMetrics ) print
        currentfont /CharStrings get dup length exch /.notdef known { 1 sub } if =
        currentfont 1000 scalefont setfont 0 0 moveto
        /e currentfont /Encoding get def
        0 1 255 {
                dup e exch get
                dup /.notdef ne {
                        exch dup printmetric
                } {
                        pop pop
                } ifelse
        } for
        % s contains an entry for each name in the original encoding vector
        /s 256 dict def
        e {
                s exch true put
        } forall
        % v is the new encoding vector
        /v 256 array def
        0 1 255 {
                v exch /.notdef put
        } for
        % fill up v with names in CharStrings
        /i 0 def
        currentfont /CharStrings get {
                pop
                i 255 le {
                        v i 3 -1 roll put
                        /i i 1 add def
                } {
                        printv
                        v 0 3 -1 roll put
                        /i 1 def
                } ifelse
        } forall
        printv
        (EndCharMetrics) =
} bind def

% name actual_code normal_code printmetric -

/printmetric {
        /saved save def
        (C ) print =only
        ( ; WX ) print
        onechar 0 3 -1 roll put
        onechar stringwidth pop round cvi =only
        ( ; N ) print =only
        ( ; B ) print
        onechar false charpath flattenpath mark pathbbox counttomark {
                counttomark -1 roll
                round cvi =only
                ( ) print
        } repeat pop
        (;) =
        saved restore
} bind def

% fontname printafm -

/printafm {
        findfont gsave setfont
        (StartFontMetrics 2.0) =

                % Print the UniqueID

        currentfont /UniqueID known {
                (Comment UniqueID ) print
                currentfont /UniqueID get =only
                (\n) print
        } if

        (FontName ) print currentfont /FontName get =

                % Print the FontInfo

        currentfont /FontInfo get {
                exch
                dup /FSType ne {
                        =string cvs dup dup 0 get 0 exch toupper put print
                        ( ) print =
                } {
                        pop pop
                } ifelse
        } forall

                % Print the FontBBox

        (FontBBox) print
        currentfont /FontBBox get {
                ( ) print round cvi =only
        } forall
        (\n) print

        printcharmetrics
        (EndFontMetrics) =
        grestore
} bind def

% Check for command line arguments.
[ .shellarguments
 { ] dup length 1 eq
    { 0 get printafm }
    { (Usage: printafm fontname\n) print flush }
   ifelse
 }
 { pop }
ifelse

Directory Contents

Dirs: 0 × Files: 157

Name Size Perms Modified Actions
4.17 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.11 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
639 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.50 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.50 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.51 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.48 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.49 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.62 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.62 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.72 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
10.89 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
11.22 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.65 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.95 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.01 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
4.39 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
7.08 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
459 B lrw-r--r-- 2025-06-03 02:48:15
Edit Download
2.74 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.93 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
7.32 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
350 B lrw-r--r-- 2025-06-03 02:48:15
Edit Download
18.01 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
25.04 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
20.24 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.57 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.17 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.57 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
3.91 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
3.07 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.90 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.69 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.67 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.72 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.91 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
945 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.40 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
955 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
594 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
957 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
604 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
345 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
605 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
355 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.44 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.44 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.45 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
222.80 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
71.34 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
784 B lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.43 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
3.65 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
21.80 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.02 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.04 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
7.87 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.25 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.77 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
14.94 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
996 B lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.13 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.10 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.12 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.78 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
6.68 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
7.04 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
4.78 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
21.78 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
8.34 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
215 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
214 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
220 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
209 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
219 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
196 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
12.23 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.42 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.57 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.89 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
529 B lrw-r--r-- 2025-06-03 02:48:15
Edit Download
2.23 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.47 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.87 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.11 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.83 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.08 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.88 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.86 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.22 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.83 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.80 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.09 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.31 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.40 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.86 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.86 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.23 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.12 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.07 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.13 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.10 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.11 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
2.07 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.01 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.11 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.11 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
2.11 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
1.07 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.10 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
673 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
681 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
24.92 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
4.95 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.87 KB lrw-r--r-- 2025-06-03 02:48:12
Edit Download
734 B lrw-r--r-- 2025-06-03 02:48:12
Edit Download
2.44 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.13 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.11 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.09 KB lrw-r--r-- 2025-06-03 02:48:15
Edit Download
1.35 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.51 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
5.85 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.94 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
5.27 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
5.56 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
4.15 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
10.04 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
5.11 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
1.11 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
3.52 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download
2.26 KB lrw-r--r-- 2025-06-03 02:48:11
Edit Download

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