.\" Automatically generated by Pod::Man version 1.15 .\" Fri Jul 29 13:54:23 2005 .\" .\" Standard preamble: .\" ====================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Ip \" List item .br .ie \\n(.$>=3 .ne \\$3 .el .ne 3 .IP "\\$1" \\$2 .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used .\" to do unbreakable dashes and therefore won't be available. \*(C` and .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and .\" index entries marked with X<> in POD. Of course, you'll have to process .\" the output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it .\" makes way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. .bd B 3 . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ====================================================================== .\" .IX Title "PFM2KPX 1" .TH PFM2KPX 1 "fontools" "2005-07-29" "fontools" .UC .SH "NAME" pfm2kpx \- extract correct kerning information from \fIpfm\fR (Printer Font Metrics) files .SH "SYNOPSIS" .IX Header "SYNOPSIS" pfm2kpx [options] \fIpfm\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" Many PostScript Type1 fonts contain only \&\fIpfb\fR and \fIpfm\fR files, but no \fIafm\fR (Adobe Font Metrics) files. These can be generated with \fIpf2afm\fR (which comes with \fIGhostScript\fR), but this might not yield all kerning pairs from the \fIpfm\fR file. The reason for this is that \fIpf2afm\fR interprets \f(CW\*(C`dfCharSet = 0x00\*(C'\fR to mean that the Adobe StandardEncoding has been used, whereas many fonts (or font creation tools) instead use the Windows \s-1ANSI\s0 (aka codepage 1252) encoding. (You know you've hit this problem when \fBpf2afm\fR complains "\f(CW\*(C`.notdef character ocurred among kern pairs \-\- you'd better check the resulting AFM file\*(C'\fR".) In this case, the resulting \fIafm\fR is incomplete and contains wrong kerning pairs. .PP \&\fBpfm2kpx\fR extracts the correct kerning pairs from such \fIpfm\fR files and repairs the \fIafm\fR (if necessary creating it first by running \fIpf2afm\fR). If for some reason it can't update the \fIafm\fR, it prints the kerning pairs to \&\f(CW\*(C`stdout\*(C'\fR instead. .PP When \fIpf2afm\fR doesn't complain about the kerning pairs, \fBpfm2kpx\fR thinks the resulting \fIafm\fR file is fine and quits; this can be changed by specifying the \fB\-f\fR option (see below). .SH "OPTIONS" .IX Header "OPTIONS" .Ip "\fB\-f\fR" 4 .IX Item "-f" Force updating of the \fIafm\fR file, even if \fIpf2afm\fR doesn't complain. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIpf2afm\fR (part of GhostScript), \fIafm2afm\fR, \fIautoinst\fR, \fIcmap2enc\fR, \&\fIfont2afm\fR, \fIot2kpx\fR. .SH "AUTHOR" .IX Header "AUTHOR" Marc Penninga .SH "HISTORY" .IX Header "HISTORY" .Ip "\fI2005\-02\-17\fR" 12 .IX Item "2005-02-17" First version .Ip "\fI2005\-02\-18\fR" 12 .IX Item "2005-02-18" Added \f(CW\*(C`binmode PFM\*(C'\fR to make \fBpfm2kpx\fR work on Windows platforms .Ip "\fI2005\-03\-08\fR" 12 .IX Item "2005-03-08" Input files searched via \fBkpsewhich\fR (where available) .Ip "\fI2005\-03\-14\fR" 12 .IX Item "2005-03-14" Rewrote some of the code to make it more robust, added the \fB\-f\fR option .Ip "\fI2005\-03\-15\fR" 12 .IX Item "2005-03-15" Input files searched using \fBkpsewhich\fR or \fBfindtexmf\fR .Ip "\fI2005\-04\-29\fR" 12 .IX Item "2005-04-29" Improved the documentation .Ip "\fI2005\-05\-24\fR" 12 .IX Item "2005-05-24" Bugfix. .Ip "\fI2005\-07\-29\fR" 12 .IX Item "2005-07-29" Some updates to the documentation.