diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc-doc.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc-doc.tex | 961 |
1 files changed, 559 insertions, 402 deletions
diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc-doc.tex b/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc-doc.tex index 99a728573f2..8cc2fad5403 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc-doc.tex +++ b/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc-doc.tex @@ -2,8 +2,8 @@ % \usepackage{textcomp} \usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} \usepackage{bookmark} -\usepackage{parskip} -% \usepackage{booktabs} +% \usepackage{parskip} +\usepackage{booktabs} % It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding % also with XeTeX/LuaTeX, if the »fontenc« package is loaded before @@ -15,177 +15,139 @@ % \setmainfont{DejaVu Serif} % \setsansfont{DejaVu Sans} % \usepackage{libertineotf} -\setmainfont{Linux Libertine O} +% \setmainfont{Linux Libertine O} \setsansfont{Linux Biolinum O} -% \setmainfont{FreeSerif}% +\setmainfont{FreeSerif}% % \setmainfont{Droid Sans} % Declare the font encoding and Greek LICR definitions: \usepackage{textalpha} -% Accent+Unicode character: proof of concept: -\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{α}{ἆ} - - \begin{document} -\title{Greek LICR definitions with XeTeX/LuaTeX} +\title{Font setup for Greek with XeTeX/LuaTeX} \author{Günter Milde} \maketitle +\noindent The file \href{greek-euenc.def.html}{greek-euenc.def} provides support for -Greek LICR macros with XeTeX and LuaTeX. It is automatically loaded by the -\href{textalpha-doc.pdf}{textalpha} and \href{alphabeta-doc.pdf}{alphabeta} -packages as well as \href{http://www.ctan.org/pkg/babel-greek}{babel-greek}, -if the font encoding is set to one of the Unicode font encodings EU1 or EU2 -(usually via the \href{http://www.ctan.org/pkg/fontspec}{fontspec} package -for font setup with LuaTeX and XeTeX). +Greek LICR macros and upcasing of text with XeTeX and LuaTeX. It is +automatically loaded by the \href{textalpha-doc.pdf}{\emph{textalpha}} and +\href{alphabeta-doc.pdf}{\emph{alphabeta}} packages as well as +\href{http://www.ctan.org/pkg/babel-greek}{\emph{babel-greek}}, if the font +encoding is set to one of the Unicode font encodings EU1 or EU2 (usually via +the \href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}} package for +font setup with LuaTeX and XeTeX). + +\tableofcontents + +\section{Requirements} + +\subsection{euenc} + The \href{http://www.ctan.org/pkg/euenc}{\emph{euenc}} package sets up the + EU1 and EU2 unicode font encodings for XeTeX and LuaTeX respectively. + However, it does not include support for the Greek script. It is normally + loaded by \href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}}. +\subsection{suitable Unicode fonts} With the XeTeX or LuaTeX engines, the user must ensure that the selected font contains Greek glyphs (the default Latin Modern fonts have only capital -Greek letters) --- there are no warnings for missing glyphs but empty spaces -in the output document. Examples for suitable fonts are the “Deja Vu” or the -“Linux Libertine” OpenType fonts. +Greek letters). +There are no errors for missing glyphs, just warnings in the log file (but +not the console output) and empty spaces in the output document. -See the source of this document \url{greek-euenc-doc.tex} for a setup and -usage example. +Examples for suitable fonts are the \emph{Deja Vu}, \emph{Free Serif} or +\emph{Linux Libertine} OpenType fonts. -\section{LICR input} +\section{Usage} -LICR macros are a verbose but fail-safe 7-bit ASCII encoding that works -unaltered under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro -definitions and generated text. +\texttt{greek-euenc.def} is usually not loaded directly, but by one of +\href{textalpha-doc.pdf}{\emph{textalpha}}, +\href{alphabeta-doc.pdf}{\emph{alphabeta}}, or \emph{babel} (with the +language option \href{http://www.ctan.org/pkg/babel-greek}{greek}). If these +packages are loaded after +\href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}}, Unicode font setup +is amended for use of the Greek script. -The example from \texttt{usage.tex} in \emph{babel-greek} input -using LICR macros: +\section{LICR input} -\begin{quote} - \textTau\'\textiota{} - \textphi\'\texteta\textiota\textfinalsigma\texterotimatiko{} - \<\textIota\textdelta\`\textomega\textnu{} - \>\textepsilon\textnu\texttheta\'\textepsilon\textdelta\textepsilon{} - \textpi\textalpha\~\textiota\textdelta\'\' - \>\textepsilon\textlambda\textepsilon\textupsilon\texttheta\'\textepsilon\textrho\textalpha\textnu\\ - \texttau\`\textalpha\textfinalsigma{} - \textpi\textlambda\texteta\textsigma\'\textiota\textomicron\textnu{} - \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{} - \textsigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textsigma\textalpha\textnu{}, - \textSigma\'\textomega\textsigma\texttau\textrho\textalpha\texttau\textepsilon{},\\ - \>\textepsilon\textrho\~\textomega\textnu{} - \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} - \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} -\end{quote} +The LaTeX internal character representation (LICR) is a verbose but +fail-safe 7-bit ASCII encoding that can be used unaltered under both, 8-bit +TeX and XeTeX/LuaTeX. Use cases are macro definitions and generated text. + +See the source of this document, +\href{greek-euenc-doc.tex}{\texttt{greek-euenc-doc.tex}} for the input used +in the examples below. \subsection{Greek alphabet} Greek letters via LICR macros: +\begin{quote} + \textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{} + \textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{} + \textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{} + \textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{} + \textChi{} \textPsi{} \textOmega{} + + \textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{} + \textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{} + \textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{} + \textrho{} \textsigma{} \texttau{} \textupsilon{} + \textphi{} \textchi{} \textpsi{} \textomega{} +\end{quote} +The small sigma is set with a different +glyph if it ends a word: +\begin{quote} + \textsigma{} textsigma\\ + \textfinalsigma{} textfinalsigma or textvarsigma +\end{quote} +The \verb|\textautosigma| macro/feature, which automatically chooses the +glyph according to the position, is not implemented for Unicode fonts. -\textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{} -\textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{} -\textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{} -\textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{} -\textChi{} \textPsi{} \textOmega{} +\subsection{Diacritics} -\textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{} -\textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{} -\textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{} -\textrho{} \textsigma{} \texttau{} \textupsilon{} -\textphi{} \textchi{} \textpsi{} \textomega{} +Greek diacritics can be input by named macro or symbol macro: +\begin{quote} + \acctonos\textalpha \'\textalpha{} \acctonos x\'x + \accvaria\textalpha \`\textalpha{} \accvaria x\`x + \accdialytika\textiota \"\textiota{} \accdialytika x\"x + \accperispomeni\textalpha \~\textalpha{} \accperispomeni x\~x + \accpsili\textalpha \>\textalpha{} \accpsili x\>x + \accdasia\textalpha \<\textalpha{} \accdasia x\<x +\end{quote} +Up-to-date XeTeX/LuaTeX (or fontspec?) normalizes base letter and +combining diacritics to the corresponding pre-composed character if such a +mapping is defined in the Unicode standard: -The small sigma is set with a different -glyph if it ends a word: +\begin{quote} + \acctonos α \'α + \accvaria α \`α + \accdialytika ι \"ι + \accperispomeni α \~α + \accpsili α \>α + \accdasia α \<α +\end{quote} -\begin{itemize} - \item[\textsigma] textsigma - \item[\textfinalsigma] textfinalsigma or textvarsigma -\end{itemize} -In the Latin transcription defined by the 8-bit LGR font encoding, the -letter `s' stands for \verb|\textautosigma| which automatically chooses the -glyph according to the position. This macro/feature is not implemented for -Unicode fonts. +\subsubsection{perispomeni vs. tilde} -\subsection{Additional Greek symbols} +The ``named'' \verb|\accperispomeni| macro uses COMBINING GREEK PERISPOMENI, +while the standard tilde-accent macro \verb|\~| uses the COMBINING TILDE +which is not normalized to GREEK LETTER ... WITH PERISPOMENI +characters. -\textKoppa{} textKoppa \\ % Ϟ -\textkoppa{} textkoppa \\ % ϟ -\textqoppa{} textqoppa (archaic koppa) \\ % ϙ -\textQoppa{} textQoppa (archaic Koppa) \\ % Ϙ -\textstigma{} textstigma \\ % ϛ -% \textvarstigma{} textvarstigma \\ % no separate Unicode character -\textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)% -\footnote{the name “stigma” originally applied to a medieval sigma-tau - ligature, whose shape was confusingly similar to the cursive - digamma} \\ % Ϛ -\textsampi{} textsampi \\ % ϡ -\textSampi{} textSampi \\ % Ϡ -\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!) -\textDigamma{} textDigamma \\ % Ϝ -% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals -\textdexiakeraia{} textdexiakeraia \\ % ʹ -\textaristerikeraia{} textaristerikeraia \\ % ͵ +Composite definitions for \verb|\~| select the pre-composed character: + +\begin{quote} + \~α = ᾶ, \~η = ῆ, \~ι = ῖ, \~υ = ῦ, \~ω = ῶ +\end{quote} -Mathematical notation uses variant shapes for pi, rho, theta, epsilon, phi, -beta, kappa, and Theta as additional symbols. These variations have no -syntactic meaning in Greek text and are not given separate code-points in -the LGR text encoding. Some text fonts use the variant shapes in place of -the “regular” ones as a stylistic choice. - -TeX's concept of “standard” vs. “variant” symbols does not map to the -distinction between “Greek Letter ...” vs. “Greek Symbol ...” in the -Unicode standard: - -\begin{tabular}{cccc} -\hline -\multicolumn{2}{c}{TeX math} & \multicolumn{2}{c}{Unicode} \\ -symbol & var symbol & “letter” & “symbol” \\ -\hline -$\pi$ & $\varpi$ & π & ϖ \\ -$\rho$ & $\varrho$ & ρ & ϱ \\ -$\theta$ & $\vartheta$ & θ & ϑ \\ -\hline -$\epsilon$ & $\varepsilon$ & ε & ϵ \\ -$\phi$ & $\varphi$ & φ & ϕ \\ -\hline -$\beta$ & \emph{missing} & β & ϐ \\ -$\kappa$ & \emph{missing} & κ & ϰ \\ -$\Theta$ & \emph{missing} & Θ & ϴ \\ -\hline -\end{tabular} -\subsection{Diacritics} +\subsubsection{combined diacritics} -Greek diacritics can be input by named macro or symbol macro. Named macros -are defined in xunicode-greek.sty for \verb|\LastDeclaredEncoding| (here -\LastDeclaredEncoding). - -\acctonos\textalpha \'\textalpha{} \acctonos x \'x -\accvaria\textalpha \`\textalpha{} \accvaria x \`x -\accdialytika\textiota \"\textiota{} \accdialytika x \"x -\accperispomeni\textalpha \~\textalpha{} \accperispomeni x \~x -\accpsili\textalpha \>\textalpha{} \accpsili x \>x -\accdasia\textalpha \<\textalpha{} \accdasia x \<x - -There are currently no definitions for accent macros combined with literal -Unicode characters. Combining diacritical characters are used in the output. - -\acctonos α \'α -\accvaria α \`α -\accdialytika ι \"ι -\accperispomeni α \~α -\accpsili α \>α -\accdasia α \<α - -Please mail a feature request if there is demand for definitions selecting -precomposed characters. -As proof of concept, this document defines a composite command for -alpha with psili and perispomeni. Compare \<~α with \>~α. - -Composite commands for combined diacritics are defined in -“greek-fontenc.def”, also for the \verb|\LastDeclaredEncoding|. There are -composite definitions for all precomposed characters, the fallback -definition uses combining characters: +Combined accents are defined using combining diacritical characters. +\begin{quote} \accdialytikatonos\textiota{} \"'\textiota{} \"\'\textiota{} \accdialytikatonos x \"'x \"\'x \accdialytikavaria\textiota{} \"`\textiota{} \"\`\textiota{} @@ -206,182 +168,414 @@ definition uses combining characters: \accpsilivaria x \>`x \>\`x \accpsiliperispomeni\textiota{} \~>\textiota{} \~\>\textiota{} \accpsiliperispomeni x \~>x \~\>x +\end{quote} +Composite diacritics overlap when they are not normalized to a pre-composed +character. However, this is not a major problem in the real world, as +pre-composed characters exist in Unicode for all letters that are actually +used in (ancient, polytonic or monotonoc) Greek. -Problems: Composite diacritics with breathings overlap when set using two -combining characters (in the tested fonts). -Upcasing with \verb|\MakeUppercase| drops diacritics (except -dialytika and sub-iota): +\subsubsection{sub-iota} -\MakeUppercase{ -\accdialytikatonos\textiota \"'\textiota{} \accdialytikatonos x \"'x -\accdialytikavaria\textiota \"`\textiota{} \accdialytikavaria x \"`x -\accdialytikaperispomeni\textiota \~"\textiota{} \accdialytikaperispomeni x \~"x -} +The sub-iota (ypogegrammeni/prosgegrammeni) is input after the base letter. -\MakeUppercase{ -\accdasiaoxia\textiota \<'\textiota{} \accdasiaoxia x \<'x -\accdasiavaria\textiota \<`\textiota{} \accdasiavaria x \<`x -\accdasiaperispomeni\textiota \~<\textiota{} \accdasiaperispomeni x \~<x -} -\MakeUppercase{ -\accpsilioxia\textiota \>'\textiota{} \accpsilioxia x \>'x -\accpsilivaria\textiota \>`\textiota{} \accpsilivaria x \>`x -\accpsiliperispomeni\textiota \~>\textiota{} \accpsiliperispomeni x \~>x +\begin{quote} +\verb|\prosgegrammeni| sets a (spacing) GREEK PROSGEGRAMMENI:\\ + \textAlpha\prosgegrammeni{} K\prosgegrammeni{} + +\verb|\ypogegrammeni| sets a COMBINING GREEK YPOGEGRAMMENI. A +Greek capital letter followed by COMBINING GREEK YPOGEGRAMMENI is normalized +to the corresponding GREEK CAPITAL LETTER ... WITH [.. AND] PROSGEGRAMMENI), +if a mapping exists in the Unicode standard: + \textalpha\ypogegrammeni{} k\ypogegrammeni{} + \textAlpha\ypogegrammeni{} K\ypogegrammeni{} +\end{quote} + +\subsection{Additional Greek symbols} + +\subsubsection{symbols for Greek numbers} + +\begin{quote} +\textkoppa{} textkoppa \\ % ϟ +\textKoppa{} textKoppa \\ % Ϟ +\textqoppa{} textqoppa (archaic koppa) \\ % ϙ +\textQoppa{} textQoppa (archaic Koppa) \\ % Ϙ +\textstigma{} textstigma \\ % ϛ +% \textvarstigma{} textvarstigma \\ % no separate Unicode character +\textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)% +\footnote{the name “stigma” originally applied to a medieval sigma-tau + ligature, whose shape was confusingly similar to the cursive + digamma} \\ % Ϛ +\textsampi{} textsampi \\ % ϡ +\textSampi{} textSampi \\ % Ϡ +\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!) +\textDigamma{} textDigamma \\ % Ϝ +% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals +\textdexiakeraia{} textdexiakeraia \\ % ʹ +\textaristerikeraia{} textaristerikeraia \\ % ͵ +\end{quote} + +\subsubsection{symbol variants} + +Mathematical notation uses variant shapes of some Greek letters as +additional symbols. The variations have no syntactic meaning in Greek text +and text fonts may use the variant shapes in place of the “regular” ones as +a stylistic choice. + +Unicode defines separate code points for the symbol variants. TeX supports +some of the variant shape symbols in mathematical mode, but its concept of +“standard” vs. “variant” symbols differs from the distinction between +“GREEK LETTER ...” vs. “GREEK ... SYMBOL” in the Unicode standard (see +Table \ref{tab:symbol-variants}). + +\begin{table}[tbp] + \centering + \begin{tabular}{cccc} + \hline + \multicolumn{2}{c}{TeX math} & \multicolumn{2}{c}{Unicode} \\ + symbol & var symbol & “letter” & “symbol” \\ + \hline + $\pi$ & $\varpi$ & π & ϖ \\ + $\rho$ & $\varrho$ & ρ & ϱ \\ + $\theta$ & $\vartheta$ & θ & ϑ \\ + \hline + $\epsilon$ & $\varepsilon$ & ε & ϵ \\ + $\phi$ & $\varphi$ & φ & ϕ \\ + \hline + $\beta$ & \emph{missing} & β & ϐ \\ + $\kappa$ & \emph{missing} & κ & ϰ \\ + $\Theta$ & \emph{missing} & Θ & ϴ \\ + \hline + \end{tabular} + \caption{Greek symbol variants in TeX and Unicode} + \label{tab:symbol-variants} +\end{table} + +\texttt{greek-euenc.def} defines three TextCommands for each of these +letters: +\begin{quote} + \verb|\text<name>| selects the Unicode GREEK LETTER ... variant, + + \verb|\text<name>symbol| selects the Unicode + GREEK ... SYMBOL variant, + + \verb|\textvar<name>| selects the variant + shape according to TeX' mathematical mode +\end{quote} +See Table \ref{tab:symbol-variant-macros} for the full list. The +\href{alphabeta-doc.pdf}{\emph{alphabeta}} package defines short macros that +work in text and math mode. + +\begin{table}[tbp] + \centering + \begin{tabular}{lclc} + \hline + \multicolumn{2}{c}{text} & \multicolumn{2}{c}{mathematics} \\ + macro & output & macro & output \\ + \hline + \verb$\textpi$ & \textpi & \verb$\pi$ & $\pi$ \\ + \verb$\textvarpi$ & \textvarpi & \verb$\varpi$ & $\varpi$ \\ + \verb$\textpisymbol$ & \textpisymbol & & \\ + \hline + \verb$\textrho$ & \textrho & \verb$\rho$ & $\rho$ \\ + \verb$\textvarrho$ & \textvarrho & \verb$\varrho$ & $\varrho$ \\ + \verb$\textrhosymbol$ & \textrhosymbol & & \\ + \hline + \verb$\texttheta$ & \texttheta & \verb$\theta$ & $\theta$ \\ + \verb$\textvartheta$ & \textvartheta & \verb$\vartheta$ & $\vartheta$ \\ + \verb$\textthetasymbol$ & \textthetasymbol & & \\ + \hline + \verb$\textepsilon$ & \textepsilon & \verb$\epsilon$ & $\epsilon$ \\ + \verb$\textvarepsilon$ & \textvarepsilon & \verb$\varepsilon$ & $\varepsilon$ \\ + \verb$\textepsilonsymbol$ & \textepsilonsymbol & & \\ + \hline + \verb$\textphi$ & \textphi & \verb$\phi$ & $\phi$ \\ + \verb$\textvarphi$ & \textvarphi & \verb$\varphi$ & $\varphi$ \\ + \verb$\textphisymbol$ & \textphisymbol & & \\ + \hline + \verb$\textbeta$ & \textbeta & \verb$\beta$ & $\beta$ \\ + \verb$\textvarbeta$ & \textvarbeta & \emph{missing} & \\ + \verb$\textbetasymbol$ & \textbetasymbol & & \\ + \hline + \verb$\textkappa$ & \textkappa & \verb$\kappa$ & $\kappa$ \\ + \verb$\textvarkappa$ & \textvarkappa & \emph{missing} & \\ + \verb$\textkappasymbol$ & \textkappasymbol & & \\ + \hline + \verb$\textTheta$ & \textTheta & \verb$\Theta$ & $\Theta$ \\ + \verb$\textvarTheta$ & \textvarTheta & \emph{missing} & \\ + \verb$\textThetasymbol$ & \textThetasymbol & & \\ + \hline + \end{tabular} + \caption{Macros for Greek symbol variants} + \label{tab:symbol-variant-macros} +\end{table} + +\subsubsection{Ancient Greek Numbers} + +Ancient Greek Numbers are missing in most fonts (including Libertine and +Deja Vu). The “FreeSerif” font works fine: +\begin{quote} +\textpentedeka % GREEK ACROPHONIC ATTIC FIFTY +\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED +\textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND +\textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND +\end{quote} +If the LGR font encoding is loaded via «fontenc» in the document preamble, +Ancient Greek Numbers (as well as any other character) from LGR encoded +8-bit TeX fonts can be used after a font-encoding switch. babel-greek +defines the \verb|\textgreek| command for this purpose. +\providecommand*{\textgreek}[1]{\leavevmode{% + \fontfamily{cmr}\fontencoding{LGR}\selectfont#1}% +} +\begin{quote} +\textgreek{ +\textpentedeka % GREEK ACROPHONIC ATTIC FIFTY +\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED +\textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND +\textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND } +\end{quote} + +\section{Latin transcription} + +The Latin transcription known from LGR encoded 8-bit fonts% +\footnote{ See the \href{http://www.ctan.org/pkg/teubner}{teubner} package +or the file usage.pdf from the +\href{http://www.ctan.org/pkg/babel-greek}{\emph{babel-greek}} package for a +description.} +does not work with Unicode fonts. + +Is is possible to set up LGR encoded fonts parallel to Unicode fonts (see +the preamble of the source file \url{greek-euenc-doc.tex} for an example). +The \verb|\textgreek| macro can then be used for the input of Greek letters +via the \emph{Latin transcription}, e.g. «logos» becomes «\textgreek{logos}» +and «\verb|\>aupn\'ia|» becomes «\textgreek{\>aupn\'ia}». + +Mark that you cannot use Unicode input with LGR encoded fonts except when +running in 8-bit compatibility mode. +LICR macros work in both, Unicode font encoding and LGR: compare + \>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha + \textrho\acctonos\textiota\textomicron\textupsilon{} +(Unicode font set up via fontspec) vs. +\textgreek{\>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha + \textrho\acctonos\textiota\textomicron\textupsilon} +(LGR-encoded 8-bit font set up via NFSS commands). + + +\section{UPPERCASE and lowercase} -However, when the tonos, varia, and perispomeni accents are input using the -symbol macros (\verb|\' \` \~|), they behave like standard accents with -XeTeX/LuaTeX. If these accents should be dropped by MakeUppercase, they must -be input as named macro: +Capital Greek letters have Greek diacritics (except the dialytika and +sub-iota) to the left (instead of above) and drop them if text is set in +UPPERCASE, e.g. +\ensuregreek{μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}}. +The uccode/lccode corrections (taken from Apostolos Syropoulos xgreek +package) ensure dropping of accents with \verb|\MakeUppercase| for literal +Unicode characters. + +@uclclist additions ensure that upcasing also drops Greek diacritics. +However, when the tonos, varia, and perispomeni accents +are input using the symbol macros (\verb|\' \` \~|), this does not work, as +they cannot be distinguished from Latin acute, grave, and tilde accents.% +\footnote{This might be fixed with \textbackslash accACUTE, + \textbackslash accGRAVE, and \textbackslash accTILDE definitions + with corresponding @uclclist entries and composite definitions.} +If these accents should be dropped by MakeUppercase, they must be input as +named macro: + +\begin{quote} +\acctonos\textalpha \'\textalpha{} \acctonos a\'a +\accvaria\textalpha \`\textalpha{} \accvaria a\`a +$\mapsto$ \MakeUppercase{ -\acctonos\textalpha \'\textalpha{} \acctonos x\'x -\accvaria\textalpha \`\textalpha{} \accvaria x\`x -\accperispomeni\textalpha \~\textalpha{} \accperispomeni x\~x +\acctonos\textalpha \'\textalpha{} \acctonos a\'a +\accvaria\textalpha \`\textalpha{} \accvaria a\`a } +\end{quote} + +\subsubsection{hiatus} + +Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if placed on +the first vowel of a diphtong (άι, άυ, έι, ἄι, ἄυ, ἔι). A dialytika must be +placed on the second vowel if they are dropped. + +The «hiatus» feature works with macro input: +\begin{quote} + % from teubner: άυλος/ΑΫΛΟΣ + \acctonos\textalpha\textupsilon λος $\mapsto$ + \MakeUppercase{\acctonos\textalpha\textupsilon λος}, + \accpsilioxia\textalpha\textupsilon λος $\mapsto$ + \MakeUppercase{\accpsilioxia\textalpha\textupsilon λος}, + + % from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ + m\acctonos\textalpha\textiota να $\mapsto$ + \MakeUppercase{m\acctonos\textalpha\textiota να}, + % from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema + % κέικ, ἀυπνία/αϋπνία + \textkappa\acctonos\textepsilon\textiota\textkappa $\mapsto$ + \MakeUppercase{\textkappa\acctonos\textepsilon\textiota\textkappa}, + \accpsili\textalpha\textupsilon πνία $\mapsto$ + \MakeUppercase{\accpsili\textalpha\textupsilon πνία}. +\end{quote} + +It does not work (yet?) with Unicode literals: +\begin{quote} + άι, άυ, έι, ἄι, ἄυ, ἔι $\mapsto$ \MakeUppercase{άι, άυ, έι, ἄι, ἄυ, ἔι} +\end{quote} + +\section{Character Tables} -The sub-iota is input after the base letter. -Ligature definitions in the 8-bit LGR fonts ensure that precomposed -characters are used. This does not work with Unicode fonts:\footnote{% - When copy/pasting generated output from the “evince” PDF - viewer, the COMBINING GREEK YPOGEGRAMMENI is merged with the base - character. A capital letter + combining ypogegrammeni results in GREEK - CAPITAL LETTER ... WITH [.. AND] PROSGEGRAMMENI). This indicates that - the combining \emph{ypogegrammeni} should also be used together with - capital base letters.} - -\textalpha\ypogegrammeni{} x\ypogegrammeni{} -\textAlpha\prosgegrammeni{} X\prosgegrammeni, -\textAlpha\ypogegrammeni{} X\ypogegrammeni, -see also the \emph{Greek extended} Unicode block below. - -Both, the standard LaTeX and the “xunicode” composite mechanism require -the first part of a composite definition to be a macro requiring one -argument. I.e. selecting pre-defined characters with sub-iota would require -prefix \verb|\accypogegrammeni| and \verb|\accprosgegrammeni| accent -macros and composite definitions for all combination of letters and letters -with diacritic and sub-iota. +The following tables list the Greek Unicode characters. In the input, the +LICR macro is followed by the corresponding literal Unicode character. \subsection{Greek and Coptic Unicode block} -Greek symbols from the Greek and Coptic Unicode block are fully supported: +Seldom used characters that are not part of LGR encoded TeX fonts have no +LICR definition: +\newcommand{\greekandcoptic}{ % NR Unicode Name % babel name, UCS name % 0370 GREEK CAPITAL LETTER HETA % Ͱ % 0371 GREEK SMALL LETTER HETA % ͱ % 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ % 0373 GREEK SMALL LETTER ARCHAIC SAMPI % Ͳ -\textnumeralsigngreek{} % ʹ \anwtonos, \textdexiakeraia -\textnumeralsignlowergreek{} % ͵ \katwtonos, \textaristerikeraia, +\textnumeralsigngreek ʹ % \anwtonos, \textdexiakeraia +\textnumeralsignlowergreek ͵ % \katwtonos, \textaristerikeraia, % 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ % 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ - -\textcompwordmark\ypogegrammeni{} % ͺ \textsubiota{\empty} +{ }\ypogegrammeni ͺ % \textsubiota{\empty} % 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL % % 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL % % 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL % -\texterotimatiko{} % ; \textquestion - -\acctonos\textcompwordmark{} % ΄ -\"'\textcompwordmark{} % ΅ -\'\textAlpha{} % Ά -\textanoteleia{} % · \anoteleia -\'\textEpsilon{} % Έ -\'\textEta{} % Ή -\'\textIota{} % Ί -\'\textOmicron{} % Ό -\'\textUpsilon{} % Ύ -\'\textOmega{} % Ώ -\'"\textiota{} % ΐ - -\textAlpha{} % Α -\textBeta{} % Β -\textGamma{} % Γ -\textDelta{} % Δ -\textEpsilon{} % Ε -\textZeta{} % Ζ -\textEta{} % Η -\textTheta{} % Θ -\textIota{} % Ι -\textKappa{} % Κ -\textLambda{} % Λ -\textMu{} % Μ -\textNu{} % Ν -\textXi{} % Ξ -\textOmicron{} % Ο -\textPi{} % Π -\textRho{} % Ρ -\textSigma{} % Σ -\textTau{} % Τ -\textUpsilon{} % Υ -\textPhi{} % Φ -\textChi{} % Χ -\textPsi{} % Ψ -\textOmega{} % Ω - -\"\textIota{} % Ϊ -\"\textUpsilon{} % Ϋ -\'\textalpha{} % ά -\'\textepsilon{} % έ -\'\texteta{} % ή -\'\textiota{} % ί -\"'\textupsilon{} % ΰ - -\textalpha{} % α -\textbeta{} % β -\textgamma{} % γ -\textdelta{} % δ -\textepsilon{} % ε -\textzeta{} % ζ -\texteta{} % η -\texttheta{} % θ -\textiota{} % ι -\textkappa{} % κ -\textlambda{} % λ -\textmu{} % μ \textmugreek -\textnu{} % ν -\textxi{} % ξ -\textomicron{} % ο -\textpi{} % π -\textrho{} % ρ -\textvarsigma{} % ς -\textsigma{} % σ -\texttau{} % τ -\textupsilon{} % υ -\textphi{} % φ -\textchi{} % χ -\textpsi{} % ψ -\textomega{} % ω - -\"\textiota{} % ϊ -\"\textupsilon{} % ϋ -\'\textomicron{} % ό -\'\textupsilon{} % ύ -\'\textomega{} % ώ - -\textQoppa{} % Ϙ -\textqoppa{} % ϙ -\textStigma{} % Ϛ \Stigma -\textstigma{} % ϛ \stigma -\textDigamma{} % Ϝ \Digamma -\textdigamma{} % ϝ \ddigamma -%03DE GREEK LETTER KOPPA % Ϟ \textKoppagreek -\textkoppa{} % ϟ \koppa, \textqoppa [sic!] -\textSampi{} % Ϡ \Sampi -\textsampi{} % ϡ \sampi +\texterotimatiko ; % \textquestion + +\acctonos{ } % ΄ +\"'{ } % ΅ +\'\textAlpha Ά +\textanoteleia · % \anoteleia +\'\textEpsilon Έ +\'\textEta Ή +\'\textIota Ί +\'\textOmicron Ό +\'\textUpsilon Ύ +\'\textOmega Ώ + +\'"\textiota ΐ +\textAlpha Α +\textBeta Β +\textGamma Γ +\textDelta Δ +\textEpsilon Ε +\textZeta Ζ +\textEta Η +\textTheta Θ +\textIota Ι +\textKappa Κ +\textLambda Λ +\textMu Μ +\textNu Ν +\textXi Ξ +\textOmicron Ο + +\textPi Π +\textRho Ρ +\textSigma Σ +\textTau Τ +\textUpsilon Υ +\textPhi Φ +\textChi Χ +\textPsi Ψ +\textOmega Ω +\"\textIota Ϊ +\"\textUpsilon Ϋ +\'\textalpha ά +\'\textepsilon έ +\'\texteta ή +\'\textiota ί + +\"'\textupsilon ΰ +\textalpha α +\textbeta β +\textgamma γ +\textdelta δ +\textepsilon ε +\textzeta ζ +\texteta η +\texttheta θ +\textiota ι +\textkappa κ +\textlambda λ +\textmu μ % \textmugreek +\textnu ν +\textxi ξ +\textomicron ο + +\textpi π +\textrho ρ +\textvarsigma ς +\textsigma σ +\texttau τ +\textupsilon υ +\textphi φ +\textchi χ +\textpsi ψ +\textomega ω +\"\textiota ϊ +\"\textupsilon ϋ +\'\textomicron ό +\'\textupsilon ύ +\'\textomega ώ + +ϐ ϑ ϒ ϓ ϔ ϕ ϖ %ϗ +\textQoppa Ϙ +\textqoppa ϙ +\textStigma Ϛ +\textstigma ϛ +\textDigamma Ϝ +\textdigamma ϝ +\textKoppa Ϟ % \textKoppagreek +\textkoppa ϟ % \koppa, \textqoppa [sic!] + +\textSampi Ϡ +\textsampi ϡ + +% Ϣ ϣ Ϥ ϥ Ϧ ϧ Ϩ ϩ Ϫ ϫ Ϭ ϭ Ϯ ϯ + +ϰ ϱ ϲ +% ϳ +ϴ ϵ ϶ +% Ϸ ϸ +Ϲ +% Ϻ ϻ ϼ +Ͻ Ͼ Ͽ +} + +\greekandcoptic + +\noindent MakeUppercase: + +\MakeUppercase{\greekandcoptic} + +\noindent MakeLowercase: + +\MakeLowercase{\greekandcoptic} + +The lowercase of Σ is σ (GREEK SMALL LETTER SIGMA).\footnote{% +With LICRs, it is \texttt{\textbackslash textautosigma}.} +The lowercase of Ϛ (GREEK LETTER STIGMA) is \MakeLowercase{Ϛ}. + \subsection{Greek Extended Unicode block} -Characters from the Greek Extended Unicode block are only partially -supported, accented characters with sub-iota currently use a combining -prosgegrammeni or ypogegrammeni character. +There are no LICR definitions for spacing diacritical characters. + +% \accvaria\textalpha ὰ +% \accoxia\textalpha ά -For comparison, the LICR macro is followed by the corresponding literal -Unicode character: +\newcommand{\greekextended}{ \>\textalpha ἀ \<\textalpha ἁ \>`\textalpha ἂ @@ -489,20 +683,20 @@ Unicode character: \~>\textOmega Ὦ \~<\textOmega Ὧ -\`\textalpha ὰ -\'\textalpha ά -\`\textepsilon ὲ -\'\textepsilon έ -\`\texteta ὴ -\'\texteta ή -\`\textiota ὶ -\'\textiota ί -\`\textomicron ὸ -\'\textomicron ό -\`\textupsilon ὺ -\'\textupsilon ύ -\`\textomega ὼ -\'\textomega ώ +\accvaria\textalpha ὰ +\accoxia\textalpha ά +\accvaria\textepsilon ὲ +\accoxia\textepsilon έ +\accvaria\texteta ὴ +\accoxia\texteta ή +\accvaria\textiota ὶ +\accoxia\textiota ί +\accvaria\textomicron ὸ +\accoxia\textomicron ό +\accvaria\textupsilon ὺ +\accoxia\textupsilon ύ +\accvaria\textomega ὼ +\accoxia\textomega ώ \>\textalpha\ypogegrammeni ᾀ \<\textalpha\ypogegrammeni ᾁ @@ -512,14 +706,14 @@ Unicode character: \<'\textalpha\ypogegrammeni ᾅ \~>\textalpha\ypogegrammeni ᾆ \~<\textalpha\ypogegrammeni ᾇ -\>\textAlpha\prosgegrammeni ᾈ -\<\textAlpha\prosgegrammeni ᾉ -\>`\textAlpha\prosgegrammeni ᾊ -\<`\textAlpha\prosgegrammeni ᾋ -\>'\textAlpha\prosgegrammeni ᾌ -\<'\textAlpha\prosgegrammeni ᾍ -\~>\textAlpha\prosgegrammeni ᾎ -\~<\textAlpha\prosgegrammeni ᾏ +\>\textAlpha\ypogegrammeni ᾈ +\<\textAlpha\ypogegrammeni ᾉ +\>`\textAlpha\ypogegrammeni ᾊ +\<`\textAlpha\ypogegrammeni ᾋ +\>'\textAlpha\ypogegrammeni ᾌ +\<'\textAlpha\ypogegrammeni ᾍ +\~>\textAlpha\ypogegrammeni ᾎ +\~<\textAlpha\ypogegrammeni ᾏ \>\texteta\ypogegrammeni ᾐ \<\texteta\ypogegrammeni ᾑ @@ -529,14 +723,14 @@ Unicode character: \<'\texteta\ypogegrammeni ᾕ \~>\texteta\ypogegrammeni ᾖ \~<\texteta\ypogegrammeni ᾗ -\>\textEta\prosgegrammeni ᾘ -\<\textEta\prosgegrammeni ᾙ -\>`\textEta\prosgegrammeni ᾚ -\<`\textEta\prosgegrammeni ᾛ -\>'\textEta\prosgegrammeni ᾜ -\<'\textEta\prosgegrammeni ᾝ -\~>\textEta\prosgegrammeni ᾞ -\~<\textEta\prosgegrammeni ᾟ +\>\textEta\ypogegrammeni ᾘ +\<\textEta\ypogegrammeni ᾙ +\>`\textEta\ypogegrammeni ᾚ +\<`\textEta\ypogegrammeni ᾛ +\>'\textEta\ypogegrammeni ᾜ +\<'\textEta\ypogegrammeni ᾝ +\~>\textEta\ypogegrammeni ᾞ +\~<\textEta\ypogegrammeni ᾟ \>\textomega\ypogegrammeni ᾠ \<\textomega\ypogegrammeni ᾡ @@ -546,46 +740,46 @@ Unicode character: \<'\textomega\ypogegrammeni ᾥ \~>\textomega\ypogegrammeni ᾦ \~<\textomega\ypogegrammeni ᾧ -\>\textOmega\prosgegrammeni ᾨ -\<\textOmega\prosgegrammeni ᾩ -\>`\textOmega\prosgegrammeni ᾪ -\<`\textOmega\prosgegrammeni ᾫ -\>'\textOmega\prosgegrammeni ᾬ -\<'\textOmega\prosgegrammeni ᾭ -\~>\textOmega\prosgegrammeni ᾮ -\~<\textOmega\prosgegrammeni ᾯ +\>\textOmega\ypogegrammeni ᾨ +\<\textOmega\ypogegrammeni ᾩ +\>`\textOmega\ypogegrammeni ᾪ +\<`\textOmega\ypogegrammeni ᾫ +\>'\textOmega\ypogegrammeni ᾬ +\<'\textOmega\ypogegrammeni ᾭ +\~>\textOmega\ypogegrammeni ᾮ +\~<\textOmega\ypogegrammeni ᾯ \u\textalpha ᾰ \=\textalpha ᾱ -\`\textalpha\ypogegrammeni ᾲ +\accvaria\textalpha\ypogegrammeni ᾲ \textalpha\ypogegrammeni ᾳ -\'\textalpha\ypogegrammeni ᾴ +\accoxia\textalpha\ypogegrammeni ᾴ \~\textalpha ᾶ \~\textalpha\ypogegrammeni ᾷ \u\textAlpha Ᾰ \=\textAlpha Ᾱ -\`\textAlpha Ὰ -\'\textAlpha Ά -\textAlpha\prosgegrammeni ᾼ -\>\textcompwordmark ᾽ -\textcompwordmark\prosgegrammeni ι -\>\textcompwordmark ᾿ +\accvaria\textAlpha Ὰ +\accoxia\textAlpha Ά +\textAlpha\ypogegrammeni ᾼ +\>{ } ᾽ +{ }\prosgegrammeni ι +\>{ } ᾿ \accperispomeni\textcompwordmark ῀ -\"\~\textcompwordmark ῁ -\`\texteta\ypogegrammeni ῂ +\"\~{ } ῁ +\accvaria\texteta\ypogegrammeni ῂ \texteta\ypogegrammeni ῃ -\'\texteta\ypogegrammeni ῄ +\accoxia\texteta\ypogegrammeni ῄ \~\texteta ῆ \~\texteta\ypogegrammeni ῇ -\`\textEpsilon Ὲ -\'\textEpsilon Έ -\`\textEta Ὴ -\'\textEta Ή -\textEta\prosgegrammeni ῌ -\>`\textcompwordmark ῍ -\>'\textcompwordmark ῎ -\~>\textcompwordmark ῏ +\accvaria\textEpsilon Ὲ +\accoxia\textEpsilon Έ +\accvaria\textEta Ὴ +\accoxia\textEta Ή +\textEta\ypogegrammeni ῌ +\>`{ } ῍ +\>'{ } ῎ +\~>{ } ῏ \u\textiota ῐ \=\textiota ῑ @@ -595,11 +789,11 @@ Unicode character: \~"\textiota ῗ \u\textIota Ῐ \=\textIota Ῑ -\`\textIota Ὶ -\'\textIota Ί -\<`\textcompwordmark ῝ -\>'\textcompwordmark ῞ -\~<\textcompwordmark ῟ +\accvaria\textIota Ὶ +\accoxia\textIota Ί +\<`{ } ῝ +\>'{ } ῞ +\~<{ } ῟ \u\textupsilon ῠ \=\textupsilon ῡ @@ -611,73 +805,36 @@ Unicode character: \~"\textupsilon ῧ \u\textUpsilon Ῠ \=\textUpsilon Ῡ -\`\textUpsilon Ὺ -\'\textUpsilon Ύ +\accvaria\textUpsilon Ὺ +\accoxia\textUpsilon Ύ \<\textRho Ῥ -\`"\textcompwordmark ῭ -\'"\textcompwordmark ΅ -\accvaria\textcompwordmark ` +\`"{ } ῭ +\'"{ } ΅ +\accvaria{ } ` -\`\textomega\ypogegrammeni ῲ +\accvaria\textomega\ypogegrammeni ῲ \textomega\ypogegrammeni ῳ -\'\textomega\ypogegrammeni ῴ +\accoxia\textomega\ypogegrammeni ῴ \~\textomega ῶ \~\textomega\ypogegrammeni ῷ -\`\textOmicron Ὸ -\'\textOmicron Ό -\`\textOmega Ὼ -\'\textOmega Ώ -\textOmega\prosgegrammeni ῼ -\accoxia\textcompwordmark ´ -\<\textcompwordmark ῾ - -Ancient Greek Numbers are missing in most fonts (including Libertine and -Deja Vu). The “FreeSerif” font works fine. - -\textpentedeka % GREEK ACROPHONIC ATTIC FIFTY -\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED -\textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND -\textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND +\accvaria\textOmicron Ὸ +\accoxia\textOmicron Ό +\accvaria\textOmega Ὼ +\accoxia\textOmega Ώ +\textOmega\ypogegrammeni ῼ +\accoxia{ } ´ +\<{ } ῾ +} -If the LGR font encoding is loaded via «fontenc» in the document preamble, -Ancient Greek Numbers (as well as any other character) from LGR encoded -8-bit TeX fonts can be used after a font-encoding switch. babel-greek -defines the \verb|\textgreek| command for this purpose: +\greekextended -\providecommand*{\textgreek}[1]{\leavevmode{% - \fontfamily{cmr}\fontencoding{LGR}\selectfont#1}% -} +\noindent MakeUppercase: -\textgreek{ -\textpentedeka % GREEK ACROPHONIC ATTIC FIFTY -\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED -\textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND -\textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND -} +\MakeUppercase{\greekextended} -\section{Latin transcription} +\noindent MakeLowercase: -The \verb|\textgreek| macro and LGR encoded fonts can also be used for the -input of Greek letters via the \emph{Latin transcription} provided by the LGR -font encoding% -\footnote{see \emph{The LaTeX font guide} [fntguide.pdf] for details about -font encodings.}, -e.g. «logos» becomes «\textgreek{logos}» and «\verb|\>aupn\'ia|» becomes -«\textgreek{\>aupn\'ia}» (capitalised -«\textgreek{\MakeUppercase{\>aupn\'ia}}»). For details of the Latin -transliteration see the teubner package or the file usage.pdf from the -babel-greek package. - -Mark, that you cannot use Unicode input with LGR encoded fonts except when -running in 8-bit compatibility mode because of the incompatibility between -Xe/LuaTeX and the inputenc package. +\MakeLowercase{\greekextended} -LICR macros work in both, Unicode font encoding and LGR: compare - \>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha - \textrho\acctonos\textiota\textomicron\textupsilon{} -(Unicode font set up via fontspec) vs. -\textgreek{\>\textIota\textalpha\textnu\textomicron\textupsilon\textalpha - \textrho\acctonos\textiota\textomicron\textupsilon} -(LGR-encoded 8-bit font set up via NFSS commands). \end{document} |