From d41b09fae4e020f0ff6108838e6175646f3d2b9e Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Wed, 11 Jul 2012 23:31:14 +0000
Subject: lgrx (6jul12)

git-svn-id: svn://tug.org/texlive/trunk@27003 c570f23f-e606-0410-a88d-b1316a301751
---
 .../texmf-dist/doc/latex/lgrx/textalpha-test.tex   | 230 +++++++++++++--------
 1 file changed, 149 insertions(+), 81 deletions(-)

(limited to 'Master/texmf-dist/doc/latex/lgrx/textalpha-test.tex')

diff --git a/Master/texmf-dist/doc/latex/lgrx/textalpha-test.tex b/Master/texmf-dist/doc/latex/lgrx/textalpha-test.tex
index c3a33e248dd..61d15db0601 100644
--- a/Master/texmf-dist/doc/latex/lgrx/textalpha-test.tex
+++ b/Master/texmf-dist/doc/latex/lgrx/textalpha-test.tex
@@ -2,40 +2,35 @@
 \usepackage{cmap} % fix search and cut-and-paste in PDF
 \usepackage{lmodern}
 \usepackage{parskip}
+\usepackage{booktabs}
 \usepackage{textcomp}
-\usepackage{textalpha}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
-\usepackage[colorlinks=true,linkcolor=blue,urlcolor=blue]{hyperref}
-\hypersetup{unicode=true}
+\usepackage[unicode=true]{hyperref}
 \usepackage{bookmark}
+% \pagestyle{headings}
+
+\usepackage{textalpha}
 
-\newcommand{\LGR}{\fontencoding{LGR}\selectfont}
-\newcommand{\Latin}{\fontencoding{T1}\selectfont}
 
