|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T g
Length: 3799 (0xed7) Types: TextFile Names: »getafm.ps«
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z« └─⟦036c765ac⟧ └─⟦this⟧ »TeX3.0/MFcontrib/adobefonts/getafm.ps« └─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89 └─⟦this⟧ »./tex82/MFcontrib/adobefonts/getafm.ps« └─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12 └─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z« └─⟦c58930e5c⟧ └─⟦this⟧ »TeX3.14/MFcontrib/adobefonts/getafm.ps«
%! % Get standard Adobe AFM file from PostScript device % The format is based only on looking at other AFM files, and not from any % definition of an AFM file, so could be wrong. It suits the needs of aftopl, % however, once the CR's are trimmed out of the CR-LF pairs that the printer % outputs for end-of-line. % Uncomment all lines beginning %-% if you want the results printed, instead % of being transmitted back to the host % The following is set to the size that everything should be calculated at. /FontSize 1000 def /nstr 8 string def /wstr 16 string def /char 1 string def /tempstr 256 string def /bdef { bind def } def %-%/TFont /Times-Roman findfont 10 scalefont def %-%/prdict 5 dict def %-%prdict begin %-% /lmargin 36 def %-% /top 11 72 mul def %-% /bottom 48 def %-% /line top def %-% /vs 12 def %-%end %-%/print { TFont setfont show } bdef %-%/= { %-% prdict begin %-% tempstr cvs print %-% line vs sub %-% dup bottom le %-% { pop showpage top } %-% if %-% /line exch def %-% lmargin line moveto %-% end %-%} bdef /np { newpath 0 0 moveto } bdef /getbbox { gsave np XFont setfont false charpath flattenpath pathbbox grestore } def /prany { dup currentdict exch known { dup (isFixedPitch) eq { (IsFixedPitch) print } { dup (version) eq { (Version) print } { dup print } ifelse } ifelse ( ) print cvn load = } { pop } ifelse } def /pri { dup print ( ) print cvn load round cvi wstr cvs = } def /prarr { dup print ( ) print cvn load { tempstr cvs print ( ) print } forall () = } def /prtwidth { char 0 3 -1 roll put XFont setfont char stringwidth pop round cvi wstr cvs } bdef /prtkern { [ exch getbbox ] { round cvi wstr cvs print ( ) print } forall } bdef /PrintDitEntry { (C ) print charnum nstr cvs print ( ; WX ) print charnum prtwidth print ( ; N ) print charname tempstr cvs print ( ; B ) print char prtkern charname /f eq { XFont /CharStrings get dup /fi known { (; L i fi ) print } if /fl known { (; L l fl ) print } if } if (;) = } bdef /PrintCharMetrics { /charnum exch def /charname XFont /Encoding get charnum get def % look up ditroff name using PostScript name charname /.notdef ne { PrintDitEntry } if } bdef /getafm { /name exch def /XFont name findfont FontSize scalefont def /XFontInfo XFont /FontInfo get def % print font width table header %-% prdict begin %-% /line top def %-% lmargin top moveto %-% end (StartFontMetrics 1.0) = (Comment Produced by getafm.ps) = XFont begin (FontName) prany end XFontInfo begin (FullName) prany (FamilyName) prany (Weight) prany (ItalicAngle) prany (isFixedPitch) prany (UnderlinePosition) prany (UnderlineThickness) prany (version) prany (Notice) prany end XFont begin (FontBBox) prarr end (T) getbbox /CapHeight exch def pop pop pop (CapHeight) pri (x) getbbox /XHeight exch def pop pop pop (XHeight) pri (p) getbbox pop pop /Descender exch def pop (Descender) pri (d) getbbox /Ascender exch def pop pop pop (Ascender) pri (StartCharMetrics) = 0 1 255 { PrintCharMetrics flush } for (EndCharMetrics) = (EndFontMetrics) = %-% showpage } bdef % Sample uses of getafm: % /Times-Roman getafm % /Palatino-Roman getafm % /NewCenturySchlbk-Roman getafm % /AvantGarde-Book getafm % /Bookman-Demi getafm