% \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} % %\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} % %\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} % % \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