diff options
author | Mojca Miklavec <mojca.miklavec@gmail.com> | 2011-06-11 00:32:38 +0000 |
---|---|---|
committer | Mojca Miklavec <mojca.miklavec@gmail.com> | 2011-06-11 00:32:38 +0000 |
commit | b439631e2c3a99a345993513013a2ace563bdd3b (patch) | |
tree | 876f2f14d92e8ca45d1f3b288a911870c406261f /Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex | |
parent | 95f2ee5a2b2d9c18b748c222ea64eacb33f2e959 (diff) |
An attempt to import the latest version of hyph-utf8 (#558)
LuaTeX:
* add support for loading multiple pattern files in LuaTeX
TeX Live:
* remove copthyph.tex from texmf: it is now part of hyph-utf8
* update language.ptx and language.def for pTeX
* update some descriptions in tlpsrc files (not finished)
* change lefthyphenmin from 2 to 1 for Afrikaans (not sure when it was set to 2)
hyph-utf8:
* load patterns for Latin and Cyrillic scripts for Serbian simultaneously
* new version of German hyphenation patterns
* support both U+0027 and U+2019 as apostrophe in Unicode engines
git-svn-id: svn://tug.org/texlive/trunk@22909 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex | 338 |
1 files changed, 130 insertions, 208 deletions
diff --git a/Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex b/Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex index 9e70723029f..8dd79928877 100644 --- a/Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex +++ b/Master/texmf-dist/doc/generic/hyph-utf8/hyphenation.tex @@ -6,11 +6,23 @@ \setuphead [subject] - [style=\bfa] + [style=\bfc] +\setuphead + [subsubject] + [style=\bfb] +\setuppagenumbering + [location={footer}] +\setuplayout + [header=0pt,headerdistance=0pt,height=24cm] + +\def\eTeX{ε-\TeX} +% TODO +\def\XeLaTeX{Xe\LaTeX} +\def\LuaLaTeX{Lua\LaTeX} \starttext -\centerline{\tt hyph-utf8} +\centerline{\tt\bfc hyph-utf8} \blank[big] @@ -34,208 +46,16 @@ patterns to some 8-bit encoding when used with \PDFTEX{} or Knuth's \TEX. \subject{List of supported languages} -% \startluacode -% languages={ -% ['Afrikaans'] = { -% { code = 'af', name = 'afrikaans', synonyms = { } }, -% }, -% ['Ancientgreek'] = { -% { code = 'grc', name = 'ancientgreek', synonyms = { } }, -% { code = 'grc-x-ibycus', name = 'ibycus', synonyms = { } }, -% }, -% ['Arabic'] = { -% { code = 'ar', name = 'arabic', synonyms = { } }, -% }, -% ['Armenian'] = { -% { code = 'hy', name = 'armenian', synonyms = { } }, -% }, -% ['Assamese'] = { -% { code = 'as', name = 'assamese', synonyms = { } }, -% }, -% ['Basque'] = { -% { code = 'eu', name = 'basque', synonyms = { } }, -% }, -% ['Bengali'] = { -% { code = 'bn', name = 'bengali', synonyms = { } }, -% }, -% ['Bulgarian'] = { -% { code = 'bg', name = 'bulgarian', synonyms = { } }, -% }, -% ['Catalan'] = { -% { code = 'ca', name = 'catalan', synonyms = { } }, -% }, -% ['Chinese'] = { -% { code = 'zh-latn', name = 'pinyin', synonyms = { } }, -% }, -% ['Coptic'] = { -% { code = 'cop', name = 'coptic', synonyms = { } }, -% }, -% ['Croatian'] = { -% { code = 'hr', name = 'croatian', synonyms = { } }, -% }, -% ['Czech'] = { -% { code = 'cs', name = 'czech', synonyms = { } }, -% }, -% ['Danish'] = { -% { code = 'da', name = 'danish', synonyms = { } }, -% }, -% ['Dutch'] = { -% { code = 'nl', name = 'dutch', synonyms = { } }, -% }, -% ['Esperanto'] = { -% { code = 'eo', name = 'esperanto', synonyms = { } }, -% }, -% ['Estonian'] = { -% { code = 'et', name = 'estonian', synonyms = { } }, -% }, -% ['Farsi'] = { -% { code = 'fa', name = 'farsi', synonyms = { 'persian' } }, -% }, -% ['Finnish'] = { -% { code = 'fi', name = 'finnish', synonyms = { } }, -% }, -% ['French'] = { -% { code = 'fr', name = 'french', synonyms = { 'patois', 'francais' } }, -% }, -% ['Galician'] = { -% { code = 'gl', name = 'galician', synonyms = { } }, -% }, -% ['German'] = { -% { code = 'de-1901', name = 'german', synonyms = { } }, -% { code = 'de-1996', name = 'ngerman', synonyms = { } }, -% { code = 'de-ch-1901', name = 'swissgerman', synonyms = { } }, -% }, -% ['Greek'] = { -% { code = 'el-monoton', name = 'monogreek', synonyms = { } }, -% { code = 'el-polyton', name = 'greek', synonyms = { 'polygreek' } }, -% }, -% ['Gujarati'] = { -% { code = 'gu', name = 'gujarati', synonyms = { } }, -% }, -% ['Hindi'] = { -% { code = 'hi', name = 'hindi', synonyms = { } }, -% }, -% ['Hungarian'] = { -% { code = 'hu', name = 'hungarian', synonyms = { } }, -% }, -% ['Icelandic'] = { -% { code = 'is', name = 'icelandic', synonyms = { } }, -% }, -% ['Indonesian'] = { -% { code = 'id', name = 'indonesian', synonyms = { } }, -% }, -% ['Interlingua'] = { -% { code = 'ia', name = 'interlingua', synonyms = { } }, -% }, -% ['Irish'] = { -% { code = 'ga', name = 'irish', synonyms = { } }, -% }, -% ['Italian'] = { -% { code = 'it', name = 'italian', synonyms = { } }, -% }, -% ['Kannada'] = { -% { code = 'kn', name = 'kannada', synonyms = { } }, -% }, -% ['Kurmanji'] = { -% { code = 'kmr', name = 'kurmanji', synonyms = { } }, -% }, -% ['Lao'] = { -% { code = 'lo', name = 'lao', synonyms = { } }, -% }, -% ['Latin'] = { -% { code = 'la', name = 'latin', synonyms = { } }, -% }, -% ['Latvian'] = { -% { code = 'lv', name = 'latvian', synonyms = { } }, -% }, -% ['Lithuanian'] = { -% { code = 'lt', name = 'lithuanian', synonyms = { } }, -% }, -% ['Malayalam'] = { -% { code = 'ml', name = 'malayalam', synonyms = { } }, -% }, -% ['Marathi'] = { -% { code = 'mr', name = 'marathi', synonyms = { } }, -% }, -% ['Mongolian'] = { -% { code = 'mn-cyrl', name = 'mongolian', synonyms = { } }, -% }, -% ['Mongolianlmc'] = { -% { code = 'mn-cyrl-x-lmc', name = 'mongolianlmc', synonyms = { } }, -% }, -% ['Norwegian'] = { -% { code = 'nb', name = 'bokmal', synonyms = { 'norwegian', 'norsk' } }, -% { code = 'nn', name = 'nynorsk', synonyms = { } }, -% }, -% ['Oriya'] = { -% { code = 'or', name = 'oriya', synonyms = { } }, -% }, -% ['Panjabi'] = { -% { code = 'pa', name = 'panjabi', synonyms = { } }, -% }, -% ['Polish'] = { -% { code = 'pl', name = 'polish', synonyms = { } }, -% }, -% ['Portuguese'] = { -% { code = 'pt', name = 'portuguese', synonyms = { 'portuges' } }, -% }, -% ['Romanian'] = { -% { code = 'ro', name = 'romanian', synonyms = { } }, -% }, -% ['Russian'] = { -% { code = 'ru', name = 'russian', synonyms = { } }, -% }, -% ['Sanskrit'] = { -% { code = 'sa', name = 'sanskrit', synonyms = { } }, -% }, -% ['Serbian'] = { -% { code = 'sr-latn', name = 'serbian', synonyms = { } }, -% }, -% ['Slovenian'] = { -% { code = 'sl', name = 'slovenian', synonyms = { 'slovene' } }, -% }, -% ['Spanish'] = { -% { code = 'es', name = 'spanish', synonyms = { 'espanol' } }, -% }, -% ['Swedish'] = { -% { code = 'sv', name = 'swedish', synonyms = { } }, -% }, -% ['Tamil'] = { -% { code = 'ta', name = 'tamil', synonyms = { } }, -% }, -% ['Telugu'] = { -% { code = 'te', name = 'telugu', synonyms = { } }, -% }, -% ['Turkish'] = { -% { code = 'tr', name = 'turkish', synonyms = { } }, -% }, -% ['Turkmen'] = { -% { code = 'tk', name = 'turkmen', synonyms = { } }, -% }, -% ['Ukenglish'] = { -% { code = 'en-gb', name = 'ukenglish', synonyms = { 'british', 'UKenglish' } }, -% }, -% ['Ukrainian'] = { -% { code = 'uk', name = 'ukrainian', synonyms = { } }, -% }, -% ['Uppersorbian'] = { -% { code = 'hsb', name = 'uppersorbian', synonyms = { } }, -% }, -% ['Usenglishmax'] = { -% { code = 'en-us', name = 'usenglishmax', synonyms = { } }, -% }, -% ['Welsh'] = { -% { code = 'cy', name = 'welsh', synonyms = { } }, -% } -% } -% \stopluacode - \def\lanname#1{\hbox to \textwidth{\bf#1\hss}} \def\landata#1#2#3{\hbox to \textwidth{\hbox to 3mm{}\hbox to 6.5em{#1\hss}\hbox to 7em{#2}\hbox{#3}\hss} } % \def\landata#1#2#3{} \startcolumns[n=2] +\lanname{English} +\landata{-}{\bf english}{usenglish, USenglish, american} +\landata{en-us}{usenglishmax}{} +\landata{en-gb}{ukenglish}{british, UKenglish} \lanname{Afrikaans} \landata{af}{afrikaans}{} \lanname{Ancientgreek} @@ -267,15 +87,14 @@ patterns to some 8-bit encoding when used with \PDFTEX{} or Knuth's \TEX. \landata{da}{danish}{} \lanname{Dutch} \landata{nl}{dutch}{} -\crlf\crlf -\lanname{English} -\landata{-}{\bf english}{usenglish, USenglish, american} -\landata{en-us}{usenglishmax}{} -\landata{en-gb}{ukenglish}{british, UKenglish} +% \column +\crlf\crlf\crlf\crlf \lanname{Esperanto} \landata{eo}{esperanto}{} \lanname{Estonian} \landata{et}{estonian}{} +\lanname{Ethiopic} +\landata{mul-ethi}{ethiopic}{amharic, geez} \lanname{Farsi} \landata{fa}{farsi}{persian} \lanname{Finnish} @@ -325,7 +144,6 @@ patterns to some 8-bit encoding when used with \PDFTEX{} or Knuth's \TEX. \landata{mr}{marathi}{} \lanname{Mongolian} \landata{mn-cyrl}{mongolian}{} -\lanname{Mongolianlmc} \landata{mn-cyrl-x-lmc}{mongolianlmc}{} \lanname{Norwegian} \landata{nb}{bokmal}{norwegian, norsk} @@ -346,6 +164,9 @@ patterns to some 8-bit encoding when used with \PDFTEX{} or Knuth's \TEX. \landata{sa}{sanskrit}{} \lanname{Serbian} \landata{sr-latn}{serbian}{} +\landata{sr-cyrl}{serbianc}{} +\lanname{Slovak} +\landata{sk}{slovak}{} \lanname{Slovenian} \landata{sl}{slovenian}{slovene} \lanname{Spanish} @@ -360,17 +181,118 @@ patterns to some 8-bit encoding when used with \PDFTEX{} or Knuth's \TEX. \landata{tr}{turkish}{} \lanname{Turkmen} \landata{tk}{turkmen}{} -\lanname{Ukenglish} -\landata{en-gb}{ukenglish}{british, UKenglish} +% \lanname{Ukenglish} +% \landata{en-gb}{ukenglish}{british, UKenglish} \lanname{Ukrainian} \landata{uk}{ukrainian}{} \lanname{Uppersorbian} \landata{hsb}{uppersorbian}{} -\lanname{Usenglishmax} -\landata{en-us}{usenglishmax}{} +% \lanname{Usenglishmax} +% \landata{en-us}{usenglishmax}{} \lanname{Welsh} \landata{cy}{welsh}{} \stopcolumns +\page + +\subject{Using hyphenation patterns} + +\subsubject{Plain \TeX} + +In engines that support \eTeX\ you can select the desired hyphenation patterns with: +\startTEX +\uselanguage{langname} +\stopTEX +where \type{langname} is the string identifying a particular hyphenation file in \type{language.dat} and can be taken from table on the first two pages. +% TODO: create a proper table and reference it + +\subsubject{\LaTeX} + +Since Babel's \type{hyphen.cfg} is built in the \XeLaTeX format, hyphenation patterns can be used without even loading Babel or Polyglossia. At the low-level this simply corresponds to defining +\startTEX + \language=\l@<langname> +\stopTEX +The user command is supposed to be +\startTEX + \hyphenrules{langname} +\stopTEX +or +\startTEX + \begin{hyphenrules}{langname} ... \end{hyphenrules}. +\stopTEX +and should work with any flavour of \LaTeX, however we couldn't make it work. + +\subsubsubject{\LaTeX\ with Babel} + +You can use Babel with any \TeX\ engine, however it is currently unmaintained and has never been adapted to work well with Unicode engines. If you are using \XeTeX\ please use Polyglossia instead. + +\startTEX +\usepackage[languagename]{babel} +\stopTEX + +\subsubsubject{\LaTeX\ with Polyglossia} + +Polyglossia should be the preferred choice when using \XeLaTeX. It doesn't support \LuaLaTeX\ yet, but it is planned to extend it in future. + +\startTEX +\usepackage{polyglossia} +\setmainlanguage[optional settings]{langname} +\setotherlanguages{otherlangname} + +\begin[optional settings]{otherlangname} ... \end{otherlangname} +\stopTEX + +See Polyglossia manual for extensive list of options. + +\subsubject{\ConTeXt} + +ConTeXt doesn't load patterns for all the language that hyph-utf8 provides. If you miss any language, please contact the mailing list. The general syntax for supported languages is the following: + +\startTEX +% language of the main document +\mainlanguage[language] + +{\language[otherlanguage] language of some short fragment} +\stopTEX + +You can use full language name or language code. When using \ConTeXt\ MKII you might need to select the appropriate font encoding for Cyrillic scripts, Polish and some other languages: + +\startTEX +\usetypescript[iwona][qx] +\setupbodyfont[iwona] +\mainlanguage[polish] +\stopTEX + +\ConTeXt\ loads hyphenation patterns in several encodings, so that you can for example use Czech patterns with either \type{ec} or \type{il2} font encodings. The right hyphenation patterns will be chosen based on current font encoding. + +\subsubject{More examples} + +\subsubsubject{Example for Polyglossia} + +\startTEX +\usepackage{polyglossia} +% the language used for main document +\setmainlanguage{asturian} +% American English with extended hyphenation patterns +\setotherlanguage[variant=usmax]{english} +% German with experimental patterns "ngerman-x-latest" +\setotherlanguage[spelling=new,latesthyphen=true]{german} +\setotherlanguages{spanish,catalan,french} + +\begin{document} + +Long Asturian text ... (Hyphenation for Asturian is not available, but polyglossia automatically falls back on Catalan for now, which seems to be a reasonable choice.) + +\begin{german} +Deutscher Text ... (with the hyphenation patterns selected above: "ngerman-x-latest") +\end{german} + +\begin[script=fraktur,spelling=old]{german} +Deutſcher Text ... (set in Fraktur, with traditional hyphenation). +\end{german} + +\end{document} +\stopTEX + \stoptext |