summaryrefslogtreecommitdiff
path: root/language/greek/greek-inputenc/greek-utf8.tex
diff options
context:
space:
mode:
Diffstat (limited to 'language/greek/greek-inputenc/greek-utf8.tex')
-rw-r--r--language/greek/greek-inputenc/greek-utf8.tex546
1 files changed, 170 insertions, 376 deletions
diff --git a/language/greek/greek-inputenc/greek-utf8.tex b/language/greek/greek-inputenc/greek-utf8.tex
index b6977496ec..0e6248e588 100644
--- a/language/greek/greek-inputenc/greek-utf8.tex
+++ b/language/greek/greek-inputenc/greek-utf8.tex
@@ -32,30 +32,36 @@
\ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript #1}}
\providecommand{\ensureascii}[1]{{\fontencoding{T1}\selectfont #1}}
+
\begin{document}
-\title{Greek Unicode with 8-bit TeX and \emph{inputenc}}
+\title{Greek Unicode with 8-bit TeX}
\author{Günter Milde}
\maketitle
\begin{abstract}
-The definitions in \texttt{lgrenc.dfu} provide UTF-8 support for
-the Greek script based on \emph{inputenc} and the \emph{LaTeX internal
-character representation} macros (LICRs) defined in the \emph{greek-fontenc}
-package.
+\noindent
+The definitions in \texttt{lgrenc.dfu} provide UTF-8 support for the Greek
+script based on the \emph{LaTeX internal character representation} macros
+(LICRs) defined in the \emph{greek-fontenc} package.
\end{abstract}
-\section{Requirements}
+\tableofcontents
+
+\section{Introduction}
-The \href{https://ctan.org/pkg/inputenc}{\emph{inputenc}} standard
-package enables the use of non-ASCII characters with 8-bit TeX. However, it
-misses definitions for Greek characters. The \emph{greek-inputenc} package
-extends \emph{inputenc} to allow the use of Greek literals in the document
-source.
+The default input encoding for 8-bit LaTeX changed from 7-bit ASCII to UTF-8
+in April 2018.\footnote{%
+ The XeTeX and LuaTeX engines use UTF-8 as input, internal, and font
+ encoding. They do not require (and, except in 8-bit compatibility mode,
+ do not work with) the and \emph{greek-inputenc} package.}
+However, the standard setup misses definitions for Greek Unicode characters.
+\emph{Greek-inputenc} adds definitions to allow the use of
+literal characters for Greek letters and symbols in the document source.
-As with all \emph{inputenc} definitions, this only works if the active font
-encoding supports the characters. For the Greek script, this is usually the
-non-standard \emph{LGR} font encoding set up by
+As with all input encoding definitions, this only works if the active font
+encoding supports the characters.
+For the Greek script, this is usually the \emph{LGR} font encoding set up by
\href{https://ctan.org/pkg/greek-fontenc}{\emph{greek-fontenc}}.
% e.g. Π produces:
% ! LaTeX Error: Command \textPi unavailable in encoding T1.
@@ -64,99 +70,93 @@ non-standard \emph{LGR} font encoding set up by
\section{Usage}
-There are several alternatives to activate Greek Unicode input for 8-bit TeX%
-\footnote{
- The XeTeX and LuaTeX engines use utf8 as native input encoding. They do
- not require (and, except in 8-bit compatibility mode, do not work with)
- the \emph{inputenc} and \emph{greek-inputenc} packages.}
-%
-(see also the source document \url{greek-utf8.tex}):
-
+Since 2018, it is no longer necessary to load the \emph{inputenc} package
+for UTF-8 encoded sources.\footnote{%
+ The legacy input encodings \emph{iso-8859-7} and
+ \emph{macgreek} are selected by giving them as options to the
+ \href{https://ctan.org/pkg/inputenc}{\emph{inputenc}} package.}
+The character definitions in the file \texttt{lgrenc.dfu} are automatically
+loaded, if the LGR font encoding is loaded by one of the following
+alternatives:
\begin{itemize}
-\item
-Define the LGR font encoding and the UTF8 input encoding (the order does not
-matter), e.g.,
-%
-\begin{verbatim}
- \usepackage[T1,LGR]{fontenc}
- \usepackage[utf8]{inputenc}
+\item With \emph{fontenc}, e.g.,
+ %
+ \begin{verbatim}
+ \usepackage[LGR,T1]{fontenc}
\end{verbatim}
-%
-Ensure that LGR is the active font encoding whenever a Greek character is
-used in the text (see below).
-
-\item
-For text in the Greek language, it is recommended to use the
-\href{https://ctan.org/pkg/babel}{\emph{Babel}} package with the Greek
-language definitions in
-\href{https://ctan.org/pkg/babel-greek}{\emph{babel-greek}}. Babel sets
-the font encoding automatically to LGR and Greek Unicode characters work as
-expected. Write in the preamble, e.g.,
-%
-\begin{verbatim}
- \usepackage[utf8]{inputenc}
- \usepackage[LGR,T1]{fontenc}
- \usepackage[english,greek,german]{babel}
+ %
+ Ensure that LGR is the active font encoding whenever a Greek character is
+ used in the text (see fntguide.pdf for font encoding switching commands).
+ \begin{quote}
+ \greekscript
+ Τί φήις; Ἱδὼν ἐνθέδε παῖδ’ ἐλευθέραν
+ τὰς πλησίον Νύμφας στεφανοῦσαν, Σώστρατε,
+ ἐρῶν άπῆλθες εὐθύς;
+ \end{quote}
+
+\item For text in the Greek language, it is recommended to use the
+ \href{https://ctan.org/pkg/babel}{\emph{Babel}} package with the Greek
+ language definitions in
+ \href{https://ctan.org/pkg/babel-greek}{\emph{babel-greek}}.
+ Babel sets the font encoding automatically to LGR and Greek Unicode
+ characters work as expected. Write in the preamble, e.g.,
+ %
+ \begin{verbatim}
+ \usepackage[english,greek,german]{babel}
\end{verbatim}
-%
-and use \verb+\foreignlanguage+ or \verb+\selectlanguage+ to set the text
-language to Greek (see the
-\href{https://ctan.org/pkg/babel-greek}{\emph{babel-greek}} documentation
-for detailled examples).
-
-\begin{quote}
- \greekscript
- Τί φήις; Ἱδὼν ἐνθέδε παῖδ’ ἐλευθέραν
- τὰς πλησίον Νύμφας στεφανοῦσαν, Σώστρατε,
- ἐρῶν άπῆλθες εὐθύς;
-\end{quote}
-
-\item
-Greek literal characters can also be used in PDF-strings (bookmarks and
-ToC entries with \href{https://ctan.org/pkg/hyperref}{\emph{hyperref}}).
-See \href{https://ctan.org/pkg/greek-fontenc}{\emph{greek-fontenc}}
-for a
-\href{https://mirrors.ctan.org/language/greek/greek-fontenc/hyperref-with-greek.pdf}
-{hyperref test and usage example}.
-
-\item
-In combination with the \emph{textalpha} package from
-\href{https://ctan.org/pkg/greek-fontenc}{\emph{greek-fontenc}}, Greek Unicode
-characters can be used in text with any font encoding -- just like the
-symbols provided by the ``textcomp'' package (i.e. with some limitations
-described in
-\href{https://mirrors.ctan.org/language/greek/greek-fontenc/textalpha-doc.pdf}
-{textalpha-doc}).
+ %
+ and use \verb+\foreignlanguage+ or \verb+\selectlanguage+ to set the text
+ language to Greek (see the
+ \href{https://ctan.org/pkg/babel-greek}{\emph{babel-greek}} documentation
+ for detailed examples).
+
+\item In combination with the
+ \href{http://mirrors.ctan.org/language/greek/greek-fontenc/textalpha.sty.html}%
+ {\emph{textalpha}} package from \emph{greek-fontenc}, Greek Unicode
+ characters can be used in text with any font encoding -- just like the
+ symbols provided by the ``textcomp'' package (i.e. with some limitations
+ described in
+ \href{https://mirrors.ctan.org/language/greek/greek-fontenc/textalpha-doc.pdf}
+ {textalpha-doc}).
\makeatletter
-\ifdefined\textalpha@define@breathings
+\ifdefined\textalpha@define@breathings % textalpha package is loaded
With the preamble lines
\begin{verbatim}
- \usepackage[utf8]{inputenc}
\usepackage{textalpha}
- \end{verbatim}
+\end{verbatim}
it is straightforward to write about π-mesons, γ-radiation, or a 50\,kΩ
resistor.\footnote{%
- The MIKRO SIGN and OHM SIGN characters are set up by inputenc with
+ The MICRO SIGN and OHM SIGN characters are set up with
\emph{textcomp} characters for any font encoding while
GREEK CAPITAL LETTER OMEGA works only with the LGR font encoding.}
-
- \item
- In combination with the \emph{alphabeta} package (also from
- \href{https://ctan.org/pkg/greek-fontenc}{\emph{greek-fontenc}}),
+ Words and phrases should be wrapped in \verb|\ensuregreek| to preserve
+ kerning or the Babel command \verb|\foreignlanguage{greek}| to also
+ ensure correct hyphenation.
+
+\item \sloppy
+ In combination with the
+ \href{http://mirrors.ctan.org/language/greek/greek-fontenc/alphabeta.sty.html}%
+ {\emph{alphabeta}} package (also from \emph{greek-fontenc}),
Greek Unicode literals can also be used in math mode:
%
\begin{verbatim}
- \usepackage[utf8]{inputenc}
\usepackage{alphabeta}
- \end{verbatim}
- \[
- \tan β = \frac{\sin β}{\cos β}.
- \]
+\end{verbatim}
+ \[
+ \tan β = \frac{\sin β}{\cos β}.
+ \]
\fi
\makeatother
+\item Greek literal characters can also be used in PDF-strings (bookmarks and
+ ToC entries with \href{https://ctan.org/pkg/hyperref}{\emph{hyperref}}).
+ See \href{https://ctan.org/pkg/greek-fontenc}{\emph{greek-fontenc}}
+ for a
+ \href{https://mirrors.ctan.org/language/greek/greek-fontenc/hyperref-with-greek.pdf}
+ {hyperref test and usage example}.
+
\end{itemize}
@@ -165,8 +165,8 @@ described in
LGR is no ``standard font encoding''. Latin characters and some other ASCII
symbols are mapped to Greek equivalents if LGR is the active font encoding.
(See
-\href{https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf}{usage.pdf}
-for a description of this Latin-Greek transliteration.)
+\href{https://mirrors.ctan.org/language/babel/contrib/greek/usage.pdf}%
+{usage.pdf} for a description of this Latin-Greek transliteration.)
This means you need an explicit language and/or font-encoding switch for
Latin words and abbreviations in Greek text, e.g., not
@@ -175,32 +175,35 @@ Latin words and abbreviations in Greek text, e.g., not
Special care is also required with the question mark characters:
\begin{itemize}
- \item The Unicode standard says character 003B SEMICOLON and not
- 037E GREEK QUESTION MARK, is the preferred character for a
- `Greek question mark' (erotimatiko),
+ \item The Unicode standard says character U+003B SEMICOLON and not
+ U+037E GREEK QUESTION MARK, is the preferred character for a
+ ``Greek question mark'' (erotimatiko),
\item The LGR font encoding maps a SEMICOLON to a middle dot (ano teleia),
- while the Latin question mark ``?'' is mapped to the erotimatiko.
+ while the Latin question mark ``?'' is mapped to the erotimatiko.
\end{itemize}
-As a result, only the deprecated character 037E GREEK QUESTION MARK works
-with both, Xe/LuaTeX and 8-bit TeX.
+Only the deprecated character U+037E GREEK QUESTION MARK works with both,
+Xe/LuaTeX and 8-bit TeX. However, Unicode treats it as equivalent
+to U+003B SEMICOLON so a quote copy-pasted from a source using U+037E may
+end up with U+003B and middle dots instead of erotimatiko!
\makeatletter
\ifdefined\textalpha@define@breathings
-Compare the source \url{greek-utf8.tex} and the PDF output:
-
-\begin{center}
-\begin{tabular}{lll}
- Latin (T1) & Greek (LGR) & question mark character \\
- \midrule
- Τί φήις; & \foreignlanguage{greek}{Τί φήις;} & 037E GREEK QUESTION MARK \\
- Τί φήις; & \foreignlanguage{greek}{Τί φήις;} & 003B SEMICOLON \\
- Τί φήις? & \foreignlanguage{greek}{Τί φήις?} & 003F QUESTION MARK \\
-\end{tabular}
-\end{center}
+ Compare the source \url{greek-utf8.tex} and the PDF output:
+
+ \begin{tabular}{llc}
+ Input & \latinencoding{} & \greekfontencoding \\
+ \midrule
+ 003F QUESTION MARK & ? & \ensuregreek{?} \\
+ 037E GREEK QUESTION MARK & not defined & \ensuregreek{;} \\
+ 003B SEMICOLON & ; & \ensuregreek{;} \\
+ 00B7 MIDDLE DOT & · & \ensuregreek{·}
+ \end{tabular}
\fi
\makeatother
-With the \emph{textalpha} package's ``keep-semicolon'' option, the
-SEMICOLON character can be used for the erotimatiko also with LGR encoded
-fonts.
+\\
+With the \href{https://ctan.org/pkg/babel-greek}{babel-greek} language
+attribute ``keep-semicolon'' or the \emph{textalpha} package's
+``keep-semicolon'' option, the SEMICOLON character can be used for the
+erotimatiko also with LGR encoded fonts.
\section{Supported Characters}
@@ -212,69 +215,72 @@ with an LGR-encoded font.
\subsection{Greek and Coptic}
\greekscript
-\begin{tabular}{rrrrrrrrrrrrrrrrr}
+\begin{tabular}{ccccccccccccccccc}
\toprule
- & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & \latinscript C & D & E & F\\
+ 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 &
+ A & B & \latinscript C & \latinscript D & E & \latinscript F\\
\midrule
-\latinscript{370} & * & * & * & * & ʹ & ͵ & * & * & & & ͺ & * & * & * & ; & \\
-\latinscript{380} & & & & & ΄ & ΅ & Ά & · & Έ & Ή & Ί & & Ό & & Ύ & Ώ\\
-\latinscript{390} & ΐ & Α & Β & Γ & Δ & Ε & Ζ & Η & Θ & Ι & Κ & Λ & Μ & Ν & Ξ & Ο\\
-\latinscript{3A0} & Π & Ρ & & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\\
-\latinscript{3B0} & ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\\
-\latinscript{3C0} & π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ & \\
-\latinscript{3D0} & * & * & * & * & * & * & * & * & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & * & ϟ\\
-\latinscript{3E0} & Ϡ & ϡ & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\
-\latinscript{3F0} & * & * & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\
+ ␣ & ␣ & ␣ & ␣ & ʹ & ͵ & ␣ & ␣ & & & ͺ & ␣ & ␣ & ␣ & ; & \\
+ & & & & ΄ & ΅ & Ά & · & Έ & Ή & Ί & & Ό & & Ύ & Ώ\\
+ ΐ & Α & Β & Γ & Δ & Ε & Ζ & Η & Θ & Ι & Κ & Λ & Μ & Ν & Ξ & Ο\\
+ Π & Ρ & & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\\
+ ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\\
+ π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ & \\
+ ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & ␣ & ϟ\\
+ Ϡ & ϡ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣\\
+ ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣ & ␣\\
\bottomrule
\end{tabular}
\latinscript
-\noindent
-legend: * glyph missing in LGR, [space] Unicode point not defined
+\smallskip\noindent
+legend: ␣ glyph missing in LGR, <\emph{space}> Unicode point not defined
\subsection{Greek Extended}
\greekscript
-\begin{tabular}{rrrrrrrrrrrrrrrrr}
+\begin{tabular}{cccccccccccccccc}
\toprule
- & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & \latinscript C & D & E & F\\
+ 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 &
+ A & B & \latinscript C & \latinscript D & E & \latinscript F\\
\midrule
-\latinscript{1F00} & ἀ & ἁ & ἂ & ἃ & ἄ & ἅ & ἆ & ἇ & Ἀ & Ἁ & Ἂ & Ἃ & Ἄ & Ἅ & Ἆ & Ἇ\\
-\latinscript{1F10} & ἐ & ἑ & ἒ & ἓ & ἔ & ἕ & & & Ἐ & Ἑ & Ἒ & Ἓ & Ἔ & Ἕ & & \\
-\latinscript{1F20} & ἠ & ἡ & ἢ & ἣ & ἤ & ἥ & ἦ & ἧ & Ἠ & Ἡ & Ἢ & Ἣ & Ἤ & Ἥ & Ἦ & Ἧ\\
-\latinscript{1F30} & ἰ & ἱ & ἲ & ἳ & ἴ & ἵ & ἶ & ἷ & Ἰ & Ἱ & Ἲ & Ἳ & Ἴ & Ἵ & Ἶ & Ἷ\\
-\latinscript{1F40} & ὀ & ὁ & ὂ & ὃ & ὄ & ὅ & & & Ὀ & Ὁ & Ὂ & Ὃ & Ὄ & Ὅ & & \\
-\latinscript{1F50} & ὐ & ὑ & ὒ & ὓ & ὔ & ὕ & ὖ & ὗ & & Ὑ & & Ὓ & & Ὕ & & Ὗ\\
-\latinscript{1F60} & ὠ & ὡ & ὢ & ὣ & ὤ & ὥ & ὦ & ὧ & Ὠ & Ὡ & Ὢ & Ὣ & Ὤ & Ὥ & Ὦ & Ὧ\\
-\latinscript{1F70} & ὰ & ά & ὲ & έ & ὴ & ή & ὶ & ί & ὸ & ό & ὺ & ύ & ὼ & ώ & & \\
-\latinscript{1F80} & ᾀ & ᾁ & ᾂ & ᾃ & ᾄ & ᾅ & ᾆ & ᾇ & ᾈ & ᾉ & ᾊ & ᾋ & ᾌ & ᾍ & ᾎ & ᾏ\\
-\latinscript{1F90} & ᾐ & ᾑ & ᾒ & ᾓ & ᾔ & ᾕ & ᾖ & ᾗ & ᾘ & ᾙ & ᾚ & ᾛ & ᾜ & ᾝ & ᾞ & ᾟ\\
-\latinscript{1FA0} & ᾠ & ᾡ & ᾢ & ᾣ & ᾤ & ᾥ & ᾦ & ᾧ & ᾨ & ᾩ & ᾪ & ᾫ & ᾬ & ᾭ & ᾮ & ᾯ\\
-\latinscript{1FB0} & ᾰ & ᾱ & ᾲ & ᾳ & ᾴ & & ᾶ & ᾷ & Ᾰ & Ᾱ & Ὰ & Ά & ᾼ & ᾽ & ι & ᾿\\
-\latinscript{1FC0} & ῀ & ῁ & ῂ & ῃ & ῄ & & ῆ & ῇ & Ὲ & Έ & Ὴ & Ή & ῌ & ῍ & ῎ & ῏\\
-\latinscript{1FD0} & ῐ & ῑ & ῒ & ΐ & & & ῖ & ῗ & Ῐ & Ῑ & Ὶ & Ί & & ῝ & ῞ & ῟\\
-\latinscript{1FE0} & ῠ & ῡ & ῢ & ΰ & ῤ & ῥ & ῦ & ῧ & Ῠ & Ῡ & Ὺ & Ύ & Ῥ & ῭ & ΅ & `\\
-\latinscript{1FF0} & & & ῲ & ῳ & ῴ & & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ & \\
+ ἀ & ἁ & ἂ & ἃ & ἄ & ἅ & ἆ & ἇ & Ἀ & Ἁ & Ἂ & Ἃ & Ἄ & Ἅ & Ἆ & Ἇ\\
+ ἐ & ἑ & ἒ & ἓ & ἔ & ἕ & & & Ἐ & Ἑ & Ἒ & Ἓ & Ἔ & Ἕ & & \\
+ ἠ & ἡ & ἢ & ἣ & ἤ & ἥ & ἦ & ἧ & Ἠ & Ἡ & Ἢ & Ἣ & Ἤ & Ἥ & Ἦ & Ἧ\\
+ ἰ & ἱ & ἲ & ἳ & ἴ & ἵ & ἶ & ἷ & Ἰ & Ἱ & Ἲ & Ἳ & Ἴ & Ἵ & Ἶ & Ἷ\\
+ ὀ & ὁ & ὂ & ὃ & ὄ & ὅ & & & Ὀ & Ὁ & Ὂ & Ὃ & Ὄ & Ὅ & & \\
+ ὐ & ὑ & ὒ & ὓ & ὔ & ὕ & ὖ & ὗ & & Ὑ & & Ὓ & & Ὕ & & Ὗ\\
+ ὠ & ὡ & ὢ & ὣ & ὤ & ὥ & ὦ & ὧ & Ὠ & Ὡ & Ὢ & Ὣ & Ὤ & Ὥ & Ὦ & Ὧ\\
+ ὰ & ά & ὲ & έ & ὴ & ή & ὶ & ί & ὸ & ό & ὺ & ύ & ὼ & ώ & & \\
+ ᾀ & ᾁ & ᾂ & ᾃ & ᾄ & ᾅ & ᾆ & ᾇ & ᾈ & ᾉ & ᾊ & ᾋ & ᾌ & ᾍ & ᾎ & ᾏ\\
+ ᾐ & ᾑ & ᾒ & ᾓ & ᾔ & ᾕ & ᾖ & ᾗ & ᾘ & ᾙ & ᾚ & ᾛ & ᾜ & ᾝ & ᾞ & ᾟ\\
+ ᾠ & ᾡ & ᾢ & ᾣ & ᾤ & ᾥ & ᾦ & ᾧ & ᾨ & ᾩ & ᾪ & ᾫ & ᾬ & ᾭ & ᾮ & ᾯ\\
+ ᾰ & ᾱ & ᾲ & ᾳ & ᾴ & & ᾶ & ᾷ & Ᾰ & Ᾱ & Ὰ & Ά & ᾼ & ᾽ & ι & ᾿\\
+ ῀ & ῁ & ῂ & ῃ & ῄ & & ῆ & ῇ & Ὲ & Έ & Ὴ & Ή & ῌ & ῍ & ῎ & ῏\\
+ ῐ & ῑ & ῒ & ΐ & & & ῖ & ῗ & Ῐ & Ῑ & Ὶ & Ί & & ῝ & ῞ & ῟\\
+ ῠ & ῡ & ῢ & ΰ & ῤ & ῥ & ῦ & ῧ & Ῠ & Ῡ & Ὺ & Ύ & Ῥ & ῭ & ΅ & `\\
+ & & ῲ & ῳ & ῴ & & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ & \\
\bottomrule
\end{tabular}
\latinscript
+
\subsection{Other Unicode Blocks}
\begin{description}
-\item [Latin-1 Supplement]: \ensuregreek{¨ « ¯ ´ · »}
-\item [IPA Extensions]: \ensuregreek{ə} LATIN SMALL LETTER SCHWA
-\item [Spacing Modifier Letters]:
- \ensuregreek{˘a} (here followed by letter alpha)
-\item [General Punctuation]:
+\item [Latin-1 Supplement:] \ensuregreek{¨ « ¯ ´ · »}
+\item [IPA Extensions:] \ensuregreek{ə} LATIN SMALL LETTER SCHWA
+\item [Spacing Modifier Letters:]
+ \ensuregreek{˘α} (BREVE, here followed by letter alpha)
+\item [General Punctuation:]
\ensuregreek{– — ‘ ’ ‰} ZWNJ (zero width no joiner, prevents kerning
and ligatures, e.g. \ensuregreek{A‌‌U} vs. \ensuregreek{AU} and
\ensuregreek{'‌a} vs. \ensuregreek{'a})
-\item [Currency Symbols]: \ensuregreek{€}
-\item [Letter-like Symbols]: Ω % OHM SIGN, preferred representation is 03A9
-\item [Ancient Greek Numbers]: \ensuregreek{
+\item [Currency Symbols:] \ensuregreek{€}
+\item [Letter-like Symbols:] Ω % OHM SIGN, preferred representation is 03A9
+\item [Ancient Greek Numbers:] \ensuregreek{
𐅄 \textpentedeka{} % GREEK ACROPHONIC ATTIC FIFTY
𐅅 \textpentehekaton{} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
𐅆 \textpenteqilioi{} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
@@ -283,235 +289,23 @@ legend: * glyph missing in LGR, [space] Unicode point not defined
\end{description}
-\section{Test up/downcasing}
-
-\ifdefined\extrasgreek
-\else
- These tests require Babel
- (unless used with LaTeX versions older than 2022/06).
- \end{document}
-\fi
+\section{up/downcasing}
Capital Greek letters have diacritics (except the dialytika, macron, and
breve) to the left (instead of above) and drop them in uppercase, e.g.
-\ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}.
-
-Tonos and dasia on the first vowel of a diphthong (\ensuregreek{άι, άυ, έι})
-imply a \emph{hiatus}. A dialytika must be placed on the second
-vowel if they are dropped (\ensuregreek{\MakeUppercase{\'ai, \'au, \'ei}}).
-
-The implementation of \verb|\MakeUppercase| changed in the 2022/06 LaTeX
-release (cf. LaTeX News 35). Since then, Greek uppercase rules are only
-applied if the text language is set to ``greek'' with Babel.
-
-With the ``old'' \verb|\MakeUppercase|, the auto-hiatus feature in LGR works
-with the Latin transliteration and LICR macros (%
-\ensuregreek{\MakeUppercase{%
- \'ai,
- \'\textalpha \textupsilon,
- \'\textepsilon \textiota
-}}) but not with literal Unicode
-characters.
-
-It works also if only the first character of the
-diphthong is wrapped in \verb|\ensuregreek| (as done by the lgrenc.dfu
-definition for accented characters)) or input as literal Unicode character
-(\ensuregreek{\MakeUppercase{%
- \ensuregreek{\'\textalpha}\textiota,
- ά\textupsilon,
- ά\textiota
-}})
-but not if the second character of the diphthong is a Unicode literal
-(\ensuregreek{\MakeUppercase{%
- \'\textalpha ι,
- άυ,
- \'\textepsilon ι
-}}).
-
-As an ugly workaround, use \verb|\textiota| resp. \verb|\textupsilon|
-for the character that should get the diaresis:
-\ensuregreek{ἀ\textupsilon{}πνία $\mapsto$ \MakeUppercase{ἀ\textupsilon{}πνία}}.
-
-
-With the ``new'' (post 2022/06) \verb|\MakeUppercase|, the auto-hiatus
-feature in LGR works with literals from the ``Greek and Coptic''
-Unicode block and some from ``Greek extended''.
-See the following examples:
-\ensuregreek{άυλος $\mapsto$ \MakeUppercase{άυλος},
- ἄυλος $\mapsto$ \MakeUppercase{ἄυλος},
- μάινα $\mapsto$ \MakeUppercase{μάινα},
- κέικ, $\mapsto$ \MakeUppercase{κέικ},
- ἀυπνία $\mapsto$ \MakeUppercase{ἀυπνία}}.
-
-
-The following subsections test MakeUppercase and MakeLowercase with all
-characters defined in lgrenc.dfu:
-
-\subsection{Greek and Coptic}
-
-\newcommand{\GreekAndCoptic}{ʹ͵ͺ; ΄ ΅Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ}
-\newcommand{\greekandcoptic}{άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ}
-
-Characters of the Greek and Coptic Unicode Block:
-\begin{quote}
- \selectlanguage{greek}
- \GreekAndCoptic\\
- \greekandcoptic
-\end{quote}
-MakeUppercase:
-\begin{quote}
- \selectlanguage{greek}
- \MakeUppercase{\GreekAndCoptic}\\
- \MakeUppercase{\greekandcoptic}
-\end{quote}
-Letters and ypogegrammeni upcased, tonos dropped, dialytika kept.
-
-There is no capital Koppa in LGR, therefore \ensuregreek{ϟ} is left unchanged
-with MakeUppercase.
-
+\ensuregreek{μαΐστρος → ΜΑΪΣΤΡΟΣ}.
-MakeLowercase:
+The implementation of \verb|\MakeUppercase| changed significantly in the
+2022/06 LaTeX release (cf. LaTeX News 35). Since then, Greek uppercase rules
+are only applied if the text language is set to ``greek'' with Babel.
+See \href{https://ctan.org/pkg/babel-greek}{\emph{babel-greek}} for details
+and a comprehensive test document.
-\begin{quote}
- \selectlanguage{greek}
- \MakeLowercase{\GreekAndCoptic}\\
- \MakeLowercase{\greekandcoptic}
-\end{quote}
-
-The lowercase of \ensuregreek{Σ} is the «auto-sigma» (\verb|\textautosigma|):
-\ensuregreek{ΣΣ $\mapsto$ \MakeLowercase{ΣΣ}}. Add a ZWNJ or use the
-\verb|\noboundary| macro to prevent conversion to final sigma:
-\ensuregreek{\MakeLowercase{ΣΣ‌}}. The lowercase of GREEK LETTER STIGMA
-\ensuregreek{Ϛ} is \ensuregreek{\MakeLowercase{Ϛ}}.
-
-
-\subsection{Greek extended}
-
-MakeUppercase:
-
-\begin{quote}
- \selectlanguage{greek}
- \MakeUppercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
- \MakeUppercase{ ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ }\\
- \MakeUppercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
- \MakeUppercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
- \MakeUppercase{ ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ }\\
- \MakeUppercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ }\\
- \MakeUppercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
- \MakeUppercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ }\\
- \MakeUppercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
- \MakeUppercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
- \MakeUppercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
- \MakeUppercase{ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
- \MakeUppercase{ ῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
- \MakeUppercase{ ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ }\\
- \MakeUppercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
- \MakeUppercase{ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ }
- \selectlanguage{english}
-\end{quote}
-
-MakeLowercase:
-
-\begin{quote}
- \selectlanguage{greek}
- \MakeLowercase{ ἀ ἁ ἂ ἃ ἄ ἅ ἆ ἇ Ἀ Ἁ Ἂ Ἃ Ἄ Ἅ Ἆ Ἇ }\\
- \MakeLowercase{ ἐ ἑ ἒ ἓ ἔ ἕ Ἐ Ἑ Ἒ Ἓ Ἔ Ἕ }\\
- \MakeLowercase{ ἠ ἡ ἢ ἣ ἤ ἥ ἦ ἧ Ἠ Ἡ Ἢ Ἣ Ἤ Ἥ Ἦ Ἧ }\\
- \MakeLowercase{ ἰ ἱ ἲ ἳ ἴ ἵ ἶ ἷ Ἰ Ἱ Ἲ Ἳ Ἴ Ἵ Ἶ Ἷ }\\
- \MakeLowercase{ ὀ ὁ ὂ ὃ ὄ ὅ Ὀ Ὁ Ὂ Ὃ Ὄ Ὅ }\\
- \MakeLowercase{ ὐ ὑ ὒ ὓ ὔ ὕ ὖ ὗ Ὑ Ὓ Ὕ Ὗ }\\
- \MakeLowercase{ ὠ ὡ ὢ ὣ ὤ ὥ ὦ ὧ Ὠ Ὡ Ὢ Ὣ Ὤ Ὥ Ὦ Ὧ }\\
- \MakeLowercase{ ὰ ά ὲ έ ὴ ή ὶ ί ὸ ό ὺ ύ ὼ ώ }\\
- \MakeLowercase{ ᾀ ᾁ ᾂ ᾃ ᾄ ᾅ ᾆ ᾇ ᾈ ᾉ ᾊ ᾋ ᾌ ᾍ ᾎ ᾏ }\\
- \MakeLowercase{ ᾐ ᾑ ᾒ ᾓ ᾔ ᾕ ᾖ ᾗ ᾘ ᾙ ᾚ ᾛ ᾜ ᾝ ᾞ ᾟ }\\
- \MakeLowercase{ ᾠ ᾡ ᾢ ᾣ ᾤ ᾥ ᾦ ᾧ ᾨ ᾩ ᾪ ᾫ ᾬ ᾭ ᾮ ᾯ }\\
- \MakeLowercase{ ᾰ ᾱ ᾲ ᾳ ᾴ ᾶ ᾷ Ᾰ Ᾱ Ὰ Ά ᾼ ᾽ ι ᾿ }\\
- \MakeLowercase{ ῀ ῁ ῂ ῃ ῄ ῆ ῇ Ὲ Έ Ὴ Ή ῌ ῍ ῎ ῏ }\\
- \MakeLowercase{ ῐ ῑ ῒ ΐ ῖ ῗ Ῐ Ῑ Ὶ Ί ῝ ῞ ῟ }\\
- \MakeLowercase{ ῠ ῡ ῢ ΰ ῤ ῥ ῦ ῧ Ῠ Ῡ Ὺ Ύ Ῥ ῭ ΅ ` }\\
- \MakeLowercase{ ῲ ῳ ῴ ῶ ῷ Ὸ Ό Ὼ Ώ ῼ ´ ῾ }
-\end{quote}
-
-\subsubsection{Iota subscript vs. iota adscript}
-
-Pre-composed capital letters with \emph{mute iota} decompose to the base
-letter and COMBINING GREEK YPOGEGRAMMENI (U+0345) even if they are named
-... WITH [... AND] PROSGEGRAMMENI for ``historic reasons''.%
-\footnote{cf. \href{https://opoudjis.net/unicode/unicode_adscript.html}
- {Nick Nicholas `Titlecase and Adscripts'}}
-
-
-Accordingly, the ``canonical'' LICR for capital letters with mute iota
-is the base character LICR followed by \verb|\ypogegrammeni|.
-
-Compare letters followed by \verb|\prosgegrammeni| and
-\verb|\ypogegrammeni| with the pre-composed characters and with
-character + literal GREEK YPOGEGRAMMENI.
-
-\noindent\ensureascii{prosgegrammeni:}
-\newcommand{\alphapros}{\textalpha\prosgegrammeni α\prosgegrammeni{} ᾳαι /
- \textAlpha\prosgegrammeni Α\prosgegrammeni{} ᾼΑι /
- \accpsili\textAlpha\prosgegrammeni Ἀ\prosgegrammeni{} ᾈἈι}
-\ensuregreek\alphapros
-
-MakeUppercase \MakeUppercase{\ensuregreek{\alphapros}}
-
-MakeLowercase \MakeLowercase{\ensuregreek{\alphapros}}
-
-
-\noindent ypogegrammeni:
-\newcommand{\alphaypo}{\textalpha\ypogegrammeni α\ypogegrammeni{} ᾳαι /
- \textAlpha\ypogegrammeni Α\ypogegrammeni{} ᾼΑι /
- \accpsili\textAlpha\ypogegrammeni Ἀ\ypogegrammeni{} ᾈἈι}
-\ensuregreek\alphaypo
-
-MakeUppercase \MakeUppercase{\ensuregreek{\alphaypo}}
-
-MakeLowercase \MakeLowercase{\ensuregreek{\alphaypo}}
-
-\selectlanguage{english}
-
-
-\subsection{Other Unicode Blocks}
-
-MakeUppercase does not change non-letter symbols and the letter shwa
-(there is a capital Cyrillic schwa in T2A encoded fonts):
-\begin{quote}
- \greekscript
- \MakeUppercase{¨ « ¯ ´ · »}
- \MakeUppercase{ə}
- \MakeUppercase{˘a}
- \MakeUppercase{– — ‘ ’ ‰ a‌u}
- \MakeUppercase{€}
- % \MakeUppercase{Ω}
- \MakeUppercase{
- 𐅄 % GREEK ACROPHONIC ATTIC FIFTY
- 𐅅 % GREEK ACROPHONIC ATTIC FIVE HUNDRED
- 𐅆 % GREEK ACROPHONIC ATTIC FIVE THOUSAND
- 𐅇 % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
- }
-\end{quote}
-MakeLowercase does not change non-letter symbols either:
-\begin{quote}
- \greekscript
- \MakeLowercase{¨ « ¯ ´ · »}
- \MakeLowercase{ə}
- \MakeLowercase{˘A}
- \MakeLowercase{– — ‘ ’ ‰ A‌‌U}
- \MakeLowercase{€}
- % \MakeLowercase{Ω}
- \MakeLowercase{
- 𐅄 % GREEK ACROPHONIC ATTIC FIFTY
- 𐅅 % GREEK ACROPHONIC ATTIC FIVE HUNDRED
- 𐅆 % GREEK ACROPHONIC ATTIC FIVE THOUSAND
- 𐅇 % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
- }
-\end{quote}
\section{Test kerning/ligatures}
-check for kerning and unwanted ligatures:
+Check for kerning and unwanted ligatures:
\begin{quote}
\greekscript
@@ -556,15 +350,15 @@ check for kerning and unwanted ligatures:
Problems with text-extraction from PDF with Kerkis:
0 1 2 3 4 5 6 7 8 9 A B C D E F
-370 * * * * ΄ ͵ * * ι * * * ;
+370 ␣ ␣ ␣ ␣ ΄ ͵ ␣ ␣ ι ␣ ␣ ␣ ;
380 ΄ ΅ ΄Α ΄Ε ΄Η ΄Ι ΄Ο ΄Υ ΄Ω
390 ΐ Α Β Γ ∆ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο
3Α0 Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί
3Β0 ΰ α ϐ γ δ ε Ϲ η ϑ ι κ λ µ ν ξ ο
3῝0 π ϱ ς σ τ υ ϕ χ ψ ω ϊ ϋ ό ύ ώ
-3∆0 * * * * * * * * Ϟ Ϝ ϝ Ϝ ϝ * ϟ
-3Ε0 ϡ * * * * * * * * * * * * * *
-3Φ0 * * * * * * * * * * * * * * * *
+3∆0 ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ Ϟ Ϝ ϝ Ϝ ϝ ␣ ϟ
+3Ε0 ϡ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣
+3Φ0 ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣
03B6 zeta replaced by 03F9 GREEK CAPITAL LUNATE SIGMA SYMBOL
03B8 GREEK SMALL LETTER THETA replaced by 03D1 GREEK THETA SYMBOL
@@ -575,7 +369,7 @@ Problems with text-extraction from PDF with Kerkis:
and GFS Didot:
0 1 2 3 4 5 6 7 8 9 A B C D E F
-370 * * * * ´ ͵ * * ι * * * ;
+370 ␣ ␣ ␣ ␣ ´ ͵ ␣ ␣ ι ␣ ␣ ␣ ;
380 ´ ῆ Α
´ ´ ´Ε ´Η ´Ι ´Ο ´Υ ´Ω
390 ῆ ´ι Α Β Γ ∆ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο
@@ -586,6 +380,6 @@ and GFS Didot:
3῝0 π ρ ς σ τ υ φ χ ψ ω ι
ῆ υ
ῆ ό ύ ώ
-3∆0 * * * * * * * * Ϛ Ϝ Ϝ * Ϟ
-3Ε0 * * * * * * * * * * * * * *
-3Φ0 * * * * * * * * * * * * * * * *
+3∆0 ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ Ϛ Ϝ Ϝ ␣ Ϟ
+3Ε0 ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣
+3Φ0 ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