summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/man/patgen.man
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/web2c/man/patgen.man
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/man/patgen.man')
-rw-r--r--Build/source/texk/web2c/man/patgen.man194
1 files changed, 194 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/man/patgen.man b/Build/source/texk/web2c/man/patgen.man
new file mode 100644
index 00000000000..cb4ae6af19f
--- /dev/null
+++ b/Build/source/texk/web2c/man/patgen.man
@@ -0,0 +1,194 @@
+.TH PATGEN 1 "16 June 2015" "Web2C @VERSION@"
+.\"=====================================================================
+.if t .ds TX \fRT\\h'-0.1667m'\\v'0.20v'E\\v'-0.20v'\\h'-0.125m'X\fP
+.if n .ds TX TeX
+.ie t .ds OX \fIT\v'+0.25m'E\v'-0.25m'X\fP
+.el .ds OX TeX
+.\" BX definition must follow TX so BX can use TX
+.if t .ds BX \fRB\s-2IB\s0\fP\*(TX
+.if n .ds BX BibTeX
+.\" LX definition must follow TX so LX can use TX
+.if t .ds LX \fRL\\h'-0.36m'\\v'-0.15v'\s-2A\s0\\h'-0.15m'\\v'0.15v'\fP\*(TX
+.if n .ds LX LaTeX
+.\"=====================================================================
+.SH NAME
+patgen \- generate patterns for TeX hyphenation
+.SH SYNOPSIS
+.B patgen
+.I dictionary_file pattern_file patout_file translate_file
+.\"=====================================================================
+.SH DESCRIPTION
+This manual page is not meant to be exhaustive.
+See also the Info file or manual
+.I "Web2C: A TeX implementation"
+available as part of the TeX Live distribution or at
+.IR http://tug.org/web2c .
+.PP
+The
+.I patgen
+program reads the
+.I dictionary_file
+containing a list of hyphenated words and the
+.I pattern_file
+containing previously-generated patterns (if any) for a particular
+language (not a complete TeX source file; see below), and produces the
+.I patout_file
+with (previously- plus newly-generated) hyphenation patterns for that
+language. The
+.I translate_file
+defines language specific values for the parameters
+.IR left_hyphen_min " and " right_hyphen_min
+used by \*(TX's hyphenation algorithm and the external representation
+of the lower and upper case version(s) of all \`letters' of that
+language. Further details of the pattern generation process such as
+hyphenation levels and pattern lengths are requested interactively from
+the user's terminal. Optionally
+.I patgen
+creates a new dictionary file
+.BI pattmp. n
+showing the good and bad hyphens found by the generated patterns, where
+.I n
+is the highest hyphenation level.
+.PP
+The patterns generated by
+.I patgen
+can be read by
+.B initex
+for use in hyphenating words. For a real-life example of
+.IR patgen 's
+output, see
+.IR $TEXMFMAIN/tex/generic/hyphen/hyphen.tex ,
+which contains the patterns \*(TX uses for English by default.
+At some sites, patterns for (many) other languages may be available,
+and the local
+.B tex
+programs may have them preloaded.
+.PP
+All filenames must be complete; no adding of default
+extensions or path searching is done.
+.\"=====================================================================
+.SH FILE FORMATS
+.TP \w'@@'u+2n
+.B Letters
+When
+.B initex
+digests hyphenation patterns, \*(TX first expands macros and the result
+must entirely consist of digits (hyphenation levels), dots (\`.', edge
+of a word), and letters. In pattern files for non-English languages
+letters are often represented by macros or other expandable constructs.
+For the purpose of
+.I patgen
+these are just character sequences, subject to the condition that no
+such sequence is a prefix of another one.
+.TP \w'@@'u+2n
+.B Dictionary file
+A dictionary file contains a weighted list of hyphenated words, one word
+per line starting in column 1. A digit in column 1 indicates a global
+word weight (initially =1) applicable to all following words up to the
+next global word weight. A digit at some intercharacter position
+indicates a weight for that position only.
+
+The hyphens in a word are indicated by \`-', \`*', or \`.' (or their
+replacements as defined in the translate file) for hyphens yet to be
+found, \`good' hyphens (correctly found by the patterns), and \`bad'
+hyphens (erroneously found by the patterns) respectively; when reading a
+dictionary file \`*' is treated like \`-' and \`.' is ignored.
+.TP
+.B Pattern file
+A pattern file contains only patterns in the format above, e.g., from a
+previous run of patgen. It may \fInot\fR contain any \*(TX comments or
+control sequences. For instance, this is not a valid pattern file:
+.nf
+
+% this is a pattern file read by TeX.
+\\patterns{%
+ .\|.\|.
+}
+.fi
+It can only contain the actual patterns, i.e., the `.\|.\|.'.
+.TP
+.B Translate file
+A translate file starts with a line containing the values of
+.I left_hyphen_min
+in columns 1-2,
+.I right_hyphen_min
+in columns 3-4, and either a blank or the replacement for one of the
+"hyphen" characters \`-', \`*', and \`.' in columns 5, 6, and 7. (Input
+lines are padded with blanks as for many \*(TX related programs.)
+
+Each following line defines one \`letter': an arbitrary delimiter
+character in column 1, followed by one or more external representations
+of that character (first the \`lower' case one used for output), each
+one terminated by the delimiter and the whole sequence terminated by
+another delimiter.
+
+If the translate file is empty, the values
+.IR left_hyphen_min "=2, " right_hyphen_min "=3,"
+and the 26 lower case letters
+.BR a .\|.\|. z
+with their upper case representations
+.BR A .\|.\|. Z
+are assumed.
+.TP
+.B Terminal input
+After reading the
+.I translate_file
+and any previously-generated patterns from
+.IR pattern_file ,
+.I patgen
+requests input from the user's terminal.
+
+First the integer values of
+.IR hyph_start " and " hyph_finish ,
+the lowest and highest hyphenation level for which patterns are to be
+generated. The value of
+.I hyph_start
+should be larger than any hyphenation level already present in
+.IR pattern_file .
+
+Then, for each hyphenation level, the integer values of
+.IR pat_start " and " pat_finish ,
+the smallest and largest pattern length to be analyzed, as well as
+.IR "good weight" ", " "bad weight" ", and " threshold ,
+the weights for good and bad hyphens and a weight threshold for useful
+patterns.
+
+Finally the decision (\`y' or \`Y' vs. anything else) whether or not to
+produce a hyphenated word list.
+.\"=====================================================================
+.SH FILES
+.TP \w'@@'u+2n
+.I $TEXMFMAIN/tex/generic/hyphen/hyphen.tex
+The original hyphenation patterns for English, by Donald Knuth and Frank
+Liang.
+.TP
+.I http://www.ctan.org/pkg/ushyph
+Additional hyphenation patterns for English, extended by Gerard Kuiken.
+.TP
+.I http://www.ctan.org/pkg/hyph-utf8
+Collected hyphenation patterns for many languages in many formats.
+.TP
+.I http://www.ctan.org/tex-archive/language/
+General CTAN directory for patterns and support for many other languages.
+.\"=====================================================================
+.SH "SEE ALSO"
+Frank Liang and Peter Breitenlohner,
+patgen.web.
+.PP
+Frank Liang,
+.IR "Word hy-phen-a-tion by com-puter" ,
+STAN-CS-83-977,
+Stanford University Ph.D. thesis, 1983,
+http://tug.org/docs/liang.
+.PP
+Donald E. Knuth,
+.IR "The \*(OXbook" ,
+Addison-Wesley, 1986, ISBN 0-201-13447-0, Appendix H.
+.\"=====================================================================
+.SH AUTHORS
+Frank Liang wrote the first version of this program. Peter
+Breitenlohner made a
+substantial revision in 1991 for \*(TX 3.
+The first version was published as the appendix to the
+.I \*(OXware
+technical report. Howard Trickey originally ported it to Unix.