summaryrefslogtreecommitdiff
path: root/Master/texmf/doc/man/man1/ot2kpx.1
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/doc/man/man1/ot2kpx.1')
-rw-r--r--Master/texmf/doc/man/man1/ot2kpx.1186
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.