diff options
Diffstat (limited to 'Master/texmf/doc/man/man1/ot2kpx.1')
-rw-r--r-- | Master/texmf/doc/man/man1/ot2kpx.1 | 186 |
1 files changed, 97 insertions, 89 deletions
diff --git a/Master/texmf/doc/man/man1/ot2kpx.1 b/Master/texmf/doc/man/man1/ot2kpx.1 index 1c180d772ea..c761d2e9ef4 100644 --- a/Master/texmf/doc/man/man1/ot2kpx.1 +++ b/Master/texmf/doc/man/man1/ot2kpx.1 @@ -1,26 +1,11 @@ -.\" Automatically generated by Pod::Man version 1.15 -.\" Mon Apr 2 10:44:41 2007 +.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" 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 @@ -28,16 +13,15 @@ .. .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 +.\" double quote, and \*(R" will give a right double quote. \*(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- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- @@ -56,26 +40,28 @@ . 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 \{\ +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \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 +.el \{\ +. de IX +.. +.\} .\" .\" 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 @@ -135,71 +121,93 @@ . ds Ae AE .\} .rm #[ #] #H #V #F C -.\" ====================================================================== +.\" ======================================================================== .\" .IX Title "OT2KPX 1" -.TH OT2KPX 1 "fontools" "2007-04-02" "fontools" -.UC +.TH OT2KPX 1 "2012-03-06" "fontools" "Marc Penninga" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh .SH "NAME" -ot2kpx \- extract kerning information from an OpenType font +ot2kpx \- extract kerning information from OpenType fonts .SH "SYNOPSIS" .IX Header "SYNOPSIS" -ot2kpx \fIfont\fR +.IP "\fBot2kpx\fR" 8 +.IX Item "ot2kpx" +\&\fBfontfile\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" -In many OpenType fonts, most kerning data is stored in the `\s-1GPOS\s0' table rather -than in the `kern' table. \fBot2kpx\fR extracts the kerning data from both tables -and prints it (in \fIafm\fR format) to \f(CW\*(C`stdout\*(C'\fR. +\&\fBot2kpx\fR extract the kerning data from OpenType fonts (both \fIotf\fR +and \fIttf\fR formats) and prints it (in \fIafm\fR format) to \f(CW\*(C`stdout\*(C'\fR. +.SH "OPTIONS AND ARGUMENTS" +.IX Header "OPTIONS AND ARGUMENTS" +.IP "\fBfontfile\fR" 4 +.IX Item "fontfile" +The OpenType font (in either \fIotf\fR or \fIttf\fR format). .SH "RESTRICTIONS" .IX Header "RESTRICTIONS" -.Ip "\fB-\fR" 2 +.IP "\fB\-\fR" 4 .IX Item "-" -\&\fBot2kpx\fR prints data from all features named `kern', regardless of script -and language. Maybe it would be better to let the user choose a script -and language (defaulting to `latn' and `\s-1DFLT\s0') and print only the kerning -data from features associated with these values. -.Ip "\fB-\fR" 2 +\&\fBot2kpx\fR doesn't implement all of the OpenType specification. +Things that are missing include: support for font files containing +multiple fonts, LookupTables with LookupTypes other than 2, +\&\*(L"kern\*(R" tables with format other than 0 and ValueRecords with +other types of data than just XAdvance data. +.Sp +Most of these limitations don't really matter, since the missing features +are rare (the only fonts I know of that use them are the non-western fonts +that come with Adobe Reader). Furthermore, some of these features concern +(according to the OpenType specification) \fI\*(L"define subtle, device-dependent +adjustments at specific font sizes or device resolutions\*(R"\fR. +Since there's no way to express such adjustments in \fIafm\fR format, +ignoring them seems to be the only option anyway. +.IP "\fB\-\fR" 4 .IX Item "-" -\&\fBot2kpx\fR uses only the XAdvance data associated with the first glyph in any -kerning pair; all other data in the ValueRecords is ignored. I'm not sure -whether this is The Right Thing to Do; however, almost always there is -no other data, so this approach gives correct results (in fact, the only -font I know of that does contain data other than XAdvance is Linotype -Palatino; this also contains XAdvDevice data, which is used (according to -the OpenType specification) to \fI`define subtle, device-dependent adjustments -at specific font sizes or device resolutions'\fR. Since there is no way to -express such adjustments in \fIafm\fR format, ignoring them seems to be the -only option.) -.SH "SEE ALSO" -.IX Header "SEE ALSO" -\&\fIafm2afm\fR, \fIautoinst\fR, \fIcmap2enc\fR, \fIfont2afm\fR, \fIpfm2kpx\fR. +\&\fBot2kpx\fR collects kerning data first from the \*(L"kern\*(R" table, then from +all LookupTables associated with the \*(L"kern\*(R" feature; if a kerning pair +occurs multiple times, the first value seen is chosen. +There are (or may be) several issues with this approach: +.RS 4 +.IP "\-" 4 +The OpenType specification says that fonts in \fIotf\fR format shouldn't +use the \*(L"kern\*(R" table at all, just the lookups from the \*(L"\s-1GPOS\s0\*(R" table. +Many such fonts do, however, contain a \*(L"kern\*(R" table, but no \*(L"\s-1GPOS\s0\*(R" table; +so we use the \*(L"kern\*(R" table anyway. +.IP "\-" 4 +Instead of reading all LookupTables, it might be better to let the user +specify a script and language and process only the LookupTables for +those values. +However, at least in the fonts I checked, all script/language combinations +eventually point to the \fIsame\fR \*(L"kern\*(R" LookupTables, so this approach +wouldn't make any difference (apart from further complicating the code). +.RE +.RS 4 +.RE .SH "AUTHOR" .IX Header "AUTHOR" -Marc Penninga <marc@penninga.info> -.SH "HISTORY" -.IX Header "HISTORY" -.Ip "\fI2005\-01\-10\fR" 12 -.IX Item "2005-01-10" -First version -.Ip "\fI2005\-02\-18\fR" 12 -.IX Item "2005-02-18" -Rewrote some of the code -.Ip "\fI2005\-03\-08\fR" 12 -.IX Item "2005-03-08" -Input files searched via \fBkpsewhich\fR (where available) -.Ip "\fI2005\-03\-15\fR" 12 -.IX Item "2005-03-15" -Input files searched using \fBkpsewhich\fR or \fBfindtexmf\fR -.Ip "\fI2005\-03\-21\fR" 12 -.IX Item "2005-03-21" -Test if \s-1GPOS\s0 table is present before trying to read it -.Ip "\fI2005\-04\-29\fR" 12 -.IX Item "2005-04-29" -Improved the documentation -.Ip "\fI2005\-05\-25\fR" 12 -.IX Item "2005-05-25" -Changed warning that's given when the font contains no \s-1GPOS\s0 table, to an -informational message. -.Ip "\fI2005\-07\-29\fR" 12 -.IX Item "2005-07-29" -A few updates to the documentation +Marc Penninga <marcpenninga@gmail.com> +.SH "COPYRIGHT" +.IX Header "COPYRIGHT" +Copyright (C) 2005\-2012 Marc Penninga. +.SH "LICENSE" +.IX Header "LICENSE" +This program is free software; you can redistribute it and/or modify +it under the terms of the \s-1GNU\s0 General Public License as published +by the Free Software Foundation, either version 2 of the License, +or (at your option) any later version. +A copy of the \s-1GNU\s0 General Public License is included with \fBautoinst\fR; +see the file \fIGPLv2.txt\fR. +.SH "DISCLAIMER" +.IX Header "DISCLAIMER" +This program is distributed in the hope that it will be useful, +but \s-1WITHOUT\s0 \s-1ANY\s0 \s-1WARRANTY\s0; without even the implied warranty of +\&\s-1MERCHANTABILITY\s0 or \s-1FITNESS\s0 \s-1FOR\s0 A \s-1PARTICULAR\s0 \s-1PURPOSE\s0. +See the \s-1GNU\s0 General Public License for more details. +.SH "RECENT CHANGES" +.IX Header "RECENT CHANGES" +(See the source code for the rest of the story.) +.IP "\fI2012\-02\-01\fR" 12 +.IX Item "2012-02-01" +Refactored the code, and fixed a number of bugs in the process. +Updated the documentation. |