diff options
Diffstat (limited to 'language/greek/greek-inputenc/greek-utf8.tex')
-rw-r--r-- | language/greek/greek-inputenc/greek-utf8.tex | 546 |
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{AU} 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{– — ‘ ’ ‰ au} - \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{– — ‘ ’ ‰ AU} - \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 ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ ␣ |