diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex | 648 |
1 files changed, 648 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex b/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex new file mode 100644 index 00000000000..1606bfcb6fd --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/test-lgrenc.tex @@ -0,0 +1,648 @@ +\documentclass{article} + +% Test with various LGR-encoded fonts: +\usepackage% +{lmodern} % uses CB Fonts for Greek +% {gfsartemisia} +% {gfsbaskerville} +% [default]{gfsbodoni} +% [default]{gfscomplutum} +% {gfsdidot} +% [default]{gfsneohellenic} +% {lmodern} \usepackage{gfsporson} \renewcommand*\rmdefault{porson} +% [default]{gfssolomos} +% {kerkis} % lacks some chars (\Stigma, \Sampi, double quotes) +% {teubner} +% \renewcommand{\ttdefault}{txtt} + +\usepackage{parskip} +\usepackage{textcomp} + +\usepackage[LGR,T1]{fontenc} + +% Shortcut accent macros \< and \>: +% +% The Symbol macros for the breathings were +% moved to ``textalpha.sty`` to avoid clashes with possible local +% definitions of these macros. +% +% Local definition and setup: +\DeclareTextCommand{\<}{LGR}{\accdasia} +\DeclareTextCommand{\>}{LGR}{\accpsili} +\DeclareTextCompositeCommand{\>}{LGR}{'}{\accpsilioxia} +\DeclareTextCompositeCommand{\>}{LGR}{`}{\accpsilivaria} +\DeclareTextCompositeCommand{\>}{LGR}{~}{\accpsiliperispomeni} +\DeclareTextCompositeCommand{\<}{LGR}{'}{\accdasiaoxia} +\DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria} +\DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni} + + +% With XeTeX/LuaTeX, use Unicode for Latin script: +% This is experimental. The general advise is not to mix fontenc and fontspec. +% Problems: +% * Letter µ missing in Latin Modern +% * xunicode makes \nobreakspace font encoding specific -> provide default: +\ifdefined \UnicodeEncodingName % set by LaTeX for Unicode-aware engines + \usepackage{fontspec} +\else + \usepackage[utf8]{inputenc} +\fi +\DeclareTextCommandDefault{\nobreakspace}{\leavevmode\nobreak\ } + +% PDF hyperlinks: +\usepackage[pdfencoding=auto]{hyperref} +\usepackage{bookmark} +\hypersetup{colorlinks=true,linkcolor=blue,urlcolor=blue,pdfencoding=auto} + +% font encoding switch declarations: +\newcommand{\LGR}{\fontencoding{LGR}\selectfont} +\newcommand{\Latin}{\fontencoding{\encodingdefault}\selectfont} + +\newcommand{\cs}[1]{\texttt{\textbackslash#1}} +\newcommand{\cssample}[1]{\LGR\csname#1\endcsname{} \Latin \cs{#1}} + +\begin{document} + +\title{Test LGR font encoding definitions} +\author{Günter Milde} +\date{2020/10/30} +\maketitle + +The file lgrenc.def provides a comprehensive set of macros to typeset Greek +with LGR encoded fonts. It works for both, monotonic and polytonic Greek, +independent of the \emph{Babel} package. + +The example from \texttt{usage.tex} in \emph{babel-greek} input +using the LICR macros: + +\begin{quote} + \LGR + \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\textautosigma\'\textiota\textomicron\textnu{} + \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{} + \textautosigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textautosigma\textalpha\textnu{}, + \textSigma\'\textomega\textautosigma\texttau\textrho\textalpha\texttau\textepsilon{},\\ + \>\textepsilon\textrho\~\textomega\textnu{} + \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} + \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} + +\end{quote} + +\section{Symbols} + +See the source file \href{lgrenc-test.tex}{lgrenc-test.tex} for the macros +used to access the symbols. + +\subsection{Generic text symbols} + +Latin: ++ - = < > -- --- [ () ] +% +\textbraceleft{} +\textbraceright{} +\textbackslash{} +\textbar{} +\textperthousand{} +\textpertenthousand{} +\textvisiblespace{} + +LGR: \LGR ++ - = -- --- [ () ] +\Latin +\begin{quote} + \cssample{textless} \\ + \cssample{textgreater} \\ + \cssample{textbraceleft} \\ + \cssample{textbraceright} \\ + % + \cssample{textbackslash} \\ + \cssample{textbar} \\ + \cssample{textperthousand} (Per-mille symbol is missing in LGR.) \\ + % \textpertenthousand{} + \cssample{textvisiblespace} \\ + +\end{quote} +% +Quotes:\footnote{% + Single quotes need special attention to prevent conversion to accents. + Test the input conventions: + \LGR \textquoteleft{}a\textquoteright{} ``a'' \``a\'' \`\`a\'\' + \Latin but not \LGR `a' 'e' "i"\Latin +} +% +\Latin \guillemotleft{}a\guillemotright{} +\LGR \guillemotleft{}a\guillemotright{}, +% +\Latin \textquoteleft{}a\textquoteright{} +\LGR \textquoteleft{}a\textquoteright{}, +% +\Latin \textquotedblleft{}a\textquotedblright{} +\LGR \textquotedblleft{}a\textquotedblright{} +\Latin (double quotes wrong with Kerkis fonts) + +Single guillemots and base-quotes + (\guilsinglleft{}a\guilsinglright{} + \quotedblbase{}a\textquotedblright{} + \quotesinglbase{}a\textquoteright{}) + are missing in LGR. + +Ligature break up with \verb|\textcompwordmark|: +AY fi \LGR AU "i $\mapsto$ +\Latin A\textcompwordmark Y f\textcompwordmark i +\LGR A\textcompwordmark U "\textcompwordmark i + + +\Latin Spacing accent chars: +% +\Latin \textasciicircum a +\LGR \textasciicircum a \textasciicircum i % using textsym glyph +% +\Latin \textasciitilde a +\LGR \textasciitilde a \textasciitilde i +% +\Latin \textasciibreve a +\LGR \textasciibreve a \textasciibreve i +% +\Latin \textasciimacron a +\LGR \textasciimacron a \textasciimacron i +% +\Latin \textasciidieresis a +\LGR \textasciidieresis a \textasciidieresis i +% +\Latin \textasciiacute a +\LGR \textasciiacute a \textasciiacute i +% +\Latin \textasciigrave a +\LGR \textasciigrave a \textasciigrave i + +\Latin Letter schwa and Euro symbol: % \textschwa (needs e.g. T3) +\cssample{textschwa}, \cssample{texteuro} + + +Some ASCII symbols are replaced by different symbols in LGR encoding +other symbols are composed from Latin letters and show Greek letters in LGR. +\emph{babel-greek} redefines some with \verb|\latintext|, however this +cannot be done in a font encoding definition file. + +Beware that \texttt{"\#\&';<>?@} becomes +\LGR \texttt{"\#\&';<>?@}. +\Latin + +The \emph{textcomp} package provides pre-composed coyright \textcopyright{}, +registered \textregistered{} and trademark \texttrademark{} symbols that +work in all font encodings. +In LGR (% +\ifdefined \textcompsubstdefault + with +\else + without +\fi +textcomp), they come out as: \cssample{textcopyright}, +\cssample{textregistered}, \cssample{texttrademark}. + +\emph{textcomp} also provides the upright MICRO SIGN and OHM SIGN for SI +units: R = 5\,\textmu\textohm + +In LGR, \cs{textmicro} and \cs{textohm} are aliases to \cs{textmu} and +\cs{textOmega} that do not change case: +\LGR Αντίσταση = 5\,\textmu\textohm{}, + \MakeUppercase{αντίσταση = 5\,\textmicro \textohm{}}, + \MakeLowercase{αντίσταση = 5\,\textmicro \textohm{}}. +\Latin + + +\subsection{Greek alphabet} + +Greek letters via Latin transcription and LICR macros: + +\begin{quote} + \LGR + \MakeUppercase{a b g d e z h j i k l m n x o p r s t u f q y w} + + a b g d e z h j i k l m n x o p r sv s t u f q y w + + \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{} \textfinalsigma{} \texttau{} \textupsilon{} + \textphi{} \textchi{} \textpsi{} \textomega{} +\end{quote} + +The small sigma is set with a different glyph if it ends a word: + +\begin{quote} + \cssample{textsigma} \\ + \cssample{textfinalsigma} +\end{quote} + +In the Latin transcription, the letter `s' stands for \verb|\textautosigma| +which automatically chooses the glyph according to the position. + +\subsection{additional Greek symbols} + +\begin{quote} + \cssample{textkoppa} (numeral koppa = 90) \\ % ϟ + \cssample{textKoppa} (numeral Koppa = 90)% % Ϟ + \footnote{Modern typographical practice normally does not observe a + contrast between uppercase and lowercase forms for numeric koppa. + % https://en.wikipedia.org/wiki/Koppa_(letter) + In LGR, there is no separate code point for Koppa.} \\ + \cssample{textqoppa} (archaic koppa) \\ % ϙ + \cssample{textQoppa} (archaic Koppa) \\ % Ϙ + \cssample{textstigma} \\ % ϛ + \cssample{textvarstigma} \\ % no separate Unicode character + \cssample{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} \\ % Ϛ + \cssample{textsampi} \\ % ϡ + \cssample{textSampi} \\ % Ϡ + \cssample{textdigamma} \\ % ϝ (\digamma used by amsmath!) + \cssample{textDigamma} \\ % Ϝ + % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals + \cssample{textdexiakeraia} (Dexia keraia)\\ % ʹ + \cssample{textaristerikeraia} (Aristeri keraia)\\ % ͵ + +\end{quote} + +Up/Downcasing of the additional Symbols from the Greek And Coptic Unicode +block: + +% see test-tuenc-greek.tex +\newcommand{\greekandcoptic}{ +\textnumeralsigngreek{} +\textnumeralsignlowergreek{} +{ }\ypogegrammeni{} +\texterotimatiko{} +\acctonos{ }{} +\"'{ }{} +\'\textAlpha{} +\textanoteleia{} +\'\textEpsilon{} +\'\textEta{} +\'\textIota{} +\'\textOmicron{} +\'\textUpsilon{} +\'\textOmega{} +\'"\textiota{} +\"\textIota{} +\"\textUpsilon{} +\'\textalpha{} +\'\textepsilon{} +\'\texteta{} +\'\textiota{} +\"'\textupsilon{} +\"\textiota{} +\"\textupsilon{} +\'\textomicron{} +\'\textupsilon{} +\'\textomega{} +\textQoppa{} +\textqoppa{} +\textStigma{} +\textstigma{} +\textDigamma{} +\textdigamma{} +\textKoppa{} +\textkoppa{} +\textSampi{} +\textsampi{} +} + +\LGR \greekandcoptic \Latin + +MakeUppercase: \\ +\LGR \MakeUppercase{\greekandcoptic} \Latin + +MakeLowercase: \\ +\LGR \MakeLowercase{\greekandcoptic} \Latin + + +\subsection{aliases} + +Aliases are defined in the included file +\href{greek-fontenc.def.html}{greek-fontenc.def}. + +Names matching mathematical variant symbols: + +\begin{quote} + \cssample{textvarepsilon} = \cssample{textepsilon} \\ % ε + \cssample{textvarphi} = \cssample{textphi} \\ % φ + \cssample{textvarsigma} = \cssample{textfinalsigma} \\ % ς +\end{quote} +Compatibility aliases for hyperref’s puenc.def: +\begin{quote} + \cssample{textmugreek} = \cssample{textmu} \\ + \cssample{textkoppagreek} = \cssample{textkoppa} \\ + \cssample{textKoppagreek} = \cssample{textKoppa} \\ + \cssample{textStigmagreek} = \cssample{textStigma} \\ + \cssample{textstigmagreek} = \cssample{textstigma} \\ + \cssample{textSampigreek} = \cssample{textSampi} \\ + \cssample{textsampigreek} = \cssample{textsampi} \\ + \cssample{textdigammagreek} = \cssample{textdigamma} \\ + \cssample{textDigammagreek} = \cssample{textDigamma} \\ + \cssample{textnumeralsigngreek} = \cssample{textdexiakeraia} \\ + \cssample{textnumeralsignlowergreek} = \cssample{textaristerikeraia} +\end{quote} +Two Unicode code points and names for one character: +\begin{quote} + \cssample{accoxia} = \cssample{acctonos} \\ + \cssample{acckoronis} = \cssample{accpsili} +\end{quote} + +\subsection{symbol variants} + +Mathematical notation distinguishes variant shapes for pi ($\pi|\varpi$), +rho ($\rho|\varrho$), theta ($\theta|\vartheta$), beta, and kappa +(characters for the last two symbols are not included in TeX's standard math +fonts). These variations have no syntactic meaning in Greek text and are not +given code-points in the LGR encoding. Greek text fonts use the shape +variants interchangeabely. + +\section{Diacritics} + +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. This is implemented for all combinations that are used in Greek +texts (i.e. for which pre-composed Unicode character exist), but not for, +e.g., \LGR\~W\Latin). + +% When a word is written entirely in capital letters, diacritics are +% never used; the word Ἢ (or), is an exception to this rule because of +% the need to distinguish it from the nominative feminine article Η. + +Different conventions exist for the treatment of the sub-iota with uppercase +letters. The CB-Fonts use a capital Iota ``index'' (\LGR A|, H|, W|\Latin). + +LaTeX standard accents% +\footnote{The ogonek (\emph{little hook}) accent \k{ } (\textbackslash k) +is not defined in LGR.} +(Latin, Greek, Greek Capitals $\mapsto$ UPPERCASE) + +\begin{quote} + \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} + \b{a} \c{a} \d{a} \k{a} + $\mapsto$ \MakeUppercase{% + \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} + \b{a} \c{a} \d{a} \k{a} + } + + \LGR + \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} + \b{a} \c{a} \d{a} + $\mapsto$ \MakeUppercase{% + \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} + \b{a} \c{a} \d{a} + } + + \`{A}\'{A}\~{A}\"{A} \^{A}\={A}\H{A}\.{A}\r{A}\u{A}\v{A} + \b{A} \c{A} \d{A} + $\mapsto$ \MakeUppercase{% + \`{A}\'{A}\~{A}\"{A} \^{A}\={A}\H{A}\.{A}\r{A}\u{A}\v{A} + \b{A} \c{A} \d{A} + } +\end{quote} + +Additional Greek diacritics +(Greek, Greek Capitals% +\footnote{The dialytika is not used on Initial letters.} % (\LGR \"'I \"`I \~"I) +$\mapsto$ UPPERCASE) + +\begin{quote} + \LGR + \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} a| + $\mapsto$ \MakeUppercase{% + \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} a| + } + + \<{A} \>{E} \<\`{I} \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} A| + $\mapsto$ \MakeUppercase{% + \<{A} \>{E} \<\`{I} \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} A| + } +\end{quote} + +\Latin Input variants and their conversion with MakeUppercase:% + +\begin{quote} +\LGR + +\~>a \>\~a \~\>{a}, \~<a \<\~a \<~a \~\<a \~<a, +\>\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~<h \<\~h, +\>\~i \~>i, \~<i \<\~i, \~"i \"\~i \"~i,\\ +\>\~u \~>u, \~<u \<\~u, \~"u \"\~u, +\>w, \<w, \>\~w \~>w, \~<w \<\~w, +a| a\ypogegrammeni{} + +\MakeUppercase{ +\~>a \>\~a \~\>{a}, \~<a \<\~a \<~a \~\<a \~<a, +\>\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~<h \<\~h, +\>\~i \~>i, \~<i \<\~i, \~"i \"\~i \\ % for \"~i, see below +\>\~u \~>u, \~<u \<\~u, \~"u \"\~u, +\>w, \<w, \>\~w \~>w, \~<w \<\~w, +a| a\ypogegrammeni{} +} + +\<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{} +\accvaria\accpsili\texteta{} +\'<{\textomicron} \~<{\textupsilon} \~>{\textomega} +\<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} +\'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega}, +\textalpha| \textalpha\ypogegrammeni{} +\\ +\MakeUppercase{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} + \accvaria\accpsili\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} + \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega}, + \textalpha| \textalpha\ypogegrammeni{} +} + + \<'A \<\'A \'<A \'\<A $\mapsto$ \MakeUppercase{\<'A \<\'A \'<A \'\<A}. + +\end{quote} + +\Latin Input variants and their conversion with MakeLowercase:% + +\begin{quote} +\LGR + +\~>A \>\~A \~\>{A}, \~<A \<\~A \~\<A \~<A, +\>\~{H} \~>H \>\~H \~>H \~>H|, \~<H \<\~H, +\>\~I \~>I, \~<I \<\~I +\\ +\MakeLowercase{% + \~>A \>\~A \~\>{A}, \~<A \<\~A \~\<A \~<A, + \>\~{H} \~>H \>\~H \~>H \~>H|, \~<H \<\~H, + \>\~I \~>I, \~<I \<\~I +} + +\~<U \<\~U, +\>W, \<W, \>\~W \~>W, \~<W \<\~W, +A| A\ypogegrammeni{} A\prosgegrammeni{}. +\\ +\MakeLowercase{% + \~<U \<\~U, + \>W, \<W, \>\~W \~>W, \~<W \<\~W, + A| A\ypogegrammeni{} A\prosgegrammeni{}. +} + +\<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{} +\'<{\textomicron} \~<{\textupsilon} \~>{\textomega} +\<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} +\'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} +\textAlpha| \textAlpha\ypogegrammeni{} \textAlpha\prosgegrammeni{} +\\ +\MakeLowercase{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} + \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} + \textAlpha| \textAlpha\ypogegrammeni{} \textAlpha\prosgegrammeni{} +} + + \<'A \<\'A \'<A \'\<A $\mapsto$ \MakeLowercase{\<'A \<\'A \'<A \'\<A} + +\end{quote} + +The tilde character can be used in combined accents. +However, in documents not defining the Babel language \emph{greek} or +\emph{polutonikogreek}, better use the tilde-accent macro, as +the tilde produces a no-break space if converted with \verb|\MakeUppercase| +or \verb|\MakeLowercase|: +\begin{quote} + combined accent with tilde character:\\ + \LGR \"~i \<~i \"~u \<~u \`>u $\mapsto$ + \LGR \MakeUppercase{\"~i \<~i \"~u \<~u \`>u}\\ + \LGR \"~I \<~I \"~U \<~U \`>U $\mapsto$ + \LGR \MakeLowercase{\"~I \<~I \"~U \<~U \`>U} + + \Latin combined accent with tilde-accent macro:\\ + \LGR \"\~i \~"u $\mapsto$ \MakeUppercase{\"\~i \~"u}\\ + \LGR \"\~I \~"U $\mapsto$ \MakeLowercase{\"\~I \~"U} +\end{quote} + +\Latin +Accents input via the Latin transliteration are not dropped with +MakeUppercase, unless Babel is loaded and the current language is Greek +(because the required local re-definitions of the \texttt{uccode} are done in +\texttt{greek.ldf} from the \emph{babel-greek} package). + +\begin{quote} \LGR + 'a "i `a >a <a a| $\mapsto$ \MakeUppercase{'a "i `a >a <a a|} +\end{quote} + + +\Latin Accent macros can start with \verb|\a| instead of \verb|\| when the +short form is redefined, e.\,g. inside a \emph{tabbing} environment. +This also works for the locally defined Dasia and Psili shortcuts \verb|\<| +and \verb|\>|: +\begin{quote} + \begin{tabbing} + COL1\quad \= COL2\quad \= COL3\quad \= COL4\quad \\ + COL1 \> \> COL3 \\ + Viele \> Gr\a"u\ss e \> \LGR \a<\textalpha{} \> \LGR \a>\textomega + \end{tabbing} +\end{quote} + + +\Latin Combinations with named accents: +\LGR \accdasia'a \accdasia`a \accdasia\~a. + +\Latin The dialytika must be kept in UPPERCASE, e.\,g. + +\begin{quote} + % from http://diacritics.typo.cz/index.php?id=70 μαΐστρος -> ΜΑΪΣΤΡΟΣ. + \LGR ma\"'istros $\mapsto$ \MakeUppercase{ma\"'istros} + \Latin or % from teubner εὐζωΐα -> ΕΥΖΩΪΑ. + \LGR e\>uzw\'"ia $\mapsto$ \MakeUppercase{e\>uzw\'"ia}. +\end{quote} + +This is implemented for all input variants of diacritics with +dialytika: + +\begin{quote} + \LGR \"i \"'i \"`i \"\~i \"u \"'u \"`u \"\~u $\mapsto$ + \MakeUppercase{\"i \"'i \"`i \"\~i \"u \"'u \"`u \"\~u}, +\end{quote} + +Tonos and dasia mark a \emph{hiatus} (break-up of a diphthong) if +placed on the first vowel of a diphthong ({\LGR \'ai, \'au, \'ei}). A +dialytika must be placed on the second vowel if they are dropped: \LGR +(\MakeUppercase{\'ai, \'au, \'ei}). + +\begin{quote} + % from teubner: άυλος/ΑΫΛΟΣ + \'aulos $\mapsto$ \MakeUppercase{\'aulos}, + \>'aulos $\mapsto$ \MakeUppercase{\>'aulos}, + % from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ + m\'aina $\mapsto$ \MakeUppercase{m\'aina}, + % from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema + % κέικ, ἀυπνία/αϋπνία + k\'eik, $\mapsto$ \MakeUppercase{k\'eik} + \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia} +\end{quote} + +\newpage + +\Latin Test the auto-hiatus feature for side-effects: + +\LGR \MakeUppercase{\'a b} (\Latin must keep space after A). + +Kerning (see the input): +\LGR +\newcommand\md{\textcompwordmark} +\newcommand\MU{\MakeUppercase} + + \md \MU{ AO AY AI AU RA OA UA DU} [ \\ +\<\md \MU{ \<AO \<AY \<AI \<AU \<RA \<OA U\<A D\<U} [ \\ +\>\md \MU{ \>AO \>AY \>AI \>AU \>RA \>OA U\>A D\>U} [ \\ +\>'\md\MU{ \>'AO \>'AY \>'AI \>'AU \>'RA \>'OA U\>'A D\>'U} [ \\ +\'\md \MU{ \'AO \'AY \'AI \'AU \'RA \'OA U\'A D\'U} [ \\ +\>`\md\MU{ \>`AO \>`AY \>`AI \>`AU \>`RA \>`OA U\>`A D\>`U} [ \\ +\<'\md\MU{ \<'AO \<'AY \<'AI \<'AU \<'RA \<'OA U\<'A D\<'U} [ \\ +\`\md \MU{ \`AO \`AY \`AI \`AU \`RA \`OA U\`A D\`U} [ \\ +\<`\md\MU{ \<`AO \<`AY \<`AI \<`AU \<`RA \<`OA U\<`A D\<`U} [ \\ +\~\md \MU{ \~AO \~AY \~AI \~AU \~RA \~OA U\~A D\~U} [ \\ +\~>\md\MU{ \~>AO \~>AY \~>AI \~>AU \~>RA \~>OA U\~>A D\~>U} [ \\ +\~<\md\MU{ \~<AO \~<AY \~<AI \~<AU \~<RA \~<OA U\~<A D\~<U} [ \\ +\~<\md\MU{ \~<ao \~<ay \~<ai \~<au \~<ra \~<oa u\~<a d\~<u} [ \\ +\"\md \MU{ AO AY A\"I A\"U RA OA \"UA DU} [ \\ +\"\md \MU{ \"AO \"AY \"AI \"AU \"RA \"OA U\"A D\"U} [ \\ +\"~\md\MU{ \~"AO \~"AY \~"AI \~"AU \~"RA \~"OA U\~"A D\~"U} [ \\ + + +\Latin +Rows 3 \ldots 7: Look-ahead (to check for a hiatus) breaks kerning before A +with Tonos or Psili. + +% \'AA \'AB \'AG \'AD \'AE \'AZ \'AH \'AJ \'AI \'AK \'AL \'AM \'AN \'AX +% \'AO \'AP \'AR \'AS \'AC \'AT \'AU \'AF \'AQ \'AY \'AW + +Rows 15 and 16: Like in any font encoding, there is no kerning for +non-defined accent-letter-combinations (dialytica on \LGR A O D\Latin). + +\Latin + +Downcasing should keep diacritics (of course, it cannot regenerate +``manually" dropped ones): +\LGR 'A \"I \"U \~<A $\mapsto$ \MakeLowercase{\'A \"I \"U \~<A} + +% \Latin Comprehensive error message for missing symbol variants: +% \LGR \textbeta\textbetasymbol +% \texttheta\textthetasymbol +% \Latin + +\end{document} |