diff options
Diffstat (limited to 'language/greek/greek-fontenc/lgrenc-test.tex')
-rw-r--r-- | language/greek/greek-fontenc/lgrenc-test.tex | 490 |
1 files changed, 490 insertions, 0 deletions
diff --git a/language/greek/greek-fontenc/lgrenc-test.tex b/language/greek/greek-fontenc/lgrenc-test.tex new file mode 100644 index 0000000000..e20786b0fd --- /dev/null +++ b/language/greek/greek-fontenc/lgrenc-test.tex @@ -0,0 +1,490 @@ +\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: +\ifdefined\luatexversion \usepackage{fontspec}\else + \ifdefined\XeTeXrevision \usepackage{fontspec}\else + \usepackage[utf8]{inputenc} + \fi +\fi +% This is experimental. The general advise is not to mix fontenc and fontspec. +% One problem is that xunicode makes \nobreakspace font encoding specific +% We provide a default: +\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} + +\begin{document} + +\title{Test LGR font encoding definitions} +\author{Günter Milde} +% \date{} +\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 ++ - = \textless{} \textgreater{} -- --- +\textbraceleft{} [ () ] \textbraceright{} +% +\textbackslash{} \textbar{} +\textperthousand{} +% \textpertenthousand{} +\textvisiblespace{} +\Latin (Per-mille symbol is missing in LGR.) + +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: 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 Symbols for SI-units: +\Latin 5\,\textmu{}m, 5\,k\textohm{}; +\LGR 5\,\textmu{}{\Latin m}, 5\,{\Latin k}\textohm +\Latin ; but never italic: 5\,$\mu$m + +\Latin Letter schwa and Euro symbol: % \textschwa (needs e.g. T3) +\LGR \textschwa{}, \texteuro{} +\Latin + +Some symbol definitions expect a Latin font.\emph{ babel-greek} redefines +them with \verb|\latintext|, however this macro is not guaranteed to be +defined, so it should not be used in a font encoding definition file. The +textcomp.sty package provides coyright, registered, and trademark symbols +for use with any font encodings. (Like any other Latin character, the +``sharp s'' (\ss) is not save to use when LGR is the active font encoding.) + +Latin: +\textcopyright{} +\textregistered{} +\texttrademark{} +\SS{} (uppercase of \ss). + +LGR (with textcomp): +\LGR +\textcopyright{} +\textregistered{} +\texttrademark{} +\SS{} (\Latin uppercase of \LGR \ss). +\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 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{} \texttau{} \textupsilon{} + \textphi{} \textchi{} \textpsi{} \textomega{} +\end{quote} + +The small sigma is set with a different glyph if it ends a word: + +\begin{quote} + \LGR \textsigma{} \Latin textsigma \\ + \LGR \textfinalsigma{} \Latin textfinalsigma or textvarsigma +\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} + \LGR \textkoppa{} \Latin textkoppa \\ % ϟ + \LGR \textqoppa{} \Latin textqoppa (archaic koppa) \\ % ϙ + \LGR \textQoppa{} \Latin textQoppa (archaic Koppa) \\ % Ϙ + \LGR \textstigma{} \Latin textstigma \\ % ϛ + \LGR \textvarstigma{} \Latin textvarstigma \\ % no separate Unicode character + \LGR \textStigma{} \Latin 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} \\ % Ϛ + \LGR \textsampi{} \Latin textsampi \\ % ϡ + \LGR \textSampi{} \Latin textSampi \\ % Ϡ + \LGR \textdigamma{} \Latin textdigamma \\ % ϝ (\digamma used by amsmath!) + \LGR \textDigamma{} \Latin textDigamma \\ % Ϝ + % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals + \LGR \textdexiakeraia{} \Latin textdexiakeraia | % ʹ + \LGR \textnumeralsigngreek{} \Latin textnumeralsigngreek (Dexia keraia)\\ % ʹ + \LGR \textaristerikeraia{} \Latin textaristerikeraia | % ͵ + \LGR \textnumeralsignlowergreek{} \Latin textnumeralsignlowergreek + (Aristeri keraia)\\ % ͵ +\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 latter two symbols are not included in TeX's 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{} A\ypogegrammeni{} A\prosgegrammeni{}. + +\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{} A\ypogegrammeni{} A\prosgegrammeni{}. +} + +\<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{} +\'<{\textomicron} \~<{\textupsilon} \~>{\textomega} +\<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} +\'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} +\\ +\MakeUppercase{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} + \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} +} + + \<'A \<\'A \'<A \'\<A $\mapsto$ \MakeUppercase{\<'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|: +\begin{quote} + combined accent with tilde character: + \LGR \"~i \<~i \"~u \<~u \`>u $\mapsto$ + \LGR \MakeUppercase{\"~i \<~i \"~u \<~u \`>u} + + \Latin combined accent with tilde-accent macro: + \LGR \"\~i \~"u $\mapsto$ \MakeUppercase{\"\~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} |