diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/README | 14 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/README.html | 18 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.html | 378 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf | bin | 268422 -> 257385 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex | 85 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html | 359 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt | 1250 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def | 689 |
8 files changed, 1607 insertions, 1186 deletions
diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/README b/Master/texmf-dist/doc/latex/greek-fontenc/README index 95ff5a4954f..71d869868ad 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/README +++ b/Master/texmf-dist/doc/latex/greek-fontenc/README @@ -15,6 +15,13 @@ Greek font encoding definition files files for `Greek text font encodings`_ for use with fontenc_ and 8-bit TeX engines. Currently, only LGR_ is supported. +.. note:: The LICR macro names for Greek symbols are chosen pending + endorsement by the TeX community and related packages. + + Names for archaic characters, accents/diacritics, and + punctuation may change in future versions. + + Files ===== @@ -29,6 +36,9 @@ Files backslash + transliteration (``\~>\textalpha``) or iteratively (``\~\>\textalpha``). +`<lgrenc.def.txt>`_ + literate source (reStructuredText_ format) + `<lgrenc.def.html>`_ literate source (HTML format) @@ -38,8 +48,8 @@ Files `<lgrenc-test.pdf>`_ test output -The literate source was converted with PyLit_ to reStructuredText_ and with -Docutils_ to HTML format. +The literate source was converted with PyLit_ to TeX and with Docutils_ to +HTML format. Installation diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/README.html b/Master/texmf-dist/doc/latex/greek-fontenc/README.html index 78dcb3cef04..9a5344eb640 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/README.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/README.html @@ -8,8 +8,8 @@ <meta name="author" content="Günter Milde" /> <meta name="date" content="2013-05-16" /> <meta name="copyright" content="© 2013 Günter Milde <milde@users.sf.net>" /> -<link rel="stylesheet" href="../../../../../../Code/Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" /> -<link rel="stylesheet" href="../../../../../../Code/Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" /> +<link rel="stylesheet" href="../../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" /> +<link rel="stylesheet" href="../../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" /> </head> <body> <div class="document" id="greek-fontenc"> @@ -37,6 +37,13 @@ version 1.3 of this license or any later version.</p> files for <a class="reference internal" href="#greek-text-font-encodings">Greek text font encodings</a> for use with <a class="reference external" href="http://www.ctan.org/pkg/fontenc">fontenc</a> and 8-bit TeX engines. Currently, only <a class="reference internal" href="#lgr">LGR</a> is supported.</p> </div> +<div class="note"> +<p class="admonition-title">Note</p> +<p>The LICR macro names for Greek symbols are chosen pending +endorsement by the TeX community and related packages.</p> +<p>Names for archaic characters, accents/diacritics, and +punctuation may change in future versions.</p> +</div> <div class="section" id="files"> <h1>Files</h1> <dl class="docutils"> @@ -50,6 +57,9 @@ Greek typesetting rules else. Combined accents can be specified as backslash + transliteration (<tt class="literal"><span class="pre">\~>\textalpha</span></tt>) or iteratively (<tt class="literal"><span class="pre">\~\>\textalpha</span></tt>).</p> </dd> +<dt><a class="reference external" href="lgrenc.def.txt">lgrenc.def.txt</a></dt> +<dd><p>literate source (<a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> format)</p> +</dd> <dt><a class="reference external" href="lgrenc.def.html">lgrenc.def.html</a></dt> <dd><p>literate source (HTML format)</p> </dd> @@ -60,8 +70,8 @@ backslash + transliteration (<tt class="literal"><span class="pre">\~>\textal <dd><p>test output</p> </dd> </dl> -<p>The literate source was converted with <a class="reference external" href="http://pylit.berlios.de">PyLit</a> to <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> and with -<a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> to HTML format.</p> +<p>The literate source was converted with <a class="reference external" href="http://pylit.berlios.de">PyLit</a> to TeX and with <a class="reference external" href="http://docutils.sourceforge.net/rst.html">Docutils</a> to +HTML format.</p> </div> <div class="section" id="installation"> <h1>Installation</h1> diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.html b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.html deleted file mode 100644 index 7e2b8fe2e56..00000000000 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.html +++ /dev/null @@ -1,378 +0,0 @@ -<?xml version="1.0" encoding="utf-8" ?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" /> -<title></title> -<link rel="stylesheet" href="../../../../../../Code/Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" /> -<link rel="stylesheet" href="../../../../../../Code/Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" /> -</head> -<body> -<div class="document"> - - -<p>documentclass{article} -usepackage{cmap} % fix search and cut-and-paste in Acrobat Reader</p> -<p>% 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}</p> -<p>usepackage{parskip} -usepackage{textcomp} -usepackage[LGR,T1]{fontenc} -% usepackage[utf8]{inputenc}</p> -<p>newcommand{LGR}{fontencoding{LGR}selectfont} -newcommand{Latin}{fontencoding{T1}selectfont}</p> -<p>% pagestyle{empty} -% ————————————————————————-</p> -<p>begin{document}</p> -<p>title{Test LGR font encoding definitions} -date{} -maketitle</p> -<p>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.</p> -<p>section{Symbols}</p> -<p>See the source file lgrenc-test.tex for the macros used to access the -symbols.</p> -<p>subsection{Generic text symbols}</p> -<p>Latin: -+ - = < > – — textbraceleft{} [ () ] textbraceright{} -% -textbackslash{} -textbar{} -textperthousand{} -textpertenthousand{} -textvisiblespace{}</p> -<p>LGR: -LGR -+ - = textless{} textgreater{} – — -textbraceleft{} [ () ] textbraceright{} -% -textbackslash{} textbar{} -textperthousand{} -% textpertenthousand{} -textvisiblespace{} -Latin (Per-mille symbol is missign in LGR.)</p> -<p>Quotes: -% -Latin guillemotleft{}aguillemotright{} -LGR guillemotleft{}aguillemotright{}, -% -Latin textquoteleft{}atextquoteright{} -LGR textquoteleft{}atextquoteright{}, -% -Latin textquotedblleft{}atextquotedblright{} -LGR textquotedblleft{}atextquotedblright{} -Latin (double quotes wrong with Kerkis fonts),</p> -<dl class="docutils"> -<dt>Latin guilsinglleft{}aguilsinglright{}</dt> -<dd><p>quotedblbase{}atextquotedblright{}</p> -</dd> -</dl> -<div class="system-message"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 81)</p> -<p>Definition list ends without a blank line; unexpected unindent.</p> -</div> -<p>Single guillemots and base-quotes are missing in LGR.</p> -<p>Ligature break up: AY fi LGR AU “i $mapsto$ -Latin Atextcompwordmark{}Y ftextcompwordmark i -LGR Atextcompwordmark{}U “textcompwordmark i</p> -<p>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</p> -<p>Latin Symbols for SI-units: -Latin 5,textmu{}m, 5,ktextohm{}; -LGR 5,textmu{}{Latin m}, 5,{Latin k}textohm{}</p> -<p>Latin Letter schwa and Euro symbol: % textschwa (needs e.g. T3) -LGR textschwa{}, texteuro{}</p> -<p>Latin Some symbol definitions expect a Latin font. -Babel’s lgrenc.def defines 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. Instead, the textcomp.sty package -should be used to provide the symbols for all font encodings (using the -sharp s (ss) in Greek is bound to fail anyway).</p> -<p>Latin: -textcopyright{} -textregistered{} -texttrademark{} -SS{} (uppercase of ss).</p> -<p>LGR (with textcomp) -LGR -textcopyright{} -textregistered{} -texttrademark{} -SS{} (Latin uppercase of LGR ss). -Latin</p> -<p>subsection{Greek alphabet}</p> -<p>Greek letters via Latin transscription in LGR font encoding:</p> -<p>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}</p> -<p>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</p> -<p>Latin</p> -<p>subsection{Additional Greek symbols}</p> -<p>LGR koppa{} Latin koppa, % ϟ -LGR qoppa{} Latin archaic koppa, % ϙ -LGR Qoppa{} Latin archaic Koppa, % Ϙ -LGR stigma{} Latin stigma, % ϛ -LGR varstigma{} Latin stigma variant, -LGR Stigma{} Latin Stigma (Sigma-Tau-Ligature in CB-fonts), -LGR sampi{} Latin sampi, % ϡ -LGR Sampi{} Latin Sampi, % Ϡ -LGR ddigamma{} Latin digamma, % ϝ (digamma used by amsmath!) -LGR Digamma{} Latin Digamma, % Ϝ -% numeral signs: <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_numerals">http://en.wikipedia.org/wiki/Greek_numerals</a> -LGR anwtonos{} Latin Dexia keraia, % ʹ -LGR katwtonos{} Latin Aristeri keraia, % ͵</p> -<p>Latin Variant symbols for pi ($varpi$), kappa (emph{no TeX symbol -available}), rho ($varrho$), and theta ($vartheta$) are missing in -LGR.</p> -<p>section{Diacritics}</p> -<p>Capital Greek letters have Greek diacritics (except the dialytika) to the -left (instead of above) and drop them in UPPERCASE. This is -implemented for all combinations for which a precomposed Unicode -character exists (but not, e.g., LGR ~ALatin).</p> -<p>% 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 Η.</p> -<p>LaTeX standard accents (Latin, Greek, Greek Capitals) -$mapsto$ UPPERCASE</p> -<p>`{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} -}</p> -<p>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} -}</p> -<p>`{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} -}</p> -<p>Latin -The komma-below (verb|k|) is not defined in LGR.</p> -<p>Additional Greek diacritics</p> -<p>LGR -<{a} >{e} <`{i} ‘“i `”i ~”i `>{h} ‘<{o} ‘>{o} ~<{u} ~>{w} -$mapsto$ MakeUppercase{% -<{a} >{e} <`{i} ‘“i `”i ~”i `>{h} ‘<{o} ‘>{o} ~<{u} ~>{w} -}</p> -<p>% The dialytika is not used on Initial letters (“‘I “<a href="#id1"><span class="problematic" id="id2">`</span></a>I ~”I) -<{A} >{E} <`{I} ‘“I “<a href="#id3"><span class="problematic" id="id4">`</span></a>I ~”I `>{H} ‘<{O} ‘>{O} ~<{U} ~>{W} -$mapsto$ MakeUppercase{% -<{A} >{E} <`{I} ‘“I “<a href="#id5"><span class="problematic" id="id6">`</span></a>I ~”I `>{H} ‘<{O} ‘>{O} ~<{U} ~>{W} -}</p> -<div class="system-message" id="id1"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 220); <em><a href="#id2">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id3"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 220); <em><a href="#id4">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id5"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 220); <em><a href="#id6">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<p>Latin Input variants and their conversion with MakeUppercase:%</p> -<p>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.</p> -<p>MakeUppercase{ -~>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. -}</p> -<p><’A <’A ‘<A ‘<A $mapsto$ MakeUppercase{<’A <’A ‘<A ‘<A}. -end{quote}</p> -<p>Latin The tilde character can be used in combined accents. -However, in documents not defining the Babel language emph{greek} or -emph{polutonikogreek}, it will produce a -no-break space if converted with verb|MakeUppercase|:</p> -<p>LGR “~i <~i “~u <~u `>u $mapsto$ -LGR MakeUppercase{“~i <~i “~u <~u `>u} -\ -Latin Use the tilde-accent macro: -LGR MakeUppercase{“~i ~”u}.</p> -<p>Latin Combinations with named accents: -LGR accdasia’a accdasia`a accdasia~a.</p> -<p>Latin The dialytika must be kept in UPPERCASE, e.,g.</p> -<p>% from <a class="reference external" href="http://diacritics.typo.cz/index.php?id=70">http://diacritics.typo.cz/index.php?id=70</a> μαΐστρος -> ΜΑΪΣΤΡΟΣ. -LGR ma“‘istros $mapsto$ MakeUppercase{ma“‘istros} -Latin or % from teubner εὐζωΐα -> ΕΥΖΩΪΑ. -LGR e>uzw‘“ia $mapsto$ MakeUppercase{e>uzw‘“ia}.</p> -<p>Latin This is implemented for all input variants of diacritics with -dialytika:</p> -<p>LGR “i “‘i “<a href="#id7"><span class="problematic" id="id8">`</span></a>i “~i “u “‘u “<a href="#id9"><span class="problematic" id="id10">`</span></a>u “~u $mapsto$ -MakeUppercase{“i “‘i “<a href="#id11"><span class="problematic" id="id12">`</span></a>i “~i “u “‘u “<a href="#id13"><span class="problematic" id="id14">`</span></a>u “~u},</p> -<div class="system-message" id="id7"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 270); <em><a href="#id8">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id9"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 270); <em><a href="#id10">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id11"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 270); <em><a href="#id12">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id13"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 270); <em><a href="#id14">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<p>Latin Tonos and dasia mark a emph{hiatus} (break-up of a diphtong) if -placed on the first vowel of a diphtong ({LGR ‘ai, ‘au, ‘ei}). A -dialytika must be placed on the second vowel if they are dropped: LGR -(MakeUppercase{‘ai, ‘au, ‘ei}).</p> -<p>% from teubner: άυλος/ΑΫΛΟΣ -‘aulos $mapsto$ MakeUppercase{‘aulos}, ->’aulos $mapsto$ MakeUppercase{>’aulos}, -% from <a class="reference external" href="http://diacritics.typo.cz/index.php?id=69">http://diacritics.typo.cz/index.php?id=69</a> μάινα -> ΜΑΪΝΑ -m’aina $mapsto$ MakeUppercase{m’aina}, -% from <a class="reference external" href="http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema">http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema</a> -% κέικ, ἀυπνία/αϋπνία -k’eik, $mapsto$ MakeUppercase{k’eik} ->aupn’ia $mapsto$ MakeUppercase{>aupn’ia}</p> -<p>Latin Test: The auto-hiatus feature must keep proper working of tonos -and psili:</p> -<p>LGR MakeUppercase{‘a b}: Latin keep space after A.</p> -<p>LGR -newcommandmd{textcompwordmark} -newcommandMU{MakeUppercase}</p> -<blockquote> -<p>md MU{ AO AY AI AU RA OA UA DU} [ \</p> -</blockquote> -<div class="system-message"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299)</p> -<p>Block quote ends without a blank line; unexpected unindent.</p> -</div> -<p><md MU{ <AO <AY <AI <AU <RA <OA U<A D<U} [ \ ->md MU{ >AO >AY >AI >AU >RA >OA U>A D>U} [ \ ->’mdMU{ >’AO >’AY >’AI >’AU >’RA >’OA U>’A D>’U} [ \ -‘md MU{ ‘AO ‘AY ‘AI ‘AU ‘RA ‘OA U’A D’U} [ \ ->`mdMU{ >`AO >`AY >`AI >`AU >`RA >`OA U>`A D>`U} [ \ -<’mdMU{ <’AO <’AY <’AI <’AU <’RA <’OA U<’A D<’U} [ \ -`md MU{ `AO `AY `AI `AU `RA `OA U`A D`U} [ \ -<<a href="#id15"><span class="problematic" id="id16">`</span></a>mdMU{ <<a href="#id17"><span class="problematic" id="id18">`</span></a>AO <<a href="#id19"><span class="problematic" id="id20">`</span></a>AY <<a href="#id21"><span class="problematic" id="id22">`</span></a>AI <<a href="#id23"><span class="problematic" id="id24">`</span></a>AU <<a href="#id25"><span class="problematic" id="id26">`</span></a>RA <<a href="#id27"><span class="problematic" id="id28">`</span></a>OA U<<a href="#id29"><span class="problematic" id="id30">`</span></a>A D<<a href="#id31"><span class="problematic" id="id32">`</span></a>U} [ \ -~md MU{ ~AO ~AY ~AI ~AU ~RA ~OA U~A D~U} [ \ -~>mdMU{ ~>AO ~>AY ~>AI ~>AU ~>RA ~>OA U~>A D~>U} [ \ -~<mdMU{ ~<AO ~<AY ~<AI ~<AU ~<RA ~<OA U~<A D~<U} [ \ -~<mdMU{ ~<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} [ \ -“~mdMU{ ~”AO ~”AY ~”AI ~”AU ~”RA ~”OA U~”A D~”U} [ \</p> -<div class="system-message" id="id15"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id16">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id17"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id18">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id19"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id20">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id21"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id22">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id23"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id24">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id25"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id26">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id27"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id28">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id29"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id30">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id31"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 299); <em><a href="#id32">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<p>Latin -rows 3ldots 7: Lookahead (to check for a hiatus) breaks kerning before A -with tonos or psili.</p> -<p>% ‘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</p> -<p>rows 15 and 16: Like in any font encoding, there is no kerning for -non-defined accent-letter-combinations (dialytica on LGR A O DLatin).% -footnote{with the Kerkis fonts, kerning is kept}</p> -<p>The uppercase of the zero-width space at the place of <tt class="literal">v</tt> is the -Dasia-Oxia accent~LGR MakeUppercase{v}Latin , the glyph at the -position of <tt class="literal">V</tt>. It is suppressed for uppercased accents:</p> -<p>LGR -<v, >v, >’v, ‘v, >`v, <’v, `v, <<a href="#id33"><span class="problematic" id="id34">`</span></a>v, ~v, ~>v, ~<v, “v, ~”v -$mapsto$ MakeUppercase{ -<v, >v, >’v, ‘v, >`v, <’v, `v, <<a href="#id35"><span class="problematic" id="id36">`</span></a>v, ~v, ~>v, ~<v, “v, ~”v -}</p> -<div class="system-message" id="id33"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 331); <em><a href="#id34">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<div class="system-message" id="id35"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 331); <em><a href="#id36">backlink</a></em></p> -<p>Inline interpreted text or phrase reference start-string without end-string.</p> -</div> -<p>Latin</p> -<p>Downcasing should keep diacritics (of course, it cannot regenerate -<a href="#id37"><span class="problematic" id="id38">``</span></a>manually” dropped ones): -LGR ‘A “I “U ~”A $mapsto$ MakeLowercase{‘A “I “U ~”A}</p> -<div class="system-message" id="id37"> -<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">/home/milde/texmf/tex/latex/greek/encodings/greek-fontenc/lgrenc-test.tex</tt>, line 339); <em><a href="#id38">backlink</a></em></p> -<p>Inline literal start-string without end-string.</p> -</div> -<p>end{document}</p> -</div> -</body> -</html> diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf Binary files differindex 34affac9d71..f0fff1d197b 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex index 219738dec0d..8fe8862c207 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex @@ -23,6 +23,7 @@ \newcommand{\LGR}{\fontencoding{LGR}\selectfont} \newcommand{\Latin}{\fontencoding{T1}\selectfont} +\DeclareTextCommandDefault{\ensuregreek}[1]{{\fontencoding{LGR}\selectfont #1}} % \pagestyle{empty} % ------------------------------------------------------------------------- @@ -115,16 +116,16 @@ Ligature break up: AY fi \LGR AU "i $\mapsto$ \Latin Letter schwa and Euro symbol: % \textschwa (needs e.g. T3) \LGR \textschwa{}, \texteuro{} -\Latin +\Latin -Some symbol definitions expect a Latin font. Babel's lgrenc.def defines 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. Instead, the +Some symbol definitions expect a Latin font. Babel 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. Instead, the textcomp.sty package should be used to provide the symbols for all font encodings. (Like any other Latin character, the ``sharp s'' (\ss) is not save to use when LGR is the active font encoding.) -Latin: +Latin: \textcopyright{} \textregistered{} \texttrademark{} @@ -136,7 +137,7 @@ LGR (with textcomp): \textregistered{} \texttrademark{} \SS{} (\Latin uppercase of \LGR \ss). -\Latin +\Latin \subsection{Greek alphabet} @@ -145,7 +146,7 @@ Greek letters via Latin transcription and LICR macros: \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 +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{} @@ -156,36 +157,43 @@ 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 \textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{} \textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{} \textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{} -\textrho{} \textsigma{} \textvarsigma{} \texttau{} \textupsilon{} +\textrho{} \textsigma{} \texttau{} \textupsilon{} \textphi{} \textchi{} \textpsi{} \textomega{} +\Latin The small sigma is set with a different +glyph if it ends a word: -\Latin +\LGR \textsigma{} \Latin textsigma \\ +\LGR \textfinalsigma{} \Latin textfinalsigma or textvarsigma + +In the Latin transcription, the letter `s' stands for \verb|\textautosigma| +which automatically chooses the glyph according to the position. \subsection{Additional Greek symbols} -\LGR \koppa{} \Latin koppa \\ % ϟ -\LGR \qoppa{} \Latin qoppa (archaic koppa) \\ % ϙ -\LGR \Qoppa{} \Latin Qoppa (archaic Koppa) \\ % Ϙ -\LGR \stigma{} \Latin stigma \\ % ϛ -\LGR \varstigma{} \Latin varstigma \\ % no separate Unicode character -\LGR \Stigma{} \Latin Stigma (Sigma-Tau-Ligature in CB-fonts)% +\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 confusably similar to the cursive - digamma} \\ % Ϛ -\LGR \sampi{} \Latin sampi \\ % ϡ -\LGR \Sampi{} \Latin Sampi \\ % Ϡ + ligature, whose shape was confusably 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 \\ % Ϝ +\LGR \textDigamma{} \Latin textDigamma \\ % Ϝ % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals -\LGR \anwtonos{} \Latin Dexia keraia \LGR (anwtonos) \\ % ʹ -\LGR \katwtonos{} \Latin Aristeri keraia, \LGR (katwtonos) \\ % ͵ - -\Latin Variant shapes for pi ($\varpi$), kappa (\emph{no TeX symbol -available}), rho ($\varrho$), and theta ($\vartheta$) have no syntactic -meaning in Greek text and are not included in the LGR encoding. Some -Greek test fonts use variant shapes in place of the ``regular'' ones. +\LGR \textnumeralsigngreek{} \Latin textnumeralsigngreek (Dexia keraia) \\ % ʹ +\LGR \textnumeralsignlowergreek{} \Latin textnumeralsignlowergreek + (Aristeri keraia)\\ % ͵ +\Latin Mathematical notation sometimes uses variant shapes for pi ($\varpi$), +kappa (\emph{no TeX symbol available}), rho ($\varrho$), and theta +($\vartheta$). These variations have no syntactic meaning in Greek text and +are not given code-points in the LGR encoding. Some Greek text fonts use +variant shapes in place of the ``regular'' ones. \section{Diacritics} @@ -242,7 +250,7 @@ $\mapsto$ \MakeUppercase{% \Latin Input variants and their conversion with MakeUppercase:% -\begin{quote} +\begin{quote} \LGR \~>a \>\~a \~\>{a}, \~<a \<\~a \<~a \~\<a \~<a, @@ -306,11 +314,7 @@ dialytika: \LGR \"i \"'i \"`i \"\~i \"u \"'u \"`u \"\~u $\mapsto$ \MakeUppercase{\"i \"'i \"`i \"\~i \"u \"'u \"`u \"\~u}, -\Latin but fails with \verb+\"`+ or \verb+\"'+ if the current language is -\texttt{greek} or \texttt{polutonikogreek} (which maps \texttt{'} and -\texttt{`} to an empty character preventing the correct placing of the -dialytika via TextComposite definitions. - +\Latin 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 @@ -326,10 +330,6 @@ m\'aina $\mapsto$ \MakeUppercase{m\'aina}, k\'eik, $\mapsto$ \MakeUppercase{k\'eik} \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia} -This fails with \verb+\>'+ if the current language is \texttt{greek} or -\texttt{polutonikogreek} (which maps \texttt{'} to an empty character -preventing the correct placing of the dialytika. - \Latin Test the auto-hiatus feature for side-effects: \LGR \MakeUppercase{\'a b}: \Latin keep space after A. @@ -356,16 +356,15 @@ preventing the correct placing of the dialytika. \"~\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 +\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).% -\footnote{with the Kerkis fonts, kerning is kept} +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). The uppercase of the zero-width space at the place of ``v`` is the Dasia-Oxia accent~\LGR \MakeUppercase{v}\Latin , the glyph at the @@ -381,6 +380,6 @@ $\mapsto$ \MakeUppercase{ Downcasing should keep diacritics (of course, it cannot regenerate ``manually" dropped ones): -\LGR 'A \"I \"U \~"A $\mapsto$ \MakeLowercase{\'A \"I \"U \~"A} +\LGR 'A \"I \"U \~<A $\mapsto$ \MakeLowercase{\'A \"I \"U \~<A} \end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html index 9c609c9b3f4..48282a59f38 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html @@ -6,8 +6,8 @@ <meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" /> <title>lgrenc.def</title> <meta name="copyright" content="© 2010 Günter Milde" /> -<link rel="stylesheet" href="../../../../../../Code/Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" /> -<link rel="stylesheet" href="../../../../../../Code/Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" /> +<link rel="stylesheet" href="../../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css1.css" type="text/css" /> +<link rel="stylesheet" href="../../../../../Python/docutils-svn/docutils/docutils/writers/html4strict/html4css2.css" type="text/css" /> </head> <body> <div class="document" id="lgrenc-def"> @@ -97,13 +97,13 @@ package.</p> </div> <div class="section" id="changelog"> <h1><a class="toc-backref" href="#id1">Changelog</a></h1> -<p class="borderless">Development of this file started under the name “lgrxenc.def” as part of the +<p>Development of this file started under the name “lgrxenc.def” as part of the <a class="reference external" href="http://www.ctan.org/pkg/lgrx">lgrx</a> bundle. With version 0.8, it moved to <tt class="literal"><span class="pre">greek-fontenc/lgrx.def</span></tt>.</p> -<table> +<table class="borderless"> <colgroup> <col width="7%" /> -<col width="17%" /> -<col width="76%" /> +<col width="16%" /> +<col width="77%" /> </colgroup> <tbody> <tr><td><p>0.1</p></td> @@ -112,44 +112,93 @@ package.</p> </tr> <tr><td><p>0.2</p></td> <td><p>2010-04-20</p></td> -<td><p>diacritics dropped in UPPERCASE</p></td> +<td><p>diacritics dropped in UPPERCASE.</p></td> </tr> <tr><td><p>0.3</p></td> <td><p>2010-06-08</p></td> <td><p>handle Titlecase and UPPERCASE extending -<tt class="literal">\@uclclist</tt></p></td> +<tt class="literal">\@uclclist</tt>.</p></td> </tr> <tr><td><p>0.4</p></td> <td><p>2010-06-15</p></td> -<td><p>more text symbols</p></td> +<td><p>more text symbols.</p></td> </tr> <tr><td><p>0.5</p></td> <td><p>2010-08-27</p></td> -<td><p>support <tt class="literal">\textalpha</tt> … <tt class="literal">\textOmega</tt></p></td> +<td><p>support <tt class="literal">\textalpha</tt> … <tt class="literal">\textOmega</tt>.</p></td> </tr> <tr><td><p>0.5.1</p></td> <td><p>2012-05-08</p></td> -<td><p>upload to CTAN</p></td> +<td><p>upload to CTAN.</p></td> </tr> <tr><td><p>0.6</p></td> <td><p>2012-06-29</p></td> -<td><p><tt class="literal">\TextGreek</tt> wrapper command, -aliases for <tt class="literal">puenc.def</tt> compatibility</p></td> +<td><p><tt class="literal">\TextGreek</tt> wrapper command,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>aliases for <tt class="literal">puenc.def</tt> compatibility.</p></td> </tr> <tr><td><p>0.6.1</p></td> <td><p>2013-02-12</p></td> -<td><p><tt class="literal">\@uclclist</tt> entries for <cite>PU</cite> aliases</p></td> +<td><p><tt class="literal">\@uclclist</tt> entries for <cite>PU</cite> aliases.</p></td> </tr> <tr><td><p>0.7</p></td> <td><p>2013-05-13</p></td> -<td><p>documentation update, new accent macros names, -<tt class="literal">\TextGreek</tt> renamed to <tt class="literal">\ensuregreek</tt>.</p></td> +<td><p>documentation update, new accent macros names,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p><tt class="literal">\TextGreek</tt> renamed to <tt class="literal">\ensuregreek</tt>.</p></td> </tr> <tr><td><p>0.8</p></td> <td><p>2013-05-13</p></td> -<td><p>rename to lgrenc.def (superseding the <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> version), -move to greek-fontenc, -drop back-compatibility definitions</p></td> +<td><p>rename to lgrenc.def (superseding the <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> version),</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>move to greek-fontenc,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>drop the old (<0.7) internal accent macros names.</p></td> +</tr> +<tr><td><p>0.8.1</p></td> +<td><p>2013-05-22</p></td> +<td><p>auxiliary macro update@uclc@with@greek,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>conservative naming: “text” prefix for archaic letters,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>“LGR@” prefix for internal commands,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>remove not required alias macros.</p></td> +</tr> +<tr><td><p>0.8.2</p></td> +<td><p>2013-05-23</p></td> +<td><p>fix name: <tt class="literal">\textpentehkaton</tt> -> <tt class="literal">\textpentehekaton</tt>,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>fix <tt class="literal">\textperiodcentered</tt>,</p></td> +</tr> +<tr><td><!-- --> +</td> +<td> </td> +<td><p>add composite command for Ῥ (Rho with Dasia).</p></td> </tr> </tbody> </table> @@ -268,6 +317,11 @@ without the <tt class="literal">text</tt>-prefix, especially for letters,</p> <li><p><tt class="literal">text</tt> prefix marks a macro as confined to text mode.</p></li> </ul> </dd> +<dt>Conclusion:</dt> +<dd><p>To avoid name clashes, the font encoding file uses the <tt class="literal">text</tt> prefix +for symbols. Aliases (short forms, compatibility defs, etc.) can be +defined in packages.</p> +</dd> </dl> </li> </ul> @@ -280,19 +334,18 @@ without the <tt class="literal">text</tt>-prefix, especially for letters,</p> <li><p>tipa.sty and ucs use the “text” prefix also for accents.</p> <p>However, the <a class="reference external" href="http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt">Adobe Glyph List For New Fonts</a> maps, e.g., “tonos” and “dieresistonos” to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence -<cite>texttonos</cite> and <cite>textdiaresistonos</cite> should denote these spacing -characters.</p> +<cite>texttonos</cite> and <cite>textdiaresistonos</cite> should be spacing characters.</p> </li> <li><p>textcomp (ts1enc.def) defines <tt class="literal"><span class="pre">\capital...</span></tt> accents (i.e. without <tt class="literal">text</tt> prefix).</p></li> -<li><p>Use a common prefix <tt class="literal"><span class="pre">\accent...</span></tt> or postfix <tt class="literal"><span class="pre">\...accent</span></tt>, -or short <tt class="literal"><span class="pre">\acc...</span></tt>?</p></li> +<li><p>Use a common prefix <tt class="literal"><span class="pre">\textaccent...</span></tt>, <tt class="literal"><span class="pre">\accent...</span></tt>, +or just <tt class="literal"><span class="pre">\acc...</span></tt> (cf <tt class="literal">\@tabacckludge</tt>)?</p></li> </ul> <p>Currently, <cite>lgrx</cite> uses for <a class="reference internal" href="#diacritics">diacritics</a>:</p> <ul class="simple"> <li><p>Greek names like in Unicode, and ucsencs.def</p></li> <li><p>The prefix “acc” to distinguish the macros as <cite>TextAaccent</cite> and reduce the -risc of name clashes (cf <tt class="literal">\@tabacckludge</tt>).</p></li> +risc of name clashes.</p></li> <li><p>For the end-user “symbol macros” (<tt class="literal">\~ \' \` \" \< \></tt>) are provided.</p></li> </ul> </div> @@ -322,7 +375,8 @@ interfering with test via eTeX’s <tt class="literal">\ifdefined</tt>). However no harm is done as the macro is defined by the <a class="reference internal" href="#identification">identification</a> below anyway.</p> </div> -<pre class="literal-block">\@ifundefined{ver@lgrenc.def} +<pre class="literal-block">% read this file only once +\@ifundefined{ver@lgrenc.def} {} {\message{LGR font encoding definitions already loaded} \expandafter\endinput % "return" @@ -332,7 +386,12 @@ anyway.</p> <div class="section" id="identification"> <h2><a class="toc-backref" href="#id9">Identification</a></h2> <pre class="literal-block">\ProvidesFile{lgrenc.def} -[2013/05/13 v0.8 LGR Greek font encoding definitions] +[2013/05/24 v0.8.2 LGR Greek font encoding definitions] +% Copyright © 2010 Günter Milde +% This file is part of the "greek-fontenc" package. +% It may be distributed and/or modified under the +% conditions of the "LaTeX Project Public License", either +% version 1.3 of this license or any later version. </pre> <p>You can test the version date using</p> <pre class="code latex literal-block"><span class="keyword">\@</span>ifl@ter <span class="name builtin">{</span>extension<span class="name builtin">}{</span>filename<span class="name builtin">}{</span>date<span class="name builtin">}{</span>YES<span class="name builtin">}{</span>NO<span class="name builtin">}</span> @@ -362,7 +421,7 @@ wrapping of compound Unicode character definitions.</p> specific to the LGR font encoding.</p> <p>The LICR macros provide a way to access the symbols independent of the specific font encoding, in any font encoding supporting Greek. An -alternative Greek font encodings is. LGI (<a class="reference external" href="http://www.ctan.org/pkg/ibycus-babel">ibycus</a>). Greek script is also +alternative Greek font encodings is LGI (<a class="reference external" href="http://www.ctan.org/pkg/ibycus-babel">ibycus</a>). Greek script is also supported by the Unicode-based font encodings PU (<cite>PDF Unicode</cite> used by <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a> for PDF metadata), EU1 (XeTeX) and EU2 (LuaTeX). The <a class="reference external" href="textalpha.sty.html">textalpha</a> package makes these macros available independent of the current font @@ -411,7 +470,7 @@ encoding.</p> \DeclareTextSymbol{\textrho}{LGR}{114} \DeclareTextCommand{\textsigma}{LGR}{s\noboundary} % σ \DeclareTextSymbol{\textvarsigma}{LGR}{99} % ς final sigma -\DeclareTextSymbol{\textfinalsigma}{LGR}{99} % ς final sigma +\DeclareTextCommand{\textfinalsigma}{LGR}{\textvarsigma} % ς final sigma \DeclareTextSymbol{\textautosigma}{LGR}{115} % σ (ς at end of word) \DeclareTextSymbol{\texttau}{LGR}{116} \DeclareTextSymbol{\textupsilon}{LGR}{117} @@ -425,64 +484,64 @@ encoding.</p> <h3><a class="toc-backref" href="#id13">Additional Greek symbols</a></h3> <div class="section" id="ancient-greek-numbers-athenian-numerals"> <h4><a class="toc-backref" href="#id14">Ancient Greek Numbers (Athenian Numerals)</a></h4> -<p>Names from the <a class="reference external" href="http://www.ctan.org/pkg/athnum">athnum</a> package -(TODO: should we define them here?):</p> -<pre class="literal-block">%\DeclareTextSymbol{\PiDelta}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY -%\DeclareTextSymbol{\PiEta}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED -%\DeclareTextSymbol{\PiChi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND -%\DeclareTextSymbol{\PiMu}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND -</pre> -<p>Names from <tt class="literal"><span class="pre">xl-lgr.enc</span></tt> (Greek numerals):</p> -<pre class="literal-block">\DeclareTextSymbol{\pentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY -\DeclareTextSymbol{\pentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED -\DeclareTextSymbol{\penteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND -\DeclareTextSymbol{\pentemurioi}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND +<p>Names from <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a> (<tt class="literal">ucsencs.def</tt>) +(In ucs, five hundred is (wrongly?) named textpentehkaton.)</p> +<pre class="literal-block">\DeclareTextSymbol{\textpentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY +\DeclareTextSymbol{\textpentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED +\DeclareTextSymbol{\textpenteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND +\DeclareTextSymbol{\textpentemuria}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND </pre> </div> <div class="section" id="archaic-letters"> <h4><a class="toc-backref" href="#id15">Archaic letters</a></h4> -<p>Names after <a class="reference external" href="http://www.ctan.org/pkg/teubner">teubner</a> and <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a>. The “text” prefix is only used for Digamma, -which is also used in mathematical context:</p> -<pre class="literal-block">\DeclareTextSymbol{\stigma}{LGR}{6} % ϛ (greek.ldf, teubner) -\DeclareTextSymbol{\varstigma}{LGR}{7} % stigma variant (CB.enc, teubner) -\DeclareTextSymbol{\koppa}{LGR}{18} % ϟ (greek small letter koppa) -\DeclareTextSymbol{\qoppa}{LGR}{19} % ϙ (archaic koppa) -\DeclareTextSymbol{\Qoppa}{LGR}{21} % Ϙ (archaic Koppa) -\DeclareTextSymbol{\Stigma}{LGR}{22} % Ϛ (teubner) in some fonts ϹΤ ligature -\DeclareTextSymbol{\Sampi}{LGR}{23} % Ϡ -\DeclareTextSymbol{\sampi}{LGR}{27} % ϡ -\DeclareTextSymbol{\anoteleia}{LGR}{38} % · -\DeclareTextSymbol{\erotimatiko}{LGR}{63} % ; -% \digamma used by amsmath for math-macro: -\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (uni-3.def (ucs)) -\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (uni-3.def (ucs)) +<p>Names after <a class="reference external" href="http://www.ctan.org/pkg/teubner">teubner</a> and <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a>:</p> +<pre class="literal-block">\DeclareTextSymbol{\textstigma}{LGR}{6} % ϛ +\DeclareTextSymbol{\textvarstigma}{LGR}{7} % stigma variant (CB.enc, teubner) +\DeclareTextSymbol{\textkoppa}{LGR}{18} % ϟ (greek small letter koppa) +\DeclareTextSymbol{\textqoppa}{LGR}{19} % ϙ (archaic koppa) +\DeclareTextSymbol{\textQoppa}{LGR}{21} % Ϙ (archaic Koppa) +\DeclareTextSymbol{\textStigma}{LGR}{22} % Ϛ in some fonts ϹΤ ligature +\DeclareTextSymbol{\textSampi}{LGR}{23} % Ϡ +\DeclareTextSymbol{\textsampi}{LGR}{27} % ϡ +\DeclareTextSymbol{\textanoteleia}{LGR}{38} % · +\DeclareTextSymbol{\texterotimatiko}{LGR}{63} % ; +\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro +\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs) </pre> -<p>Compatibility aliases for <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a>’s <tt class="literal">greek.ldf</tt> and <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a>’s puenc.def, -defined via <cite>DeclareTextCommand</cite> so that up/downcasing works without the -need for additional uclclist entries:</p> -<pre class="literal-block">\DeclareTextCommand{\vardigamma}{LGR}{\varstigma} % greek.ldf -\DeclareTextCommand{\textstigmagreek}{LGR}{\stigma} % puenc.def -\DeclareTextCommand{\textkoppagreek}{LGR}{\koppa} % puenc.def -\DeclareTextCommand{\textStigmagreek}{LGR}{\Stigma} % puenc.def -\DeclareTextCommand{\textSampigreek}{LGR}{\Sampi} % puenc.def -\DeclareTextCommand{\textsampigreek}{LGR}{\sampi} % puenc.def -\DeclareTextCommand{\ddigamma}{LGR}{\textdigamma} % greek.ldf +<p>Compatibility aliases for <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a>’s puenc.def, defined via +<cite>DeclareTextCommand</cite> so that up/downcasing works without the need for +additional uclclist entries:</p> +<pre class="literal-block">\DeclareTextCommand{\textstigmagreek}{LGR}{\textstigma} % puenc.def +\DeclareTextCommand{\textkoppagreek}{LGR}{\textkoppa} % puenc.def +\DeclareTextCommand{\textStigmagreek}{LGR}{\textStigma} % puenc.def +\DeclareTextCommand{\textSampigreek}{LGR}{\textSampi} % puenc.def +\DeclareTextCommand{\textsampigreek}{LGR}{\textsampi} % puenc.def \DeclareTextCommand{\textdigammagreek}{LGR}{\textdigamma} % puenc.def -\DeclareTextCommand{\Digamma}{LGR}{\textDigamma} % greek.ldf \DeclareTextCommand{\textDigammagreek}{LGR}{\textDigamma} % puenc.def </pre> +<p>Compatibility aliases for <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a>’s <tt class="literal">greek.ldf</tt> (will be moved to the babel +package). :</p> +<pre class="code latex literal-block"><span class="comment">% \digamma used by amsmath for math-macro +</span><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\ddigamma</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textdigamma</span><span class="name builtin">}</span> <span class="comment">% greek.ldf +</span><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\vardigamma</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textvarstigma</span><span class="name builtin">}</span> <span class="comment">% greek.ldf +</span><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\Digamma</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textDigamma</span><span class="name builtin">}</span> <span class="comment">% greek.ldf</span> +</pre> </div> <div class="section" id="numeral-signs"> <h4><a class="toc-backref" href="#id16">Numeral signs</a></h4> -<p>See also <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_numerals">http://en.wikipedia.org/wiki/Greek_numerals</a></p> -<p>Names from <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> and <a class="reference external" href="http://www.ctan.org/pkg/teubner">teubner</a>:</p> -<pre class="literal-block">\DeclareTextSymbol{\anwtonos}{LGR}{254} % ʹ (Dexia keraia) -\DeclareTextSymbol{\katwtonos}{LGR}{255} % ͵ (Aristeri keraia) -</pre> -<p>Compatibility definitions for <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a>’s puenc.def:</p> +<p>See also <a class="reference external" href="http://en.wikipedia.org/wiki/Greek_numerals">http://en.wikipedia.org/wiki/Greek_numerals</a> +Names from <a class="reference external" href="http://www.ctan.org/pkg/hyperref">hyperref</a>’s puenc.def:</p> <pre class="literal-block">\DeclareTextSymbol{\textnumeralsigngreek}{LGR}{254} % ʹ (puenc.def) \DeclareTextSymbol{\textnumeralsignlowergreek}{LGR}{255} % ͵ (puenc.def) </pre> +<p>Names from <a class="reference external" href="http://www.ctan.org/pkg/babel">babel</a> and <a class="reference external" href="http://www.ctan.org/pkg/teubner">teubner</a></p> +<pre class="code latex literal-block"><span class="keyword">\DeclareTextSymbol</span><span class="name builtin">{</span><span class="keyword">\anwtonos</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>254<span class="name builtin">}</span> <span class="comment">% ʹ (Dexia keraia) +</span><span class="keyword">\DeclareTextSymbol</span><span class="name builtin">{</span><span class="keyword">\katwtonos</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>255<span class="name builtin">}</span> <span class="comment">% ͵ (Aristeri keraia)</span> +</pre> +<p>Names from <a class="reference external" href="http://www.ctan.org/pkg/unicode">ucs</a></p> +<pre class="code latex literal-block"><span class="keyword">\DeclareTextSymbol</span><span class="name builtin">{</span><span class="keyword">\textdexiakeraia</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>254<span class="name builtin">}</span> <span class="comment">% ʹ (Dexia keraia) +</span><span class="keyword">\DeclareTextSymbol</span><span class="name builtin">{</span><span class="keyword">\textaristerikeraia</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>255<span class="name builtin">}</span> <span class="comment">% ͵ (Aristeri keraia)</span> +</pre> </div> </div> <div class="section" id="other"> @@ -493,20 +552,20 @@ need for additional uclclist entries:</p> <li><p>use established macro names that match with other <tt class="literal">*enc.def</tt> files and <tt class="literal">textcomp.sty</tt>.</p></li> </ul> -<pre class="literal-block">% all encodings: See usrguide.pdf, chapter 3.14 ff -\DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH +<p>All encodings: See usrguide.pdf, chapter 3.14 ff:</p> +<pre class="literal-block">\DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH \DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘ \DeclareTextSymbol{\textquoteright}{LGR}{29} % ’ -\DeclareTextSymbol{\textperiodcentered}{LGR}{46} % · = \textanoteleia +\DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia \DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER \DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH - -% T1 -\DeclareTextSymbol{\guillemotleft}{LGR}{123} % « +</pre> +<p>T1:</p> +<pre class="literal-block">\DeclareTextSymbol{\guillemotleft}{LGR}{123} % « \DeclareTextSymbol{\guillemotright}{LGR}{125} % » - -% TS1 -\ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘ +</pre> +<p>TS1:</p> +<pre class="literal-block">\ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘ \ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯ \ProvideTextCommand{\textasciidieresis}{LGR}{\char34\textcompwordmark} % " \ProvideTextCommand{\textasciiacute}{LGR}{\char39\textcompwordmark} % ' @@ -516,9 +575,9 @@ need for additional uclclist entries:</p> \DeclareTextSymbol{\texteuro}{LGR}{24} % € \euro in greek.ldf \DeclareTextSymbol{\textpercent}{LGR}{37} % % \DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permille in greek.ldf - -% T3 -\DeclareTextSymbol{\textschwa}{LGR}{26} % ə +</pre> +<p>T3:</p> +<pre class="literal-block">\DeclareTextSymbol{\textschwa}{LGR}{26} % ə </pre> </div> <div class="section" id="not-implemented"> @@ -540,12 +599,12 @@ in a font-encoding definition file as they</p> <li><p>require <tt class="literal">\textlatin</tt> which is defined in <tt class="literal">babel.def</tt>,</p></li> <li><p>prevent use of TS1 symbols set as default by <tt class="literal">textcomp.sty</tt>.</p></li> </ul> -<pre class="literal-block">%\ProvideTextCommand{\textcopyright}{LGR}{\textcircled{\textlatin{c}}} -%\ProvideTextCommand{\textregistered}{LGR}{\textcircled{\textlatin{\textsc r}}} -%\ProvideTextCommand{\texttrademark}{LGR}{\textsuperscript{\textlatin{TM}}} -%\ProvideTextCommand{\SS}{LGR}{\textlatin{SS}} +<pre class="code latex literal-block"><span class="keyword">\ProvideTextCommand</span><span class="name builtin">{</span><span class="keyword">\textcopyright</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textcircled</span><span class="name builtin">{</span><span class="keyword">\textlatin</span><span class="name builtin">{</span>c<span class="name builtin">}}}</span> +<span class="keyword">\ProvideTextCommand</span><span class="name builtin">{</span><span class="keyword">\textregistered</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textcircled</span><span class="name builtin">{</span><span class="keyword">\textlatin</span><span class="name builtin">{</span><span class="keyword">\textsc</span> r<span class="name builtin">}}}</span> +<span class="keyword">\ProvideTextCommand</span><span class="name builtin">{</span><span class="keyword">\texttrademark</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textsuperscript</span><span class="name builtin">{</span><span class="keyword">\textlatin</span><span class="name builtin">{</span>TM<span class="name builtin">}}}</span> +<span class="keyword">\ProvideTextCommand</span><span class="name builtin">{</span><span class="keyword">\SS</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\textlatin</span><span class="name builtin">{</span>SS<span class="name builtin">}}</span> </pre> -<p>They may be moved to <tt class="literal">greek.ldf</tt> one day (with a caveat for textcomp/TS1).</p> +<p>They were moved to <tt class="literal">greek.ldf</tt>.</p> </div> </div> <div class="section" id="diacritics"> @@ -605,10 +664,8 @@ with kerning:</p> <p>For classical Greek and linguistics, the LGR font encoding contains a number of additional diacritic symbols:</p> <pre class="literal-block">\DeclareTextAccent{\accinvertedbrevebelow}{LGR}{1} % INVERTED BREVE BELOW -\DeclareTextAccent{\subinvertedbreve}{LGR}{1} % (lgrx) \DeclareTextAccent{\textsubarch}{LGR}{1} % (tipa) \DeclareTextAccent{\accbrevebelow}{LGR}{20} % BREVE BELOW -\DeclareTextAccent{\subbreve}{LGR}{20} % (lgrx) \DeclareTextAccent{\u}{LGR}{30} % BREVE \DeclareTextAccent{\=}{LGR}{31} % MACRON </pre> @@ -625,8 +682,8 @@ of additional diacritic symbols:</p> </pre> <p>TODO: do we also want alternative symbols for the breathings (cf. X compose table, LCI encoding)?</p> -<pre class="literal-block">%\DeclareTextCommand{\(}{LGR}{\accdasia} -%\DeclareTextCommand{\)}{LGR}{\accpsili} +<pre class="code latex literal-block"><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="literal string">\(</span><span class="name builtin">}{LGR}{</span><span class="name variable">\accdasia</span><span class="name builtin">} +</span><span class="name variable">\DeclareTextCommand</span><span class="name builtin">{</span><span class="literal string">\)</span><span class="name builtin">}{</span>LGR<span class="name builtin">}{</span><span class="keyword">\accpsili</span><span class="name builtin">}</span> </pre> <p>Two Unicode names for one character:</p> <pre class="literal-block">\DeclareTextCommand{\accoxia}{LGR}{\acctonos} @@ -956,6 +1013,8 @@ in cases where they are not needed when writing in lowercase)</p> \DeclareTextCompositeCommand{\acctonos}{LGR}{O}{'O} \DeclareTextCompositeCommand{\accvaria}{LGR}{O}{`O} +\DeclareTextCompositeCommand{\accdasia}{LGR}{R}{<R} + \DeclareTextCompositeCommand{\accdasia}{LGR}{U}{<U} \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{U}{<`U} \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{U}{<'U} @@ -1030,6 +1089,8 @@ in cases where they are not needed when writing in lowercase)</p> \DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmicron}{'O} \DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmicron}{`O} +\DeclareTextCompositeCommand{\accdasia}{LGR}{\textRho}{<R} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textUpsilon}{<U} \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textUpsilon}{<`U} \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textUpsilon}{<'U} @@ -1062,24 +1123,27 @@ in cases where they are not needed when writing in lowercase)</p> <p>If UPPERCASE (all-caps) is generated with <tt class="literal">\MakeUppercase</tt>, macro substitutions in the <tt class="literal">\@uclclist</tt> apply. This can be used to drop the diacritics (except dialytika).</p> -<p>Based on the <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> and <tt class="literal">fontenc.sty</tt>. -(The first two lines are TeX’ way of writing <tt class="literal">uclclist += …</tt>):</p> -<pre class="literal-block">\expandafter\def\expandafter\@uclclist\expandafter{% - \@uclclist - \accdasia\acc@invisible - \accdasiaoxia\@hiatus - \accdasiavaria\acc@invisible - \accdasiaperispomeni\acc@invisible - \accpsili\@hiatus - \accpsilioxia\@hiatus - \accpsilivaria\@hiatus - \accpsiliperispomeni\acc@invisible - \acctonos\@hiatus - \accvaria\acc@invisible - \accdialytikatonos\acc@Dialytika - \accdialytikavaria\acc@Dialytika - \accdialytikaperispomeni\acc@Dialytika - \accperispomeni\acc@invisible +<p>Based on the <a class="reference external" href="http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf">babel patch</a> and <tt class="literal">fontenc.sty</tt>.</p> +<p>The definition or an auxiliary, self-restting macro makes this idempotent +(only the first use of this function will expand the <tt class="literal">@uclclist</tt>). +The second and third lines are TeX’ way of writing <tt class="literal">uclclist += …</tt>:</p> +<pre class="literal-block">\providecommand*\update@uclc@with@greek{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \accdasia\LGR@accdropped + \accdasiaoxia\LGR@hiatus + \accdasiavaria\LGR@accdropped + \accdasiaperispomeni\LGR@accdropped + \accpsili\LGR@hiatus + \accpsilioxia\LGR@hiatus + \accpsilivaria\LGR@hiatus + \accpsiliperispomeni\LGR@accdropped + \acctonos\LGR@hiatus + \accvaria\LGR@accdropped + \accdialytikatonos\LGR@accDialytika + \accdialytikavaria\LGR@accDialytika + \accdialytikaperispomeni\LGR@accDialytika + \accperispomeni\LGR@accdropped \ypogegrammeni\prosgegrammeni % \textalpha \textAlpha @@ -1109,19 +1173,24 @@ diacritics (except dialytika).</p> \textpsi \textPsi \textomega \textOmega % - \qoppa \Qoppa - \varstigma \Stigma - \stigma \Stigma - \sampi \Sampi - \textdigamma \textDigamma + \textqoppa \textQoppa + \textvarstigma \textStigma + \textstigma \textStigma + \textsampi \textSampi + \textdigamma \textDigamma + }% + \let\update@uclc@with@greek\relax } </pre> +<p>Expand the uclc list with the just defined macro:</p> +<pre class="literal-block">\update@uclc@with@greek +</pre> </div> <div class="section" id="substitution-macros"> <h3><a class="toc-backref" href="#id29">Substitution macros</a></h3> <div class="section" id="drop-diacritics"> <h4><a class="toc-backref" href="#id30">Drop diacritics</a></h4> -<pre class="literal-block">\DeclareTextCommand{\acc@invisible}{LGR}[1]{#1} +<pre class="literal-block">\DeclareTextCommand{\LGR@accdropped}{LGR}[1]{#1} </pre> <p>(The argument processing ensures that kerning is preserved)</p> </div> @@ -1129,18 +1198,18 @@ diacritics (except dialytika).</p> <h4><a class="toc-backref" href="#id31">Keep dialytika.</a></h4> <p>Define a dummy alias so that downcasing with <tt class="literal">\MakeLowercase</tt> does not convert a simple dialytika to a composite accent:</p> -<pre class="literal-block">\DeclareTextCommand{\acc@Dialytika}{LGR}{\accdialytika} +<pre class="literal-block">\DeclareTextCommand{\LGR@accDialytika}{LGR}{\accdialytika} -\DeclareTextCompositeCommand{\accdialytika}{LGR}{\@hiatus}{\accdialytika} +\DeclareTextCompositeCommand{\accdialytika}{LGR}{\LGR@hiatus}{\accdialytika} </pre> <!-- TODO: MakeUppercase with ``\"'`` fails if the language is "greek". How can we specify a composite command with character ``"9F``, the uccode of ``'``? -% \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{"9F}{\accdialytika} -% \DeclareTextAccent{\acc@Dialytika}{LGR}{34} % upcase Dialytika -% \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{\@hiatus}{\accdialytika} -% \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{'}{\accdialytika} --> +% \DeclareTextCompositeCommand{\LGR@accDialytika}{LGR}{"9F}{\accdialytika} +% \DeclareTextAccent{\LGR@accDialytika}{LGR}{34} % upcase Dialytika +% \DeclareTextCompositeCommand{\LGR@accDialytika}{LGR}{\LGR@hiatus}{\accdialytika} +% \DeclareTextCompositeCommand{\LGR@accDialytika}{LGR}{'}{\accdialytika} --> </div> <div class="section" id="mark-hiatus"> <h4><a class="toc-backref" href="#id32">Mark hiatus</a></h4> @@ -1148,20 +1217,21 @@ the uccode of ``'``? first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, ἀυπνία → ΑΫΠΝΙΑ):</p> -<pre class="literal-block">\DeclareTextCommand{\@hiatus}{LGR}[1]{#1} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{>}{\@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{<}{\acc@invisible} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{A}{\A@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textAlpha}{\A@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{E}{\E@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textEpsilon}{\E@hiatus} -% What does the \@hiatus command "see" if an unicode literal follows? -% \DeclareTextCompositeCommand{\@hiatus}{LGR}{\symbol{"ce}}{bluff} -% \DeclareTextCompositeCommand{\@hiatus}{LGR}{"cf}{blaff} -% \DeclareTextCompositeCommand{\@hiatus}{LGR}{ι}{blaff} +<pre class="literal-block">\DeclareTextCommand{\LGR@hiatus}{LGR}[1]{#1} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{>}{\LGR@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{A}{\LGR@A@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textAlpha}{\LGR@A@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{E}{\LGR@E@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textEpsilon}{\LGR@E@hiatus} +</pre> +<p>TODO: What does the <a class="reference external" href="mailto:LGR@hiatus">LGR@hiatus</a> command “see” if an unicode literal follows?</p> +<pre class="code latex literal-block"><span class="comment">% \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\symbol{"ce}}{bluff} +% \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{"cf}{blaff} +% \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{ι}{blaff}</span> </pre> <p>Look ahead and place a diaeresis on Ι or Υ:</p> -<pre class="literal-block">\DeclareTextCommand{\A@hiatus}{LGR}{% +<pre class="literal-block">\DeclareTextCommand{\LGR@A@hiatus}{LGR}{% \LGR@ifnextchar{I}{A\"}{% \LGR@ifnextchar{U}{A\"}{% \LGR@ifnextchar{\textIota}{A\"}{% @@ -1170,7 +1240,7 @@ second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑ }% }% } -\DeclareTextCommand{\E@hiatus}{LGR}{% +\DeclareTextCommand{\LGR@E@hiatus}{LGR}{% \LGR@ifnextchar{I}{E\"}{% \LGR@ifnextchar{U}{E\"}{% \LGR@ifnextchar{\textIota}{E\"}{% @@ -1187,7 +1257,6 @@ second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑ that does not skip over spaces.</p> </blockquote> <pre class="literal-block">\ProvideTextCommand{\LGR@ifnextchar}{LGR}[3]{% -% \long\def\LGR@ifnextchar#1#2#3{% \let\reserved@d= #1% \def\reserved@a{#2}\def\reserved@b{#3}% \futurelet\@let@token\LGR@ifnch @@ -1200,20 +1269,20 @@ that does not skip over spaces.</p> <p>Unfortunately, the lookahead breaks kerning.</p> <p>Alternatives tried:</p> <ul> -<li><p>CompositeCommands fail at the end of a macro, e.g. <tt class="literal"><span class="pre">\emph{\'a}</span></tt>:</p> -<pre class="literal-block">%\DeclareTextCommand{\A@hiatus}{LGR}{A} -%\DeclareTextCommand{\E@hiatus}{LGR}{E} +<li><p>CompositeCommands fail at the end of a macro, e.g. <tt class="literal"><span class="pre">\emph{\'a}</span></tt></p> +<pre class="code latex literal-block"><span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\LGR</span>@A@hiatus<span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>A<span class="name builtin">}</span> +<span class="keyword">\DeclareTextCommand</span><span class="name builtin">{</span><span class="keyword">\LGR</span>@E@hiatus<span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>E<span class="name builtin">}</span> -%\DeclareTextCompositeCommand{\A@hiatus}{LGR}{}{A} -%\DeclareTextCompositeCommand{\A@hiatus}{LGR}{I}{A\"I} -%\DeclareTextCompositeCommand{\A@hiatus}{LGR}{U}{A\"U} +<span class="keyword">\DeclareTextCompositeCommand</span><span class="name builtin">{</span><span class="keyword">\LGR</span>@A@hiatus<span class="name builtin">}{</span>LGR<span class="name builtin">}{}{</span>A<span class="name builtin">}</span> +<span class="keyword">\DeclareTextCompositeCommand</span><span class="name builtin">{</span><span class="keyword">\LGR</span>@A@hiatus<span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>I<span class="name builtin">}{</span>A<span class="keyword">\"</span>I<span class="name builtin">}</span> +<span class="keyword">\DeclareTextCompositeCommand</span><span class="name builtin">{</span><span class="keyword">\LGR</span>@A@hiatus<span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>U<span class="name builtin">}{</span>A<span class="keyword">\"</span>U<span class="name builtin">}</span> </pre> </li> <li><p>The glyph No 12 is a special “Upcase Alpha” that in ligature with Y and I adds a diaresis to them. However, it seems that it has only kerning definitions for I and Y (as it is not intended for direct -use):</p> -<pre class="literal-block">%\DeclareTextComposite{\@hiatus}{LGR}{A}{12} +use)</p> +<pre class="code latex literal-block"><span class="keyword">\DeclareTextComposite</span><span class="name builtin">{</span><span class="keyword">\LGR</span>@hiatus<span class="name builtin">}{</span>LGR<span class="name builtin">}{</span>A<span class="name builtin">}{</span>12<span class="name builtin">}</span> </pre> <p>No such glyph exists for E but this is no problem as E does not require kerning anyway.</p> diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt new file mode 100644 index 00000000000..df207bb265e --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt @@ -0,0 +1,1250 @@ +lgrenc.def +*********** + +LGR Greek font encoding definitions +=================================== + +:Copyright: © 2010 Günter Milde +:Licence: This work may be distributed and/or modified under the + conditions of the `LaTeX Project Public License`_, either + version 1.3 of this license or any later version. + +:Abstract: The LGR font encoding is the de-facto standard for Greek + typesetting with LaTeX. This file provides a comprehensive set + of macros to typeset Greek with LGR encoded fonts. It works for + both, monotonic and polytonic Greek, independent of the `babel` + package. + +.. contents:: + + +Changelog +--------- + +Development of this file started under the name "lgrxenc.def" as part of the +lgrx_ bundle. With version 0.8, it moved to ``greek-fontenc/lgrx.def``. + +.. class:: borderless + +===== ============ ======================================================== +0.1 2010-03-31 initial attempt +0.2 2010-04-20 diacritics dropped in UPPERCASE. +0.3 2010-06-08 handle Titlecase and UPPERCASE extending + ``\@uclclist``. +0.4 2010-06-15 more text symbols. +0.5 2010-08-27 support ``\textalpha`` ... ``\textOmega``. +0.5.1 2012-05-08 upload to CTAN. +0.6 2012-06-29 ``\TextGreek`` wrapper command, +.. aliases for ``puenc.def`` compatibility. +0.6.1 2013-02-12 ``\@uclclist`` entries for `PU` aliases. +0.7 2013-05-13 documentation update, new accent macros names, +.. ``\TextGreek`` renamed to ``\ensuregreek``. +0.8 2013-05-13 rename to lgrenc.def (superseding the babel_ version), +.. move to greek-fontenc, +.. drop the old (<0.7) internal accent macros names. +0.8.1 2013-05-22 auxiliary macro \update@uclc@with@greek, +.. conservative naming: "text" prefix for archaic letters, +.. "LGR@" prefix for internal commands, +.. remove not required alias macros. +0.8.2 2013-05-23 fix name: ``\textpentehkaton`` -> ``\textpentehekaton``, +.. fix ``\textperiodcentered``, +.. add composite command for Ῥ (Rho with Dasia). +===== ============ ======================================================== + +Usage +----- + +Load this file by calling fontenc_ with the ``LGR`` option +or indirectly via the babel_, textalpha_ or alphabeta_ packages. + +Example: + Select font encodings `T1` (as default) and `LGR` (for Greek): + + ``\usepackage[LGR,T1]{fontenc}`` + +preliminary considerations: LICR macro names +-------------------------------------------- + +This file provides LaTeX internal character representations (LICR macros) +for all non-ASCII characters present in the LGR font encoding. For Greek +letters and diacritics, LICR macro names were selected based on the +following considerations: + +The fntguide_ (section 6.4 Naming conventions) recommends: + + Where possible, text symbols should be named as ``\text`` followed + by the Adobe glyph name: for example ``\textonequarter`` or + ``\textsterling``. Similarly, math symbols should be named as + ``\math`` followed by the glyph name, for example + ``\mathonequarter`` or ``\mathsterling``. + +The `Adobe Glyph List For New Fonts`_ has names for many glyphs in the +`Greek and Coptic` Unicode block, but not for `Greek extended`. +The `Adobe Glyph List`_ (for existing fonts) lists additional glyph names +used in older fonts. + +Proposals +~~~~~~~~~ + +* If there exists a math-mode macro for a symbol, form the corresponding text + macro by prepending ``text``? + + Example: + The glyph name for the GREEK SMALL LETTER FINAL SIGMA is ``sigma1``, + the corresponding math-macro is ``\varsigma``. The text symbol could be + made available as ``\textvarsigma``. + + Problems: + ``\varepsilon`` and ``\varphi`` math macros map to characters named + "GREEK SMALL **LETTER** ...", while ``\\vartheta``, ``\\varkappa``, + ``\\varrho``, and ``\\varpi`` math macros map to "GREEK ... **SYMBOL**" + Unicode characters. + + In Greek text, these variants are interchangeable. The LGR font encoding + does not contain slots for "symbol" glyph variants. In some Greek fonts, + GREEK SMALL LETTERS use glyph variants resembling the corresponding + GREEK SYMBOL Unicode character's reference glyph. + +* Derive macro names from Unicode names? + + The `Unicode names list`_ provides standardized descriptive names for all + Unicode characters that use only capital letters of the Latin alphabet. + While not suited for direct use in a LICR macros, they can be either + + a) used as inspiration for new LICR macro names or + + b) converted to LICR macro names via a defined set of transformation rules. + + Example: + ``\textfinalsigma`` or just ``\finalsigma`` as a more descriptive name + for GREEK SMALL LETTER FINAL SIGMA derived via the rules: + + * drop "LETTER" if the name remains unique, + * drop "GREEK" if the name remains unique, + * use capitalized name for capital letters, lowercase for "SMALL" letters + and drop "SMALL", + * concatenate + +* Omit the "text" prefix for macros that do not have a math counterpart? + + Pro: + + Simpler, + + + ease of use (less typing, better readability of source text), + + + many established text macro names without "text", + + + there are examples of encoding-specific macros + without the ``text``-prefix, especially for letters, + + :T1: ``\AE \DH \DJ \L \NG \OE \O \SS \TH \ae \dh \dj \guillemotleft`` + ``\guillemotright \guilsinglleft \guilsinglright \i \j \l \ng`` + ``\oe \o \quotedblbase \quotesinglbase \ss \th`` (also in OT1) + :T2*: ``\CYR*`` and ``\cyr*`` + :HE8: ``\heb*`` or no prefix + :PU: short descriptive names in the arabic part (``puarenc.def``) + + + ``text`` prefix does **not** mark a macro as encoding-specific or + "inserting a glyph". There are e.g. font-changing macros (``\textbf``, + ``\textit``) and encoding-changing macros (``\textgreek``, + ``\textcyr``). + + Contra: + - Less consistent. + + - ``text`` prefix marks a macro as confined to text mode. + + Conclusion: + To avoid name clashes, the font encoding file uses the ``text`` prefix + for symbols. Aliases (short forms, compatibility defs, etc.) can be + defined in packages. + + +How to name *accent macros*? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* standard accent macros (``\DeclareTextAccent`` definitions in + ``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) . + +* tipa.sty and ucs use the "text" prefix also for accents. + + However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and + "dieresistonos" to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence + `\texttonos` and `\textdiaresistonos` should be spacing characters. + +* textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without + ``text`` prefix). + +* Use a common prefix ``\textaccent...``, ``\accent...``, + or just ``\acc...`` (cf ``\@tabacckludge``)? + +Currently, `lgrx` uses for diacritics_: + +- Greek names like in Unicode, and ucsencs.def + +- The prefix "acc" to distinguish the macros as `TextAaccent` and reduce the + risc of name clashes. + +- For the end-user "symbol macros" (``\~ \' \` \" \< \>``) are provided. + + +References +~~~~~~~~~~ + +An alternative, more complete set of short mnemonic character names is +the `XML Entity Definitions for Characters`_ W3C Recommendation from +01 April 2010. + +For glyph names of the LGR encoding see e.g. ``CB.enc`` by Apostolos +Syropoulos and ``xl-lgr.enc`` from the libertine_ (legacy) package. +``lgr.cmap`` provides a mapping to Unicode characters. + +A full set of ``\text*`` symbol macros is defined in ``ucsencs.def`` +from the ucs_ package. + +Aliases from ``puenc.def`` ensure that the hyperref_ package can +convert Greek symbols to a PDF-string. + + +Implementation +-------------- + +Read this file only once +~~~~~~~~~~~~~~~~~~~~~~~~ +.. note:: The use of ``\@ifundefined`` has the side-effect that the tested + macro becomes defined and set to ``\relax`` (polluting the namespace and + interfering with test via eTeX's ``\ifdefined``). However, in this case + no harm is done as the macro is defined by the identification_ below + anyway. + +:: + + % read this file only once + \@ifundefined{ver@lgrenc.def} + {} + {\message{LGR font encoding definitions already loaded} + \expandafter\endinput % "return" + } + + +Identification +~~~~~~~~~~~~~~ +:: + + \ProvidesFile{lgrenc.def} + [2013/05/24 v0.8.2 LGR Greek font encoding definitions] + % Copyright © 2010 Günter Milde + % This file is part of the "greek-fontenc" package. + % It may be distributed and/or modified under the + % conditions of the "LaTeX Project Public License", either + % version 1.3 of this license or any later version. + +You can test the version date using + +.. code:: latex + + \@ifl@ter {extension}{filename}{date}{YES}{NO} + +or using ltxcmds_' ``\@iffilelater`` + +Base setup +~~~~~~~~~~ + +Declare the font encoding and base substitutions:: + + \DeclareFontEncoding{LGR}{}{} + \DeclareFontSubstitution{LGR}{cmr}{m}{n} + \DeclareErrorFont{LGR}{cmr}{m}{n}{10} + +The ``\ensuregreek`` command can be used to ensure that its argument is set +in a font encoding with support for Greek. If the font encoding is already +LGR, kerning between adjacent command calls (e.g. +``\ensuregreek{A}\ensuregreek{\Upsilon}``) is preserved. This allows +wrapping of compound Unicode character definitions. :: + + \DeclareTextCommand{\ensuregreek}{LGR}[1]{#1} + + +Text symbols +~~~~~~~~~~~~ + +Greek Alphabet +"""""""""""""" + +Greek letters are accessible by the Latin transcription, but the mapping is +specific to the LGR font encoding. + +The LICR macros provide a way to access the symbols independent of the +specific font encoding, in any font encoding supporting Greek. An +alternative Greek font encodings is LGI (ibycus_). Greek script is also +supported by the Unicode-based font encodings PU (`PDF Unicode` used by +hyperref_ for PDF metadata), EU1 (XeTeX) and EU2 (LuaTeX). The textalpha_ +package makes these macros available independent of the current font +encoding. +:: + + \DeclareTextSymbol{\textAlpha}{LGR}{65} + \DeclareTextSymbol{\textBeta}{LGR}{66} + \DeclareTextSymbol{\textGamma}{LGR}{71} + \DeclareTextSymbol{\textDelta}{LGR}{68} + \DeclareTextSymbol{\textEpsilon}{LGR}{69} + \DeclareTextSymbol{\textZeta}{LGR}{90} + \DeclareTextSymbol{\textEta}{LGR}{72} + \DeclareTextSymbol{\textTheta}{LGR}{74} + \DeclareTextSymbol{\textIota}{LGR}{73} + \DeclareTextSymbol{\textKappa}{LGR}{75} + \DeclareTextSymbol{\textLambda}{LGR}{76} + \DeclareTextSymbol{\textMu}{LGR}{77} + \DeclareTextSymbol{\textNu}{LGR}{78} + \DeclareTextSymbol{\textXi}{LGR}{88} + \DeclareTextSymbol{\textOmicron}{LGR}{79} + \DeclareTextSymbol{\textPi}{LGR}{80} + \DeclareTextSymbol{\textRho}{LGR}{82} + \DeclareTextSymbol{\textSigma}{LGR}{83} + \DeclareTextSymbol{\textTau}{LGR}{84} + \DeclareTextSymbol{\textUpsilon}{LGR}{85} + \DeclareTextSymbol{\textPhi}{LGR}{70} + \DeclareTextSymbol{\textChi}{LGR}{81} + \DeclareTextSymbol{\textPsi}{LGR}{89} + \DeclareTextSymbol{\textOmega}{LGR}{87} + % + \DeclareTextSymbol{\textalpha}{LGR}{97} + \DeclareTextSymbol{\textbeta}{LGR}{98} + \DeclareTextSymbol{\textgamma}{LGR}{103} + \DeclareTextSymbol{\textdelta}{LGR}{100} + \DeclareTextSymbol{\textepsilon}{LGR}{101} + \DeclareTextSymbol{\textzeta}{LGR}{122} + \DeclareTextSymbol{\texteta}{LGR}{104} + \DeclareTextSymbol{\texttheta}{LGR}{106} + \DeclareTextSymbol{\textiota}{LGR}{105} + \DeclareTextSymbol{\textkappa}{LGR}{107} + \DeclareTextSymbol{\textlambda}{LGR}{108} + \DeclareTextSymbol{\textmu}{LGR}{109} + \DeclareTextSymbol{\textnu}{LGR}{110} + \DeclareTextSymbol{\textxi}{LGR}{120} + \DeclareTextSymbol{\textomicron}{LGR}{111} + \DeclareTextSymbol{\textpi}{LGR}{112} + \DeclareTextSymbol{\textrho}{LGR}{114} + \DeclareTextCommand{\textsigma}{LGR}{s\noboundary} % σ + \DeclareTextSymbol{\textvarsigma}{LGR}{99} % ς final sigma + \DeclareTextCommand{\textfinalsigma}{LGR}{\textvarsigma} % ς final sigma + \DeclareTextSymbol{\textautosigma}{LGR}{115} % σ (ς at end of word) + \DeclareTextSymbol{\texttau}{LGR}{116} + \DeclareTextSymbol{\textupsilon}{LGR}{117} + \DeclareTextSymbol{\textphi}{LGR}{102} + \DeclareTextSymbol{\textchi}{LGR}{113} + \DeclareTextSymbol{\textpsi}{LGR}{121} + \DeclareTextSymbol{\textomega}{LGR}{119} + + +Additional Greek symbols +"""""""""""""""""""""""" + +Ancient Greek Numbers (Athenian Numerals) +''''''''''''''''''''''''''''''''''''''''' + +Names from ucs_ (``ucsencs.def``) +(In ucs, five hundred is (wrongly?) named \textpentehkaton.) :: + + \DeclareTextSymbol{\textpentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY + \DeclareTextSymbol{\textpentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED + \DeclareTextSymbol{\textpenteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND + \DeclareTextSymbol{\textpentemuria}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND + + +Archaic letters +''''''''''''''' +Names after teubner_ and ucs_:: + + \DeclareTextSymbol{\textstigma}{LGR}{6} % ϛ + \DeclareTextSymbol{\textvarstigma}{LGR}{7} % stigma variant (CB.enc, teubner) + \DeclareTextSymbol{\textkoppa}{LGR}{18} % ϟ (greek small letter koppa) + \DeclareTextSymbol{\textqoppa}{LGR}{19} % ϙ (archaic koppa) + \DeclareTextSymbol{\textQoppa}{LGR}{21} % Ϙ (archaic Koppa) + \DeclareTextSymbol{\textStigma}{LGR}{22} % Ϛ in some fonts ϹΤ ligature + \DeclareTextSymbol{\textSampi}{LGR}{23} % Ϡ + \DeclareTextSymbol{\textsampi}{LGR}{27} % ϡ + \DeclareTextSymbol{\textanoteleia}{LGR}{38} % · + \DeclareTextSymbol{\texterotimatiko}{LGR}{63} % ; + \DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro + \DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs) + +Compatibility aliases for hyperref_'s puenc.def, defined via +`DeclareTextCommand` so that up/downcasing works without the need for +additional uclclist entries:: + + \DeclareTextCommand{\textstigmagreek}{LGR}{\textstigma} % puenc.def + \DeclareTextCommand{\textkoppagreek}{LGR}{\textkoppa} % puenc.def + \DeclareTextCommand{\textStigmagreek}{LGR}{\textStigma} % puenc.def + \DeclareTextCommand{\textSampigreek}{LGR}{\textSampi} % puenc.def + \DeclareTextCommand{\textsampigreek}{LGR}{\textsampi} % puenc.def + \DeclareTextCommand{\textdigammagreek}{LGR}{\textdigamma} % puenc.def + \DeclareTextCommand{\textDigammagreek}{LGR}{\textDigamma} % puenc.def + +Compatibility aliases for babel_'s ``greek.ldf`` (will be moved to the babel +package). : + +.. code:: latex + + % \digamma used by amsmath for math-macro + \DeclareTextCommand{\ddigamma}{LGR}{\textdigamma} % greek.ldf + \DeclareTextCommand{\vardigamma}{LGR}{\textvarstigma} % greek.ldf + \DeclareTextCommand{\Digamma}{LGR}{\textDigamma} % greek.ldf + + +Numeral signs +''''''''''''' +See also http://en.wikipedia.org/wiki/Greek_numerals +Names from hyperref_'s puenc.def:: + + \DeclareTextSymbol{\textnumeralsigngreek}{LGR}{254} % ʹ (puenc.def) + \DeclareTextSymbol{\textnumeralsignlowergreek}{LGR}{255} % ͵ (puenc.def) + +Names from babel_ and teubner_ + +.. code:: latex + + \DeclareTextSymbol{\anwtonos}{LGR}{254} % ʹ (Dexia keraia) + \DeclareTextSymbol{\katwtonos}{LGR}{255} % ͵ (Aristeri keraia) + +Names from ucs_ + +.. code:: latex + + \DeclareTextSymbol{\textdexiakeraia}{LGR}{254} % ʹ (Dexia keraia) + \DeclareTextSymbol{\textaristerikeraia}{LGR}{255} % ͵ (Aristeri keraia) + + +Other +""""" + +Characters that also exist in other font encodings: + +* define them for LGR if there is a matching glyph, +* use established macro names that match with other ``*enc.def`` files and + ``textcomp.sty``. + +All encodings: See usrguide.pdf, chapter 3.14 ff:: + + \DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH + \DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘ + \DeclareTextSymbol{\textquoteright}{LGR}{29} % ’ + \DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia + \DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER + \DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH + +T1:: + + \DeclareTextSymbol{\guillemotleft}{LGR}{123} % « + \DeclareTextSymbol{\guillemotright}{LGR}{125} % » + +TS1:: + + \ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘ + \ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯ + \ProvideTextCommand{\textasciidieresis}{LGR}{\char34\textcompwordmark} % " + \ProvideTextCommand{\textasciiacute}{LGR}{\char39\textcompwordmark} % ' + \ProvideTextCommand{\textasciigrave}{LGR}{\char96\textcompwordmark} % ` + \DeclareTextCommand{\textasciitilde}{LGR}{\char126\textcompwordmark} % ~ + \DeclareTextSymbol{\textohm}{LGR}{87} % Ω (Ohm sign -> Omega) + \DeclareTextSymbol{\texteuro}{LGR}{24} % € \euro in greek.ldf + \DeclareTextSymbol{\textpercent}{LGR}{37} % % + \DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permille in greek.ldf + +T3:: + + \DeclareTextSymbol{\textschwa}{LGR}{26} % ə + +Not implemented +""""""""""""""" + +The characters at position 16 and 17 are used in the ``\nexus`` macro +of the teubner_ package to form an extensible, hat-like bracket. In +``CB.enc``, they are mapped to + + 16--MODIFIER LETTER LOW ACUTE ACCENT + 17--MODIFIER LETTER LOW GRAVE ACCENT + +but according to the documentation of Werner Lemberg's `babel patch`_, +they rather represent the left and right part of U+23E0 TOP TORTOISE +SHELL BRACKET. + +Babel's ``lgrenc.def`` has some definitions to prevent surprises with +macros that expect a Latin script. These definitions are problematic +in a font-encoding definition file as they + +* require ``\textlatin`` which is defined in ``babel.def``, +* prevent use of TS1 symbols set as default by ``textcomp.sty``. + +.. code:: latex + + \ProvideTextCommand{\textcopyright}{LGR}{\textcircled{\textlatin{c}}} + \ProvideTextCommand{\textregistered}{LGR}{\textcircled{\textlatin{\textsc r}}} + \ProvideTextCommand{\texttrademark}{LGR}{\textsuperscript{\textlatin{TM}}} + \ProvideTextCommand{\SS}{LGR}{\textlatin{SS}} + +They were moved to ``greek.ldf``. + + +Diacritics +~~~~~~~~~~ + +This section defines `named macros`_ for Greek diacritics and standard +`symbol macros`_ as alias for simple diacritics. Convenient input +conventions for `composite diacritics`_ are defined as `composite +definitions`_. + +Advantages: + +* input convention similar to LGR input encodings (just prepend a ``\``). + +* Access pre-composed characters without resorting to the + ligature mechanism (allows proper kerning, cf. teubner-doc_). + +* Named macros can be used to ensure a font encoding supporting Greek is + used. However, substitution with pre-composed characters works only for + the active font encoding (cf. textalpha_). Named accent macros can also be + used instead of the ``\@tabacckludge`` by to-LaTeX converters to ensure + working also inside the tabbing environment. + +* Named macros are required for upcasing according to Greek typesetting + conventions (cf. `UPPERCASE`_ below) and for composite diacritics. + + +Named macros +"""""""""""" + +Definitions are based on the teubner_ package by Claudio Beccari, the ucs_ +package, and the `babel patch`_ by Werner Lemberg. Names are derived from +the Unicode name with the prefix "acc" (cf. `How to name accent macros?`_ +above) reducing the probability of incompatibilities compared to the +two-letter teubner_ diacritic macros or the "text" prefix used by ucs_. + +Simple Greek diacritics:: + + \DeclareTextAccent{\accdialytika}{LGR}{34} % διαλυτικά (diaeresis/trema) + \DeclareTextAccent{\acctonos}{LGR}{39} % τόνος/ὀξεῖα tonos/oxia (acute) + \DeclareTextAccent{\accdasia}{LGR}{60} % δασεῖα spiritus asper (rough breathing) + \DeclareTextAccent{\accpsili}{LGR}{62} % ψιλή spiritus lenis (smooth breathing) + \DeclareTextAccent{\accvaria}{LGR}{96} % βαρεῖα (grave) + \DeclareTextAccent{\accperispomeni}{LGR}{126} % περισπωμένη (circonflex/tilde) + +The sub-iota is input after the base character. In LGR fonts, ligatures are +defined for pre-composed characters, the postfix ligature does not interfere +with kerning:: + + \DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι "capital" sub-iota + \DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota + +Composite diacritics:: + + % Teubner name + \DeclareTextAccent{\accdialytikaperispomeni}{LGR}{32} % Cd + \DeclareTextAccent{\accdialytikatonos}{LGR}{35} % Ad + \DeclareTextAccent{\accdialytikavaria}{LGR}{36} % Gd + + \DeclareTextAccent{\accdasiaperispomeni}{LGR}{64} % Cr + \DeclareTextAccent{\accdasiavaria}{LGR}{67} % Gr + \DeclareTextAccent{\accdasiaoxia}{LGR}{86} % Ar + + \DeclareTextAccent{\accpsiliperispomeni}{LGR}{92} % Cs + \DeclareTextAccent{\accpsilioxia}{LGR}{94} % As + \DeclareTextAccent{\accpsilivaria}{LGR}{95} % Gs + +For classical Greek and linguistics, the LGR font encoding contains a number +of additional diacritic symbols:: + + \DeclareTextAccent{\accinvertedbrevebelow}{LGR}{1} % INVERTED BREVE BELOW + \DeclareTextAccent{\textsubarch}{LGR}{1} % (tipa) + \DeclareTextAccent{\accbrevebelow}{LGR}{20} % BREVE BELOW + \DeclareTextAccent{\u}{LGR}{30} % BREVE + \DeclareTextAccent{\=}{LGR}{31} % MACRON + + +Aliases +""""""" + +_`Symbol macros`:: + + \DeclareTextCommand{\"}{LGR}{\accdialytika} + \DeclareTextCommand{\'}{LGR}{\acctonos} + \DeclareTextCommand{\`}{LGR}{\accvaria} + \DeclareTextCommand{\~}{LGR}{\accperispomeni} + \DeclareTextCommand{\<}{LGR}{\accdasia} + \DeclareTextCommand{\>}{LGR}{\accpsili} + +TODO: do we also want alternative symbols for the breathings (cf. X compose +table, LCI encoding)? + +.. code:: latex + + \DeclareTextCommand{\(}{LGR}{\accdasia} + \DeclareTextCommand{\)}{LGR}{\accpsili} + +Two Unicode names for one character:: + + \DeclareTextCommand{\accoxia}{LGR}{\acctonos} + \DeclareTextCommand{\acckoronis}{LGR}{\accpsili} + + +Composite definitions +~~~~~~~~~~~~~~~~~~~~~ + +Composite diacritics +"""""""""""""""""""" + +Composite accents can be input as sequence of simple diacritics (in +arbitrary order) via named macro, symbol macro and "transcription +characters", e.g. ``\accdialytica\accvaria\textalpha``, ``\"\'\textalpha``, +``\"'\textalpha``, or ``\'"\textalpha``. + +Separate definitions for the supported variants of the second input token +are required as composition is based on the non-expanded input + +The composition with simple "transcription characters" must also be defined +for the symbol macros, otherwise it fails with ``\Makeuppercase``):: + + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\acctonos}{\accdialytikatonos} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\'}{\accdialytikatonos} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{'}{\accdialytikatonos} + \DeclareTextCompositeCommand{\"}{LGR}{'}{\accdialytikatonos} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\accvaria}{\accdialytikavaria} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\`}{\accdialytikavaria} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{`}{\accdialytikavaria} + \DeclareTextCompositeCommand{\"}{LGR}{`}{\accdialytikavaria} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\accperispomeni}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\~}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\accdialytika}{LGR}{~}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\"}{LGR}{~}{\accdialytikaperispomeni} + + \DeclareTextCompositeCommand{\acctonos}{LGR}{\accdialytika}{\accdialytikatonos} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\"}{\accdialytikatonos} + \DeclareTextCompositeCommand{\acctonos}{LGR}{"}{\accdialytikatonos} + \DeclareTextCompositeCommand{\'}{LGR}{"}{\accdialytikatonos} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\accdasia}{\accdasiaoxia} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\<}{\accdasiaoxia} + \DeclareTextCompositeCommand{\acctonos}{LGR}{<}{\accdasiaoxia} + \DeclareTextCompositeCommand{\'}{LGR}{<}{\accdasiaoxia} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\accpsili}{\accpsilioxia} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\>}{\accpsilioxia} + \DeclareTextCompositeCommand{\acctonos}{LGR}{>}{\accpsilioxia} + \DeclareTextCompositeCommand{\'}{LGR}{>}{\accpsilioxia} + + \DeclareTextCompositeCommand{\accvaria}{LGR}{\accdialytika}{\accdialytikavaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\"}{\accdialytikavaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{"}{\accdialytikavaria} + \DeclareTextCompositeCommand{\`}{LGR}{"}{\accdialytikavaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\accdasia}{\accdasiavaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\<}{\accdasiavaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{<}{\accdasiavaria} + \DeclareTextCompositeCommand{\`}{LGR}{<}{\accdasiavaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\accpsili}{\accpsilivaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\>}{\accpsilivaria} + \DeclareTextCompositeCommand{\accvaria}{LGR}{>}{\accpsilivaria} + \DeclareTextCompositeCommand{\`}{LGR}{>}{\accpsilivaria} + + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdialytika}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\"}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{"}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\~}{LGR}{"}{\accdialytikaperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdasia}{\accdasiaperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\<}{\accdasiaperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{<}{\accdasiaperispomeni} + \DeclareTextCompositeCommand{\~}{LGR}{<}{\accdasiaperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accpsili}{\accpsiliperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\>}{\accpsiliperispomeni} + \DeclareTextCompositeCommand{\accperispomeni}{LGR}{>}{\accpsiliperispomeni} + \DeclareTextCompositeCommand{\~}{LGR}{>}{\accpsiliperispomeni} + + \DeclareTextCompositeCommand{\accpsili}{LGR}{\acctonos}{\accpsilioxia} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\'}{\accpsilioxia} + \DeclareTextCompositeCommand{\accpsili}{LGR}{'}{\accpsilioxia} + \DeclareTextCompositeCommand{\>}{LGR}{'}{\accpsilioxia} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\accvaria}{\accpsilivaria} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\`}{\accpsilivaria} + \DeclareTextCompositeCommand{\accpsili}{LGR}{`}{\accpsilivaria} + \DeclareTextCompositeCommand{\>}{LGR}{`}{\accpsilivaria} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\accperispomeni}{\accpsiliperispomeni} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\~}{\accpsiliperispomeni} + \DeclareTextCompositeCommand{\accpsili}{LGR}{~}{\accpsiliperispomeni} + \DeclareTextCompositeCommand{\>}{LGR}{~}{\accpsiliperispomeni} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\acctonos}{\accdasiaoxia} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\'}{\accdasiaoxia} + \DeclareTextCompositeCommand{\accdasia}{LGR}{'}{\accdasiaoxia} + \DeclareTextCompositeCommand{\<}{LGR}{'}{\accdasiaoxia} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\accvaria}{\accdasiavaria} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\`}{\accdasiavaria} + \DeclareTextCompositeCommand{\accdasia}{LGR}{`}{\accdasiavaria} + \DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\accperispomeni}{\accdasiaperispomeni} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\~}{\accdasiaperispomeni} + \DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni} + + +Pre-composed letters +"""""""""""""""""""" +Small letters with diacritics +''''''''''''''''''''''''''''' + +(from teubner_ with changed names of the composite accents):: + + \DeclareTextComposite{\accvaria}{LGR}{a}{128} + \DeclareTextComposite{\accdasia}{LGR}{a}{129} + \DeclareTextComposite{\accpsili}{LGR}{a}{130} + \DeclareTextComposite{\accdasiavaria}{LGR}{a}{131} + \DeclareTextComposite{\acctonos}{LGR}{a}{136} + \DeclareTextComposite{\accdasiaoxia}{LGR}{a}{137} + \DeclareTextComposite{\accpsilioxia}{LGR}{a}{138} + \DeclareTextComposite{\accpsilivaria}{LGR}{a}{139} + \DeclareTextComposite{\accperispomeni}{LGR}{a}{144} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{a}{145} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{a}{146} + \DeclareTextComposite{\accvaria}{LGR}{h}{152} + \DeclareTextComposite{\accdasia}{LGR}{h}{153} + \DeclareTextComposite{\accpsili}{LGR}{h}{154} + \DeclareTextComposite{\acctonos}{LGR}{h}{160} + \DeclareTextComposite{\accdasiaoxia}{LGR}{h}{161} + \DeclareTextComposite{\accpsilioxia}{LGR}{h}{162} + \DeclareTextComposite{\accdasiavaria}{LGR}{h}{163} + \DeclareTextComposite{\accperispomeni}{LGR}{h}{168} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{h}{169} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{h}{170} + \DeclareTextComposite{\accpsilivaria}{LGR}{h}{171} + \DeclareTextComposite{\accvaria}{LGR}{w}{176} + \DeclareTextComposite{\accdasia}{LGR}{w}{177} + \DeclareTextComposite{\accpsili}{LGR}{w}{178} + \DeclareTextComposite{\accdasiavaria}{LGR}{w}{179} + \DeclareTextComposite{\acctonos}{LGR}{w}{184} + \DeclareTextComposite{\accdasiaoxia}{LGR}{w}{185} + \DeclareTextComposite{\accpsilioxia}{LGR}{w}{186} + \DeclareTextComposite{\accpsilivaria}{LGR}{w}{187} + \DeclareTextComposite{\accperispomeni}{LGR}{w}{192} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{w}{193} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{w}{194} + \DeclareTextComposite{\accvaria}{LGR}{i}{200} + \DeclareTextComposite{\accdasia}{LGR}{i}{201} + \DeclareTextComposite{\accpsili}{LGR}{i}{202} + \DeclareTextComposite{\accdasiavaria}{LGR}{i}{203} + \DeclareTextComposite{\acctonos}{LGR}{i}{208} + \DeclareTextComposite{\accdasiaoxia}{LGR}{i}{209} + \DeclareTextComposite{\accpsilioxia}{LGR}{i}{210} + \DeclareTextComposite{\accpsilivaria}{LGR}{i}{211} + \DeclareTextComposite{\accperispomeni}{LGR}{i}{216} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{i}{217} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{i}{218} + \DeclareTextComposite{\accdialytika}{LGR}{i}{240} + \DeclareTextComposite{\accdialytikavaria}{LGR}{i}{241} + \DeclareTextComposite{\accdialytikatonos}{LGR}{i}{242} + \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{i}{243} + \DeclareTextComposite{\accvaria}{LGR}{u}{204} + \DeclareTextComposite{\accdasia}{LGR}{u}{205} + \DeclareTextComposite{\accpsili}{LGR}{u}{206} + \DeclareTextComposite{\accdasiavaria}{LGR}{u}{207} + \DeclareTextComposite{\acctonos}{LGR}{u}{212} + \DeclareTextComposite{\accdasiaoxia}{LGR}{u}{213} + \DeclareTextComposite{\accpsilioxia}{LGR}{u}{214} + \DeclareTextComposite{\accpsilivaria}{LGR}{u}{215} + \DeclareTextComposite{\accperispomeni}{LGR}{u}{220} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{u}{221} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{u}{222} + \DeclareTextComposite{\accdialytika}{LGR}{u}{244} + \DeclareTextComposite{\accdialytikavaria}{LGR}{u}{245} + \DeclareTextComposite{\accdialytikatonos}{LGR}{u}{246} + \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{u}{247} + \DeclareTextComposite{\accvaria}{LGR}{e}{224} + \DeclareTextComposite{\accdasia}{LGR}{e}{225} + \DeclareTextComposite{\accpsili}{LGR}{e}{226} + \DeclareTextComposite{\accdasiavaria}{LGR}{e}{227} + \DeclareTextComposite{\acctonos}{LGR}{e}{232} + \DeclareTextComposite{\accdasiaoxia}{LGR}{e}{233} + \DeclareTextComposite{\accpsilioxia}{LGR}{e}{234} + \DeclareTextComposite{\accpsilivaria}{LGR}{e}{235} + \DeclareTextComposite{\accvaria}{LGR}{o}{228} + \DeclareTextComposite{\accdasia}{LGR}{o}{229} + \DeclareTextComposite{\accpsili}{LGR}{o}{230} + \DeclareTextComposite{\accdasiavaria}{LGR}{o}{231} + \DeclareTextComposite{\acctonos}{LGR}{o}{236} + \DeclareTextComposite{\accdasiaoxia}{LGR}{o}{237} + \DeclareTextComposite{\accpsilioxia}{LGR}{o}{238} + \DeclareTextComposite{\accpsilivaria}{LGR}{o}{239} + \DeclareTextComposite{\accdasia}{LGR}{r}{251} + \DeclareTextComposite{\accpsili}{LGR}{r}{252} + +Pre-composed letters with diacritics + LICR macros:: + + \DeclareTextComposite{\accvaria}{LGR}{\textalpha}{128} + \DeclareTextComposite{\accdasia}{LGR}{\textalpha}{129} + \DeclareTextComposite{\accpsili}{LGR}{\textalpha}{130} + \DeclareTextComposite{\accdasiavaria}{LGR}{\textalpha}{131} + \DeclareTextComposite{\acctonos}{LGR}{\textalpha}{136} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\textalpha}{137} + \DeclareTextComposite{\accpsilioxia}{LGR}{\textalpha}{138} + \DeclareTextComposite{\accpsilivaria}{LGR}{\textalpha}{139} + \DeclareTextComposite{\accperispomeni}{LGR}{\textalpha}{144} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textalpha}{145} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textalpha}{146} + \DeclareTextComposite{\accvaria}{LGR}{\texteta}{152} + \DeclareTextComposite{\accdasia}{LGR}{\texteta}{153} + \DeclareTextComposite{\accpsili}{LGR}{\texteta}{154} + \DeclareTextComposite{\acctonos}{LGR}{\texteta}{160} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\texteta}{161} + \DeclareTextComposite{\accpsilioxia}{LGR}{\texteta}{162} + \DeclareTextComposite{\accdasiavaria}{LGR}{\texteta}{163} + \DeclareTextComposite{\accperispomeni}{LGR}{\texteta}{168} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\texteta}{169} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\texteta}{170} + \DeclareTextComposite{\accpsilivaria}{LGR}{\texteta}{171} + \DeclareTextComposite{\accvaria}{LGR}{\textomega}{176} + \DeclareTextComposite{\accdasia}{LGR}{\textomega}{177} + \DeclareTextComposite{\accpsili}{LGR}{\textomega}{178} + \DeclareTextComposite{\accdasiavaria}{LGR}{\textomega}{179} + \DeclareTextComposite{\acctonos}{LGR}{\textomega}{184} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\textomega}{185} + \DeclareTextComposite{\accpsilioxia}{LGR}{\textomega}{186} + \DeclareTextComposite{\accpsilivaria}{LGR}{\textomega}{187} + \DeclareTextComposite{\accperispomeni}{LGR}{\textomega}{192} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textomega}{193} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textomega}{194} + \DeclareTextComposite{\accvaria}{LGR}{\textiota}{200} + \DeclareTextComposite{\accdasia}{LGR}{\textiota}{201} + \DeclareTextComposite{\accpsili}{LGR}{\textiota}{202} + \DeclareTextComposite{\accdasiavaria}{LGR}{\textiota}{203} + \DeclareTextComposite{\acctonos}{LGR}{\textiota}{208} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\textiota}{209} + \DeclareTextComposite{\accpsilioxia}{LGR}{\textiota}{210} + \DeclareTextComposite{\accpsilivaria}{LGR}{\textiota}{211} + \DeclareTextComposite{\accperispomeni}{LGR}{\textiota}{216} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textiota}{217} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textiota}{218} + \DeclareTextComposite{\accdialytika}{LGR}{\textiota}{240} + \DeclareTextComposite{\accdialytikavaria}{LGR}{\textiota}{241} + \DeclareTextComposite{\accdialytikatonos}{LGR}{\textiota}{242} + \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\textiota}{243} + \DeclareTextComposite{\accvaria}{LGR}{\textupsilon}{204} + \DeclareTextComposite{\accdasia}{LGR}{\textupsilon}{205} + \DeclareTextComposite{\accpsili}{LGR}{\textupsilon}{206} + \DeclareTextComposite{\accdasiavaria}{LGR}{\textupsilon}{207} + \DeclareTextComposite{\acctonos}{LGR}{\textupsilon}{212} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\textupsilon}{213} + \DeclareTextComposite{\accpsilioxia}{LGR}{\textupsilon}{214} + \DeclareTextComposite{\accpsilivaria}{LGR}{\textupsilon}{215} + \DeclareTextComposite{\accperispomeni}{LGR}{\textupsilon}{220} + \DeclareTextComposite{\accdasiaperispomeni}{LGR}{\textupsilon}{221} + \DeclareTextComposite{\accpsiliperispomeni}{LGR}{\textupsilon}{222} + \DeclareTextComposite{\accdialytika}{LGR}{\textupsilon}{244} + \DeclareTextComposite{\accdialytikavaria}{LGR}{\textupsilon}{245} + \DeclareTextComposite{\accdialytikatonos}{LGR}{\textupsilon}{246} + \DeclareTextComposite{\accdialytikaperispomeni}{LGR}{\textupsilon}{247} + \DeclareTextComposite{\accvaria}{LGR}{\textepsilon}{224} + \DeclareTextComposite{\accdasia}{LGR}{\textepsilon}{225} + \DeclareTextComposite{\accpsili}{LGR}{\textepsilon}{226} + \DeclareTextComposite{\accdasiavaria}{LGR}{\textepsilon}{227} + \DeclareTextComposite{\acctonos}{LGR}{\textepsilon}{232} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\textepsilon}{233} + \DeclareTextComposite{\accpsilioxia}{LGR}{\textepsilon}{234} + \DeclareTextComposite{\accpsilivaria}{LGR}{\textepsilon}{235} + \DeclareTextComposite{\accvaria}{LGR}{\textomicron}{228} + \DeclareTextComposite{\accdasia}{LGR}{\textomicron}{229} + \DeclareTextComposite{\accpsili}{LGR}{\textomicron}{230} + \DeclareTextComposite{\accdasiavaria}{LGR}{\textomicron}{231} + \DeclareTextComposite{\acctonos}{LGR}{\textomicron}{236} + \DeclareTextComposite{\accdasiaoxia}{LGR}{\textomicron}{237} + \DeclareTextComposite{\accpsilioxia}{LGR}{\textomicron}{238} + \DeclareTextComposite{\accpsilivaria}{LGR}{\textomicron}{239} + \DeclareTextComposite{\accdasia}{LGR}{r}{251} + \DeclareTextComposite{\accpsili}{LGR}{r}{252} + + +Capital letters with diacritics +''''''''''''''''''''''''''''''' + + In Greek, diacritics are omitted in all-uppercase words, but kept as part + of an uppercase initial (written before rather than above the letter). + + The diaytika should also always be used in all-uppercase words (even + in cases where they are not needed when writing in lowercase) + + -- http://en.wikipedia.org/wiki/Capitalization + +In Title Case, place diacritics before instead of above the base character:: + + \DeclareTextCompositeCommand{\accdasia}{LGR}{A}{<A} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{A}{<`A} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{A}{<'A} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{A}{<\char126A} + \DeclareTextCompositeCommand{\accpsili}{LGR}{A}{>A} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{A}{>`A} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{A}{>'A} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{A}{>\char126A} + \DeclareTextCompositeCommand{\acctonos}{LGR}{A}{'A} + \DeclareTextCompositeCommand{\accvaria}{LGR}{A}{`A} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{E}{<E} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{E}{<'E} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{E}{<`E} + \DeclareTextCompositeCommand{\accpsili}{LGR}{E}{>E} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{E}{>'E} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{E}{>`E} + \DeclareTextCompositeCommand{\acctonos}{LGR}{E}{'E} + \DeclareTextCompositeCommand{\accvaria}{LGR}{E}{`E} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{H}{<H} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{H}{<`H} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{H}{<'H} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{H}{<\char126H} + \DeclareTextCompositeCommand{\accpsili}{LGR}{H}{>H} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{H}{>`H} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{H}{>'H} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{H}{>\char126H} + \DeclareTextCompositeCommand{\acctonos}{LGR}{H}{'H} + \DeclareTextCompositeCommand{\accvaria}{LGR}{H}{`H} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{I}{<I} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{I}{<`I} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{I}{<'I} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{I}{<\char126I} + \DeclareTextCompositeCommand{\accpsili}{LGR}{I}{>I} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{I}{>`I} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{I}{>'I} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{I}{>\char126I} + \DeclareTextCompositeCommand{\acctonos}{LGR}{I}{'I} + \DeclareTextCompositeCommand{\accvaria}{LGR}{I}{`I} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{O}{<O} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{O}{<`O} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{O}{<'O} + \DeclareTextCompositeCommand{\accpsili}{LGR}{O}{>O} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{O}{>`O} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{O}{>'O} + \DeclareTextCompositeCommand{\acctonos}{LGR}{O}{'O} + \DeclareTextCompositeCommand{\accvaria}{LGR}{O}{`O} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{R}{<R} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{U}{<U} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{U}{<`U} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{U}{<'U} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{U}{<\char126U} + \DeclareTextCompositeCommand{\acctonos}{LGR}{U}{'U} + \DeclareTextCompositeCommand{\accvaria}{LGR}{U}{`U} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{W}{<W} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{W}{<`W} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{W}{<'W} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{W}{<\char126W} + \DeclareTextCompositeCommand{\accpsili}{LGR}{W}{>W} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{W}{>`W} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{W}{>'W} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{W}{>\char126W} + \DeclareTextCompositeCommand{\acctonos}{LGR}{W}{'W} + \DeclareTextCompositeCommand{\accvaria}{LGR}{W}{`W} + +Except for the dialytika:: + + \DeclareTextComposite{\accdialytika}{LGR}{I}{219} + \DeclareTextComposite{\accdialytika}{LGR}{U}{223} + +Do the same for the LICR macros:: + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textAlpha}{<A} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textAlpha}{<`A} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textAlpha}{<'A} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textAlpha}{<\char126A} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\textAlpha}{>A} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textAlpha}{>`A} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textAlpha}{>'A} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textAlpha}{>\char126A} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textAlpha}{'A} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textAlpha}{`A} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textEpsilon}{<E} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textEpsilon}{<'E} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textEpsilon}{<`E} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\textEpsilon}{>E} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textEpsilon}{>'E} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textEpsilon}{>`E} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textEpsilon}{'E} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textEpsilon}{`E} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textEta}{<H} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textEta}{<`H} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textEta}{<'H} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textEta}{<\char126H} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\textEta}{>H} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textEta}{>`H} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textEta}{>'H} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textEta}{>\char126H} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textEta}{'H} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textEta}{`H} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textIota}{<I} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textIota}{<`I} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textIota}{<'I} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textIota}{<\char126I} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\textIota}{>I} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textIota}{>`I} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textIota}{>'I} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textIota}{>\char126I} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textIota}{'I} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textIota}{`I} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textOmicron}{<O} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textOmicron}{<`O} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textOmicron}{<'O} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\textOmicron}{>O} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textOmicron}{>`O} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textOmicron}{>'O} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmicron}{'O} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmicron}{`O} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textRho}{<R} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textUpsilon}{<U} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textUpsilon}{<`U} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textUpsilon}{<'U} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textUpsilon}{<\char126U} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textUpsilon}{'U} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textUpsilon}{`U} + + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textOmega}{<W} + \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textOmega}{<`W} + \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textOmega}{<'W} + \DeclareTextCompositeCommand{\accdasiaperispomeni}{LGR}{\textOmega}{<\char126W} + \DeclareTextCompositeCommand{\accpsili}{LGR}{\textOmega}{>W} + \DeclareTextCompositeCommand{\accpsilivaria}{LGR}{\textOmega}{>`W} + \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textOmega}{>'W} + \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textOmega}{>\char126W} + \DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmega}{'W} + \DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmega}{`W} + +Except for the dialytika:: + + \DeclareTextComposite{\accdialytika}{LGR}{\textIota}{219} + \DeclareTextComposite{\accdialytika}{LGR}{\textUpsilon}{223} + + +UPPERCASE +~~~~~~~~~ + +@uclclist extension +""""""""""""""""""" + +If UPPERCASE (all-caps) is generated with ``\MakeUppercase``, macro +substitutions in the ``\@uclclist`` apply. This can be used to drop the +diacritics (except dialytika). + +Based on the `babel patch`_ and ``fontenc.sty``. + +The definition or an auxiliary, self-restting macro makes this idempotent +(only the first use of this function will expand the ``@uclclist``). +The second and third lines are TeX' way of writing ``uclclist += …``:: + + \providecommand*\update@uclc@with@greek{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \accdasia\LGR@accdropped + \accdasiaoxia\LGR@hiatus + \accdasiavaria\LGR@accdropped + \accdasiaperispomeni\LGR@accdropped + \accpsili\LGR@hiatus + \accpsilioxia\LGR@hiatus + \accpsilivaria\LGR@hiatus + \accpsiliperispomeni\LGR@accdropped + \acctonos\LGR@hiatus + \accvaria\LGR@accdropped + \accdialytikatonos\LGR@accDialytika + \accdialytikavaria\LGR@accDialytika + \accdialytikaperispomeni\LGR@accDialytika + \accperispomeni\LGR@accdropped + \ypogegrammeni\prosgegrammeni + % + \textalpha \textAlpha + \textbeta \textBeta + \textgamma \textGamma + \textdelta \textDelta + \textepsilon\textEpsilon + \textzeta \textZeta + \texteta \textEta + \texttheta \textTheta + \textiota \textIota + \textkappa \textKappa + \textlambda \textLambda + \textmu \textMu + \textnu \textNu + \textxi \textXi + \textomicron\textOmicron + \textpi \textPi + \textrho \textRho + \textvarsigma \textSigma + \textsigma \textSigma + \textautosigma \textSigma + \texttau \textTau + \textupsilon\textUpsilon + \textphi \textPhi + \textchi \textChi + \textpsi \textPsi + \textomega \textOmega + % + \textqoppa \textQoppa + \textvarstigma \textStigma + \textstigma \textStigma + \textsampi \textSampi + \textdigamma \textDigamma + }% + \let\update@uclc@with@greek\relax + } + +Expand the uclc list with the just defined macro:: + + \update@uclc@with@greek + + +Substitution macros +""""""""""""""""""" + +Drop diacritics +''''''''''''''' +:: + + \DeclareTextCommand{\LGR@accdropped}{LGR}[1]{#1} + +(The argument processing ensures that kerning is preserved) + +Keep dialytika. +''''''''''''''' + +Define a dummy alias so that downcasing with ``\MakeLowercase`` does not +convert a simple dialytika to a composite accent:: + + \DeclareTextCommand{\LGR@accDialytika}{LGR}{\accdialytika} + + \DeclareTextCompositeCommand{\accdialytika}{LGR}{\LGR@hiatus}{\accdialytika} + +.. TODO: MakeUppercase with ``\"'`` fails if the language is "greek". + How can we specify a composite command with character ``"9F``, + the uccode of ``'``? + + % \DeclareTextCompositeCommand{\LGR@accDialytika}{LGR}{"9F}{\accdialytika} + % \DeclareTextAccent{\LGR@accDialytika}{LGR}{34} % upcase Dialytika + % \DeclareTextCompositeCommand{\LGR@accDialytika}{LGR}{\LGR@hiatus}{\accdialytika} + % \DeclareTextCompositeCommand{\LGR@accDialytika}{LGR}{'}{\accdialytika} + +Mark hiatus +''''''''''' + +Tonos and dasia mark a hiatus if placed on the +first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the +second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, +ἀυπνία → ΑΫΠΝΙΑ):: + + \DeclareTextCommand{\LGR@hiatus}{LGR}[1]{#1} + \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{>}{\LGR@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{<}{\LGR@accdropped} + \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{A}{\LGR@A@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textAlpha}{\LGR@A@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{E}{\LGR@E@hiatus} + \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textEpsilon}{\LGR@E@hiatus} + +TODO: What does the \LGR@hiatus command "see" if an unicode literal follows? + +.. code:: latex + + % \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\symbol{"ce}}{bluff} + % \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{"cf}{blaff} + % \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{ι}{blaff} + +Look ahead and place a diaeresis on Ι or Υ:: + + \DeclareTextCommand{\LGR@A@hiatus}{LGR}{% + \LGR@ifnextchar{I}{A\"}{% + \LGR@ifnextchar{U}{A\"}{% + \LGR@ifnextchar{\textIota}{A\"}{% + \LGR@ifnextchar{\textUpsilon}{A\"}{A}% + }% + }% + }% + } + \DeclareTextCommand{\LGR@E@hiatus}{LGR}{% + \LGR@ifnextchar{I}{E\"}{% + \LGR@ifnextchar{U}{E\"}{% + \LGR@ifnextchar{\textIota}{E\"}{% + \LGR@ifnextchar{\textUpsilon}{E\"}{E}% + }% + }% + }% + } + +As ``\@ifnextchar`` gobbles spaces the lookahead macro definition from +``amsgen.sty`` is used: + + This macro is a new version of LaTeX’s ``\@ifnextchar``, macro + that does not skip over spaces. + +:: + + \ProvideTextCommand{\LGR@ifnextchar}{LGR}[3]{% + \let\reserved@d= #1% + \def\reserved@a{#2}\def\reserved@b{#3}% + \futurelet\@let@token\LGR@ifnch + } + \ProvideTextCommand{\LGR@ifnch}{LGR}{% + \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi + \reserved@b + } + +Unfortunately, the lookahead breaks kerning. + +Alternatives tried: + +* CompositeCommands fail at the end of a macro, e.g. ``\emph{\'a}`` + + .. code:: latex + + \DeclareTextCommand{\LGR@A@hiatus}{LGR}{A} + \DeclareTextCommand{\LGR@E@hiatus}{LGR}{E} + + \DeclareTextCompositeCommand{\LGR@A@hiatus}{LGR}{}{A} + \DeclareTextCompositeCommand{\LGR@A@hiatus}{LGR}{I}{A\"I} + \DeclareTextCompositeCommand{\LGR@A@hiatus}{LGR}{U}{A\"U} + + +* The glyph No 12 is a special "Upcase Alpha" that in ligature with Y + and I adds a diaresis to them. However, it seems that it has only + kerning definitions for I and Y (as it is not intended for direct + use) + + .. code:: latex + + \DeclareTextComposite{\LGR@hiatus}{LGR}{A}{12} + + No such glyph exists for E but this is no problem as E does + not require kerning anyway. + +.. References + ---------- + +.. _Adobe Glyph List For New Fonts: + http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt +.. _Adobe Glyph List: + http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt +.. _alphabeta: alphabeta.sty.html +.. _athnum: http://www.ctan.org/pkg/athnum +.. _Babel: http://www.ctan.org/pkg/babel +.. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf +.. _fntguide: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf +.. _fontenc: http://www.ctan.org/pkg/fontenc +.. _hyperref: http://www.ctan.org/pkg/hyperref +.. _ibycus: http://www.ctan.org/pkg/ibycus-babel +.. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt +.. _lgrx: http://www.ctan.org/pkg/lgrx +.. _ltxcmds: http://www.ctan.org/pkg/ltxcmds +.. _libertine: http://www.ctan.org/pkg/libertine-legacy +.. _teubner: http://www.ctan.org/pkg/teubner +.. _teubner-doc: + http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf +.. _textalpha: textalpha.sty.html +.. _ucs: http://www.ctan.org/pkg/unicode +.. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt +.. _XML Entity Definitions for Characters: + http://www.w3.org/TR/xml-entity-names/ diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def index ea3a0482750..3fd780a7063 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def @@ -1,213 +1,4 @@ -% lgrenc.def -% *********** -% -% LGR Greek font encoding definitions -% =================================== -% -% :Copyright: © 2010 Günter Milde -% :Licence: This work may be distributed and/or modified under the -% conditions of the `LaTeX Project Public License`_, either -% version 1.3 of this license or any later version. -% -% :Abstract: The LGR font encoding is the de-facto standard for Greek -% typesetting with LaTeX. This file provides a comprehensive set -% of macros to typeset Greek with LGR encoded fonts. It works for -% both, monotonic and polytonic Greek, independent of the `babel` -% package. -% -% .. contents:: -% -% -% Changelog -% --------- -% -% .. class:: borderless -% -% Development of this file started under the name "lgrxenc.def" as part of the -% lgrx_ bundle. With version 0.8, it moved to ``greek-fontenc/lgrx.def``. -% -% ===== ============ ==================================================== -% 0.1 2010-03-31 initial attempt -% 0.2 2010-04-20 diacritics dropped in UPPERCASE -% 0.3 2010-06-08 handle Titlecase and UPPERCASE extending -% ``\@uclclist`` -% 0.4 2010-06-15 more text symbols -% 0.5 2010-08-27 support ``\textalpha`` ... ``\textOmega`` -% 0.5.1 2012-05-08 upload to CTAN -% 0.6 2012-06-29 ``\TextGreek`` wrapper command, -% aliases for ``puenc.def`` compatibility -% 0.6.1 2013-02-12 ``\@uclclist`` entries for `PU` aliases -% 0.7 2013-05-13 documentation update, new accent macros names, -% ``\TextGreek`` renamed to ``\ensuregreek``. -% 0.8 2013-05-13 rename to lgrenc.def (superseding the babel_ version), -% move to greek-fontenc, -% drop back-compatibility definitions -% ===== ============ ==================================================== -% -% Usage -% ----- -% -% Load this file by calling fontenc_ with the ``LGR`` option -% or indirectly via the babel_, textalpha_ or alphabeta_ packages. -% -% Example: -% Select font encodings `T1` (as default) and `LGR` (for Greek): -% -% ``\usepackage[LGR,T1]{fontenc}`` -% -% preliminary considerations: LICR macro names -% -------------------------------------------- -% -% This file provides LaTeX internal character representations (LICR macros) -% for all non-ASCII characters present in the LGR font encoding. For Greek -% letters and diacritics, LICR macro names were selected based on the -% following considerations: -% -% The fntguide_ (section 6.4 Naming conventions) recommends: -% -% Where possible, text symbols should be named as ``\text`` followed -% by the Adobe glyph name: for example ``\textonequarter`` or -% ``\textsterling``. Similarly, math symbols should be named as -% ``\math`` followed by the glyph name, for example -% ``\mathonequarter`` or ``\mathsterling``. -% -% The `Adobe Glyph List For New Fonts`_ has names for many glyphs in the -% `Greek and Coptic` Unicode block, but not for `Greek extended`. -% The `Adobe Glyph List`_ (for existing fonts) lists additional glyph names -% used in older fonts. -% -% Proposals -% ~~~~~~~~~ -% -% * If there exists a math-mode macro for a symbol, form the corresponding text -% macro by prepending ``text``? -% -% Example: -% The glyph name for the GREEK SMALL LETTER FINAL SIGMA is ``sigma1``, -% the corresponding math-macro is ``\varsigma``. The text symbol could be -% made available as ``\textvarsigma``. -% -% Problems: -% ``\varepsilon`` and ``\varphi`` math macros map to characters named -% "GREEK SMALL **LETTER** ...", while ``\\vartheta``, ``\\varkappa``, -% ``\\varrho``, and ``\\varpi`` math macros map to "GREEK ... **SYMBOL**" -% Unicode characters. -% -% In Greek text, these variants are interchangeable. The LGR font encoding -% does not contain slots for "symbol" glyph variants. In some Greek fonts, -% GREEK SMALL LETTERS use glyph variants resembling the corresponding -% GREEK SYMBOL Unicode character's reference glyph. -% -% * Derive macro names from Unicode names? -% -% The `Unicode names list`_ provides standardized descriptive names for all -% Unicode characters that use only capital letters of the Latin alphabet. -% While not suited for direct use in a LICR macros, they can be either -% -% a) used as inspiration for new LICR macro names or -% -% b) converted to LICR macro names via a defined set of transformation rules. -% -% Example: -% ``\textfinalsigma`` or just ``\finalsigma`` as a more descriptive name -% for GREEK SMALL LETTER FINAL SIGMA derived via the rules: -% -% * drop "LETTER" if the name remains unique, -% * drop "GREEK" if the name remains unique, -% * use capitalized name for capital letters, lowercase for "SMALL" letters -% and drop "SMALL", -% * concatenate -% -% * Omit the "text" prefix for macros that do not have a math counterpart? -% -% Pro: -% + Simpler, -% -% + ease of use (less typing, better readability of source text), -% -% + many established text macro names without "text", -% -% + there are examples of encoding-specific macros -% without the ``text``-prefix, especially for letters, -% -% :T1: ``\AE \DH \DJ \L \NG \OE \O \SS \TH \ae \dh \dj \guillemotleft`` -% ``\guillemotright \guilsinglleft \guilsinglright \i \j \l \ng`` -% ``\oe \o \quotedblbase \quotesinglbase \ss \th`` (also in OT1) -% :T2*: ``\CYR*`` and ``\cyr*`` -% :HE8: ``\heb*`` or no prefix -% :PU: short descriptive names in the arabic part (``puarenc.def``) -% -% + ``text`` prefix does **not** mark a macro as encoding-specific or -% "inserting a glyph". There are e.g. font-changing macros (``\textbf``, -% ``\textit``) and encoding-changing macros (``\textgreek``, -% ``\textcyr``). -% -% Contra: -% - Less consistent. -% -% - ``text`` prefix marks a macro as confined to text mode. -% -% -% How to name *accent macros*? -% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -% -% * standard accent macros (``\DeclareTextAccent`` definitions in -% ``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) . -% -% * tipa.sty and ucs use the "text" prefix also for accents. -% -% However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and -% "dieresistonos" to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence -% `\texttonos` and `\textdiaresistonos` should denote these spacing -% characters. -% -% * textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without -% ``text`` prefix). -% -% * Use a common prefix ``\accent...`` or postfix ``\...accent``, -% or short ``\acc...``? -% -% Currently, `lgrx` uses for diacritics_: -% -% - Greek names like in Unicode, and ucsencs.def -% -% - The prefix "acc" to distinguish the macros as `TextAaccent` and reduce the -% risc of name clashes (cf ``\@tabacckludge``). -% -% - For the end-user "symbol macros" (``\~ \' \` \" \< \>``) are provided. -% -% -% References -% ~~~~~~~~~~ -% -% An alternative, more complete set of short mnemonic character names is -% the `XML Entity Definitions for Characters`_ W3C Recommendation from -% 01 April 2010. -% -% For glyph names of the LGR encoding see e.g. ``CB.enc`` by Apostolos -% Syropoulos and ``xl-lgr.enc`` from the libertine_ (legacy) package. -% ``lgr.cmap`` provides a mapping to Unicode characters. -% -% A full set of ``\text*`` symbol macros is defined in ``ucsencs.def`` -% from the ucs_ package. -% -% Aliases from ``puenc.def`` ensure that the hyperref_ package can -% convert Greek symbols to a PDF-string. -% -% -% Implementation -% -------------- -% -% Read this file only once -% ~~~~~~~~~~~~~~~~~~~~~~~~ -% .. note:: The use of ``\@ifundefined`` has the side-effect that the tested -% macro becomes defined and set to ``\relax`` (polluting the namespace and -% interfering with test via eTeX's ``\ifdefined``). However, in this case -% no harm is done as the macro is defined by the identification_ below -% anyway. -% -% :: - +% read this file only once \@ifundefined{ver@lgrenc.def} {} {\message{LGR font encoding definitions already loaded} @@ -215,57 +6,21 @@ } -% Identification -% ~~~~~~~~~~~~~~ -% :: - \ProvidesFile{lgrenc.def} -[2013/05/13 v0.8 LGR Greek font encoding definitions] - -% You can test the version date using -% -% .. code:: latex -% -% \@ifl@ter {extension}{filename}{date}{YES}{NO} -% -% or using ltxcmds_' ``\@iffilelater`` -% -% Base setup -% ~~~~~~~~~~ -% -% Declare the font encoding and base substitutions:: +[2013/05/24 v0.8.2 LGR Greek font encoding definitions] +% Copyright © 2010 Günter Milde +% This file is part of the "greek-fontenc" package. +% It may be distributed and/or modified under the +% conditions of the "LaTeX Project Public License", either +% version 1.3 of this license or any later version. \DeclareFontEncoding{LGR}{}{} \DeclareFontSubstitution{LGR}{cmr}{m}{n} \DeclareErrorFont{LGR}{cmr}{m}{n}{10} -% The ``\ensuregreek`` command can be used to ensure that its argument is set -% in a font encoding with support for Greek. If the font encoding is already -% LGR, kerning between adjacent command calls (e.g. -% ``\ensuregreek{A}\ensuregreek{\Upsilon}``) is preserved. This allows -% wrapping of compound Unicode character definitions. :: - \DeclareTextCommand{\ensuregreek}{LGR}[1]{#1} -% Text symbols -% ~~~~~~~~~~~~ -% -% Greek Alphabet -% """""""""""""" -% -% Greek letters are accessible by the Latin transcription, but the mapping is -% specific to the LGR font encoding. -% -% The LICR macros provide a way to access the symbols independent of the -% specific font encoding, in any font encoding supporting Greek. An -% alternative Greek font encodings is. LGI (ibycus_). Greek script is also -% supported by the Unicode-based font encodings PU (`PDF Unicode` used by -% hyperref_ for PDF metadata), EU1 (XeTeX) and EU2 (LuaTeX). The textalpha_ -% package makes these macros available independent of the current font -% encoding. -% :: - \DeclareTextSymbol{\textAlpha}{LGR}{65} \DeclareTextSymbol{\textBeta}{LGR}{66} \DeclareTextSymbol{\textGamma}{LGR}{71} @@ -310,7 +65,7 @@ \DeclareTextSymbol{\textrho}{LGR}{114} \DeclareTextCommand{\textsigma}{LGR}{s\noboundary} % σ \DeclareTextSymbol{\textvarsigma}{LGR}{99} % ς final sigma -\DeclareTextSymbol{\textfinalsigma}{LGR}{99} % ς final sigma +\DeclareTextCommand{\textfinalsigma}{LGR}{\textvarsigma} % ς final sigma \DeclareTextSymbol{\textautosigma}{LGR}{115} % σ (ς at end of word) \DeclareTextSymbol{\texttau}{LGR}{116} \DeclareTextSymbol{\textupsilon}{LGR}{117} @@ -320,102 +75,46 @@ \DeclareTextSymbol{\textomega}{LGR}{119} -% Additional Greek symbols -% """""""""""""""""""""""" -% -% Ancient Greek Numbers (Athenian Numerals) -% ''''''''''''''''''''''''''''''''''''''''' -% -% Names from the athnum_ package -% (TODO: should we define them here?):: - -%\DeclareTextSymbol{\PiDelta}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY -%\DeclareTextSymbol{\PiEta}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED -%\DeclareTextSymbol{\PiChi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND -%\DeclareTextSymbol{\PiMu}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND - -% Names from ``xl-lgr.enc`` (Greek numerals):: - -\DeclareTextSymbol{\pentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY -\DeclareTextSymbol{\pentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED -\DeclareTextSymbol{\penteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND -\DeclareTextSymbol{\pentemurioi}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND - - -% Archaic letters -% ''''''''''''''' -% Names after teubner_ and ucs_. The "text" prefix is only used for Digamma, -% which is also used in mathematical context:: - -\DeclareTextSymbol{\stigma}{LGR}{6} % ϛ (greek.ldf, teubner) -\DeclareTextSymbol{\varstigma}{LGR}{7} % stigma variant (CB.enc, teubner) -\DeclareTextSymbol{\koppa}{LGR}{18} % ϟ (greek small letter koppa) -\DeclareTextSymbol{\qoppa}{LGR}{19} % ϙ (archaic koppa) -\DeclareTextSymbol{\Qoppa}{LGR}{21} % Ϙ (archaic Koppa) -\DeclareTextSymbol{\Stigma}{LGR}{22} % Ϛ (teubner) in some fonts ϹΤ ligature -\DeclareTextSymbol{\Sampi}{LGR}{23} % Ϡ -\DeclareTextSymbol{\sampi}{LGR}{27} % ϡ -\DeclareTextSymbol{\anoteleia}{LGR}{38} % · -\DeclareTextSymbol{\erotimatiko}{LGR}{63} % ; -% \digamma used by amsmath for math-macro: -\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (uni-3.def (ucs)) -\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (uni-3.def (ucs)) - -% Compatibility aliases for babel_'s ``greek.ldf`` and hyperref_'s puenc.def, -% defined via `DeclareTextCommand` so that up/downcasing works without the -% need for additional uclclist entries:: - -\DeclareTextCommand{\vardigamma}{LGR}{\varstigma} % greek.ldf -\DeclareTextCommand{\textstigmagreek}{LGR}{\stigma} % puenc.def -\DeclareTextCommand{\textkoppagreek}{LGR}{\koppa} % puenc.def -\DeclareTextCommand{\textStigmagreek}{LGR}{\Stigma} % puenc.def -\DeclareTextCommand{\textSampigreek}{LGR}{\Sampi} % puenc.def -\DeclareTextCommand{\textsampigreek}{LGR}{\sampi} % puenc.def -\DeclareTextCommand{\ddigamma}{LGR}{\textdigamma} % greek.ldf +\DeclareTextSymbol{\textpentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY +\DeclareTextSymbol{\textpentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED +\DeclareTextSymbol{\textpenteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND +\DeclareTextSymbol{\textpentemuria}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND + + +\DeclareTextSymbol{\textstigma}{LGR}{6} % ϛ +\DeclareTextSymbol{\textvarstigma}{LGR}{7} % stigma variant (CB.enc, teubner) +\DeclareTextSymbol{\textkoppa}{LGR}{18} % ϟ (greek small letter koppa) +\DeclareTextSymbol{\textqoppa}{LGR}{19} % ϙ (archaic koppa) +\DeclareTextSymbol{\textQoppa}{LGR}{21} % Ϙ (archaic Koppa) +\DeclareTextSymbol{\textStigma}{LGR}{22} % Ϛ in some fonts ϹΤ ligature +\DeclareTextSymbol{\textSampi}{LGR}{23} % Ϡ +\DeclareTextSymbol{\textsampi}{LGR}{27} % ϡ +\DeclareTextSymbol{\textanoteleia}{LGR}{38} % · +\DeclareTextSymbol{\texterotimatiko}{LGR}{63} % ; +\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro +\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs) + +\DeclareTextCommand{\textstigmagreek}{LGR}{\textstigma} % puenc.def +\DeclareTextCommand{\textkoppagreek}{LGR}{\textkoppa} % puenc.def +\DeclareTextCommand{\textStigmagreek}{LGR}{\textStigma} % puenc.def +\DeclareTextCommand{\textSampigreek}{LGR}{\textSampi} % puenc.def +\DeclareTextCommand{\textsampigreek}{LGR}{\textsampi} % puenc.def \DeclareTextCommand{\textdigammagreek}{LGR}{\textdigamma} % puenc.def -\DeclareTextCommand{\Digamma}{LGR}{\textDigamma} % greek.ldf \DeclareTextCommand{\textDigammagreek}{LGR}{\textDigamma} % puenc.def - -% Numeral signs -% ''''''''''''' -% See also http://en.wikipedia.org/wiki/Greek_numerals -% -% Names from babel_ and teubner_:: - -\DeclareTextSymbol{\anwtonos}{LGR}{254} % ʹ (Dexia keraia) -\DeclareTextSymbol{\katwtonos}{LGR}{255} % ͵ (Aristeri keraia) - -% Compatibility definitions for hyperref_'s puenc.def:: - \DeclareTextSymbol{\textnumeralsigngreek}{LGR}{254} % ʹ (puenc.def) \DeclareTextSymbol{\textnumeralsignlowergreek}{LGR}{255} % ͵ (puenc.def) - -% Other -% """"" -% -% Characters that also exist in other font encodings: -% -% * define them for LGR if there is a matching glyph, -% * use established macro names that match with other ``*enc.def`` files and -% ``textcomp.sty``. -% -% :: - -% all encodings: See usrguide.pdf, chapter 3.14 ff \DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH \DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘ \DeclareTextSymbol{\textquoteright}{LGR}{29} % ’ -\DeclareTextSymbol{\textperiodcentered}{LGR}{46} % · = \textanoteleia +\DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia \DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER \DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH -% T1 \DeclareTextSymbol{\guillemotleft}{LGR}{123} % « \DeclareTextSymbol{\guillemotright}{LGR}{125} % » -% TS1 \ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘ \ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯ \ProvideTextCommand{\textasciidieresis}{LGR}{\char34\textcompwordmark} % " @@ -427,76 +126,8 @@ \DeclareTextSymbol{\textpercent}{LGR}{37} % % \DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permille in greek.ldf -% T3 \DeclareTextSymbol{\textschwa}{LGR}{26} % ə -% Not implemented -% """"""""""""""" -% -% The characters at position 16 and 17 are used in the ``\nexus`` macro -% of the teubner_ package to form an extensible, hat-like bracket. In -% ``CB.enc``, they are mapped to -% -% 16--MODIFIER LETTER LOW ACUTE ACCENT -% 17--MODIFIER LETTER LOW GRAVE ACCENT -% -% but according to the documentation of Werner Lemberg's `babel patch`_, -% they rather represent the left and right part of U+23E0 TOP TORTOISE -% SHELL BRACKET. -% -% Babel's ``lgrenc.def`` has some definitions to prevent surprises with -% macros that expect a Latin script. These definitions are problematic -% in a font-encoding definition file as they -% -% * require ``\textlatin`` which is defined in ``babel.def``, -% * prevent use of TS1 symbols set as default by ``textcomp.sty``. -% -% :: - -%\ProvideTextCommand{\textcopyright}{LGR}{\textcircled{\textlatin{c}}} -%\ProvideTextCommand{\textregistered}{LGR}{\textcircled{\textlatin{\textsc r}}} -%\ProvideTextCommand{\texttrademark}{LGR}{\textsuperscript{\textlatin{TM}}} -%\ProvideTextCommand{\SS}{LGR}{\textlatin{SS}} - -% They may be moved to ``greek.ldf`` one day (with a caveat for textcomp/TS1). -% -% -% Diacritics -% ~~~~~~~~~~ -% -% This section defines `named macros`_ for Greek diacritics and standard -% `symbol macros`_ as alias for simple diacritics. Convenient input -% conventions for `composite diacritics`_ are defined as `composite -% definitions`_. -% -% Advantages: -% -% * input convention similar to LGR input encodings (just prepend a ``\``). -% -% * Access pre-composed characters without resorting to the -% ligature mechanism (allows proper kerning, cf. teubner-doc_). -% -% * Named macros can be used to ensure a font encoding supporting Greek is -% used. However, substitution with pre-composed characters works only for -% the active font encoding (cf. textalpha_). Named accent macros can also be -% used instead of the ``\@tabacckludge`` by to-LaTeX converters to ensure -% working also inside the tabbing environment. -% -% * Named macros are required for upcasing according to Greek typesetting -% conventions (cf. `UPPERCASE`_ below) and for composite diacritics. -% -% -% Named macros -% """""""""""" -% -% Definitions are based on the teubner_ package by Claudio Beccari, the ucs_ -% package, and the `babel patch`_ by Werner Lemberg. Names are derived from -% the Unicode name with the prefix "acc" (cf. `How to name accent macros?`_ -% above) reducing the probability of incompatibilities compared to the -% two-letter teubner_ diacritic macros or the "text" prefix used by ucs_. -% -% Simple Greek diacritics:: - \DeclareTextAccent{\accdialytika}{LGR}{34} % διαλυτικά (diaeresis/trema) \DeclareTextAccent{\acctonos}{LGR}{39} % τόνος/ὀξεῖα tonos/oxia (acute) \DeclareTextAccent{\accdasia}{LGR}{60} % δασεῖα spiritus asper (rough breathing) @@ -504,15 +135,9 @@ \DeclareTextAccent{\accvaria}{LGR}{96} % βαρεῖα (grave) \DeclareTextAccent{\accperispomeni}{LGR}{126} % περισπωμένη (circonflex/tilde) -% The sub-iota is input after the base character. In LGR fonts, ligatures are -% defined for pre-composed characters, the postfix ligature does not interfere -% with kerning:: - \DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι "capital" sub-iota \DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota -% Composite diacritics:: - % Teubner name \DeclareTextAccent{\accdialytikaperispomeni}{LGR}{32} % Cd \DeclareTextAccent{\accdialytikatonos}{LGR}{35} % Ad @@ -526,23 +151,13 @@ \DeclareTextAccent{\accpsilioxia}{LGR}{94} % As \DeclareTextAccent{\accpsilivaria}{LGR}{95} % Gs -% For classical Greek and linguistics, the LGR font encoding contains a number -% of additional diacritic symbols:: - \DeclareTextAccent{\accinvertedbrevebelow}{LGR}{1} % INVERTED BREVE BELOW -\DeclareTextAccent{\subinvertedbreve}{LGR}{1} % (lgrx) \DeclareTextAccent{\textsubarch}{LGR}{1} % (tipa) \DeclareTextAccent{\accbrevebelow}{LGR}{20} % BREVE BELOW -\DeclareTextAccent{\subbreve}{LGR}{20} % (lgrx) \DeclareTextAccent{\u}{LGR}{30} % BREVE \DeclareTextAccent{\=}{LGR}{31} % MACRON -% Aliases -% """"""" -% -% _`Symbol macros`:: - \DeclareTextCommand{\"}{LGR}{\accdialytika} \DeclareTextCommand{\'}{LGR}{\acctonos} \DeclareTextCommand{\`}{LGR}{\accvaria} @@ -550,35 +165,10 @@ \DeclareTextCommand{\<}{LGR}{\accdasia} \DeclareTextCommand{\>}{LGR}{\accpsili} -% TODO: do we also want alternative symbols for the breathings (cf. X compose -% table, LCI encoding)? :: - -%\DeclareTextCommand{\(}{LGR}{\accdasia} -%\DeclareTextCommand{\)}{LGR}{\accpsili} - -% Two Unicode names for one character:: - \DeclareTextCommand{\accoxia}{LGR}{\acctonos} \DeclareTextCommand{\acckoronis}{LGR}{\accpsili} -% Composite definitions -% ~~~~~~~~~~~~~~~~~~~~~ -% -% Composite diacritics -% """""""""""""""""""" -% -% Composite accents can be input as sequence of simple diacritics (in -% arbitrary order) via named macro, symbol macro and "transcription -% characters", e.g. ``\accdialytica\accvaria\textalpha``, ``\"\'\textalpha``, -% ``\"'\textalpha``, or ``\'"\textalpha``. -% -% Separate definitions for the supported variants of the second input token -% are required as composition is based on the non-expanded input -% -% The composition with simple "transcription characters" must also be defined -% for the symbol macros, otherwise it fails with ``\Makeuppercase``):: - \DeclareTextCompositeCommand{\accdialytika}{LGR}{\acctonos}{\accdialytikatonos} \DeclareTextCompositeCommand{\accdialytika}{LGR}{\'}{\accdialytikatonos} \DeclareTextCompositeCommand{\accdialytika}{LGR}{'}{\accdialytikatonos} @@ -657,13 +247,6 @@ \DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni} -% Pre-composed letters -% """""""""""""""""""" -% Small letters with diacritics -% ''''''''''''''''''''''''''''' -% -% (from teubner_ with changed names of the composite accents):: - \DeclareTextComposite{\accvaria}{LGR}{a}{128} \DeclareTextComposite{\accdasia}{LGR}{a}{129} \DeclareTextComposite{\accpsili}{LGR}{a}{130} @@ -746,8 +329,6 @@ \DeclareTextComposite{\accdasia}{LGR}{r}{251} \DeclareTextComposite{\accpsili}{LGR}{r}{252} -% Pre-composed letters with diacritics + LICR macros:: - \DeclareTextComposite{\accvaria}{LGR}{\textalpha}{128} \DeclareTextComposite{\accdasia}{LGR}{\textalpha}{129} \DeclareTextComposite{\accpsili}{LGR}{\textalpha}{130} @@ -831,19 +412,6 @@ \DeclareTextComposite{\accpsili}{LGR}{r}{252} -% Capital letters with diacritics -% ''''''''''''''''''''''''''''''' -% -% In Greek, diacritics are omitted in all-uppercase words, but kept as part -% of an uppercase initial (written before rather than above the letter). -% -% The diaytika should also always be used in all-uppercase words (even -% in cases where they are not needed when writing in lowercase) -% -% -- http://en.wikipedia.org/wiki/Capitalization -% -% In Title Case, place diacritics before instead of above the base character:: - \DeclareTextCompositeCommand{\accdasia}{LGR}{A}{<A} \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{A}{<`A} \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{A}{<'A} @@ -895,6 +463,8 @@ \DeclareTextCompositeCommand{\acctonos}{LGR}{O}{'O} \DeclareTextCompositeCommand{\accvaria}{LGR}{O}{`O} +\DeclareTextCompositeCommand{\accdasia}{LGR}{R}{<R} + \DeclareTextCompositeCommand{\accdasia}{LGR}{U}{<U} \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{U}{<`U} \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{U}{<'U} @@ -913,13 +483,9 @@ \DeclareTextCompositeCommand{\acctonos}{LGR}{W}{'W} \DeclareTextCompositeCommand{\accvaria}{LGR}{W}{`W} -% Except for the dialytika:: - \DeclareTextComposite{\accdialytika}{LGR}{I}{219} \DeclareTextComposite{\accdialytika}{LGR}{U}{223} -% Do the same for the LICR macros:: - \DeclareTextCompositeCommand{\accdasia}{LGR}{\textAlpha}{<A} \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textAlpha}{<`A} \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textAlpha}{<'A} @@ -971,6 +537,8 @@ \DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmicron}{'O} \DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmicron}{`O} +\DeclareTextCompositeCommand{\accdasia}{LGR}{\textRho}{<R} + \DeclareTextCompositeCommand{\accdasia}{LGR}{\textUpsilon}{<U} \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textUpsilon}{<`U} \DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textUpsilon}{<'U} @@ -989,41 +557,27 @@ \DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmega}{'W} \DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmega}{`W} -% Except for the dialytika:: - \DeclareTextComposite{\accdialytika}{LGR}{\textIota}{219} \DeclareTextComposite{\accdialytika}{LGR}{\textUpsilon}{223} -% UPPERCASE -% ~~~~~~~~~ -% -% @uclclist extension -% """"""""""""""""""" -% -% If UPPERCASE (all-caps) is generated with ``\MakeUppercase``, macro -% substitutions in the ``\@uclclist`` apply. This can be used to drop the -% diacritics (except dialytika). -% -% Based on the `babel patch`_ and ``fontenc.sty``. -% (The first two lines are TeX' way of writing ``uclclist += …``):: - -\expandafter\def\expandafter\@uclclist\expandafter{% - \@uclclist - \accdasia\acc@invisible - \accdasiaoxia\@hiatus - \accdasiavaria\acc@invisible - \accdasiaperispomeni\acc@invisible - \accpsili\@hiatus - \accpsilioxia\@hiatus - \accpsilivaria\@hiatus - \accpsiliperispomeni\acc@invisible - \acctonos\@hiatus - \accvaria\acc@invisible - \accdialytikatonos\acc@Dialytika - \accdialytikavaria\acc@Dialytika - \accdialytikaperispomeni\acc@Dialytika - \accperispomeni\acc@invisible +\providecommand*\update@uclc@with@greek{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \accdasia\LGR@accdropped + \accdasiaoxia\LGR@hiatus + \accdasiavaria\LGR@accdropped + \accdasiaperispomeni\LGR@accdropped + \accpsili\LGR@hiatus + \accpsilioxia\LGR@hiatus + \accpsilivaria\LGR@hiatus + \accpsiliperispomeni\LGR@accdropped + \acctonos\LGR@hiatus + \accvaria\LGR@accdropped + \accdialytikatonos\LGR@accDialytika + \accdialytikavaria\LGR@accDialytika + \accdialytikaperispomeni\LGR@accDialytika + \accperispomeni\LGR@accdropped \ypogegrammeni\prosgegrammeni % \textalpha \textAlpha @@ -1053,66 +607,33 @@ \textpsi \textPsi \textomega \textOmega % - \qoppa \Qoppa - \varstigma \Stigma - \stigma \Stigma - \sampi \Sampi - \textdigamma \textDigamma + \textqoppa \textQoppa + \textvarstigma \textStigma + \textstigma \textStigma + \textsampi \textSampi + \textdigamma \textDigamma + }% + \let\update@uclc@with@greek\relax } -% Substitution macros -% """"""""""""""""""" -% -% Drop diacritics -% ''''''''''''''' -% :: +\update@uclc@with@greek -\DeclareTextCommand{\acc@invisible}{LGR}[1]{#1} -% (The argument processing ensures that kerning is preserved) -% -% Keep dialytika. -% ''''''''''''''' -% -% Define a dummy alias so that downcasing with ``\MakeLowercase`` does not -% convert a simple dialytika to a composite accent:: +\DeclareTextCommand{\LGR@accdropped}{LGR}[1]{#1} -\DeclareTextCommand{\acc@Dialytika}{LGR}{\accdialytika} +\DeclareTextCommand{\LGR@accDialytika}{LGR}{\accdialytika} -\DeclareTextCompositeCommand{\accdialytika}{LGR}{\@hiatus}{\accdialytika} +\DeclareTextCompositeCommand{\accdialytika}{LGR}{\LGR@hiatus}{\accdialytika} -% .. TODO: MakeUppercase with ``\"'`` fails if the language is "greek". -% How can we specify a composite command with character ``"9F``, -% the uccode of ``'``? -% -% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{"9F}{\accdialytika} -% % \DeclareTextAccent{\acc@Dialytika}{LGR}{34} % upcase Dialytika -% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{\@hiatus}{\accdialytika} -% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{'}{\accdialytika} -% -% Mark hiatus -% ''''''''''' -% -% Tonos and dasia mark a hiatus if placed on the -% first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the -% second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, -% ἀυπνία → ΑΫΠΝΙΑ):: - -\DeclareTextCommand{\@hiatus}{LGR}[1]{#1} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{>}{\@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{<}{\acc@invisible} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{A}{\A@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textAlpha}{\A@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{E}{\E@hiatus} -\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textEpsilon}{\E@hiatus} -% What does the \@hiatus command "see" if an unicode literal follows? -% \DeclareTextCompositeCommand{\@hiatus}{LGR}{\symbol{"ce}}{bluff} -% \DeclareTextCompositeCommand{\@hiatus}{LGR}{"cf}{blaff} -% \DeclareTextCompositeCommand{\@hiatus}{LGR}{ι}{blaff} - -% Look ahead and place a diaeresis on Ι or Υ:: - -\DeclareTextCommand{\A@hiatus}{LGR}{% +\DeclareTextCommand{\LGR@hiatus}{LGR}[1]{#1} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{>}{\LGR@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{<}{\LGR@accdropped} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{A}{\LGR@A@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textAlpha}{\LGR@A@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{E}{\LGR@E@hiatus} +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textEpsilon}{\LGR@E@hiatus} + +\DeclareTextCommand{\LGR@A@hiatus}{LGR}{% \LGR@ifnextchar{I}{A\"}{% \LGR@ifnextchar{U}{A\"}{% \LGR@ifnextchar{\textIota}{A\"}{% @@ -1121,7 +642,7 @@ }% }% } -\DeclareTextCommand{\E@hiatus}{LGR}{% +\DeclareTextCommand{\LGR@E@hiatus}{LGR}{% \LGR@ifnextchar{I}{E\"}{% \LGR@ifnextchar{U}{E\"}{% \LGR@ifnextchar{\textIota}{E\"}{% @@ -1131,16 +652,7 @@ }% } -% As ``\@ifnextchar`` gobbles spaces the lookahead macro definition from -% ``amsgen.sty`` is used: -% -% This macro is a new version of LaTeX’s ``\@ifnextchar``, macro -% that does not skip over spaces. -% -% :: - \ProvideTextCommand{\LGR@ifnextchar}{LGR}[3]{% -% \long\def\LGR@ifnextchar#1#2#3{% \let\reserved@d= #1% \def\reserved@a{#2}\def\reserved@b{#3}% \futurelet\@let@token\LGR@ifnch @@ -1150,54 +662,3 @@ \reserved@b } -% Unfortunately, the lookahead breaks kerning. -% -% Alternatives tried: -% -% * CompositeCommands fail at the end of a macro, e.g. ``\emph{\'a}``:: - - %\DeclareTextCommand{\A@hiatus}{LGR}{A} - %\DeclareTextCommand{\E@hiatus}{LGR}{E} - - %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{}{A} - %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{I}{A\"I} - %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{U}{A\"U} - - -% * The glyph No 12 is a special "Upcase Alpha" that in ligature with Y -% and I adds a diaresis to them. However, it seems that it has only -% kerning definitions for I and Y (as it is not intended for direct -% use):: - - %\DeclareTextComposite{\@hiatus}{LGR}{A}{12} - -% No such glyph exists for E but this is no problem as E does -% not require kerning anyway. -% -% .. References -% ---------- -% -% .. _Adobe Glyph List For New Fonts: -% http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt -% .. _Adobe Glyph List: -% http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt -% .. _alphabeta: alphabeta.sty.html -% .. _athnum: http://www.ctan.org/pkg/athnum -% .. _Babel: http://www.ctan.org/pkg/babel -% .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf -% .. _fntguide: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf -% .. _fontenc: http://www.ctan.org/pkg/fontenc -% .. _hyperref: http://www.ctan.org/pkg/hyperref -% .. _ibycus: http://www.ctan.org/pkg/ibycus-babel -% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -% .. _lgrx: http://www.ctan.org/pkg/lgrx -% .. _ltxcmds: http://www.ctan.org/pkg/ltxcmds -% .. _libertine: http://www.ctan.org/pkg/libertine-legacy -% .. _teubner: http://www.ctan.org/pkg/teubner -% .. _teubner-doc: -% http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf -% .. _textalpha: textalpha.sty.html -% .. _ucs: http://www.ctan.org/pkg/unicode -% .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt -% .. _XML Entity Definitions for Characters: -% http://www.w3.org/TR/xml-entity-names/ |