-\providecommand{\greektext}{%
-  \fontencoding{LGR}\selectfont\def\encodingdefault{LGR}%
-}
-\providecommand*{\textgreek}[1]{\leavevmode{\greektext #1}}
+\begin{document}
 
-\DeclareTextCommand{\TextGreek}{LGR}[1]{#1}
-\DeclareTextCommandDefault{\TextGreek}[1]{\textgreek{#1}}
+\section*{Test the \emph{textalpha} package}
 
-\pagestyle{empty}
-\setcounter{secnumdepth}{0}
+With the \emph{textalpha} package, you can easily write a single Greek
+symbol (like \textPsi{} or \textmu{}) or a
+\textlambda\textomicron\textgamma\textomicron\textvarsigma{} in non-Greek
+text as well as ISO-conforming formulas with upright constants (like
+\textpi): $A = \mbox{\textpi} r^2$ vs. $A = \pi r^2$.
 
-\begin{document}
 
-\subsection{Greek alphabet}
+\section{Greek alphabet}
 
 Greek letters via Latin transscription in LGR font encoding:
 
-\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 s c t u f q y w
+\TextGreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}\\
+\TextGreek{a b g d e z h j i k l m n x o p r s c t u f q y w}
 
-\Latin
 Greek letters via default macros in other font encoding (here T1):
 
 \textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{}
@@ -43,91 +38,164 @@ Greek letters via default macros in other font encoding (here T1):
 \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{} \textvarsigma{} \texttau{} \textupsilon{}
 \textphi{} \textchi{} \textpsi{} \textomega{}
 
-So you can easily write a single Greek symbol (like \textPsi{} or
-\textmu{}) or
-\textlambda\textomicron\textgamma\textomicron\textvarsigma{} in
-non-Greek text or ISO-conforming formulas with an upright pi symbol
-like $A = \mbox{\textpi} r^2$ instead of $A = \pi r^2$.
 
-However, kerning is broken in other font encodings: compare
-\textgreek{AUA} (LGR) to \textAlpha\textUpsilon\textAlpha (T1).
-Because of this (and for proper hyphenation), use of babel and correct
-language setting is recommended for Greek quotes.
+\section{PDF strings}
+
+With the \emph{lgrx} bundle, you can get Greek letters in both, TeX
+and PDF strings.
 
 \subsection{\textlambda\textomicron\textgamma\textomicron\textvarsigma{},
-            λογος and \TextGreek{logos}}
+         λογος and \TextGreek{logos}}
 
 The subsection title above uses: text* macros, Unicode input and the LGR
-transcription for the Greek word \TextGreek{logos}. The last variant (Latin
-transscription) is written in Latin letters in the PDF bookmark.
+transcription for the Greek word \TextGreek{logos}. Check the table of
+contents in the PDF viewer: text* macros and Unicode literals work fine, the
+Latin transscription stays Latin in the PDF metadata.
 
-On 2010-11-05, Heiko Oberdiek wrote in comp.text.tex:
+\section{Limitations}
+
+Because the internal font encoding switch interferes with other work behind
+the scenes, kerning, diacritics and up/downcasing show problems if
+Greek letters are used without explicit change of the font encoding.
+These problems can be avoided by use of babel and the correct language
+setting (greek or polutonikogreek) or an explicit font encoding switch.
+
+The \verb+\TextGreek+ macro ensures the argument is set in LGR font
+encoding. This can be used to fix these problems without side-effects if
+the font encoding is already LGR.
+
+\subsection{Kerning}
+
+No kerning occures between Greek characters in non-Greek text due to the
+internal font encoding switch:compare
+\TextGreek{\textAlpha\textUpsilon\textAlpha} (LGR) to
+\textAlpha\textUpsilon\textAlpha (T1). Because of this (and for proper
+hyphenation), use of babel and correct language setting is recommended for
+Greek quotes.
+
+The \verb+\TextGreek+ macro is used for wrapping of combined Unicode
+character definitions. Check that kerning is preserved also between accented
+characters if the font encoding is LGR: \TextGreek{AΫA} vs. AΫA (T1).
 
-\begin{quote}
-   \textbackslash pdfstringdef (converting TeX code to PDF strings for
-   bookmarks) supports NFSS2 and needs active characters. Encoding
-   stuff based on the internal font machinery of TeX (letters with
-   catcode 11 or 12, ligatures) does not work, because the strings
-   don't reach TeX's stomach.
-\end{quote}
-  
 \subsection{Diacritics}
 
-In LGR encoding, shortcuts as well as named macros are set up for use with
-the Latin transcription. 
+Composition of diacritics (like \verb+\Dasia\Tonos+) fails in other font
+encodings. Long names (like \verb+\DasiaOxia+) work, however they do not
+select precomposed characters. With LGR, pre-composed glyphs are chosen if
+available (the difference becomes obvious if you drag-and-drop text from the
+PDF version of this document):
+%
+\TextGreek{\<'a \Dasia\Tonos a \DasiaOxia a \DasiaOxia\textalpha} (LGR) vs.
+\DasiaOxia\textalpha{} (T1).
 
-Composition of diacritics (like \verb+\Dasia\Tonos+) fails in other
-font encodings. Long names (like \verb+\DasiaOxia+) work, however they
-do not select precomposed characters (the difference becomes obvious
-if you drag-and-drop text from the PDF version of this document):
+Diacritics (except the dialytika) are placed before capital letters in
+titlecase and dropped in all-caps:
 %
-LGR: \LGR \<'a \Dasia\Tonos a \DasiaOxia a \DasiaOxia\textalpha \Latin \\
-Latin: \DasiaOxia\textalpha
+\begin{quote}
+  \TextGreek{%
+    \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{}
+    \'<{\textomicron} \~<{\textupsilon} \~>{\textomega}
+    \\
+    \<{\textAlpha} \>{\textEpsilon} \"'{\textIota} \`>\textEta{}
+    \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega}
+    \\
+    \MakeUppercase{%
+      \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{}
+      \'<{\textomicron} \~<{\textupsilon} \~>{\textomega}.
+    }
+  }
+\end{quote}
+%
+However, in other font encodings, this does not work:
+\TextGreek{\<{\textAlpha}} (LGR) vs. \<{\textAlpha} (T1).
 
-Diacritics (except the dialytika) should placed
-before capital letters and dropped with MakeUppercase:
+The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be
+present in UPPERCASE even where it is redundant in lowercase (the hiatus can
+also be marked by an accent on the first character of a diphthong). The
+auto-hiatus feature works in LGR font encoding,
+\Tonos\textalpha\textupsilon{}, \Tonos\textepsilon\textiota{} $\mapsto$
+\MakeUppercase{\TextGreek{
+  \Tonos\textalpha\textupsilon{}, \Tonos\textepsilon\textiota{}
+}}, but not in T1:
+\MakeUppercase{
+  \Tonos\textalpha\textupsilon{}, \Tonos\textepsilon\textiota{}
+}.
 
-\LGR 
-\<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>{\texteta}
-\'<{\textomicron} \~<{\textupsilon} \~>{\textomega}
-\\
-\<{\textAlpha} \>{\textEpsilon} \"'{\textIota} \`>{\textEta}
-\'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega}
-\\
-\MakeUppercase{%
- \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{}
- \'<{\textomicron} \~<{\textupsilon} \~>{\textomega}
-}
 
-\Latin However, in other font encodings, this does not work:
+\section{Greek Unicode characters in non-Greek text}
 
-No kerning: (\textgreek{ΑΥΑ} vs. ΑΥΑ), misplaced multiple (\textgreek{ἅ} vs.
-ἅ) or Titlecase accents (\textgreek{Ά Έ Ή Ί} vs. Ά Έ Ή Ί) and errors with
-MakeUppercase.
+With the \emph{textalpha} package and inputencoding "utf8", Greek Unicode
+characters can be used in text with any font encoding.
 
-Therefore, we would need to define macros for all Unicode characters
-that we want to access without explicit font-encoding change.
+Combined Diacritics work ᾅ, diacritics (except diaresis) are dopped with
+MakeUppercase (μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}),
+%
+but the Hiatus-detection does not work: Currently, the second vowel of the
+diphthong must be given as macro, not Unicode literal:
+(\TextGreek{ἀ\textupsilon{}πνία} $\mapsto$
+\TextGreek{\MakeUppercase{\TextGreek{ἀ\textupsilon{}πνία}}} vs.
+\TextGreek{\MakeUppercase{\TextGreek{ἀυπνία}}}).
+See \texttt{greek-unicode.[tex|psf]} for more details.
+
+No kerning occures between Greek characters in non-Greek text due to the
+internal font encoding switch: \TextGreek{ΑΥΑ} (LGR) vs. ΑΥΑ (T1).
+
+
+The following tables list Greek Unicode characters:
+
+\subsection{Greek and Coptic}
+
+* glyph missing in LGR, · Unicode point not defined
+
+\begin{tabular}{rrrrrrrrrrrrrrrrr}
+\toprule
+& 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\\
+\midrule
+370 & * & * & * & * & ʹ & ͵ & * & * & · & · & ͺ & * & * & * & ; &  \\
+380 & · & · & · & · & ΄ & ΅ & Ά & · & Έ & Ή & Ί & · & Ό & · & Ύ & Ώ\\
+390 & ΐ & Α & Β & Γ & Δ & Ε & Ζ & Η & Θ & Ι & Κ & Λ & Μ & Ν & Ξ & Ο\\
+3A0 & Π & Ρ & · & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\\
+3B0 & ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\\
+3C0 & π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ &  \\
+3D0 & * & * & * & * & * & * & * & * & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & * & ϟ\\
+3E0 & Ϡ & ϡ & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\
+3F0 & * & * & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\
+\bottomrule
+\end{tabular}
+
+\subsection{Greek Extended}
+
+\begin{tabular}{rrrrrrrrrrrrrrrrr}
+\toprule
+& 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\\
+\midrule
+ 1F00 & ἀ & ἁ & ἂ & ἃ & ἄ & ἅ & ἆ & ἇ & Ἀ & Ἁ & Ἂ & Ἃ & Ἄ & Ἅ & Ἆ & Ἇ\\
+ 1F10 & ἐ & ἑ & ἒ & ἓ & ἔ & ἕ & · & · & Ἐ & Ἑ & Ἒ & Ἓ & Ἔ & Ἕ & · &  \\
+ 1F20 & ἠ & ἡ & ἢ & ἣ & ἤ & ἥ & ἦ & ἧ & Ἠ & Ἡ & Ἢ & Ἣ & Ἤ & Ἥ & Ἦ & Ἧ\\
+ 1F30 & ἰ & ἱ & ἲ & ἳ & ἴ & ἵ & ἶ & ἷ & Ἰ & Ἱ & Ἲ & Ἳ & Ἴ & Ἵ & Ἶ & Ἷ\\
+ 1F40 & ὀ & ὁ & ὂ & ὃ & ὄ & ὅ & · & · & Ὀ & Ὁ & Ὂ & Ὃ & Ὄ & Ὅ & · &  \\
+ 1F50 & ὐ & ὑ & ὒ & ὓ & ὔ & ὕ & ὖ & ὗ & · & Ὑ & · & Ὓ & · & Ὕ & · & Ὗ\\
+ 1F60 & ὠ & ὡ & ὢ & ὣ & ὤ & ὥ & ὦ & ὧ & Ὠ & Ὡ & Ὢ & Ὣ & Ὤ & Ὥ & Ὦ & Ὧ\\
+ 1F70 & ὰ & ά & ὲ & έ & ὴ & ή & ὶ & ί & ὸ & ό & ὺ & ύ & ὼ & ώ & · &  \\
+ 1F80 & ᾀ & ᾁ & ᾂ & ᾃ & ᾄ & ᾅ & ᾆ & ᾇ & ᾈ & ᾉ & ᾊ & ᾋ & ᾌ & ᾍ & ᾎ & ᾏ\\
+ 1F90 & ᾐ & ᾑ & ᾒ & ᾓ & ᾔ & ᾕ & ᾖ & ᾗ & ᾘ & ᾙ & ᾚ & ᾛ & ᾜ & ᾝ & ᾞ & ᾟ\\
+ 1FA0 & ᾠ & ᾡ & ᾢ & ᾣ & ᾤ & ᾥ & ᾦ & ᾧ & ᾨ & ᾩ & ᾪ & ᾫ & ᾬ & ᾭ & ᾮ & ᾯ\\
+ 1FB0 & ᾰ & ᾱ & ᾲ & ᾳ & ᾴ & · & ᾶ & ᾷ & Ᾰ & Ᾱ & Ὰ & Ά & ᾼ & ᾽ & ι & ᾿\\
+ 1Fc0 & ῀ & ῁ & ῂ & ῃ & ῄ & · & ῆ & ῇ & Ὲ & Έ & Ὴ & Ή & ῌ & ῍ & ῎ & ῏\\
+ 1FD0 & ῐ & ῑ & ῒ & ΐ & · & · & ῖ & ῗ & Ῐ & Ῑ & Ὶ & Ί & · & ῝ & ῞ & ῟\\
+ 1FE0 & ῠ & ῡ & ῢ & ΰ & ῤ & ῥ & ῦ & ῧ & Ῠ & Ῡ & Ὺ & Ύ & Ῥ & ῭ & ΅ & `\\
+ 1FF0 & · & · & ῲ & ῳ & ῴ & · & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ &  \\
+\bottomrule
+\end{tabular}
 
-Alternative: A \verb+\TextGreek+ TextCommandDefault that wraps the argument in
-the equivalent of Babel's \verb+\textgreek+ with an LGR TextCommand that
-just passes the argument. This is done in the preamble of this document.
 
-This works with the Babel transscription (\TextGreek{logos}), 
-keeps kerning (if the kerning pair is inside the argument,
-\TextGreek{\textAlpha\textUpsilon\textAlpha}),
-and allows iterative accent macros where pre-composed characters are
-selected (\TextGreek{\DasiaOxia\textalpha} or
-\TextGreek{\Dasia\Tonos\textalpha}).
 
-TODO: Use this definition for multi-macro definitions in the Unicode
-definition file?
 
 \end{document}
-- 
cgit v1.2.3

