summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/babel-contrib/estonian
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/babel-contrib/estonian
Initial commit
Diffstat (limited to 'macros/latex/contrib/babel-contrib/estonian')
-rw-r--r--macros/latex/contrib/babel-contrib/estonian/README.txt58
-rw-r--r--macros/latex/contrib/babel-contrib/estonian/estonian.dtx580
-rw-r--r--macros/latex/contrib/babel-contrib/estonian/estonian.ins148
-rw-r--r--macros/latex/contrib/babel-contrib/estonian/estonian.pdfbin0 -> 109181 bytes
4 files changed, 786 insertions, 0 deletions
diff --git a/macros/latex/contrib/babel-contrib/estonian/README.txt b/macros/latex/contrib/babel-contrib/estonian/README.txt
new file mode 100644
index 0000000000..edbafdec20
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/estonian/README.txt
@@ -0,0 +1,58 @@
+=========================================================================
+The babel-estonian bundle
+
+Estonian language support for the babel multilingual package
+
+Authors: Enn Saar, Jaan Vajakas
+
+Current Maintainer: Jaan Vajakas
+E-mail: jaanvajakas (at) hot (dot) ee
+
+Released under the LaTeX Project Public License v1.3 or later
+See http://www.latex-project.org/lppl.txt
+=========================================================================
+
+== PURPOSE ==
+
+This bundle is an extension to the babel package for multilingual
+typesetting. It provides all necessary macros, definitions and settings
+to typeset Estonian documents.
+
+
+== CONTENTS ==
+
+The bundle consists of the following files:
+
+* estonian.ins (installation file to unpack the language definition
+ file estonian.ldf)
+* estonian.dtx (packed language definition file and documentation)
+* estonian.pdf (unpacked documentation for estonian.ldf)
+* README.txt (this file)
+
+
+== INSTALLATION ==
+
+If the latest version of this package is not included in your LaTeX
+distribution, do the following:
+
+* issue "latex estonian.ins" to unpack the language definition file
+* copy the file estonian.ldf to a location where TeX can find it
+ (default location: $TEXMF/tex/generic/babel-estonian/)
+
+To re-generate the manual, issue
+ latex estonian.dtx
+ makeindex -s gglo.ist -o estonian.gls estonian.glo
+ latex estonian.dtx
+ latex estonian.dtx
+ dvips estonian.dvi
+ ps2pdf estonian.ps
+
+
+== DOCUMENTATION ==
+
+See the included manual estonian.pdf for usage instructions.
+
+
+== CHANGES ==
+
+See the included manual estonian.pdf, section "Change History".
diff --git a/macros/latex/contrib/babel-contrib/estonian/estonian.dtx b/macros/latex/contrib/babel-contrib/estonian/estonian.dtx
new file mode 100644
index 0000000000..e0fa44272b
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/estonian/estonian.dtx
@@ -0,0 +1,580 @@
+% \iffalse meta-comment
+%
+% Copyright 1989-2015 Johannes L. Braams and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the Babel system.
+% --------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Jaan Vajakas.
+%
+% The list of all files belonging to the Babel system is
+% given in the file `manifest.bbl. See also `legal.bbl' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+% \fi
+% \CheckSum{325}
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{estonian.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{estonian}
+%\fi
+%\ProvidesFile{estonian.dtx}
+ [2015/08/05 v1.1a Estonian support for the babel system]
+%\iffalse
+%% File `estonian.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989 - 2009
+%% by Johannes Braams, TeXniek
+%
+%% Estonian language Definition File
+%% Copyright (C) 1991 - 2009
+%% by Enn Saar, Tartu Astrophysical Observatory
+% Tartu Astrophysical Observatory
+% EE-2444 T\~oravere
+% Estonia
+% tel: +372 7 410 267
+% fax: +372 7 410 205
+% saar@aai.ee
+%
+% Johannes Braams, TeXniek
+%
+%% Please report errors to: Jaan Vajakas jaanvajakas at hot.ee
+%% (or Enn Saar saar at aai.ee
+%% or J. L. Braams babel at braams.xs4all.nl)
+%
+% This file is part of the babel system, it provides the source
+% code for the Estonian language definition file. The original
+% version of this file was written by Enn Saar (saar@aai.ee).
+% Modified by Jaan Vajakas (jaanvajakas@hot.ee).
+%<*filedriver>
+\documentclass{ltxdoc}
+\newcommand*\TeXhax{\TeX hax}
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\langvar{$\langle \it lang \rangle$}
+\newcommand*\note[1]{}
+\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\file[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{estonian.dtx}
+\end{document}
+%</filedriver>
+%\fi
+%
+% \RecordChanges
+%
+% \changes{estonian-1.0b}{1995/06/16}{corrected typos}
+% \changes{estonian-1.0e}{1996/10/10}{Replaced \cs{undefined} with
+% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
+% with \LaTeX, moved the definition of \cs{atcatcode} right to the
+% beginning.}
+% \changes{estonian-1.0k}{2009/03/07}{corrected documentation of the
+% commands \texttt{"-} and \cs{-}}
+% \changes{estonian-1.1}{2014/02/20}{added usage guidelines to the
+% documentation}
+% \changes{estonian-1.1a}{2015/08/05}{small improvements in documentation}
+%
+% \GetFileInfo{estonian.dtx}
+%
+% \title{Estonian language support for \babel}
+% \author{Enn Saar\footnote{\texttt{saar@aai.ee}, original author (inactive)},
+% Jaan Vajakas\footnote{\texttt{jaanvajakas@hot.ee}, maintainer since version 1.0k}}
+% \date{\filedate, \fileversion}
+%
+% \maketitle
+%
+% The file \file{\filename} defines the language definition macro's
+% for the Estonian language.
+%
+% This file was written as part of the TWGML project, and borrows
+% heavily from the \babel\ German and Spanish language files
+% \file{germanb.ldf} and \file{spanish.ldf}.
+%
+% Estonian has the same umlauts as German (\"a, \"o, \"u), but in
+% addition to this, we have also \~o, and two recent characters
+% \v s and \v z, so we need at least two active characters.
+% We shall use |"| and |~| to type Estonian accents on ASCII
+% keyboards (in the 7-bit character world). Their use is given in
+% table~\ref{tab:estonian-quote}.
+% \begin{table}[htb]
+% \begin{center}
+% \begin{tabular}{lp{8cm}}
+% |~o| & |\~o|, (and uppercase); \\
+% |"a| & |\"a|, (and uppercase); \\
+% |"o| & |\"o|, (and uppercase); \\
+% |"u| & |\"u|, (and uppercase); \\
+% |~s| & |\v s|, (and uppercase); \\
+% |~z| & |\v z|, (and uppercase); \\
+% \verb="|= & disable ligature at this position and allow hyphenation at this position; \\
+% |"-| & like |\-|, but allowing hyphenation
+% in the rest of the word;\\
+% |"`| & for Estonian low left double quotes (same as German);\\
+% |"'| & for Estonian right double quotes;\\
+% |"<| & for French left double quotes (also rather popular)\\
+% |">| & for French right double quotes.\\
+% \end{tabular}
+% \caption{The extra definitions made
+% by \file{estonian.ldf}}\label{tab:estonian-quote}
+% \end{center}
+% \end{table}
+% These active accent characters behave according to their original
+% definitions if not followed by one of the characters indicated in
+% that table; the original quote character can be typed using the
+% macro |\dq|.
+%
+% \section{Usage guidelines}
+%
+% \subsection{Overview and usage example}
+%
+% In short, it is recommended to include lines like the following in the preamble:
+% \begin{itemize}
+% \item in \LaTeX{}:
+%\begin{verbatim}
+%\usepackage[utf8]{inputenc}
+%\usepackage[T1]{fontenc}
+%\usepackage{mathptmx} % or \usepackage{lmodern} or something else
+%\usepackage[estonian .notilde]{babel}
+%\end{verbatim}
+% \item in XeLaTeX or LuaLaTeX:\footnote{In XeLaTeX and LuaLaTeX, you may want
+% to use the more modern \textsf{polyglossia} package instead of \babel{},
+% although the latter also works.}
+%\begin{verbatim}
+%\usepackage[estonian .notilde]{babel}
+%\usepackage{fontspec}
+%\end{verbatim}
+% \end{itemize}
+% When saving your file, make sure your text editor saves it in the UTF-8 encoding.
+%
+% In the following subsections, the rationale of these options is explained.
+% Some authors have also advised that ligatures should be turned off in Estonian;
+% the last subsection tries to explain why and how.
+%
+% \subsection{Use the T1 font encoding and avoid CM}
+% If using the Estonian package in \LaTeX, it is recommended to choose
+% the T1 output encoding (also known as the Cork encoding). It will give you better hyphenation,
+% as the standard Estonian hyphenation file \file{eehyph.tex} is in this encoding.
+% You can choose the T1 output encoding with
+% |\usepackage[T1]{fontenc}|.
+%
+% If you like Computer Modern (CM), the default font, then we recommend using
+% its successor Latin Modern (|\usepackage{lmodern}|) instead --- it is almost identical but
+% has the tilde in the letter ``\~o'' slightly lower, looking more natural.
+% (In the OT1 encoding, the Estonian package takes special care to lower the tilde,
+% but that feature is not supported for the T1 output encoding since
+% version 1.0k of the Estonian package, as it created many issues of its own.)
+%
+% In XeLaTeX and LuaLaTeX, the default font (CM) does not support accented letters
+% and therefore the \textsf{fontspec} package (or \textsf{xltxtra}) has to be used.
+%
+% \subsection{Use UTF-8 and disable the tilde shorthands}
+%
+% In the early 1990s, handling accented letters was a problem
+% for many programs. So shorthands for accented letters in Estonian (|~o|, |"a| etc.) were created.
+% Nowadays the UTF-8 standard is widespread, allowing to represent
+% letters from almost all the world's languages in a single text file.
+% Therefore it is recommended to use UTF-8 as input encoding and type Estonian accented
+% characters directly, instead of using the shorthands. We also recommend UTF-8 over
+% cp1257, the default encoding for Estonian on Windows, since UTF-8 contains more
+% characters and is more likely understood
+% by the text editors of your foreign partners.
+%
+% In addition, a problem is caused by the shorthands starting with tilde.
+% Namely, in \TeX, the |~| command originally means non-breaking space:
+% if \babel{} is not used then e.~g. |U.~S.| is rendered as ``U.~S.''.
+% However, with |\usepackage[estonian]{babel}| in preamble,
+% |U.~S.| is rendered as ``U.\v S.'' by default.
+% If you don't need the shorthands starting with tilde,
+% you can disable them and restore the original behavior of |~| by using the option
+% |notilde|, like this:
+%\begin{verbatim}\usepackage[estonian .notilde]{babel}\end{verbatim}
+% The option |notilde| was introduced in version 1.1 of the Estonian package (released 2014/02/21).
+% If you need compatibility with older versions, write instead
+%\begin{verbatim}
+%\usepackage[estonian]{babel}
+%\makeatletter\addto\extrasestonian{\bbl@deactivate{~}}\makeatother
+%\addto\captionsestonian{% Redefine captions containing ~o
+% \def\abstractname{Kokkuv\~ote}%
+% \def\proofname{T\~oestus}%
+% \def\glossaryname{S\~onastik}%
+%}
+%\end{verbatim}
+% If you don't disable the tilde shorthands, you must write |U.\nobreak{} S.|
+%
+% \subsection{Ligatures}
+% Using ligatures in Estonian is discouraged by some authors; it may
+% slightly harm readability and has been uncommon in the past.\footnote{
+% In their ``L\"uhike \LaTeX i\~opetus'' (1994), Hans Ibrus and Enn Saar say that \TeX's ligatures
+% are ``not recommended'' in Estonian and give the word ``fiiber'' as a (perhaps particularly) bad example.
+% Indeed, ``ii'' denotes a single long vowel, but the ligature seems to suggest
+% that instead the first two letters ``f'' and ``i'' are grouped together.
+% Ligatures are practically absent from Estonian books published throughout the Soviet
+% period (e.~g. mathematical books have no ligature in ``def\/initsioon'').
+% During Estonia's first independence period, ligatures
+% did occasionally appear in books: e.~g. Borkvell's ``Tasapinnalise ja ruumilise anal\"u\"utilise geomeetria p\~ohijooni'' from 1937
+% (fi ligature in ``definitsioon'') or ``Eesti Ents\"uklopeedia'' from 1932--1937
+% (having e.~g. ``Af\/fiinsus'' with ligature fi, but ``Af\/f\/iks'' without ligatures and ``aff\/iinseks'' with ligature ff ---
+% so ligatures were used quite randomly and arguably for the convenience of the typesetter rather than the reader).}
+% By default, \TeX{} creates the ligatures fi, ff, fl, ffi and ffl in the CM fonts (other fonts may have other
+% ligatures). You can disable ligatures one by one (e.~g. \verb=f\/ii"-ber= or {\tt \v sef"\textbar lu"-se}\footnote{The commands {\tt \textbackslash/} and {\tt "\textbar} both disable ligature; the latter also enables hyphenation \emph{\v sef-luse}. Unfortunately both disable hyphenation in the rest of the word; that's why we need the {\tt "-} here.}),
+% but if you want to get rid of all ligatures, then
+% \begin{itemize}
+% \item in \LaTeX, include the following two lines in your preamble:\footnote{
+% Note that these two lines disable only ligatures starting with f.
+% You would not want to apply {\tt \textbackslash DisableLigatures} to all letter combinations,
+% since it also disables kerning (and letter combinations like
+% ``Ve'' and ``AV'' look much nicer with kerning).}
+%\begin{verbatim}
+%\usepackage{microtype}
+%\DisableLigatures[f]{encoding = *, family = * }
+%\end{verbatim}
+% \item in XeLaTeX and LuaLaTeX, use this line instead (replace the font name):
+%\begin{verbatim}
+%\setmainfont[Ligatures={NoRequired,NoCommon,NoContextual}]{Font Name}
+%\end{verbatim}
+% \end{itemize}
+% \StopEventually{}
+%
+% \section{Implementation}
+%
+% The macro |\LdfInit| takes care of preventing that this file is
+% loaded more than once, checking the category code of the
+% \texttt{@} sign, etc.
+% \changes{estonian-1.0e}{1996/10/30}{Now use \cs{LdfInit} to perform
+% initial checks}
+% \begin{macrocode}
+%<*code>
+\LdfInit{estonian}\captionsestonian
+% \end{macrocode}
+%
+% If Estonian is not included in the format file (does not have
+% hyphenation patterns), we shall use English hyphenation.
+%
+% \begin{macrocode}
+\ifx\l@estonian\@undefined
+ \@nopatterns{Estonian}
+ \adddialect\l@estonian0
+\fi
+% \end{macrocode}
+%
+% Now come the commands to switch to (and from) Estonian.
+%
+% \begin{macro}{\captionsestonian}
+% The macro |\captionsestonian| defines all strings used in the
+% four standard documentclasses provided with \LaTeX.
+%
+% \changes{estonian-1.0c}{1995/07/04}{Added \cs{proofname} for
+% AMS-\LaTeX}
+% \changes{estonian-1.0d}{1995/07/27}{Added translation of `Proof'}
+% \changes{estonian-1.0h}{2000/09/20}{Added \cs{glossaryname}}
+% \changes{estonian-1.0j}{2008/07/07}{Replaced the translation of
+% `Proof'}
+% \changes{estonian-1.0k}{2009/02/03}{Added translation of
+% `Glossary'}
+% \changes{estonian-1.1}{2014/02/20}{Replaced \texttt{\textasciitilde o} with \cs{\textasciitilde o}
+% for compatibility with the \texttt{notilde} option, and to have the same style,
+% also replaced \texttt{"u} with \cs{"u} in ``Peat\"ukk''.}
+% \begin{macrocode}
+\addto\captionsestonian{%
+ \def\prefacename{Sissejuhatus}%
+ \def\refname{Viited}%
+ \def\bibname{Kirjandus}%
+ \def\appendixname{Lisa}%
+ \def\contentsname{Sisukord}%
+ \def\listfigurename{Joonised}%
+ \def\listtablename{Tabelid}%
+ \def\indexname{Indeks}%
+ \def\figurename{Joonis}%
+ \def\tablename{Tabel}%
+ \def\partname{Osa}%
+ \def\enclname{Lisa(d)}%
+ \def\ccname{Koopia(d)}%
+ \def\headtoname{}%
+ \def\pagename{Lk.}%
+ \def\seename{vt.}%
+ \def\alsoname{vt. ka}%
+ \def\abstractname{Kokkuv\~ote}%
+ \def\chaptername{Peat\"ukk}%
+ \def\proofname{T\~oestus}%
+ \def\glossaryname{S\~onastik}%
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dateestonian}
+% The macro |\dateestonian| redefines the command |\today| to
+% produce Estonian dates.
+% \changes{estonian-1.0f}{1997/10/01}{Use \cs{edef} to define
+% \cs{today} to save memory}
+% \changes{estonian-1.0f}{1998/03/28}{use \cs{def} instead of
+% \cs{edef}}
+% \begin{macrocode}
+\begingroup \catcode`\"\active
+\def\x{\endgroup
+ \def\month@estonian{\ifcase\month\or
+ jaanuar\or veebruar\or m"arts\or aprill\or mai\or juuni\or
+ juuli\or august\or september\or oktoober\or november\or
+ detsember\fi}}
+\x
+\def\dateestonian{%
+ \def\today{\number\day.\space\month@estonian
+ \space\number\year.\space a.}}
+% \end{macrocode}
+% \end{macro}
+%
+% Some useful macros, copied from the spanish package (and renamed |es@...| to |et@...|).
+% \begin{macrocode}
+\def\et@sdef#1{\babel@save#1\def#1}
+
+\@ifundefined{documentclass}
+ {\let\ifet@latex\iffalse}
+ {\let\ifet@latex\iftrue}
+% \end{macrocode}
+%
+% \begin{macro}{\extrasestonian}
+% \begin{macro}{\noextrasestonian}
+% The macro |\extrasestonian| will perform all the extra
+% definitions needed for Estonian. The macro |\noextrasestonian| is
+% used to cancel the actions of |\extrasestonian|. For Estonian,
+% |"| is made active and has to be treated as `special' (|~| is
+% active already).
+%
+% \begin{macrocode}
+\initiate@active@char{"}
+\initiate@active@char{~}
+\addto\extrasestonian{\languageshorthands{estonian}}
+\addto\extrasestonian{\bbl@activate{"}\bbl@activate{~}}
+% \end{macrocode}
+%
+% \changes{estonian-1.0d}{1995/07/27}{Removed the code that changes
+% category, lower case, uper case and space factor codes }
+%
+% \changes{estonian-1.1}{2014/02/20}{introduced the \texttt{notilde} option}
+% \begin{macro}{notilde}
+% The option |notilde| disables the shorthands starting with |~|,
+% restoring the original function of |~| as non-breaking space.
+% \begin{macrocode}
+\bbl@declare@ttribute{estonian}{notilde}{\addto\extrasestonian{\bbl@deactivate{~}}}
+% \end{macrocode}
+% \end{macro}
+%
+% Estonian does not use extra spaces after sentences.
+%
+% \begin{macrocode}
+\addto\extrasestonian{\bbl@frenchspacing}
+\addto\noextrasestonian{\bbl@nonfrenchspacing}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\estonianhyphenmins}
+% For Estonian, |\lefthyphenmin| and |\righthyphenmin| are
+% both~2.
+% \changes{estonian-1.0h}{2000/09/22}{Now use \cs{providehyphenmins} to
+% provide a default value}
+% \begin{macrocode}
+\providehyphenmins{\CurrentOption}{\tw@\tw@}
+% \end{macrocode}
+% \end{macro}
+%
+% The standard \TeX\ accents are too high for Estonian typography,
+% we have to lower them (following the \babel\ German style).
+% For umlauts, we can use |\umlautlow| in \file{babel.ldf}.
+% \changes{estonian-1.0k}{2009/02/03}{use \cs{umlauthigh} to restore
+% umlauts (before, \cs{babel@save}\cs{"} was used but that did not work)}
+% \begin{macrocode}
+\addto\extrasestonian{\umlautlow}
+\addto\noextrasestonian{\umlauthigh}
+% \end{macrocode}
+%
+% Redefine tilde (as in \file{spanish.ldf}). In case of \LaTeX, we
+% redefine the internal macro for the OT1 encoding because in case of
+% T1, the display and hyphenation of words containing |\~o| works
+% better without redefining it (e. g. words containing |\et@gentilde|
+% are not hyphenated unless |\allowhyphens| is used; when copied from
+% Acrobat Reader, pasting an \~o generated using |\et@gentilde{o}|
+% gives |~o| rather than \~o; when the \textsf{times} package is used with T1
+% encoding, |\et@gentilde| places the tilde through the letter o).
+% In plain \TeX\ there is no encoding infrastructure, so we just
+% redefine |\~|.
+% \changes{estonian-1.0k}{2009/02/03}{redefine \cs{\textasciitilde} only for OT1 (before,
+% redefining \cs{\textasciitilde} resulted in no hyphenation of words containing
+% \cs{\textasciitilde}\texttt{o} in T1 and incorrect display of
+% \cs{\textasciitilde}\texttt{o} with the \textsf{times} package)}
+% \begin{macrocode}
+\ifet@latex
+ \addto\extrasestonian{%
+ \expandafter\et@sdef\csname OT1\string\~\endcsname{\et@gentilde}}
+\else
+ \addto\extrasestonian{\et@sdef\~{\et@gentilde}}
+\fi
+% \end{macrocode}
+%
+% \begin{macro}{\et@gentilde}
+% \changes{estonian-1.0k}{2009/02/03}{use tilde for all letters except
+% s and z (instead of using caron for all letters except o), like
+% other \babel\ language packages do (this fixes the display of \~n
+% when using the utf8 package)}
+% \changes{estonian-1.0k}{2009/02/03}{do not redefine caron any
+% more because the default one looks good enough}
+% \changes{estonian-1.0k}{2009/02/03}{renamed macros \cs{gentilde} and
+% \cs{newtilde} to \cs{et@gentilde} and \cs{et@newtilde}}
+% \begin{macrocode}
+\def\et@gentilde#1{%
+ \if#1s\v{#1}\else\if#1S\v{#1}\else%
+ \if#1z\v{#1}\else\if#1Z\v{#1}\else%
+ \et@newtilde{#1}%
+ \fi\fi\fi\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\et@newtilde}
+% For a detailed explanation of the following code see the
+% definition of \cs{lower@umlaut} in \file{babel.dtx}.
+% \changes{estonian-1.0k}{2009/02/04}{merged updates in the definition
+% \cs{lower@umlaut} into \cs{et@newtilde}: removed \cs{allowhyphens}
+% and added \cs{bgroup}}
+% \begin{macrocode}
+\def\et@newtilde#1{%
+ \leavevmode\bgroup\U@D 1ex%
+ {\setbox\z@\hbox{\char126}\dimen@ -.45ex\advance\dimen@\ht\z@
+ \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
+ \accent126\fontdimen5\font\U@D #1%
+ \egroup}
+% \end{macrocode}
+% \end{macro}
+%
+% We save the double quote character in |\dq|, and tilde in |\til|.
+% \changes{estonian-1.0k}{2009/02/03}{removed macros \cs{dieresis} and
+% \cs{texttilde} that were used to store the original definitions of
+% \cs{"} and \cs{\textasciitilde}, as they would have no purpose now}
+%
+% \begin{macrocode}
+\begingroup \catcode`\"12
+\edef\x{\endgroup
+ \def\noexpand\dq{"}
+ \def\noexpand\til{~}}
+\x
+% \end{macrocode}
+%
+% If the encoding is T1, we have to tell \TeX\ about our redefined
+% accents.
+%
+% \changes{estonian-1.0g}{1999/04/11}{use \cs{bbl@t@one} instead of
+% \cs{bbl@next}}
+% \begin{macrocode}
+\ifx\f@encoding\bbl@t@one
+ \DeclareTextComposite{\~}{T1}{s}{178}
+ \DeclareTextComposite{\~}{T1}{S}{146}
+ \DeclareTextComposite{\~}{T1}{z}{186}
+ \DeclareTextComposite{\~}{T1}{Z}{154}
+ \DeclareTextComposite{\"}{T1}{'}{17}
+ \DeclareTextComposite{\"}{T1}{`}{18}
+ \DeclareTextComposite{\"}{T1}{<}{19}
+ \DeclareTextComposite{\"}{T1}{>}{20}
+% \end{macrocode}
+%
+% If the encoding differs from T1, we expand the accents, enabling
+% hyphenation beyond the accent. In this case \TeX\ will not find
+% all possible breaks, and we have to warn people.
+% \changes{estonian-1.0k}{2009/02/03}{removed definitions of macros
+% \cs{@umlaut} and \cs{@tilde} as they seemed to have no purpose}
+% \begin{macrocode}
+\else
+ \wlog{Warning: Hyphenation would work better for the T1 encoding.}
+\fi
+% \end{macrocode}
+%
+% Now we define the shorthands: umlauts,
+% \changes{estonian-1.0d}{1995/07/27}{The second argument was missing
+% in the definition of some of the double-quote shorthands}
+% \changes{estonian-1.0k}{2009/02/08}{use \cs{allowhyphens} to allow
+% hyphenation in words containing \texttt{"a}, \texttt{"A},
+% \texttt{"o}, \texttt{"O}, \texttt{"u} or \texttt{"U}}
+% \begin{macrocode}
+\declare@shorthand{estonian}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}}
+\declare@shorthand{estonian}{"A}{\textormath{\"{A}\allowhyphens}{\ddot A}}
+\declare@shorthand{estonian}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}}
+\declare@shorthand{estonian}{"O}{\textormath{\"{O}\allowhyphens}{\ddot O}}
+\declare@shorthand{estonian}{"u}{\textormath{\"{u}\allowhyphens}{\ddot u}}
+\declare@shorthand{estonian}{"U}{\textormath{\"{U}\allowhyphens}{\ddot U}}
+% \end{macrocode}
+% German and French quotes,
+% \changes{estonian-1.0f}{1997/04/03}{Removed empty groups after
+% double quote and guillemot characters}
+% \begin{macrocode}
+\declare@shorthand{estonian}{"`}{%
+ \textormath{\quotedblbase}{\mbox{\quotedblbase}}}
+\declare@shorthand{estonian}{"'}{%
+ \textormath{\textquotedblleft}{\mbox{\textquotedblleft}}}
+\declare@shorthand{estonian}{"<}{%
+ \textormath{\guillemotleft}{\mbox{\guillemotleft}}}
+\declare@shorthand{estonian}{">}{%
+ \textormath{\guillemotright}{\mbox{\guillemotright}}}
+% \end{macrocode}
+% tildes and carons
+% \begin{macrocode}
+\declare@shorthand{estonian}{~o}{\textormath{\~{o}\allowhyphens}{\tilde o}}
+\declare@shorthand{estonian}{~O}{\textormath{\~{O}\allowhyphens}{\tilde O}}
+\declare@shorthand{estonian}{~s}{\textormath{\v{s}\allowhyphens}{\check s}}
+\declare@shorthand{estonian}{~S}{\textormath{\v{S}\allowhyphens}{\check S}}
+\declare@shorthand{estonian}{~z}{\textormath{\v{z}\allowhyphens}{\check z}}
+\declare@shorthand{estonian}{~Z}{\textormath{\v{Z}\allowhyphens}{\check Z}}
+% \end{macrocode}
+% and some additional commands:
+% \begin{macrocode}
+\declare@shorthand{estonian}{"-}{\nobreak\-\bbl@allowhyphens}
+\declare@shorthand{estonian}{"|}{%
+ \textormath{\nobreak\discretionary{-}{}{\kern.03em}%
+ \allowhyphens}{}}
+\declare@shorthand{estonian}{""}{\dq}
+\declare@shorthand{estonian}{~~}{\til}
+% \end{macrocode}
+%
+% The macro |\ldf@finish| takes care of looking for a
+% configuration file, setting the main language to be switched on
+% at |\begin{document}| and resetting the category code of
+% \texttt{@} to its original value.
+% \changes{estonian-1.0e}{1996/11/02}{Now use \cs{ldf@finish} to wrap
+% up}
+% \begin{macrocode}
+\ldf@finish{estonian}
+%</code>
+% \end{macrocode}
+%
+% \PrintChanges
+%
+% \Finale
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\endinput
diff --git a/macros/latex/contrib/babel-contrib/estonian/estonian.ins b/macros/latex/contrib/babel-contrib/estonian/estonian.ins
new file mode 100644
index 0000000000..8032b81de7
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/estonian/estonian.ins
@@ -0,0 +1,148 @@
+%%
+%% This file will generate fast loadable files and documentation
+%% driver files from the doc files in this package when run through
+%% LaTeX or TeX.
+%%
+%% Copyright 1989-2009 Johannes L. Braams and any individual authors
+%% listed elsewhere in this file. All rights reserved.
+%%
+%% This file is part of the Babel system.
+%% --------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Johannes Braams.
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.bbl. See also `legal.bbl' for additional
+%% information.
+%%
+%% The list of derived (unpacked) files belonging to the distribution
+%% and covered by LPPL is defined by the unpacking scripts (with
+%% extension .ins) which are part of the distribution.
+%%
+%% --------------- start of docstrip commands ------------------
+%%
+\def\filedate{1999/04/11}
+\def\batchfile{estonian.ins}
+\input docstrip.tex
+
+{\ifx\generate\undefined
+\Msg{**********************************************}
+\Msg{*}
+\Msg{* This installation requires docstrip}
+\Msg{* version 2.3c or later.}
+\Msg{*}
+\Msg{* An older version of docstrip has been input}
+\Msg{*}
+\Msg{**********************************************}
+\errhelp{Move or rename old docstrip.tex.}
+\errmessage{Old docstrip in input path}
+\batchmode
+\csname @@end\endcsname
+\fi}
+
+\declarepreamble\mainpreamble
+This is a generated file.
+
+Copyright 1989-2009 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
+extension .ins) which are part of the distribution.
+\endpreamble
+
+\declarepreamble\fdpreamble
+This is a generated file.
+
+Copyright 1989-2009 Johannes L. Braams and any individual authors
+listed elsewhere in this file. All rights reserved.
+
+This file was generated from file(s) of the Babel system.
+---------------------------------------------------------
+
+It may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+The Current Maintainer of this work is Johannes Braams.
+
+This file may only be distributed together with a copy of the Babel
+system. You may however distribute the Babel system without
+such generated files.
+
+The list of all files belonging to the Babel distribution is
+given in the file `manifest.bbl'. See also `legal.bbl for additional
+information.
+
+In particular, permission is granted to customize the declarations in
+this file to serve the needs of your installation.
+
+However, NO PERMISSION is granted to distribute a modified version
+of this file under its original name.
+
+\endpreamble
+
+\keepsilent
+
+\usedir{tex/generic/babel}
+
+\usepreamble\mainpreamble
+\generate{\file{estonian.ldf}{\from{estonian.dtx}{code}}
+ }
+\usepreamble\fdpreamble
+
+\ifToplevel{
+\Msg{***********************************************************}
+\Msg{*}
+\Msg{* To finish the installation you have to move the following}
+\Msg{* files into a directory searched by TeX:}
+\Msg{*}
+\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty}
+\Msg{*}
+\Msg{* To produce the documentation run the files ending with}
+\Msg{* '.dtx' and `.fdd' through LaTeX.}
+\Msg{*}
+\Msg{* Happy TeXing}
+\Msg{***********************************************************}
+}
+
+\endinput
diff --git a/macros/latex/contrib/babel-contrib/estonian/estonian.pdf b/macros/latex/contrib/babel-contrib/estonian/estonian.pdf
new file mode 100644
index 0000000000..92d3ca1a17
--- /dev/null
+++ b/macros/latex/contrib/babel-contrib/estonian/estonian.pdf
Binary files differ