From 62cb48658056cee12fac2741b88adac4d664851e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 5 Sep 2015 22:00:16 +0000 Subject: greek-fontenc (4sep15) git-svn-id: svn://tug.org/texlive/trunk@38297 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/greek-fontenc/README | 282 ++-- .../texmf-dist/doc/latex/greek-fontenc/README.html | 1405 ++++++++--------- .../doc/latex/greek-fontenc/alphabeta-doc.pdf | Bin 150062 -> 431227 bytes .../doc/latex/greek-fontenc/alphabeta-doc.tex | 170 ++- .../latex/greek-fontenc/alphabeta-euenc.def.html | 1103 ++++++-------- .../doc/latex/greek-fontenc/alphabeta-lgr.def.html | 1035 ++++++------- .../doc/latex/greek-fontenc/alphabeta.sty.html | 1255 +++++++--------- .../doc/latex/greek-fontenc/diacritics.pdf | Bin 282579 -> 307647 bytes .../doc/latex/greek-fontenc/greek-euenc-doc.pdf | Bin 69419 -> 72128 bytes .../doc/latex/greek-fontenc/greek-euenc-doc.tex | 961 +++++++----- .../doc/latex/greek-fontenc/greek-euenc.def.html | 1587 +++++++++++--------- .../doc/latex/greek-fontenc/greek-fontenc.def.html | 1133 ++++++-------- .../doc/latex/greek-fontenc/greekhyperref.pdf | Bin 219807 -> 221577 bytes .../doc/latex/greek-fontenc/lgr2licr.lua.html | 571 ++++++- .../doc/latex/greek-fontenc/lgrenc-test.pdf | Bin 290789 -> 307368 bytes .../doc/latex/greek-fontenc/lgrenc-test.tex | 78 +- .../doc/latex/greek-fontenc/lgrenc.def.html | 1332 +++++++--------- .../latex/greek-fontenc/test-active-semicolon.pdf | Bin 0 -> 61231 bytes .../doc/latex/greek-fontenc/test-nameclashes.pdf | Bin 0 -> 129449 bytes .../doc/latex/greek-fontenc/textalpha-doc.html | 1137 ++++++++++++++ .../doc/latex/greek-fontenc/textalpha-doc.pdf | Bin 331587 -> 470826 bytes .../doc/latex/greek-fontenc/textalpha-doc.tex | 288 ++-- .../doc/latex/greek-fontenc/textalpha.sty.html | 1334 ++++++++-------- .../tex/latex/greek-fontenc/alphabeta-euenc.def | 70 +- .../tex/latex/greek-fontenc/alphabeta.sty | 176 ++- .../tex/latex/greek-fontenc/greek-euenc.def | 478 +++++- .../tex/latex/greek-fontenc/greek-fontenc.def | 24 +- .../texmf-dist/tex/latex/greek-fontenc/lgrenc.def | 261 ++-- .../tex/latex/greek-fontenc/textalpha.sty | 302 ++-- 29 files changed, 8329 insertions(+), 6653 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/test-active-semicolon.pdf create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/test-nameclashes.pdf create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.html (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/README b/Master/texmf-dist/doc/latex/greek-fontenc/README index 784744d2720..ac269077d6e 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/README +++ b/Master/texmf-dist/doc/latex/greek-fontenc/README @@ -15,9 +15,11 @@ Greek font encoding definition files under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro definitions and generated text - This package provides Greek LICR macro definitions and encoding + This package provides `Greek LICR macros`_ and encoding definition files for `Greek text font encodings`_ for use with - fontenc_. + fontenc_ (8-bit TeX) or fontspec_ (XeTeX/LuaTeX). + + Included are also the LaTeX packages textalpha_ and alphabeta_. .. note:: The LICR macro names for Greek symbols are chosen pending endorsement by the TeX community and related packages. @@ -53,6 +55,12 @@ News from ``greek-fontenc.def`` to ``textalpha.sty`` (Bugreport David Kastrup). Documentation update. +0.13 2015-09-04 Support for `symbol variants`_, +.. ``keep-semicolon`` option in textalpha_, +.. ``\lccode``/``\uccode`` corrections for Unicode + (from Apostolos Syropoulos’ xgreek_) in greek-euenc_, +.. Do not convert ``\ypogegrammeni`` to ``\prosgegrammeni`` + with ``\MakeUppercase``. ====== =========== ========================================================== @@ -62,26 +70,33 @@ TeX files ``_ `Common Greek font encoding definitions `_. +.. _LGR font encoding definition file: + ``_ `LGR Greek font encoding definitions `_. This file is the successor of the basic LGR encoding definition file which - comes with babel_'s Greek support and ``lgrxenc.def`` from the lgrx_ - bundle. + comes with babel_'s Greek support and of ``lgrxenc.def`` from the now + obsolete lgrx_ bundle. + + .. _textalpha: ``_ `Greek symbols in text `_ independent of font encoding and TeX engine. + .. _alphabeta: + ``_ Generic macros for `Greek symbols in text and math `_. ``_ - `Composite defintions for alphabeta.sty_ with XeTeX/LuaTeX. - `_ + `Composite definitions with XeTeX/LuaTeX. `_. + .. _greek-euenc: + ``_ - `Greek LICR definitions for XeTeX and LuaTeX `_. + `Font setup for Greek with XeTeX/LuaTeX `_. Requires euenc_. Literate source files were converted with PyLit_ to reStructuredText_ and @@ -101,7 +116,7 @@ Documentation and test documents Test and usage example. ``_, ``_ - Example for use of the experimental Greek LICR definitions with XeTeX or + Example for use of the Greek LICR definitions with XeTeX or LuaTeX. ``_, ``_ @@ -129,25 +144,42 @@ manager. Otherwise, make sure LaTeX can find the package and definition files: -* Download and unpack ``greek-fontenc.zip``. +* Download and unpack greek-fontenc.zip_. * Copy/Move/Link files ending in ``.def`` or ``.sty`` to a suitable place in - the TDS_ and run ``texhash``, or place them in the current working - directory (e.g. for testing). + the “TeX Directory Structure” (TDS_) and run ``texhash``, or place them in + the current working directory (e.g. for testing). + Usage ===== There are many alternatives to use the Greek font encoding setup -provided by this package/bundle, e.g.: +provided by this package, e.g.: -* Ensure Greek support in text mode with `textalpha`:: +* Ensure support for Greek characters in text mode with textalpha_ :: \usepackage{textalpha} + eventually with the normalize-symbols_ option to handle `symbol + variants`_ :: + + \usepackage[normalize-symbols]{textalpha} + + and/or the keep-semicolon_ option to use the `semicolon as erotimatiko`_ + also in LGR :: + + \usepackage[normalize-symbols,keep-semicolon]{textalpha} + + This sets up LICR macros for Greek text charactes under both, 8-bit TeX + and Xe-/LuaTeX. For details see ``_ and ``_ (8-bit TeX) as well as ``_ and ``_ (XeTeX/LuaTeX). + + .. _normalize-symbols: textalpha.sty.html#normalize-symbols + .. _keep-semicolon: textalpha.sty.html#keep-semicolon + .. _semicolon as erotimatiko: textalpha.sty.html#semicolon-as-erotimatiko * To use the short macro names (``\alpha`` ... ``\Omega``) known from math mode in both, text and math mode, write :: @@ -156,31 +188,44 @@ provided by this package/bundle, e.g.: For details see ``_ and ``_. -* Use the ``greek`` option with Babel_ (requires babel-greek_):: +* Use the ``greek`` option with Babel_:: \usepackage[greek]{babel} + This automatically loads ``lgrenc.def`` with 8-bit TeX and + ``greek-euenc.def`` with XeTeX/LuaTeX and provides localized auto-strings, + hyphenation and other localizations (see babel-greek_). + + Babel can be used together with textalpha_ or alphabeta_. + * Declare LGR via fontenc_. For example, specify T1 (8-bit Latin) as default font encoding and LGR for Greek with :: \usepackage[LGR,T1]{fontenc} - Note that without ``textalpha`` or ``alphabeta``, Greek text macros work + Note that without textalpha_ or alphabeta_, Greek text macros work only if the current font encoding supports Greek. See [fntguide]_ for details and ``_ for an example. -* LGR encoded fonts can also be used alongside Unicode fonts with - XeTeX/LuaTeX to enable the input of Greek letters via the Latin - transcription provided by this font encoding. - See ``_ -> ``_ and - ``_ -> ``_. +* It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding + also with XeTeX/LuaTeX, if the fontenc_ package is loaded before + fontspec_ and textalpha_ or alphabeta_, e.g. :: + + \usepackage[LGR]{fontenc} + \usepackage{fontspec} + \setmainfont{Linux Libertine O} % Latin Modern does not support Greek + \setsansfont{Linux Biolinum O} + \usepackage{textalpha} + + See ``_, ``_ and + ``_, ``_. Greek text font encodings ========================= Greek TeX font encodings are the envisaged T7_, LGR_, and LGI_. Greek letters and symbols are also defined in the Unicode-based font -encodings EU1 (XeTeX), EU2 (LuaTeX) and PU (hyperref_). +encodings EU1_ , EU2_ and PU (hyperref_). T7 -- @@ -195,11 +240,15 @@ LGR --- The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. Fonts in this encoding include the `CB fonts`_ (matching CM), +(8-bit) LaTeX. `greek-fontenc` provides a comprehensive `LGR font +encoding definition file`_. + +Fonts in this encoding include the `CB fonts`_ (matching CM), grtimes_ (Greek Times), Kerkis_ (matching URW Bookman), and the `GFS font collection`_. Setup of these fonts as Greek variant to matching Latin fonts is facilitated by the substitutefont_ package. + The LGR font encoding allows to access Greek characters via an ASCII transliteration. This enables simple input with a Latin keyboard. Characters with diacritics can be selected by ligature definitions in the @@ -223,63 +272,69 @@ It is currently not supported by `greek-fontenc`. The font encoding file ``lgienc.def`` from ibycus-babel_ provides a basic setup (without any LICR macros or composite definitions). +EU1 +--- + +Unicode font encoding set up by euenc_ for XeTeX and indirectly loaded by +fontspec_. `greek-fontenc` adds support for the Greek script (see +greek-euenc_). + +EU2 +--- + +Unicode font encoding set up by euenc_ for XeTeX and indirectly loaded by +fontspec_. `greek-fontenc` adds support for the Greek script (see +greek-euenc_). -Greek LICR macro names -====================== +Greek LICR macros +================= This package provides LaTeX internal character representations (LICR macros) for Greek letters and diacritics. Macro names were selected based on the following considerations: -The fntguide_ (section 6.4 Naming conventions) recommends: +letters and symbols +------------------- - 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 fntguide_ (section 6.4 Naming conventions) recommends: -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. As these are not intened for further active use, the latter are not -considered in the name choice. + 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``. -Proposals ---------- + Problem: + 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. However, these are not intended for active use. -* If there exists a math-mode macro for a symbol, form the corresponding text - macro by prepending ``text``? +* If there exists a **math-mode macro** for a symbol, the corresponding text + macro could be formed 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 + The glyph name for the GREEK SMALL LETTER FINAL SIGMA is ``sigma1``, + the corresponding math-macro is ``\varsigma``. The text symbol is + made available as ``\textvarsigma``. + + Problem: + The math macros for the `symbol variants`_ ``\varepsilon`` and + ``\varphi`` map to characters named "GREEK SMALL *LETTER* ...", while + ``\vartheta``, ``\varkappa``, ``\varrho``, and ``\varpi`` map to "GREEK + ... *SYMBOL*" Unicode characters. (See also section 5.5.3 of the + unicode-math_ documentation.) + +* 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 + While not suited for direct use in LICR macros, they can be either - b) converted to LICR macro names via a defined set of transformation rules. + i. used as inspiration for new LICR macro names or + ii. 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: + ``\textfinalsigma`` is a descriptive alias for + GREEK SMALL LETTER FINAL SIGMA derived via the rules: * drop "LETTER" if the name remains unique, * drop "GREEK" if the name remains unique, @@ -291,41 +346,28 @@ Proposals 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``). + + There are examples of encoding-specific macros + without the ``text``-prefix, especially for letters, see encguide_. Contra: - - Less consistent. - + - Less consistent, + - possible name clashes - ``text`` prefix marks a macro as confined to text (as opposed to math) - mode. + mode, - Conclusion: - To avoid name clashes, the font encoding definition files use the - ``text`` prefix for symbols. Aliases (short forms, compatibility defs, - etc.) can be defined locally or in additional packages (see - alphabeta.sty_, `babel-greek`_, or teubner_) + The font encoding definition files use the ``text`` prefix for symbols. + Aliases (short forms, compatibility defs, etc.) are defined in + additional packages (e.g. alphabeta.sty_, `babel-greek`_, or teubner_) -How to name *accent macros*? ----------------------------- +accent macros +------------- * standard accent macros (``\DeclareTextAccent`` definitions in ``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) . @@ -333,24 +375,58 @@ How to name *accent macros*? * ``tipa.sty``, xunicode_, 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. + "dieresistonos" to the spacing characters GREEK TONOS and 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, `greek-fontenc` uses for diacritics: -- Greek names like in Unicode, and ucsencs.def +- Greek names like in Unicode, and ``ucsencs.def``, and + +- the prefix ``\acc`` to distinguish the macros as `TextAaccent` and reduce + the risc of name clashes (cf. ``\@tabacckludge``). -- The prefix "acc" to distinguish the macros as `TextAaccent` and reduce the - risc of name clashes. +For the end-user "symbol macros" (``\~ \' \` \" \< \> \"' ...``) are +provided. (The non-standard macros ``\<`` and ``\>`` only with +textalpha_ or alphabeta_.) -- For the end-user "symbol macros" (``\~ \' \` \" \< \>``) are provided. - (The non-standard macros ``\<`` and ``\>`` only with textalpha.sty_.) + +symbol variants +--------------- + +See also http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants + +Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta +(θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon +(ε|ϵ). The variations have no syntactic meaning in Greek text and Greek +text fonts use the shape variants indiscriminately. + +Unicode defines separate code points for the symbol variants for use in +mathematical context. However, they are sometimes also used in place of the +corresponding letter characters in Unicode-encoded text. + +The variant shapes are not given separate code-points in the LGR_ font +encoding. + +In mathematical mode, TeX supports the distinction between θ|ϑ, π|ϖ, φ|ϕ, +ρ|ϱ, and ε|ϵ with ``\var`` macros. However, the mapping of +letter/symbol in Unicode to "normal"/variant in TeX is inconsistent +and variant macros for ϴ ϐ, and ϰ are not available without additional +packages (e.g. amssymb_ provides ϰ as ``\varkappa``). + +`greek-fontenc` provides ``\textsymbol`` LICR macros for these +characters: + +* With Unicode fonts, the macros select the GREEK + SYMBOL``. + +* With LGR encoded fonts, they report an error by default and are mapped to + the corresponding letter with the ``normalize-symbols`` option of + textalpha_ and alphabeta_ (loosing the distinction between the shape + variants). References @@ -360,7 +436,7 @@ 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 +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. @@ -391,26 +467,28 @@ as-is). http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt -.. _PyLit: http://pylit.berlios.de +.. _PyLit: http://repo.or.cz/pylit.git .. _reStructuredText: http://docutils.sourceforge.net/rst.html .. _Docutils: http://docutils.sourceforge.net/rst.html .. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds .. _Adobe Glyph List For New Fonts: - http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt + http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/aglfn.txt .. _Adobe Glyph List: - http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt + http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt .. _XML Entity Definitions for Characters: http://www.w3.org/TR/xml-entity-names/ - .. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete .. _GFS font collection: http://www.ctan.org/pkg/gfs .. _Kerkis: http://www.ctan.org/pkg/kerkis +.. _amssymb: http://www.ctan.org/pkg/amsfonts .. _babel: http://www.ctan.org/pkg/babel .. _babel-greek: http://www.ctan.org/pkg/babel-greek .. _euenc: http://www.ctan.org/pkg/euenc .. _fontenc: http://www.ctan.org/pkg/fontenc +.. _fontspec: http://www.ctan.org/pkg/fontspec +.. _greek-fontenc.zip: http://mirrors.ctan.org/language/greek/greek-fontenc.zip .. _grtimes: http://www.ctan.org/pkg/grtimes .. _hyperref: http://www.ctan.org/pkg/hyperref .. _ibycus-babel: http://www.ctan.org/pkg/ibycus-babel @@ -419,5 +497,7 @@ as-is). .. _libertine: http://www.ctan.org/pkg/libertine-legacy .. _substitutefont: http://www.ctan.org/pkg/substitutefont .. _teubner: http://www.ctan.org/pkg/teubner +.. _unicode-math: http://www.ctan.org/pkg/unicode-math .. _ucs: http://www.ctan.org/pkg/unicode +.. _xgreek: http://www.ctan.org/pkg/xgreek .. _xunicode: http://www.ctan.org/pkg/xunicode diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/README.html b/Master/texmf-dist/doc/latex/greek-fontenc/README.html index dffe4bdd3b5..d186fdc698b 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/README.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/README.html @@ -1,646 +1,410 @@ - - - + + greek-fontenc - -

greek-fontenc

-

Greek font encoding definition files

+

Greek font encoding definition files

Author
-
Günter Milde
+

Günter Milde

Date
2014-12-25
-
Licence
-

This work may be distributed and/or modified under the +

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.

+version 1.3 of this license or any later version.

@@ -739,11 +561,12 @@ version 1.3 of this license or any later version.

verbose but failsafe 7-bit ASCII encoding that works unaltered under both, 8-bit TeX and XeTeX/LuaTeX. Use cases are macro definitions and generated text

-

This package provides Greek LICR macro definitions and encoding +

This package provides Greek LICR macros and encoding definition files for Greek text font encodings for use with -fontenc.

+fontenc (8-bit TeX) or fontspec (XeTeX/LuaTeX).

+

Included are also the LaTeX packages textalpha and alphabeta.

-
+

Note

The LICR macro names for Greek symbols are chosen pending endorsement by the TeX community and related packages.

@@ -754,9 +577,9 @@ punctuation may change in future versions.

News

---+++ @@ -765,7 +588,7 @@ punctuation may change in future versions.

- + @@ -779,7 +602,7 @@ punctuation may change in future versions.

- + @@ -792,7 +615,7 @@ punctuation may change in future versions.

- + @@ -802,7 +625,7 @@ updated to work with XeTeX/LuaTeX.

- + @@ -815,12 +638,12 @@ updated to work with XeTeX/LuaTeX.

- - + + - + @@ -832,48 +655,71 @@ updated to work with XeTeX/LuaTeX.

- - + + + + + + + + + + + + + + + + +

0.9

 

experimental files xunicode-greek.sty and greek-euenc.def: LICRs for XeTeX/LuaTeX.

 

fix “hiatus” handling.

0.9.3

 

remove xunicode-greek.sty.

0.10

 

greek-fontenc.sty removed (obsoleted by textalpha.sty).

0.10.1

 

\greekscript TextCommand.

\greekscript TextCommand.

0.11.1

2013-12-01

Fix identification of greek-euenc.def.

Fix identification of greek-euenc.def.

0.11.2

2014-09-04

 

Conservative naming: move definition of \< and \> -from greek-fontenc.def to textalpha.sty +

Conservative naming: move definition of \< and \> +from greek-fontenc.def to textalpha.sty (Bugreport David Kastrup). Documentation update.

0.13

2015-09-04

Support for symbol variants,

+

keep-semicolon option in textalpha,

+

\lccode/\uccode corrections for Unicode +(from Apostolos Syropoulos’ xgreek) in greek-euenc,

+

Do not convert \ypogegrammeni to \prosgegrammeni +with \MakeUppercase.

TeX files

-
+
greek-fontenc.def

Common Greek font encoding definitions.

+
+
lgrenc.def

LGR Greek font encoding definitions.

This file is the successor of the basic LGR encoding definition file which -comes with babel’s Greek support and lgrxenc.def from the lgrx -bundle.

+comes with babel’s Greek support and of lgrxenc.def from the now +obsolete lgrx bundle.

-
textalpha.sty
+
textalpha.sty

Greek symbols in text independent of font encoding and TeX engine.

-
alphabeta.sty
+
alphabeta.sty

Generic macros for Greek symbols in text and math.

alphabeta-euenc.def
-

Composite defintions for alphabeta.sty_ with XeTeX/LuaTeX.

+

Composite definitions with XeTeX/LuaTeX..

-
greek-euenc.def
-

Greek LICR definitions for XeTeX and LuaTeX. +

greek-euenc.def
+

Font setup for Greek with XeTeX/LuaTeX. Requires euenc.

-

Literate source files were converted with PyLit to reStructuredText and +

Literate source files were converted with PyLit to reStructuredText and with Docutils to the HTML documentation.

Documentation and test documents

-
+
textalpha-doc.tex, textalpha-doc.pdf

The textalpha package.

@@ -884,7 +730,7 @@ with greek-euenc-doc.tex, greek-euenc-doc.pdf -

Example for use of the experimental Greek LICR definitions with XeTeX or +

Example for use of the Greek LICR definitions with XeTeX or LuaTeX.

greekhyperref.tex, greekhyperref.pdf
@@ -898,7 +744,7 @@ LuaTeX.

Experimental files

These files are still in development and will eventually be moved to/merged with other packages or removed in future versions:

-
+
lgr2licr.lua

LGR Transcription to Greek LICR transformation

@@ -910,54 +756,68 @@ with other packages or removed in future versions:

manager.

Otherwise, make sure LaTeX can find the package and definition files:

    -
  • Download and unpack greek-fontenc.zip.

  • -
  • Copy/Move/Link files ending in .def or .sty to a suitable place in -the TDS and run texhash, or place them in the current working -directory (e.g. for testing).

  • +
  • Download and unpack greek-fontenc.zip.

  • +
  • Copy/Move/Link files ending in .def or .sty to a suitable place in +the “TeX Directory Structure” (TDS) and run texhash, or place them in +the current working directory (e.g. for testing).

Usage

There are many alternatives to use the Greek font encoding setup -provided by this package/bundle, e.g.:

+provided by this package, e.g.:

    -
  • Ensure Greek support in text mode with textalpha:

    -
    \usepackage{textalpha}
    -
    -

    For details see textalpha-doc.tex and textalpha-doc.pdf (8-bit +

  • Ensure support for Greek characters in text mode with textalpha

    +
    \usepackage{textalpha}
    +

    eventually with the normalize-symbols option to handle symbol +variants

    +
    \usepackage[normalize-symbols]{textalpha}
    +

    and/or the keep-semicolon option to use the semicolon as erotimatiko +also in LGR

    +
    \usepackage[normalize-symbols,keep-semicolon]{textalpha}
    +

    This sets up LICR macros for Greek text charactes under both, 8-bit TeX +and Xe-/LuaTeX. +For details see textalpha-doc.tex and textalpha-doc.pdf (8-bit TeX) as well as greek-euenc-doc.tex and greek-euenc-doc.pdf (XeTeX/LuaTeX).

  • -
  • To use the short macro names (\alpha\Omega) known from math +

  • To use the short macro names (\alpha\Omega) known from math mode in both, text and math mode, write

    -
    \usepackage{alphabeta}
    -
    +
    \usepackage{alphabeta}

    For details see alphabeta-doc.tex and alphabeta-doc.pdf.

  • -
  • Use the greek option with Babel (requires babel-greek):

    -
    \usepackage[greek]{babel}
    -
    +
  • Use the greek option with Babel:

    +
    \usepackage[greek]{babel}
    +

    This automatically loads lgrenc.def with 8-bit TeX and +greek-euenc.def with XeTeX/LuaTeX and provides localized auto-strings, +hyphenation and other localizations (see babel-greek).

    +

    Babel can be used together with textalpha or alphabeta.

  • Declare LGR via fontenc. For example, specify T1 (8-bit Latin) as default font encoding and LGR for Greek with

    -
    \usepackage[LGR,T1]{fontenc}
    -
    -

    Note that without textalpha or alphabeta, Greek text macros work +

    \usepackage[LGR,T1]{fontenc}
    +

    Note that without textalpha or alphabeta, Greek text macros work only if the current font encoding supports Greek. See [fntguide] for details and lgrenc-test.tex for an example.

  • -
  • LGR encoded fonts can also be used alongside Unicode fonts with -XeTeX/LuaTeX to enable the input of Greek letters via the Latin -transcription provided by this font encoding. -See greek-euenc-doc.tex -> greek-euenc-doc.pdf and -lgrenc-test.tex -> lgrenc-test.pdf.

  • +
  • It is possible to use 8-bit Greek text fonts in the LGR TeX font encoding +also with XeTeX/LuaTeX, if the fontenc package is loaded before +fontspec and textalpha or alphabeta, e.g.

    +
    \usepackage[LGR]{fontenc}
    +\usepackage{fontspec}
    +\setmainfont{Linux Libertine O} % Latin Modern does not support Greek
    +\setsansfont{Linux Biolinum O}
    +\usepackage{textalpha}
    +

    See greek-euenc-doc.tex, greek-euenc-doc.pdf and +lgrenc-test.tex, lgrenc-test.pdf.

    +

Greek text font encodings

Greek TeX font encodings are the envisaged T7, LGR, and LGI. Greek letters and symbols are also defined in the Unicode-based font -encodings EU1 (XeTeX), EU2 (LuaTeX) and PU (hyperref).

+encodings EU1 , EU2 and PU (hyperref).

T7

The [encguide] reserves the name T7 for a Greek standard font encoding. @@ -968,7 +828,9 @@ polytonic Greek.

LGR

The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. Fonts in this encoding include the CB fonts (matching CM), +(8-bit) LaTeX. greek-fontenc provides a comprehensive LGR font +encoding definition file.

+

Fonts in this encoding include the CB fonts (matching CM), grtimes (Greek Times), Kerkis (matching URW Bookman), and the GFS font collection. Setup of these fonts as Greek variant to matching Latin fonts is facilitated by the substitutefont package.

@@ -978,7 +840,7 @@ Characters with diacritics can be selected by ligature definitions in the font (see [greek-usage], [teubner-doc], [cbfonts]).

A major drawback of the transliteration is, that you cannot access Latin letters if LGR is the active font encoding (e.g. in documents or parts of -documents given the Babel language greek or polutionikogreek). +documents given the Babel language greek or polutionikogreek). This means that for every Latin-written word or acronym an explicit language-switch is required. This problem can only be solved via a font-encoding comprising Latin and Greek like the envisaged T7 or @@ -989,63 +851,75 @@ Unicode (with XeTeX or LuaTeX).

The ‘Ibycus’ fonts from the package ibygrk implement an alternative transliteration scheme (also explained in [babel-patch]). It is currently not supported by greek-fontenc.

-

The font encoding file lgienc.def from ibycus-babel provides a basic +

The font encoding file lgienc.def from ibycus-babel provides a basic setup (without any LICR macros or composite definitions).

+
+

EU1

+

Unicode font encoding set up by euenc for XeTeX and indirectly loaded by +fontspec. greek-fontenc adds support for the Greek script (see +greek-euenc).

+
+
+

EU2

+

Unicode font encoding set up by euenc for XeTeX and indirectly loaded by +fontspec. greek-fontenc adds support for the Greek script (see +greek-euenc).

-
-

Greek LICR macro names

+
+
+

Greek LICR macros

This package provides LaTeX internal character representations (LICR macros) for Greek letters and diacritics. Macro names were selected based on the following considerations:

-

The fntguide (section 6.4 Naming conventions) recommends:

+
+

letters and symbols

+
    +
  • 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.

    +

    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. As these are not intened for further active use, the latter are not -considered in the name choice.

    -
    -

    Proposals

    -
      -
    • If there exists a math-mode macro for a symbol, form the corresponding text -macro by prepending text?

      -
      +
      +
      Problem:
      +

      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. However, these are not intended for active use.

      +
      +
      +
    • +
    • If there exists a math-mode macro for a symbol, the corresponding text +macro could be formed 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.

      +

      The glyph name for the GREEK SMALL LETTER FINAL SIGMA is sigma1, +the corresponding math-macro is \varsigma. The text symbol is +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.

      +
      Problem:
      +

      The math macros for the symbol variants \varepsilon and +\varphi map to characters named “GREEK SMALL LETTER …”, while +\vartheta, \varkappa, \varrho, and \varpi map to “GREEK +… SYMBOL” Unicode characters. (See also section 5.5.3 of the +unicode-math documentation.)

    • -
    • Derive macro names from Unicode names?

      -

      The Unicode names list provides standardized descriptive names for all +

    • 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

      -
        +While not suited for direct use in LICR macros, they can be either

        +
        1. used as inspiration for new LICR macro names or

        2. 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:

        +

        \textfinalsigma is a descriptive alias for +GREEK SMALL LETTER FINAL SIGMA derived via the rules:

        • drop “LETTER” if the name remains unique,

        • drop “GREEK” if the name remains unique,

        • @@ -1057,76 +931,85 @@ and drop “SMALL”,

      1. 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).

        • +
        • 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).

        • +
        • There are examples of encoding-specific macros +without the text-prefix, especially for letters, see encguide.

        Contra:
          -
        • Less consistent.

        • -
        • text prefix marks a macro as confined to text (as opposed to math) -mode.

        • +
        • Less consistent,

        • +
        • possible name clashes

        • +
        • text prefix marks a macro as confined to text (as opposed to math) +mode,

        -
        Conclusion:
        -

        To avoid name clashes, the font encoding definition files use the -text prefix for symbols. Aliases (short forms, compatibility defs, -etc.) can be defined locally or in additional packages (see -alphabeta.sty, babel-greek, or teubner)

        -
        +

        The font encoding definition files use the text prefix for symbols. +Aliases (short forms, compatibility defs, etc.) are defined in +additional packages (e.g. alphabeta.sty, babel-greek, or teubner)

    -
    -

    How to name accent macros?

    +
    +

    accent macros

      -
    • standard accent macros (\DeclareTextAccent definitions in -latex/base/...) are one-symbol macros (\' \" ... \u \v ...) .

    • -
    • tipa.sty, xunicode, 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.

      +
    • standard accent macros (\DeclareTextAccent definitions in +latex/base/...) are one-symbol macros (\' \" ... \u \v ...) .

    • +
    • tipa.sty, xunicode, and ucs use the “text” prefix also for accents.

      +

      However, the Adobe Glyph List For New Fonts maps, e.g., “tonos” and +“dieresistonos” to the spacing characters GREEK TONOS and 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)?

    • +
    • textcomp (ts1enc.def) defines \capital... accents (i.e. without +text prefix).

    Currently, greek-fontenc 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. -(The non-standard macros \< and \> only with textalpha.sty.)

    • +
    • Greek names like in Unicode, and ucsencs.def, and

    • +
    • 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. (The non-standard macros \< and \> only with +textalpha or alphabeta.)

    +
    +
    +

    symbol variants

    +

    See also http://en.wikipedia.org/wiki/Greek_alphabet#Glyph_variants

    +

    Mathematical notation distinguishes variant shapes for beta (β|ϐ), theta +(θ|ϑ), phi (φ|ϕ), pi (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon +(ε|ϵ). The variations have no syntactic meaning in Greek text and Greek +text fonts use the shape variants indiscriminately.

    +

    Unicode defines separate code points for the symbol variants for use in +mathematical context. However, they are sometimes also used in place of the +corresponding letter characters in Unicode-encoded text.

    +

    The variant shapes are not given separate code-points in the LGR font +encoding.

    +

    In mathematical mode, TeX supports the distinction between θ|ϑ, π|ϖ, φ|ϕ, +ρ|ϱ, and ε|ϵ with \var<lettername> macros. However, the mapping of +letter/symbol in Unicode to “normal”/variant in TeX is inconsistent +and variant macros for ϴ ϐ, and ϰ are not available without additional +packages (e.g. amssymb provides ϰ as \varkappa).

    +

    greek-fontenc provides \text<lettername>symbol LICR macros for these +characters:

    +
      +
    • With Unicode fonts, the macros select the GREEK +<lettername> SYMBOL“.

    • +
    • With LGR encoded fonts, they report an error by default and are mapped to +the corresponding letter with the normalize-symbols option of +textalpha and alphabeta (loosing the distinction between the shape +variants).

    @@ -1134,50 +1017,40 @@ risc of name clashes.

  • 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 +

    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 +

    Aliases from puenc.def ensure that the hyperref package can convert Greek text in “LICR encoding” to a PDF-string (utf-8 encoded input is used as-is).

    -
    [fntguide]
    -
    -

    LaTeX3 Project Team, LaTeX2ε font selection, 2005. +

    +
    [fntguide]
    +

    LaTeX3 Project Team, LaTeX2ε font selection, 2005. http://mirror.ctan.org/macros/latex/doc/fntguide.pdf

    -
    -
    [encguide]
    -
    -

    Frank Mittelbach, Robin Fairbairns, Werner Lemberg, +

    [encguide]
    +

    Frank Mittelbach, Robin Fairbairns, Werner Lemberg, LaTeX3 Project Team, LaTeX font encodings, 2006. http://mirror.ctan.org/macros/latex/doc/encguide.pdf

    -
    -
    [greek-usage]
    -
    -

    Apostolos Syropoulos, Writing Greek with the greek option +

    [greek-usage]
    +

    Apostolos Syropoulos, Writing Greek with the greek option of the babel package, 1997. http://www.tug.org/texlive/Contents/live/texmf-dist/doc/generic/babel/greek-usage.pdf

    -
    -
    [cbfonts]
    -
    -

    Claudio Beccari, The CB Greek fonts, Εὔτυπον, τεῦχος № 21, 2008. +

    [cbfonts]
    +

    Claudio Beccari, The CB Greek fonts, Εὔτυπον, τεῦχος № 21, 2008. http://www.eutypon.gr/eutypon/pdf/e2008-21/e21-a01.pdf

    -
    -
    [teubner-doc]
    -
    -

    Claudio Beccari, teubner.sty +

    [teubner-doc]
    +

    Claudio Beccari, teubner.sty An extension to the greek option of the babel package, 2011. http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf

    -
    -
    [babel-patch]
    -
    -

    Werner Lemberg, Unicode support for the Greek LGR +

    [babel-patch]
    +

    Werner Lemberg, Unicode support for the Greek LGR encoding Εὔτυπον, τεῦχος № 20, 2008. http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf

    diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.pdf index 2395f5248f2..4e8295c0557 100644 Binary files a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.pdf and b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex index 0dc26a63bfc..d110bb65552 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex +++ b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-doc.tex @@ -9,38 +9,49 @@ \ifdefined\XeTeXrevision \usepackage[no-math]{fontspec} \setmainfont{Linux Libertine O} + \setsansfont{Linux Biolinum O} + \setmonofont{Inconsolata}[Scale=MatchLowercase] \usepackage[libertine,slantedGreek]{newtxmath} - \providecommand*{\varstigma}{$\oslash$} + % \usepackage{unicode-math} \else\ifdefined\luatexversion \usepackage{fontspec} \setmainfont{Linux Libertine O} + \setsansfont{Linux Biolinum O} + \setmonofont{Inconsolata}[Scale=MatchLowercase] \usepackage[libertine,slantedGreek]{newtxmath} - \providecommand*{\varstigma}{$\oslash$} \else \usepackage[utf8]{inputenc} \usepackage[LGR,T1]{fontenc} \usepackage{textcomp} - % \usepackage{lmodern} + \usepackage{lmodern} + % \usepackage{libertine} % \usepackage{gfsdidot} % \usepackage{kerkis} - \usepackage{newtxtext,newtxmath} - \usepackage{substitutefont} - \substitutefont{LGR}{\rmdefault}{artemisia} + % \usepackage{newtxtext,newtxmath} + % \usepackage{substitutefont} + % \substitutefont{LGR}{\rmdefault}{artemisia} \usepackage{isomath} \fi\fi % No section numbers but PDF bookmarks for sections -\setcounter{secnumdepth}{0} +% \setcounter{secnumdepth}{0} % load alphabeta after math setup and encoding setup! -\usepackage{alphabeta} +% \usepackage{alphabeta} +\usepackage[normalize-symbols]{alphabeta} % Avoid warnigns with PDF string generation for "alphabeta" commands: % let \TextOrMath (from fixltx2e) return the "text" argument: -\pdfstringdefDisableCommands{% - \let\TextOrMath\@firstoftwo% -} +\pdfstringdefDisableCommands{\let\TextOrMath\@firstoftwo} + +% varstigma only defined with 8-bit LGR fonts +\providecommand*{\varstigma}{$\oslash$} + +% varkappa, only defined with newtxmath, other var... only with unicode-math +\providecommand*{\varkappa}{\oslash} +\providecommand*{\varbeta}{\oslash} +\providecommand*{\varTheta}{\oslash} \begin{document} @@ -66,26 +77,50 @@ math mode (capital letters upright without \emph{fixmath} or This makes it easy to write a single Greek symbol (like \Psi{} or \mu{}) or a \lambda\omicron\gamma\omicron\varsigma{} in non-Greek text as well as ISO-conforming formulas with upright symbols for constants like $A = -\text{\pi} r^2$ instead of $A = \pi r^2$.\footnote{% +\text{\pi} r^2$ (instead of $A = \pi r^2$).\footnote{% The \emph{\href{http://www.ctan.org/pkg/isomath}{isomath}} package documentation describes more alternatives for upright Greek symbols in math mode.} -See the source of this document \url{alphabeta-doc.tex} for a setup and -usage example. +\section{Usage} -\section{Tests and examples} +Load this package in the preamble of your document (after font and math +setup) with +\begin{verbatim} + \usepackage{alphabeta} +\end{verbatim} +or, if you want to merge symbol variants, with the +\texttt{normalize-symbols} option: +\begin{verbatim} + \usepackage[normalize-symbols]{alphabeta} +\end{verbatim} -\subsection{Greek alphabet} +See the source of this document \url{alphabeta-doc.tex} for a setup and +usage example. -Greek letters via Latin transscription in LGR font encoding: +\subsection{option normalize-symbols} +The \texttt{normalize-symbols} option is passed to the +\href{alphabeta-doc.pdf}{\emph{alphabeta}} package. It +merges ``letters'' and ``symbol`` variants of some Greek +letters to the ``letter'' character (but is ignored with Unicode fonts): \begin{quote} - \ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}\\ - \ensuregreek{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} + This text uses both variants for beta (β|ϐ), theta (θ|ϑ), phi (φ|ϕ), pi + (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon (ε|ϵ) in the LaTeX + source. \end{quote} -Greek letters via default macros without language/font-encoding switch: +\textbf{Attention}: Be careful in cases where the distinction between the +symbol variants may be important (e.g. in a mathematical or scientific +context). Use XeTeX/LuaTeX with Unicode fonts or the respective characters +in math mode (e.g. $π$ vs. $ϖ$). + +\section{Tests and examples} + +\subsection{Greek alphabet} + +Greek letters via generic ``name'' macros without language/font-encoding +switch: \begin{quote} \Alpha{} \Beta{} \Gamma{} \Delta{} \Epsilon{} \Zeta{} \Eta{} \Theta{} @@ -97,7 +132,7 @@ Greek letters via default macros without language/font-encoding switch: \sigma{} \varsigma{} \tau{} \upsilon{} \phi{} \chi{} \psi{} \omega{} \\ \digamma{} \Digamma{} \stigma{} \varstigma{}% - \footnote{\texttt{\textbackslash varstigma} is not defined with + \footnote{\texttt{\textbackslash varstigma} is not defined with Xe/LuaTeX and similar to \texttt{\textbackslash stigma} in some fonts.} \koppa{} \qoppa{} \Qoppa{} \Stigma{} \Sampi{} \sampi{} @@ -111,6 +146,77 @@ Greek letters via Unicode input without language/font-encoding switch: ϝ Ϝ ϛ ϟ ϙ Ϙ Ϛ Ϡ ϡ \end{quote} +\subsubsection{symbol variants} + +Mathematical notation uses variant shapes of some Greek letters as +additional symbols. The variations have no syntactic meaning in Greek text +and text fonts may use the variant shapes in place of the “regular” ones as +a stylistic choice. + +Unicode defines separate code points for the symbol variants. TeX supports +some of the variant shape symbols in mathematical mode, but its concept of +“standard” vs. “variant” symbols differs from the distinction between +“GREEK LETTER ...” vs. “GREEK ... SYMBOL” in the Unicode standard +See \href{greek-euenc-doc.pdf}{greek-euenc-doc}. + +The \emph{alphabeta} package defines generic macros for these variants that +are short forms of the set defined in \texttt{greek-euenc.def}: +\begin{quote} + \verb|\| selects the Unicode GREEK LETTER ... variant, + + \verb|\symbol| selects the Unicode + GREEK ... SYMBOL variant, + + \verb|\var| selects the variant + shape according to TeX' mathematical mode +\end{quote} +See Table \ref{tab:symbol-variant-macros} for the full list. +\begin{table}[tbp] + \centering + \begin{tabular}{lcc} + \hline + macro & text & math \\ + \hline + \verb$\pi$ & \pi & $\pi$ \\ + \verb$\varpi$ & \varpi & $\varpi$ \\ + \verb$\pisymbol$ & \pisymbol & $\pisymbol$ \\ + \hline + \verb$\rho$ & \rho & $\rho$ \\ + \verb$\varrho$ & \varrho & $\varrho$ \\ + \verb$\rhosymbol$ & \rhosymbol & $\rhosymbol$ \\ + \hline + \verb$\theta$ & \theta & $\theta$ \\ + \verb$\vartheta$ & \vartheta & $\vartheta$ \\ + \verb$\thetasymbol$ & \thetasymbol & $\thetasymbol$ \\ + \hline + \verb$\epsilon$ & \epsilon & $\epsilon$ \\ + \verb$\varepsilon$ & \varepsilon & $\varepsilon$ \\ + \verb$\epsilonsymbol$ & \epsilonsymbol & $\epsilonsymbol$ \\ + \hline + \verb$\phi$ & \phi & $\phi$ \\ + \verb$\varphi$ & \varphi & $\varphi$ \\ + \verb$\phisymbol$ & \phisymbol & $\phisymbol$ \\ + \hline + \verb$\beta$ & \beta & $\beta$ \\ + \verb$\varbeta$ & \varbeta & $\varbeta$ \\ + \verb$\betasymbol$ & \betasymbol & $\betasymbol$ \\ + \hline + \verb$\kappa$ & \kappa & $\kappa$ \\ + \verb$\varkappa$ & \varkappa & $\varkappa$ \\ + \verb$\kappasymbol$ & \kappasymbol & $\kappasymbol$\\ + \hline + \verb$\Theta$ & \Theta & $\Theta$ \\ + \verb$\varTheta$ & & $\varTheta$ \\ + \verb$\Thetasymbol$ & \Thetasymbol & \\ + \hline + \end{tabular} + \caption{Macros for Greek symbol variants. With 8-bit TeX and the + \texttt{normalize-symbols} option, the output for both variants in text + mode is the same, as 8-bit Greek text fonts contain only one symbol + variant.} \label{tab:symbol-variant-macros} +\end{table} + + \subsection{\ensuregreek{% Ἑλληνικά (\<\Epsilon\lambda\lambda\eta\nu\iota\kappa\'\alpha{})} @@ -131,9 +237,7 @@ Warnings like \texttt{Token not allowed in a PDF string can be ignored or avoided with the preamble code: \begin{verbatim} -\pdfstringdefDisableCommands{% - \let\TextOrMath\@firstoftwo% -} + \pdfstringdefDisableCommands{\let\TextOrMath\@firstoftwo} \end{verbatim} @@ -150,7 +254,7 @@ mathematical mode (for XeTeX/LuaTeX use unicode-math): \[ Γ = \frac{\sin α}{\cos{β}}. \] -Greek letters in math (there are no math macros for Greek letters wich exist +Greek letters and symbols in math (there are no math macros for Greek letters wich exist with similar shape in the Latin alphabet): Input as macro: @@ -179,16 +283,22 @@ Input as macro: % \omicron{} \pi{} \rho{} \sigma{} \varsigma{} \tau{} \upsilon{} \phi{} \chi{} \psi{} \omega{} - \, \digamma{} +\\& + \vartheta \varphi \varpi \digamma{} \varrho \varepsilon \end{align*} Input as Unicode literals (with XeTeX/LuaTeX, this requires the unicode-math package): \begin{align*} & Γ ΔΘΛΞΠΣΥ ΦΨ Ω \\ - & αβγδεζηθικλμνξπρσςτ υφχψω \, ϝ + & αβγδεζηθικλμνξπρσςτυφχψω \\ + & ϑϕϖϝϱϵ \end{align*} +The "normal" vs. "variant" shape of phi and epsilon is inverted when using +traditional makros or Unicode letter vs. symbol characters respectively. +This is to keep backwards compatibility of the math macros as well +as consistent input-output mapping for Unicode in text and math. PDF strings do not know math mode. The content of a formula or equation is evaluated in text mode with non-valid commands discarded (and warnings @@ -205,6 +315,7 @@ Accent macros are set up for use with the generic macros by definition of Diacritics (except the dialytika) should placed before capital letters and dropped with MakeUppercase: +\begin{quote} \ensuregreek{ \<{\alpha} \>{\epsilon} \"'{\iota} \>`{\eta} \'<{\omicron} \~<{\upsilon} \~>{\omega} @@ -216,6 +327,7 @@ before capital letters and dropped with MakeUppercase: \<{\alpha} \>{\epsilon} \"'{\iota} \>`\eta{} \'<{\omicron} \~<{\upsilon} \~>{\omega} }} +\end{quote} \subsection{Limitations} @@ -252,8 +364,8 @@ encoding is not LGR: The \verb+\ensuregreek+ macro ensures that the argument is typeset with a font encoding supporting Greek. This keeps kerning (if the kerning pair is -inside the argument, \ensuregreek{\Alpha\Upsilon\Alpha}), and allows -iterative accent macros where pre-composed characters are selected +inside the argument, \ensuregreek{\Alpha\"\Upsilon\Alpha}), and allows +combining of accent macros where pre-composed characters are selected (\ensuregreek{\<'\alpha}). \end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-euenc.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-euenc.def.html index 569d66dd99c..099cd4ad011 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-euenc.def.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-euenc.def.html @@ -1,644 +1,409 @@ - - - + + alphabeta-euenc.def -

    alphabeta-euenc.def

    -

    Composite definitions for XeTeX and LuaTeX

    +

    Composite definitions for XeTeX and LuaTeX

    -
    Licence
    -

    This work may be distributed and/or modified under the +

    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.

    +version 1.3 of this license or any later version.

    -
    Identification
    -
    \ProvidesFile{alphabeta-euenc}
    -[2014/09/04 0.11.2 Composite definitions for XeTeX and LuaTeX]
    -
    +
    Identification
    +
    \ProvidesFile{alphabeta-euenc}
    +[2014/09/04 0.11.2 Composite definitions for XeTeX and LuaTeX]
    -

    Composite definitions for alphabeta.sty with XeTeX and LuaTeX.

    -
    +

    Composite definitions for alphabeta.sty with XeTeX and LuaTeX.

    +
    Changelog:
    ---+++ @@ -762,7 +584,7 @@ version 1.3 of this license or any later version.

    in both, text and math mode, so that Greek letters can be specified with the established command names in text, too.

    The NFSS TextComposite mechanism looks for the next token without expanding -it. In order to let compositions like \>"\alpha work as expected we +it. In order to let compositions like \>"\alpha work as expected we define TextComposites with the letter name commands.

    This file expands the font encoding definitions in greek-euenc.def with composite commands for use with Unicode fonts. It is sourced by alphabeta @@ -790,11 +612,11 @@ under XeTeX/LuaTeX.

    \DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\upsilon}{ϋ} \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\omicron}{ό} \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\upsilon}{ύ} -\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\omega}{ώ} - +\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\omega}{ώ}

    Greek Extended

    +

    Postfix ypogegrammeni cannot be second part of composite defs.

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\alpha}{ἀ}
     \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\alpha}{ἁ}
     \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\alpha}{ἂ}
    @@ -910,84 +732,21 @@ under XeTeX/LuaTeX.

    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\upsilon}{ὺ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\omega}{ὼ} -%% postfix ypogegrammeni cannot be second part of composite defs. -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾀ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾁ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾂ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾃ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾄ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾅ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾆ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾇ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾈ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾉ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾊ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾋ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾌ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾍ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾎ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾏ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾐ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾑ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾒ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾓ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾔ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾕ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾖ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾗ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾘ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾙ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾚ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾛ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾜ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾝ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾞ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾟ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾠ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾡ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾢ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾣ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾤ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾥ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾦ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾧ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾨ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾩ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾪ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾫ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾬ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾭ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾮ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾯ} - \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\alpha}{ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\alpha}{ᾱ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾲ} -% \DeclareTextCompositeCommand{\alpha}{\LastDeclaredEncoding}{\ypogegrammeni}{ᾳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾴ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\alpha}{ᾶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\alpha}{ᾶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾷ} \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\Alpha}{Ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\Alpha}{Ᾱ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Alpha}{Ὰ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Alpha}{Ὰ} -% \DeclareTextCompositeCommand{\Alpha}{\LastDeclaredEncoding}{\prosgegrammeni}{ᾼ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ῂ} -% \DeclareTextCompositeCommand{\eta}{\LastDeclaredEncoding}{\ypogegrammeni}{ῃ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ῄ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\eta}{ῆ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\eta}{ῆ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ῇ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Epsilon}{Ὲ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Eta}{Ὴ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Epsilon}{Ὲ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Eta}{Ὴ} -% \DeclareTextCompositeCommand{\Eta}{\LastDeclaredEncoding}{\prosgegrammeni}{ῌ} - \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\iota}{ῐ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\iota}{ῑ} @@ -1016,18 +775,12 @@ under XeTeX/LuaTeX.

    \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Upsilon}{Ὺ} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Rho}{Ῥ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ῲ} -% \DeclareTextCompositeCommand{\omega}{\LastDeclaredEncoding}{\ypogegrammeni}{ῳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ῴ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\omega}{ῶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\omega}{ῶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ῷ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Omicron}{Ὸ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Omega}{Ὼ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Omicron}{Ὸ} -\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Omega}{Ὼ} -% \DeclareTextCompositeCommand{\Omega}{\LastDeclaredEncoding}{\prosgegrammeni}{ῼ} -
    +\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Omega}{Ὼ}
    diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html index 471125a414d..e324cc3bdd8 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta-lgr.def.html @@ -1,644 +1,409 @@ - - - + + - +alphabeta-lgr.def -

    alphabeta-lgr.def

    -

    Composite definitions for 8-bit TeX

    +

    Composite definitions for 8-bit TeX

    -
    Licence
    -

    This work may be distributed and/or modified under the +

    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.

    +version 1.3 of this license or any later version.

    -
    Identification
    -
    \ProvidesFile{alphabeta-lgr}
    -[2014/09/04 0.11.2 Composite definitions for 8-bit TeX]
    -
    +
    Identification
    +
    \ProvidesFile{alphabeta-lgr}
    +[2014/09/04 0.11.2 Composite definitions for 8-bit TeX]
    -
    Changelog
    -

    2013-09-12

    +
    Changelog
    +
    ---+++ - +

    2014-09-04

    0.11.2

    outsourced from alphabeta.sty.

    outsourced from alphabeta.sty.

    @@ -751,7 +573,7 @@ version 1.3 of this license or any later version.

    in both, text and math mode, so that Greek letters can be specified with the established command names in text, too.

    The NFSS TextComposite mechanism looks for the next token without expanding -it. In order to let compositions like \>"\alpha work as expected we +it. In order to let compositions like \>"\alpha work as expected we define TextComposites with the letter name commands.

    This file expands the font encoding definitions in lgrenc.def with composite commands for use with 8-bit TeX fonts. It is sourced by @@ -900,8 +722,7 @@ composite commands for use with 8-bit TeX fonts. It is sourced by \DeclareTextComposite{\accdialytika}{LGR}{\Iota}{219} \DeclareTextComposite{\accdialytika}{LGR}{\Upsilon}{223} \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Alpha}{\LGR@A@hiatus} -\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Epsilon}{\LGR@E@hiatus} - +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\Epsilon}{\LGR@E@hiatus}

    diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html index 7016c24694a..d5d476a0d2b 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/alphabeta.sty.html @@ -1,644 +1,409 @@ - - - + + alphabeta: Greek symbols in text and math - @@ -720,30 +543,29 @@ div.hint, div.important, div.note, div.tip, div.warning {
    -
    Licence
    -

    This work may be distributed and/or modified under the +

    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.

    +version 1.3 of this license or any later version.

    -
    Identification
    -
    \NeedsTeXFormat{LaTeX2e}
    +
    Identification
    +
    \NeedsTeXFormat{LaTeX2e}
     \ProvidesPackage{alphabeta}
    -[2013/09/11 v0.4 macros for Greek letters in text and math]
    -
    +[2015/08/08 v0.13 macros for Greek letters in text and math]

    Abstract

    -

    Use \alpha, \beta, ... for Greek letters in text and math +

    Use \alpha, \beta, ... for Greek letters in text and math mode.

    -
    +
    Changelog:
    ---+++ @@ -752,74 +574,79 @@ mode.

    - + - + - + + + + +

    2012-06-26

    2013-05-03

    0.2

    new accent macro names with lgrxenc.def 0.7

    new accent macro names with lgrxenc.def 0.7

    2013-05-28

    0.3

    use lgrenc.def from greek-fontenc,

    use lgrenc.def from greek-fontenc,

     

    enable Unicode input in math mode.

    2013-09-11

    0.4

    move to greek-fontenc, support XeTeX/LuaTeX.

    2015-09-04

    0.13

    Support for variant symbols.

    Motivation

    -

    By default, the \alpha, \beta, ... macros for Greek letters +

    By default, the \alpha, \beta, ... macros for Greek letters are only valid in mathematical mode.

    With this package, the math macros are redefined to work in both, text and math mode, so that Greek letters can be specified with the established command names in text, too.

    -

    If used together with the utf8 option of inputenc, literal Unicode +

    If used together with the utf8 option of inputenc, literal Unicode characters can be used for Greek symbols in mathematical formulas.

    -
    +

    Attention!

    The macros work well in any font encoding for single symbols. However, with 8-bit TeX, the automatic font-encoding switches behind the doors interfere with kerning between letters and replacement of accent+character with a pre-composed character.

    Therefore, Greek text should be written with the help of babel or -polyglossia (setting the language to greek) or wrapped in the -provided ensuregreek macro. Using babel or polyglossia also helps +polyglossia (setting the language to greek) or wrapped in the +provided ensuregreek macro. Using babel or polyglossia also helps to ensure proper hyphenation.

    Usage

    -
    \usepackage{alphabeta}
    -
    +
    \usepackage{alphabeta}
    +

    The greek-inputenc package provides support for Unicode (utf-8) input +of Greek characters with 8-bit TeX and the inputenc package:

    +
    \usepackage[utf-8]{inputenc}
    +\usepackage{alphabeta}

    For details see alphabeta-doc.tex and alphabeta-doc.pdf.

    Implementation

    Requirements

    -

    This package extends the textalpha package:

    -
    \RequirePackage{textalpha}
    -
    -

    textalpha depends on greek-fontenc and (with 8-bit TeX) recommends -greek-inputenc.

    +

    This package extends the textalpha package. +Package options are passed on to textalpha:

    +
    \RequirePackageWithOptions{textalpha}
    +

    Just like alphabeta, textalpha is part of greek-fontenc.

    This package requires the e-TeX extensions (i.e. a not too old TeX -distribution) for the \ifdefined test.

    -

    It uses the \TextOrMath test from the fixltx2e standard LaTeX +distribution) for the \ifdefined test.

    +

    It uses the \TextOrMath test from the fixltx2e standard LaTeX package:

    -
    \RequirePackage{fixltx2e}
    -
    +
    % fixltx2e is not required with releases after 2015
    +%\RequirePackage{fixltx2e}

    Postpone the re-definitions

    To prevent other packages overwriting the re-defined commands we postpone the next steps until the start of the document body:

    -
    \AtBeginDocument{
    -
    +
    \AtBeginDocument{

    Save math macros

    @@ -841,9 +668,11 @@ the next steps until the start of the document body:

    \let\mathgamma\gamma \let\mathdelta\delta \let\mathepsilon\epsilon +\let\mathvarepsilon\varepsilon \let\mathzeta\zeta \let\matheta\eta \let\maththeta\theta +\let\mathvartheta\vartheta \let\mathiota\iota \let\mathkappa\kappa \let\mathlambda\lambda @@ -851,27 +680,50 @@ the next steps until the start of the document body:

    \let\mathnu\nu \let\mathxi\xi \let\mathpi\pi +\let\mathvarpi\varpi \let\mathrho\rho +\let\mathvarrho\varrho \let\mathsigma\sigma \let\mathvarsigma\varsigma +\let\mathfinalsigma\varsigma \let\mathtau\tau \let\mathupsilon\upsilon \let\mathphi\phi +\let\mathvarphi\varphi \let\mathchi\chi \let\mathpsi\psi \let\mathomega\omega % ``\digamma`` is defined by amsmath, provide a fallback \providecommand*{\digamma}{\textit{\textdigamma}} \let\mathdigamma\digamma - + +% \varkappa and \varbeta are defined by some math packages +\ifdefined\varbeta + \let\mathvarbeta\varbeta +\fi +\ifdefined\varkappa % e.g. with newtxmath + \let\mathvarkappa\varkappa +\fi

    Commands to access Greek letters by name

    For letters defined in math mode, the commands work in both, text and math.

    Some Greek letters look identical to Latin letters and can therefore not be used as variable symbols in math formulas. These letters are not defined in -TeX’s math mode, we provide an alias to the corrsponding \text... +TeX’s math mode, we provide an alias to the corrsponding \text... command.

    +

    Mathematical notation distinguishes variant shape symbols for pi, phi, +rho, theta (small and capital), beta, and kappa (characters for the latter +three symbols are not included in TeX’s math fonts). These variations have +no syntactic meaning in Greek text and are not given code-points in the LGR +encoding while Unicode defines separate code points for the symbol variants.

    +

    Greek Alphabet:

    +

    Macros keep their meaning in mathematical mode (i.e. use the same shape as +without this package) and refer to GREEK LETTER … in text. For +\epsilon and phi, this means that the selected symbol variant +differs in text vs. math mode. Use \varepsilon and \varphi (see +section `variant symbols`_ below) to select the GREEK LETTER …” in both, +text and math mode.

    \providecommand*{\Alpha}{\textAlpha}
     \providecommand*{\Beta}{\textBeta}
     \renewcommand*{\Gamma}{\TextOrMath{\textGamma}{\mathGamma}}
    @@ -901,7 +753,7 @@ command.

    \renewcommand*{\beta}{\TextOrMath{\textbeta}{\mathbeta}} \renewcommand*{\gamma}{\TextOrMath{\textgamma}{\mathgamma}} \renewcommand*{\delta}{\TextOrMath{\textdelta}{\mathdelta}} -\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} +\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ \renewcommand*{\zeta}{\TextOrMath{\textzeta}{\mathzeta}} \renewcommand*{\eta}{\TextOrMath{\texteta}{\matheta}} \renewcommand*{\theta}{\TextOrMath{\texttheta}{\maththeta}} @@ -919,11 +771,10 @@ command.

    \providecommand*{\finalsigma}{\varsigma} \renewcommand*{\tau}{\TextOrMath{\texttau}{\mathtau}} \renewcommand*{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} -\renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} +\renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} % ϕ/φ \renewcommand*{\chi}{\TextOrMath{\textchi}{\mathchi}} \renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}} -\renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}} -
    +\renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}}

    Archaic letters

    \renewcommand*{\digamma}{\TextOrMath{\textdigamma}{\mathdigamma}} % ϝ
    @@ -935,15 +786,51 @@ command.

    \providecommand*{\Qoppa}{\textQoppa} % Ϙ (archaic Koppa) \providecommand*{\Stigma}{\textStigma} % Ϛ (in some fonts ϹΤ ligature) \providecommand*{\Sampi}{\textSampi} % Ϡ -\providecommand*{\sampi}{\textsampi} % ϡ -
    +\providecommand*{\sampi}{\textsampi} % ϡ +
    +
    +

    Variant shape symbols

    +

    TeX’s concept of “standard” vs. “variant” math symbols does not map to the +distinction between GREEK LETTER … vs. GREEK … SYMBOL in the Unicode +standard (see greek-euenc-doc.pdf).

    +

    The \...symbol macros select the GREEK … SYMBOL in both, text and +math mode. For \epsilonsymbol and \phisymbol this is the default +shape in math mode. The \var... macros select the shape used by TeX +math (or, if not supported, the SYMBOL shape):

    +
    % ..symbol == var..
    +\renewcommand*{\varpi}{\TextOrMath{\textpisymbol}{\mathvarpi}}          % ϖ
    +\providecommand*{\pisymbol}{\varpi}                                     % ϖ
    +\renewcommand*{\varrho}{\TextOrMath{\textrhosymbol}{\mathvarrho}}       % ϱ
    +\providecommand*{\rhosymbol}{\TextOrMath{\textrhosymbol}{\mathvarrho}}  % ϱ
    +\renewcommand*{\vartheta}{\TextOrMath{\textthetasymbol}{\mathvartheta}} % ϑ
    +\providecommand*{\thetasymbol}{\vartheta}                               % ϑ
    +% ..symbol != var..
    +\renewcommand*{\varepsilon}{\TextOrMath{\textepsilon}{\mathvarepsilon}} % ε
    +\providecommand*{\epsilonsymbol}{\TextOrMath{\textepsilonsymbol}{\mathepsilon}} % ϵ
    +\renewcommand*{\varphi}{\TextOrMath{\textphi}{\mathvarphi}}             % φ
    +\providecommand*{\phisymbol}{\TextOrMath{\textphisymbol}{\mathphi}}     % ϕ
    +% only text (in standard 8-bit TeX, may be defined with additional packages):
    +\ifdefined\mathvarbeta
    +  \renewcommand*{\varbeta}{\TextOrMath{\textbetasymbol}{\mathvarbeta}}  % ϐ
    +\else
    +  \providecommand*{\varbeta}{\textbetasymbol}
    +\fi
    +\providecommand*{\betasymbol}{\varbeta}
    +\ifdefined\mathvarkappa                                                 % ϰ
    +  \renewcommand*{\varkappa}{\TextOrMath{\textkappasymbol}{\mathvarkappa}}
    +\else
    +  \providecommand*{\varkappa}{\textkappasymbol}
    +\fi
    +\providecommand*{\kappasymbol}{\varkappa}
    +% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta
    +\providecommand*{\Thetasymbol}{\textThetasymbol}                        % ϴ

    TextCompositeCommands for the generic macros

    The NFSS TextComposite mechanism looks for the next token without expanding -it. In order to let compositions like \ensuregreek{\'\Alpha} or -\ensuregreek{\>"\alpha} work as expected we define TextComposites with the +it. In order to let compositions like \ensuregreek{\'\Alpha} or +\ensuregreek{\>"\alpha} work as expected we define TextComposites with the letter name commands. (Composition only works if the active font encoding is LGR).

    \ifdefined\XeTeXrevision
    @@ -954,64 +841,74 @@ is LGR).

    % \expandafter\endinput % "return" \else % 8-bit TeX \input{alphabeta-lgr.def} -\fi\fi -
    +\fi\fi

    Re-definition for Greek Unicode input in math mode

    -

    Check with \ifdefined for the definition of -\DeclareUnicodeCharacter. In contrast to \@ifdefined, this works +

    Check with \ifdefined for the definition of +\DeclareUnicodeCharacter. In contrast to \@ifdefined, this works without side-effects. It makes the package dependent on the e-TeX -extensions but theses are standard in all current TeX distributions anyway.

    +extensions but these are standard in all current TeX distributions anyway.

    Map Greek characters that are also defined in math mode to the generic macros:

    \ifdefined\DeclareUnicodeCharacter
    -  \DeclareUnicodeCharacter{0393}{\Gamma}   % Γ
    -  \DeclareUnicodeCharacter{0394}{\Delta}   % Δ
    -  \DeclareUnicodeCharacter{0398}{\Theta}   % Θ
    -  \DeclareUnicodeCharacter{039B}{\Lambda}  % Λ
    -  \DeclareUnicodeCharacter{039E}{\Xi}      % Ξ
    -  \DeclareUnicodeCharacter{03A0}{\Pi}      % Π
    -  \DeclareUnicodeCharacter{03A3}{\Sigma}   % Σ
    -  \DeclareUnicodeCharacter{03A5}{\Upsilon} % Υ
    -  \DeclareUnicodeCharacter{03A6}{\Phi}     % Φ
    -  \DeclareUnicodeCharacter{03A8}{\Psi}     % Ψ
    -  \DeclareUnicodeCharacter{03A9}{\Omega}   % Ω
    -
    -  \DeclareUnicodeCharacter{03B1}{\alpha}    % α
    -  \DeclareUnicodeCharacter{03B2}{\beta}     % β
    -  \DeclareUnicodeCharacter{03B3}{\gamma}    % γ
    -  \DeclareUnicodeCharacter{03B4}{\delta}    % δ
    -  \DeclareUnicodeCharacter{03B5}{\epsilon}  % ε
    -  \DeclareUnicodeCharacter{03B6}{\zeta}     % ζ
    -  \DeclareUnicodeCharacter{03B7}{\eta}      % η
    -  \DeclareUnicodeCharacter{03B8}{\theta}    % θ
    -  \DeclareUnicodeCharacter{03B9}{\iota}     % ι
    -  \DeclareUnicodeCharacter{03BA}{\kappa}    % κ
    -  \DeclareUnicodeCharacter{03BB}{\lambda}   % λ
    -  \DeclareUnicodeCharacter{03BC}{\mu}       % μ
    -  \DeclareUnicodeCharacter{03BD}{\nu}       % ν
    -  \DeclareUnicodeCharacter{03BE}{\xi}       % ξ
    -  \DeclareUnicodeCharacter{03C0}{\pi}       % π
    -  \DeclareUnicodeCharacter{03C1}{\rho}      % ρ
    -  \DeclareUnicodeCharacter{03C2}{\varsigma} % ς
    -  \DeclareUnicodeCharacter{03C3}{\sigma}    % σ
    -  \DeclareUnicodeCharacter{03C4}{\tau}      % τ
    -  \DeclareUnicodeCharacter{03C5}{\upsilon}  % υ
    -  \DeclareUnicodeCharacter{03C6}{\phi}      % φ
    -  \DeclareUnicodeCharacter{03C7}{\chi}      % χ
    -  \DeclareUnicodeCharacter{03C8}{\psi}      % ψ
    -  \DeclareUnicodeCharacter{03C9}{\omega}    % ω
    -
    -  \DeclareUnicodeCharacter{03DD}{\digamma}  % ϝ
    -\fi
    -
    -
    } % close the \AtBeginDocument macro
    -
    + \DeclareUnicodeCharacter{0393}{\Gamma} % Γ + \DeclareUnicodeCharacter{0394}{\Delta} % Δ + \DeclareUnicodeCharacter{0398}{\Theta} % Θ + \DeclareUnicodeCharacter{039B}{\Lambda} % Λ + \DeclareUnicodeCharacter{039E}{\Xi} % Ξ + \DeclareUnicodeCharacter{03A0}{\Pi} % Π + \DeclareUnicodeCharacter{03A3}{\Sigma} % Σ + \DeclareUnicodeCharacter{03A5}{\Upsilon} % Υ + \DeclareUnicodeCharacter{03A6}{\Phi} % Φ + \DeclareUnicodeCharacter{03A8}{\Psi} % Ψ + \DeclareUnicodeCharacter{03A9}{\Omega} % Ω + + \DeclareUnicodeCharacter{03B1}{\alpha} % α + \DeclareUnicodeCharacter{03B2}{\beta} % β + \DeclareUnicodeCharacter{03B3}{\gamma} % γ + \DeclareUnicodeCharacter{03B4}{\delta} % δ + \DeclareUnicodeCharacter{03B5}{\varepsilon} % ε textepsilon/varepsilon + \DeclareUnicodeCharacter{03B6}{\zeta} % ζ + \DeclareUnicodeCharacter{03B7}{\eta} % η + \DeclareUnicodeCharacter{03B8}{\theta} % θ + \DeclareUnicodeCharacter{03B9}{\iota} % ι + \DeclareUnicodeCharacter{03BA}{\kappa} % κ + \DeclareUnicodeCharacter{03BB}{\lambda} % λ + \DeclareUnicodeCharacter{03BC}{\mu} % μ + \DeclareUnicodeCharacter{03BD}{\nu} % ν + \DeclareUnicodeCharacter{03BE}{\xi} % ξ + \DeclareUnicodeCharacter{03C0}{\pi} % π + \DeclareUnicodeCharacter{03C1}{\rho} % ρ + \DeclareUnicodeCharacter{03C2}{\varsigma} % ς + \DeclareUnicodeCharacter{03C3}{\sigma} % σ + \DeclareUnicodeCharacter{03C4}{\tau} % τ + \DeclareUnicodeCharacter{03C5}{\upsilon} % υ + \DeclareUnicodeCharacter{03C6}{\varphi} % φ textphi/varphi + \DeclareUnicodeCharacter{03C7}{\chi} % χ + \DeclareUnicodeCharacter{03C8}{\psi} % ψ + \DeclareUnicodeCharacter{03C9}{\omega} % ω + + \DeclareUnicodeCharacter{03D1}{\thetasymbol} % ϑ + \DeclareUnicodeCharacter{03D5}{\phisymbol} % ϕ $\phi$ + \DeclareUnicodeCharacter{03D6}{\pisymbol} % ϖ + \DeclareUnicodeCharacter{03DD}{\digamma} % ϝ + \DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ + \DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$ + +\fi +
    } % close the \AtBeginDocument macro
    +
    +

    Docutils System Messages

    +
    +

    System Message: ERROR/3 (alphabeta.sty.txt, line 182); backlink

    +

    Unknown target name: "variant symbols".

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

    greek-euenc.def

    -

    Greek LICR definitions for XeTeX and LuaTeX

    +

    Greek LICR definitions for XeTeX and LuaTeX

    -
    Licence
    -

    This work may be distributed and/or modified under the +

    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.

    +version 1.3 of this license or any later version.

    -
    Identification
    -
    \ProvidesFile{greek-euenc.def}
    -[2014/12/12 0.12 Greek LICRs for XeTeX and LuaTeX]
    -
    +
    Identification
    +
    \ProvidesFile{greek-euenc.def}
    +[2015/08/07 0.13 Greek LICRs for XeTeX and LuaTeX]
    @@ -737,13 +559,13 @@ version 1.3 of this license or any later version.

    Experimental support for Greek LICR macros with XeTeX and LuaTeX. Extends euenc. Used by babel-greek and textalpha.

    -
    -
    History:
    +
    +
    History:
    ---+++ @@ -768,7 +590,7 @@ fix “hiatus” handling.

    +fix upcasing of \finalsigma.

    @@ -776,43 +598,76 @@ fix upcasing of \finalsigma.

    - + - + + + + + + + + +

    0.1

    2013-10-01 ..

    remove clashing defs for legacy characters with oxia, -fix upcasing of \finalsigma.

    0.11.1

    2013-12-01

    0.11.2

    2014-09-08

    \textKoppa macro

    \textKoppa macro

     

    (Capital Koppa is not defined in LGR but Unicode).

    0.12

    2014-12-12

    Remove symbol macros for breathing accents.

    0.13

    2015-08-07

    \lccode/\uccode corrections from xgreek.

    +

    LICR macros for symbol variants.

    +
    -

    Motivation

    +

    Motivation

    LICR macro definitions for the Greek script are missing in both, xunicode and euenc.

    -

    This file expands the font encoding definition files eu1enc.def rsp. -eu2enc.def from euenc defining LaTeX Internal Character +

    This file expands the font encoding definition files eu1enc.def rsp. +eu2enc.def from euenc defining LaTeX Internal Character Representaction (LICR) macros for Greek letters and symbols. It works independed of xunicode using the standard commands for LaTeX2e font selection.

    -

    Requirements

    +

    Requirements

    Requires XeTeX or LuaTeX, euenc (usually loaded via fontspec), and a font with Greek characters.

    See greek-euenc-doc.tex and greek-euenc-doc.pdf for setup and usage examples.

    -

    Greek Diacritics

    +

    Greek Diacritics

    Define “named macros” for simple and combined diacritics.

      -
    • Named accent macros can be used instead of the \@tabacckludge by +

    • Named accent macros can 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 and in the definition of composite commands.

    • @@ -820,21 +675,18 @@ conventions and in the definition of composite commands.

      Greek alias names for standard accents:

      \DeclareTextCommand{\acctonos}{\LastDeclaredEncoding}{\@tabacckludge'}
       \DeclareTextCommand{\accvaria}{\LastDeclaredEncoding}{\@tabacckludge`}
      -\DeclareTextCommand{\accdialytika}{\LastDeclaredEncoding}{\@tabacckludge"}
      -\DeclareTextCommand{\accperispomeni}{\LastDeclaredEncoding}{\@tabacckludge~}
      -
      +\DeclareTextCommand{\accdialytika}{\LastDeclaredEncoding}{\@tabacckludge"} +

      The combining perispomeni character is normalized with Greek base letters, +while the (standard) combining tilde is not:

      +
      \DeclareTextCommand{\accperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 }

      Breathings:

      (The COMBINING GREEK KORONIS is a legacy character, discarded in favour of COMBINING COMMA ABOVE)

      \DeclareTextCommand{\accpsili}{\LastDeclaredEncoding}[1]{#1\char"0313 } % ψιλή spiritus lenis (smooth breathing)
      -\DeclareTextCommand{\accdasia}{\LastDeclaredEncoding}[1]{#1\char"0314 } % δασεῖα spiritus asper (rough breathing)
      -% \DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili}
      -% \DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia}
      -
      +\DeclareTextCommand{\accdasia}{\LastDeclaredEncoding}[1]{#1\char"0314 } % δασεῖα spiritus asper (rough breathing)

      Sub-iota:

      -

      \ypogegrammeni is a postfix accent (ligature in LGR)

      -
      \DeclareTextSymbol{\ypogegrammeni}{\LastDeclaredEncoding}{0837} % COMBINING GREEK YPOGEGRAMMENI
      -
      +

      \ypogegrammeni is a postfix accent (ligature in LGR)

      +
      \DeclareTextSymbol{\ypogegrammeni}{\LastDeclaredEncoding}{0837} % COMBINING GREEK YPOGEGRAMMENI

      Combined diacritics:

      % The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts:
       \DeclareTextCommand{\accdialytikatonos}{\LastDeclaredEncoding}[1]{#1\char"0308 \char"0301 }
      @@ -847,25 +699,22 @@ COMBINING COMMA ABOVE)

      \DeclareTextCommand{\accpsilioxia}{\LastDeclaredEncoding}[1]{#1\char"0301 \char"0313 } \DeclareTextCommand{\accpsilivaria}{\LastDeclaredEncoding}[1]{#1\char"0300 \char"0313 } -\DeclareTextCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0313 } -
      +\DeclareTextCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0313 }
    -

    Common Definitions

    +

    Common Definitions

    Use the common Greek font encoding definitions:

    -
    \input{greek-fontenc.def}
    -
    +
    \input{greek-fontenc.def}
    -

    Character Definitions

    +

    Character Definitions

    -

    General Punctuation

    +

    General Punctuation

    Ligature break up with ZERO WIDTH NON-JOINER:

    -
    \DeclareTextCommand{\textcompwordmark}{\LastDeclaredEncoding}{\char"200C}
    -
    +
    \DeclareTextCommand{\textcompwordmark}{\LastDeclaredEncoding}{\char"200C}
    -

    Greek and Coptic

    +

    Greek and Coptic

    % NR    Unicode Name                                       %   babel name, % PU name
     % 0370  GREEK CAPITAL LETTER HETA                          % Ͱ
     % 0371  GREEK SMALL LETTER HETA                            % ͱ
    @@ -880,7 +729,7 @@ COMBINING COMMA ABOVE)

    % 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL % 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL % 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL -\DeclareTextCommand{\texterotimatiko}{\LastDeclaredEncoding}{;} % \textquestion +\DeclareTextCommand{\texterotimatiko}{\LastDeclaredEncoding}{;} % 037E GREEK QUESTION MARK \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textcompwordmark}{΄} \DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textcompwordmark}{΅} @@ -932,6 +781,7 @@ COMBINING COMMA ABOVE)

    \DeclareTextCommand{\textgamma}{\LastDeclaredEncoding}{γ} \DeclareTextCommand{\textdelta}{\LastDeclaredEncoding}{δ} \DeclareTextCommand{\textepsilon}{\LastDeclaredEncoding}{ε} +\DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{ε} % cf. $\varepsiolon$ \DeclareTextCommand{\textzeta}{\LastDeclaredEncoding}{ζ} \DeclareTextCommand{\texteta}{\LastDeclaredEncoding}{η} \DeclareTextCommand{\texttheta}{\LastDeclaredEncoding}{θ} @@ -952,6 +802,7 @@ COMBINING COMMA ABOVE)

    \DeclareTextCommand{\texttau}{\LastDeclaredEncoding}{τ} \DeclareTextCommand{\textupsilon}{\LastDeclaredEncoding}{υ} \DeclareTextCommand{\textphi}{\LastDeclaredEncoding}{φ} +\DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{φ} % cf. $\varphi$ \DeclareTextCommand{\textchi}{\LastDeclaredEncoding}{χ} \DeclareTextCommand{\textpsi}{\LastDeclaredEncoding}{ψ} \DeclareTextCommand{\textomega}{\LastDeclaredEncoding}{ω} @@ -969,13 +820,30 @@ COMBINING COMMA ABOVE)

    \DeclareTextCommand{\textDigamma}{\LastDeclaredEncoding}{Ϝ} \DeclareTextCommand{\textdigamma}{\LastDeclaredEncoding}{ϝ} \DeclareTextCommand{\textKoppa}{\LastDeclaredEncoding}{Ϟ} % not defined in LGR -\DeclareTextCommand{\textkoppa}{\LastDeclaredEncoding}{ϟ} % \koppa, \textqoppa [sic!] +\DeclareTextCommand{\textkoppa}{\LastDeclaredEncoding}{ϟ} % \koppa, \textqoppa [sic!] \DeclareTextCommand{\textSampi}{\LastDeclaredEncoding}{Ϡ} \DeclareTextCommand{\textsampi}{\LastDeclaredEncoding}{ϡ} -
    + +% Symbol variants +\DeclareTextCommand{\textbetasymbol}{\LastDeclaredEncoding}{ϐ} +\DeclareTextCommand{\textkappasymbol}{\LastDeclaredEncoding}{ϰ} +\DeclareTextCommand{\textThetasymbol}{\LastDeclaredEncoding}{ϴ} +\DeclareTextCommand{\textthetasymbol}{\LastDeclaredEncoding}{ϑ} +\DeclareTextCommand{\textphisymbol}{\LastDeclaredEncoding}{ϕ} +\DeclareTextCommand{\textpisymbol}{\LastDeclaredEncoding}{ϖ} +\DeclareTextCommand{\textrhosymbol}{\LastDeclaredEncoding}{ϱ} +\DeclareTextCommand{\textepsilonsymbol}{\LastDeclaredEncoding}{ϵ} +% math compatibility aliases +% $\varphi$ and $\varepsilon$ refer to the letter characters (see above)! +\DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} +\DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{ϰ} +\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{ϴ} +\DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{ϑ} +\DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{ϖ} +\DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{ϱ}
    -

    Greek Extended

    +

    Greek Extended

    We skip definitions for characters “… WITH OXIA”, because they would overwrite the defintions for “… WITH TONOS” in the Greek and Coptic block.

    @@ -1094,86 +962,35 @@ block.

    \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textupsilon}{ὺ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega}{ὼ} -%% postfix ypogegrammeni cannot be second part of composite defs. -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾀ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾁ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾂ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾃ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾄ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾅ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾆ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾇ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾈ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾉ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾊ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾋ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾌ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾍ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾎ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾏ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾐ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾑ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾒ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾓ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾔ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾕ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾖ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾗ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾘ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾙ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾚ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾛ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾜ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾝ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾞ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾟ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾠ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾡ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾢ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾣ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾤ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾥ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾦ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾧ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾨ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾩ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾪ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾫ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾬ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾭ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾮ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾯ} - \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textalpha}{ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textalpha}{ᾱ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾲ} -% \DeclareTextCompositeCommand{\textalpha}{\LastDeclaredEncoding}{\ypogegrammeni}{ᾳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾴ} +% ᾲ +% ᾳ +% ᾴ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textalpha}{ᾶ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{α}{ᾶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha}{ᾶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾷ} +% ᾷ \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textAlpha}{Ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textAlpha}{Ᾱ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textAlpha}{Ὰ} -% \DeclareTextCompositeCommand{\textAlpha}{\LastDeclaredEncoding}{\prosgegrammeni}{ᾼ} +% ᾼ \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾽} \DeclareTextCommand{\prosgegrammeni}{\LastDeclaredEncoding}{ι} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾿} -\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textcompwordmark}{῀} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῀} \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῁} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῂ} -% \DeclareTextCompositeCommand{\texteta}{\LastDeclaredEncoding}{\ypogegrammeni}{ῃ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῄ} +% ῂ +% ῃ +% ῄ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\texteta}{ῆ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{η}{ῆ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta}{ῆ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῇ} +% ῇ \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEpsilon}{Ὲ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEta}{Ὴ} -% \DeclareTextCompositeCommand{\textEta}{\LastDeclaredEncoding}{\prosgegrammeni}{ῌ} +% ῌ \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textcompwordmark}{῍} \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textcompwordmark}{῎} \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῏} @@ -1183,6 +1000,7 @@ block.

    \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textiota}{ῒ} \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textiota}{ΐ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textiota}{ῖ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{ι}{ῖ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textiota}{ῖ} \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textiota}{ῗ} \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textIota}{Ῐ} @@ -1199,6 +1017,7 @@ block.

    \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textrho}{ῤ} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textrho}{ῥ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textupsilon}{ῦ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{υ}{ῦ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῦ} \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῧ} \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textUpsilon}{Ῠ} @@ -1208,26 +1027,25 @@ block.

    \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textcompwordmark}{῭} \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textcompwordmark}{΅} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῲ} -% \DeclareTextCompositeCommand{\textomega}{\LastDeclaredEncoding}{\ypogegrammeni}{ῳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῴ} +% ῲ +% ῳ +% ῴ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textomega}{ῶ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{ω}{ῶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega}{ῶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῷ} +% ῷ \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmicron}{Ὸ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmega}{Ὼ} -% \DeclareTextCompositeCommand{\textOmega}{\LastDeclaredEncoding}{\prosgegrammeni}{ῼ} +% ῼ \DeclareTextCompositeCommand{\accoxia}{\LastDeclaredEncoding}{\textcompwordmark}{´} -\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textcompwordmark}{῾} - +\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textcompwordmark}{῾}
    -

    Letterlike Symbols

    -
    \DeclareTextCommand{\textohm}{\LastDeclaredEncoding}{Ω} % OHM SIGN
    -
    +

    Letterlike Symbols

    +
    \DeclareTextCommand{\textohm}{\LastDeclaredEncoding}{Ω} % OHM SIGN
    -

    Ancient Greek Numbers

    +

    Ancient Greek Numbers

    TODO: map other chars to corresponding Greek letters. See also the grnumalt package.

    Definition with literal Unicode characters, because the code-point has 5 @@ -1235,16 +1053,351 @@ hexadecimal digits:

    \DeclareTextCommand{\textpentedeka}{\LastDeclaredEncoding}{𐅄}    % GREEK ACROPHONIC ATTIC FIFTY
     \DeclareTextCommand{\textpentehekaton}{\LastDeclaredEncoding}{𐅅} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
     \DeclareTextCommand{\textpenteqilioi}{\LastDeclaredEncoding}{𐅆}  % GREEK ACROPHONIC ATTIC FIVE THOUSAND
    -\DeclareTextCommand{\textpentemuria}{\LastDeclaredEncoding}{𐅇}   % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
    -
    +\DeclareTextCommand{\textpentemuria}{\LastDeclaredEncoding}{𐅇} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
    -

    UPPERCASE

    +

    UPPERCASE

    +

    Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE.

    +
    +

    uc/lc values

    +

    \lccode and \uccode corrections from the xgreek package by Apostolos Syropoulos:

    +
    \global\lccode"0370="0371 \global\uccode"0370="0370
    +\global\lccode"0371="0371 \global\uccode"0371="0370
    +\global\lccode"0372="0373 \global\uccode"0372="0372
    +\global\lccode"0373="0373 \global\uccode"0373="0372
    +\global\lccode"0376="0377 \global\uccode"0376="0376
    +\global\lccode"0377="0377 \global\uccode"0377="0376
    +\global\lccode"03FD="037B \global\uccode"03FD="03FD
    +\global\lccode"037B="037B \global\uccode"037B="03FD
    +\global\lccode"03FE="037C \global\uccode"03FE="03FE
    +\global\lccode"037C="037C \global\uccode"037C="03FE
    +\global\lccode"03FF="037D \global\uccode"03FF="03FF
    +\global\lccode"037D="037D \global\uccode"037D="03FF
    +\global\lccode"0386="03AC \global\uccode"0386="0391
    +\global\lccode"0388="03AD \global\uccode"0388="0395
    +\global\lccode"0389="03AC \global\uccode"0389="0397
    +\global\lccode"038A="03AF \global\uccode"038A="0399
    +\global\lccode"038C="03CC \global\uccode"038C="039F
    +\global\lccode"038E="03CD \global\uccode"038E="03A5
    +\global\lccode"038F="03CE \global\uccode"038F="03A9
    +\global\lccode"0390="0390 \global\uccode"0390="03AA
    +\global\lccode"0391="03B1 \global\uccode"0391="0391
    +\global\lccode"0392="03B2 \global\uccode"0392="0392
    +\global\lccode"0393="03B3 \global\uccode"0393="0393
    +\global\lccode"0394="03B4 \global\uccode"0394="0394
    +\global\lccode"0395="03B5 \global\uccode"0395="0395
    +\global\lccode"0396="03B6 \global\uccode"0396="0396
    +\global\lccode"0397="03B7 \global\uccode"0397="0397
    +\global\lccode"0398="03B8 \global\uccode"0398="0398
    +\global\lccode"0399="03B9 \global\uccode"0399="0399
    +\global\lccode"039A="03BA \global\uccode"039A="039A
    +\global\lccode"039B="03BB \global\uccode"039B="039B
    +\global\lccode"039C="03BC \global\uccode"039C="039C
    +\global\lccode"039D="03BD \global\uccode"039D="039D
    +\global\lccode"039E="03BE \global\uccode"039E="039E
    +\global\lccode"039F="03BF \global\uccode"039F="039F
    +\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
    +\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
    +\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
    +\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
    +\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
    +\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
    +\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
    +\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
    +\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
    +\global\lccode"03AA="03CA \global\uccode"03AA="03AA
    +\global\lccode"03AB="03CB \global\uccode"03AB="03AB
    +\global\lccode"03AC="03AC \global\uccode"03AC="0391
    +\global\lccode"03AD="03AD \global\uccode"03AD="0395
    +\global\lccode"03AE="03AE \global\uccode"03AE="0397
    +\global\lccode"03AF="03AF \global\uccode"03AF="0399
    +\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
    +\global\lccode"03B1="03B1 \global\uccode"03B1="0391
    +\global\lccode"03B2="03B2 \global\uccode"03B2="0392
    +\global\lccode"03B3="03B3 \global\uccode"03B3="0393
    +\global\lccode"03B4="03B4 \global\uccode"03B4="0394
    +\global\lccode"03B5="03B5 \global\uccode"03B5="0395
    +\global\lccode"03B6="03B6 \global\uccode"03B6="0396
    +\global\lccode"03B7="03B7 \global\uccode"03B7="0397
    +\global\lccode"03B8="03B8 \global\uccode"03B8="0398
    +\global\lccode"03B9="03B9 \global\uccode"03B9="0399
    +\global\lccode"03BA="03BA \global\uccode"03BA="039A
    +\global\lccode"03BB="03BB \global\uccode"03BB="039B
    +\global\lccode"03BC="03BC \global\uccode"03BC="039C
    +\global\lccode"03BD="03BD \global\uccode"03BD="039D
    +\global\lccode"03BE="03BE \global\uccode"03BE="039E
    +\global\lccode"03BF="03BF \global\uccode"03BF="039F
    +\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
    +\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
    +\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
    +\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
    +\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
    +\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
    +\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
    +\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
    +\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
    +\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
    +\global\lccode"03CA="03CA \global\uccode"03CA="03AA
    +\global\lccode"03CB="03CB \global\uccode"03CB="03AB
    +\global\lccode"03CC="03CC \global\uccode"03CC="039F
    +\global\lccode"03CD="03CD \global\uccode"03CD="03A5
    +\global\lccode"03CE="03CE \global\uccode"03CE="03A9
    +\global\lccode"03D0="03D0 \global\uccode"03D0="0392
    +\global\lccode"03D1="03D1 \global\uccode"03D1="0398
    +\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
    +\global\lccode"03D3="03CD \global\uccode"03D3="03A5
    +\global\lccode"03D4="03CB \global\uccode"03D4="03AB
    +\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
    +\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
    +\global\lccode"03DA="03DB \global\uccode"03DA="03DA
    +\global\lccode"03DB="03DB \global\uccode"03DB="03DA
    +\global\lccode"03DC="03DD \global\uccode"03DC="03DC
    +\global\lccode"03DD="03DD \global\uccode"03DD="03DC
    +\global\lccode"03DE="03DF \global\uccode"03DE="03DE
    +\global\lccode"03DF="03DF \global\uccode"03DF="03DE
    +\global\lccode"03E0="03E1 \global\uccode"03E0="03E0
    +\global\lccode"03E1="03E1 \global\uccode"03E1="03E0
    +\global\lccode"03F0="03BA \global\uccode"03F0="039A
    +\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
    +\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
    +\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
    +\global\lccode"1F00="1F00 \global\uccode"1F00="0391
    +\global\lccode"1F01="1F01 \global\uccode"1F01="0391
    +\global\lccode"1F02="1F02 \global\uccode"1F02="0391
    +\global\lccode"1F03="1F03 \global\uccode"1F03="0391
    +\global\lccode"1F04="1F04 \global\uccode"1F04="0391
    +\global\lccode"1F05="1F05 \global\uccode"1F05="0391
    +\global\lccode"1F06="1F06 \global\uccode"1F06="0391
    +\global\lccode"1F07="1F07 \global\uccode"1F07="0391
    +\global\lccode"1F08="1F00 \global\uccode"1F08="0391
    +\global\lccode"1F09="1F01 \global\uccode"1F09="0391
    +\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
    +\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
    +\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
    +\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
    +\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
    +\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
    +\global\lccode"1F10="1F10 \global\uccode"1F10="0395
    +\global\lccode"1F11="1F11 \global\uccode"1F11="0395
    +\global\lccode"1F12="1F12 \global\uccode"1F12="0395
    +\global\lccode"1F13="1F13 \global\uccode"1F13="0395
    +\global\lccode"1F14="1F14 \global\uccode"1F14="0395
    +\global\lccode"1F15="1F15 \global\uccode"1F15="0395
    +\global\lccode"1F18="1F10 \global\uccode"1F18="0395
    +\global\lccode"1F19="1F11 \global\uccode"1F19="0395
    +\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
    +\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
    +\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
    +\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
    +\global\lccode"1F20="1F20 \global\uccode"1F20="0397
    +\global\lccode"1F21="1F21 \global\uccode"1F21="0397
    +\global\lccode"1F22="1F22 \global\uccode"1F22="0397
    +\global\lccode"1F23="1F23 \global\uccode"1F23="0397
    +\global\lccode"1F24="1F24 \global\uccode"1F24="0397
    +\global\lccode"1F25="1F25 \global\uccode"1F25="0397
    +\global\lccode"1F26="1F26 \global\uccode"1F26="0397
    +\global\lccode"1F27="1F27 \global\uccode"1F27="0397
    +\global\lccode"1F28="1F20 \global\uccode"1F28="0397
    +\global\lccode"1F29="1F21 \global\uccode"1F29="0397
    +\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
    +\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
    +\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
    +\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
    +\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
    +\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
    +\global\lccode"1F30="1F30 \global\uccode"1F30="0399
    +\global\lccode"1F31="1F31 \global\uccode"1F31="0399
    +\global\lccode"1F32="1F32 \global\uccode"1F32="0399
    +\global\lccode"1F33="1F33 \global\uccode"1F33="0399
    +\global\lccode"1F34="1F34 \global\uccode"1F34="0399
    +\global\lccode"1F35="1F35 \global\uccode"1F35="0399
    +\global\lccode"1F36="1F36 \global\uccode"1F36="0399
    +\global\lccode"1F37="1F37 \global\uccode"1F37="0399
    +\global\lccode"1F38="1F30 \global\uccode"1F38="0399
    +\global\lccode"1F39="1F31 \global\uccode"1F39="0399
    +\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
    +\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
    +\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
    +\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
    +\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
    +\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
    +\global\lccode"1F40="1F40 \global\uccode"1F40="039F
    +\global\lccode"1F41="1F41 \global\uccode"1F41="039F
    +\global\lccode"1F42="1F42 \global\uccode"1F42="039F
    +\global\lccode"1F43="1F43 \global\uccode"1F43="039F
    +\global\lccode"1F44="1F44 \global\uccode"1F44="039F
    +\global\lccode"1F45="1F45 \global\uccode"1F45="039F
    +\global\lccode"1F48="1F40 \global\uccode"1F48="039F
    +\global\lccode"1F49="1F41 \global\uccode"1F49="039F
    +\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
    +\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
    +\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
    +\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
    +\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
    +\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
    +\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
    +\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
    +\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
    +\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
    +\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
    +\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
    +\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
    +\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
    +\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
    +\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
    +\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
    +\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
    +\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
    +\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
    +\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
    +\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
    +\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
    +\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
    +\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
    +\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
    +\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
    +\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
    +\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
    +\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
    +\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
    +\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
    +\global\lccode"1F70="1F70 \global\uccode"1F70="0391
    +\global\lccode"1F71="1F71 \global\uccode"1F71="0391
    +\global\lccode"1F72="1F72 \global\uccode"1F72="0395
    +\global\lccode"1F73="1F73 \global\uccode"1F73="0395
    +\global\lccode"1F74="1F74 \global\uccode"1F74="0397
    +\global\lccode"1F75="1F75 \global\uccode"1F75="0397
    +\global\lccode"1F76="1F76 \global\uccode"1F76="0399
    +\global\lccode"1F77="1F77 \global\uccode"1F77="0399
    +\global\lccode"1F78="1F78 \global\uccode"1F78="039F
    +\global\lccode"1F79="1F79 \global\uccode"1F79="039F
    +\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
    +\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
    +\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
    +\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
    +\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
    +\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
    +\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
    +\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
    +\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
    +\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
    +\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
    +\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
    +\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
    +\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
    +\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
    +\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
    +\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
    +\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
    +\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
    +\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
    +\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
    +\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
    +\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
    +\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
    +\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
    +\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
    +\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
    +\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
    +\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
    +\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
    +\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
    +\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
    +\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
    +\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
    +\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
    +\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
    +\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
    +\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
    +\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
    +\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
    +\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
    +\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
    +\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
    +\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
    +\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
    +\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
    +\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
    +\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
    +\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
    +\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
    +\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
    +\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
    +\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
    +\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
    +\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
    +\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
    +\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
    +\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
    +\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
    +\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
    +\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
    +\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
    +\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
    +\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
    +\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
    +\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
    +\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
    +\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
    +\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
    +\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
    +\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
    +\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
    +\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
    +\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
    +\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
    +\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
    +\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
    +\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
    +\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
    +\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
    +\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
    +\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
    +\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
    +\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
    +\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
    +\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
    +\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
    +\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
    +\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
    +\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
    +\global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1
    +\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
    +\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
    +\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
    +\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
    +\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
    +\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
    +\global\lccode"1FEC="1FE5 \global\uccode"1FEC="03A1
    +\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
    +\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
    +\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
    +\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
    +\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
    +\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
    +\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
    +\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
    +\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
    +\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
    +
    +
    +

    uclclist

    The common Greek font encoding definitions in greek-fontenc.def extend the -uclclist with Greek LICR macros. Here, we add Unicode-specific “hiatus” -handling (copied from lgrenc.def and changed Latin transcription to Unicode -literals):

    +uclclist with Greek LICR macros. Here, we add textkoppa/textKoppa and +Unicode-specific “hiatus” handling (copied from lgrenc.def and changed +Latin transcription to Unicode literals).

    +

    @uclclist extension (see also greek-fontenc.def):

    +
    \providecommand*\greek@euenc@update@uclclist{%
    +  \expandafter\def\expandafter\@uclclist\expandafter{%
    +    \@uclclist
    +    \textkoppa \textKoppa
    +  }%
    +  \let\greek@euenc@update@uclclist\relax
    +}
    +

    Expand the uclc list using the just defined macro:

    +
    \greek@euenc@update@uclclist
    +

    Now the hiatus definition modifications:

    \DeclareTextCommand{\LGR@A@hiatus}{\LastDeclaredEncoding}{%
       \LGR@ifnextchar{Ι}{\textAlpha\"}{%
         \LGR@ifnextchar{Υ}{\textAlpha\"}{%
    @@ -1262,10 +1415,10 @@ literals):

    }% }% }% -} -
    +}
    +
    diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html index 18d03593ced..68f51265dcf 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html @@ -1,644 +1,409 @@ - - - + + greek-fontenc.def -

    greek-fontenc.def

    -

    Common Greek font encoding definitions

    +

    Common Greek font encoding definitions

    -
    Licence
    -

    This work may be distributed and/or modified under the +

    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.

    +version 1.3 of this license or any later version.

    -
    Identification
    -
    \ProvidesFile{greek-fontenc.def}
    -[2014/12/12 v0.12 Common Greek font encoding definitions]
    -
    +
    Identification
    +
    \ProvidesFile{greek-fontenc.def}
    +[2015/08/04 v0.13 Common Greek font encoding definitions]
    @@ -737,13 +559,13 @@ version 1.3 of this license or any later version.

    This file provides definitions that are shared between font encodings providing Greek characters.

    -
    +
    Changelog:
    ---+++ @@ -756,12 +578,16 @@ font encodings providing Greek characters.

    - + + + + +

    0.9

    0.11

    2013-11-28

    \greekscript TextCommand

    \greekscript TextCommand

    0.12

    2014-12-12

    Remove symbol macros for breathing accents.

    0.13

    2015/08/04

    No @uclclist entry for ypogegrammeni/prosgegrammeni.

    @@ -775,22 +601,20 @@ font encodings providing Greek characters.

    Implementation

    ensuregreek, greekscript

    -

    Provide “empty” encoding-specific definitions for \ensuregreek and -\greekscript. The definitions in this file make the font encoding fit -for use with the Greek script. (See textalpha.sty for default +

    Provide “empty” encoding-specific definitions for \ensuregreek and +\greekscript. The definitions in this file make the font encoding fit +for use with the Greek script. (See textalpha.sty for default definitions.)

    -

    The \ensuregreek macro can be used to ensure that its argument is set +

    The \ensuregreek macro can be used to ensure that its argument is set in a font encoding with support for Greek. If the active font encoding supports it, kerning between adjacent command calls (e.g. -\ensuregreek{A}\ensuregreek{\Upsilon}) is preserved. This allows, e.g., +\ensuregreek{A}\ensuregreek{\Upsilon}) is preserved. This allows, e.g., wrapping of compound Unicode character definitions.

    -
    \ProvideTextCommand{\ensuregreek}{\LastDeclaredEncoding}[1]{#1}
    -
    -

    The \greekscript declaration switches to a font encoding supporting +

    \ProvideTextCommand{\ensuregreek}{\LastDeclaredEncoding}[1]{#1}
    +

    The \greekscript declaration switches to a font encoding supporting the Greek script, if required. The following definition announces the -\LastDeclaredEncoding as Greek-supporting:

    -
    \ProvideTextCommand{\greekscript}{\LastDeclaredEncoding}{}
    -
    +\LastDeclaredEncoding as Greek-supporting:

    +
    \ProvideTextCommand{\greekscript}{\LastDeclaredEncoding}{}

    Aliases

    @@ -806,50 +630,44 @@ without the need for additional u \DeclareTextCommand{\textDigammagreek}{\LastDeclaredEncoding}{\textDigamma} \DeclareTextCommand{\textnumeralsigngreek}{\LastDeclaredEncoding}{\textdexiakeraia} -\DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia} - -

    Two Unicode names for one character:

    +\DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia} +

    Names from babel and teubner (do we want to define them here as alias?)

    +
    \DeclareTextCommand{\anwtonos}{\LastDeclaredEncoding}{\textdexiakeraia}     % ʹ
    +\DeclareTextCommand{\katwtonos}{\LastDeclaredEncoding}{\textaristerikeraia} % ͵
    +

    Two Unicode code points and names for one character:

    \DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos}
    -\DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili}
    -
    +\DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili}

    Symbol macros for the breathings:

    -

    Moved to textalpha.sty to avoid clashes with local definitions -of \< and \> in documents using LGR or babel-greek. +

    Moved to textalpha.sty to avoid clashes with local definitions +of \< and \> in documents using LGR or babel-greek. (Bugreport David Kastrup). If you want to use the short macros without loading textalpha, you can define them in the document preamble like

    -
    \DeclareTextCommand{\<}{LGR}{\accdasia}
    +
    \DeclareTextCommand{\<}{LGR}{\accdasia}
     \DeclareTextCommand{\>}{LGR}{\accpsili}
     \DeclareTextCompositeCommand{\>}{LGR}{'}{\accpsilioxia}
     \DeclareTextCompositeCommand{\>}{LGR}{`}{\accpsilivaria}
     \DeclareTextCompositeCommand{\>}{LGR}{~}{\accpsiliperispomeni}
     \DeclareTextCompositeCommand{\<}{LGR}{'}{\accdasiaoxia}
     \DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria}
    -\DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni}
    -
    -

    TODO: do we also want alternative symbols for the breathings (cf. X compose +\DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni}

    +

    Or use alternative symbols for the breathings (cf. X compose table, LCI encoding)?

    -
    \DeclareTextCommand{\(}{\LastDeclaredEncoding}{\accdasia}
    -\DeclareTextCommand{\)}{\LastDeclaredEncoding}{\accpsili}
    -
    -

    Names from babel and teubner (do we want to define them here as alias?)

    -
    \DeclareTextCommand{\anwtonos}{\LastDeclaredEncoding}{\textdexiakeraia}     % ʹ
    -\DeclareTextCommand{\katwtonos}{\LastDeclaredEncoding}{\textaristerikeraia} % ͵
    -
    +
    \DeclareTextCommand{\(}{\LastDeclaredEncoding}{\accdasia}
    +\DeclareTextCommand{\)}{\LastDeclaredEncoding}{\accpsili}

    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. one of

    -
    \accdialytica\accvaria\textalpha,
    +
    \accdialytica\accvaria\textalpha,
     \"\'\textalpha,
     \"'\textalpha, or
    -\'"\textalpha.
    -
    +\'"\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.

    +for the symbol macros, otherwise it fails with \Makeuppercase.

    For Unicode encodings (where they do not resolve to Greek named macros, composite definitions starting with standard macros are requried:

    \DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\acctonos}{\accdialytikatonos}
    @@ -937,22 +755,21 @@ composite definitions starting with standard macros are requried:

    \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\`}{\accdasiavaria} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{`}{\accdasiavaria} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accperispomeni}{\accdasiaperispomeni} -\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni} -
    +\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni}

    UPPERCASE

    -

    If UPPERCASE (all-caps) is generated with \MakeUppercase, macro -substitutions in the \@uclclist apply. This can be used to drop the +

    If UPPERCASE (all-caps) is generated with \MakeUppercase, macro +substitutions in the \@uclclist apply. This can be used to drop the diacritics (except dialytika and sub-iota). Different conventions exist for the treatment of sub-iota with uppercase letters. In the CB Fonts, an “index” iota is used.

    @uclclist extension

    -

    Based on the babel patch and fontenc.sty.

    +

    Based on the babel patch and fontenc.sty.

    The definition of 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 += …:

    +(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
    @@ -970,7 +787,7 @@ The second and third lines are TeX’ way of writing uclclis
         \accdialytikavaria\LGR@accDialytika
         \accdialytikaperispomeni\LGR@accDialytika
         \accperispomeni\LGR@accdropped
    -    \ypogegrammeni\prosgegrammeni
    +    % \ypogegrammeni\prosgegrammeni
         \textalpha  \textAlpha
         \textbeta   \textBeta
         \textgamma  \textGamma
    @@ -1004,23 +821,19 @@ The second and third lines are TeX’ way of writing uclclis
         \textdigamma   \textDigamma
       }%
       \let\update@uclc@with@greek\relax
    -}
    -
    +}

    Expand the uclc list using the just defined macro:

    -
    \update@uclc@with@greek
    -
    +
    \update@uclc@with@greek

    Substitution macros

    Drop diacritics (The argument passing ensures that kerning is preserved)

    -
    \DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1}
    -
    +
    \DeclareTextCommand{\LGR@accdropped}{\LastDeclaredEncoding}[1]{#1}

    Keep dialytika: Define a dummy alias so that downcasing with -\MakeLowercase does not convert a simple dialytika to a composite +\MakeLowercase does not convert a simple dialytika to a composite accent:

    \DeclareTextCommand{\LGR@accDialytika}{\LastDeclaredEncoding}{\accdialytika}
    -\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika}
    -
    +\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\LGR@hiatus}{\accdialytika}

    Mark hiatus

    @@ -1032,15 +845,14 @@ second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑ \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{>}{\LGR@hiatus} \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{<}{\LGR@accdropped} \DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textAlpha}{\LGR@A@hiatus} -\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textEpsilon}{\LGR@E@hiatus} - -

    The font encoding file must define the \LGR@hiatus TextCommand. See -lgrenc.def for an example.

    +\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textEpsilon}{\LGR@E@hiatus} +

    The font encoding file must define the \LGR@hiatus TextCommand. See +lgrenc.def for an example.

    The following macro can be used to test if the next character is an Alpha or -Epsilon. As \@ifnextchar gobbles spaces the lookahead macro definition -from amsgen.sty is used:

    +Epsilon. As \@ifnextchar gobbles spaces the lookahead macro definition +from amsgen.sty is used:

    -

    This macro is a new version of LaTeX’s \@ifnextchar, macro +

    This macro is a new version of LaTeX’s \@ifnextchar, macro that does not skip over spaces.

    \providecommand*{\LGR@ifnextchar}[3]{%
    @@ -1051,8 +863,7 @@ that does not skip over spaces.

    \providecommand*{\LGR@ifnch}{% \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi \reserved@b -} -
    +}
    diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf index 3fa16a7d2fa..da5e32998ba 100644 Binary files a/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf and b/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html b/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html index 33e6d586acb..82d424e5985 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html @@ -1,13 +1,540 @@ - - - + + - + LGR Transcription to Greek LICR transformation - - - + +
    @@ -16,10 +543,10 @@
    -
    Licence
    -

    This work may be distributed and/or modified under the +

    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.

    +version 1.3 of this license or any later version.

    @@ -39,8 +566,7 @@ Options: -h, --help show this help if arg[1] == "-h" or arg[1] == "--help" then print(usage) return -end - +end

    Get input string:

    local s
     
    @@ -54,8 +580,7 @@ else
         -- test:
         -- s = "\\emph{x\\'us}"
         s = io.read("*all")
    -end
    -
    +end

    The mapping from the LGR Latin transcription to LICR macros:

    LGR_map = {
       A = "\\textAlpha{}",
    @@ -119,8 +644,7 @@ end
       ['"'] = '\\"',
       [";"] = "\\textanoteleia{}",
       ["?"] = "\\texterotimatiko{}",
    -}
    -
    +}

    Return substitution string for 3 captures:

    c1 backslash c2 a-zA-Z @@ -141,18 +665,15 @@ end -- non-standard meaning to the corresponding LICR macro -- (skip macros):: -- *([a-zA-Z'`~<>|\";?] -s = string.gsub(s, "(\\?)([a-zA-Z]*)([^\\]?)", lgr_replace) - +s = string.gsub(s, "(\\?)([a-zA-Z]*)([^\\]?)", lgr_replace)

    Ligatures:

    s = string.gsub(s, "%(%(", "\\guillemotleft{}")
     s = string.gsub(s, "%)%)", "\\guillemotright{}")
     s = string.gsub(s, "\\'\\'", "\\textquoteright{}")               -- ''
     s = string.gsub(s, "\\`\\`", "\\textquoteleft{}")                -- ``
    -s = string.gsub(s, '\"(%s)', "\\textquoteright{}%1")
    -
    +s = string.gsub(s, '\"(%s)', "\\textquoteright{}%1")

    Separating empty group “{}” only required if followed by space or ASCII:

    -
    s = string.gsub(s, "{}([^ a-zA-Z])", "%1")
    -
    +
    s = string.gsub(s, "{}([^ a-zA-Z])", "%1")

    Autosigma replacements:

    s = string.gsub(s, "\\textautosigma\\noboundary", "\\textsigma")  -- sv
     s = string.gsub(s, "\\textautosigma(\\['`~<>|\"])", "\\textsigma%1") -- accents
    @@ -164,11 +685,9 @@ s = string.gsub(s, "\\textautosigma(\\textquote)", "\\textfinalsi
     s = string.gsub(s, "\\textautosigma(\\texterotimatiko)", "\\textfinalsigma%1")
     s = string.gsub(s, "\\textautosigma(\\textanoteleia)", "\\textfinalsigma%1")
     
    -s = string.gsub(s, "\\textautosigma$", "\\textfinalsigma")
    -
    +s = string.gsub(s, "\\textautosigma$", "\\textfinalsigma")

    Write the result to stdout:

    -
    io.write(s)
    -
    +
    io.write(s)
    diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf index 32a151675c0..d04afdcb943 100644 Binary files a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf and b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf differ 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 6e19e30039c..e20786b0fdd 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex @@ -22,7 +22,7 @@ % Shortcut accent macros \< and \>: % -% The Symbol macros for the breathings were +% The Symbol macros for the breathings were % moved to ``textalpha.sty`` to avoid clashes with possible local % definitions of these macros. % @@ -248,23 +248,29 @@ which automatically chooses the glyph according to the position. \LGR \textdigamma{} \Latin textdigamma \\ % ϝ (\digamma used by amsmath!) \LGR \textDigamma{} \Latin textDigamma \\ % Ϝ % numeral signs: http://en.wikipedia.org/wiki/Greek_numerals - \LGR \textnumeralsigngreek{} \Latin textnumeralsigngreek (Dexia keraia) \\ % ʹ + \LGR \textdexiakeraia{} \Latin textdexiakeraia | % ʹ + \LGR \textnumeralsigngreek{} \Latin textnumeralsigngreek (Dexia keraia)\\ % ʹ + \LGR \textaristerikeraia{} \Latin textaristerikeraia | % ͵ \LGR \textnumeralsignlowergreek{} \Latin textnumeralsignlowergreek - (Aristeri keraia)\\ % ͵ + (Aristeri keraia)\\ % ͵ \end{quote} -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 -the variant shapes in place of the ``regular'' ones. +\subsection{symbol variants} + +Mathematical notation distinguishes variant shapes for pi ($\pi|\varpi$), +rho ($\rho|\varrho$), theta ($\theta|\vartheta$), beta, and kappa +(characters for the latter two symbols are not included in TeX's math +fonts). These variations have no syntactic meaning in Greek text and are not +given code-points in the LGR encoding. Greek text fonts use the shape +variants interchangeabely. \section{Diacritics} -Capital Greek letters have Greek diacritics (except the dialytika) to the -left (instead of above) and drop them in UPPERCASE. This is implemented for -all combinations for which a pre-composed Unicode character exists (but not, -for, e.g.,\LGR \~W \Latin). +Capital Greek letters have Greek diacritics (except the dialytika and +sub-iota) to the left (instead of above) and drop them if text is set in +UPPERCASE. This is implemented for all combinations that are used in Greek +texts (i.e. for which pre-composed Unicode character exist), but not for, +e.g., \LGR\~W\Latin). % When a word is written entirely in capital letters, diacritics are % never used; the word Ἢ (or), is an exception to this rule because of @@ -273,7 +279,9 @@ for, e.g.,\LGR \~W \Latin). Different conventions exist for the treatment of the sub-iota with uppercase letters. The CB-Fonts use a capital Iota ``index'' (\LGR A|, H|, W|\Latin). -LaTeX standard accents +LaTeX standard accents% +\footnote{The ogonek (\emph{little hook}) accent \k{ } (\textbackslash k) +is not defined in LGR.} (Latin, Greek, Greek Capitals $\mapsto$ UPPERCASE) \begin{quote} @@ -283,7 +291,7 @@ LaTeX standard accents \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} \b{a} \c{a} \d{a} \k{a} } - + \LGR \`{a} \'{a} \~{a} \"{a} \^{a} \={a} \H{a} \.{a} \r{a} \u{a} \v{a} \b{a} \c{a} \d{a} @@ -300,22 +308,21 @@ LaTeX standard accents } \end{quote} -\Latin -The comma-below (\verb|\k|) is not defined in LGR. - Additional Greek diacritics +(Greek, Greek Capitals% +\footnote{The dialytika is not used on Initial letters.} % (\LGR \"'I \"`I \~"I) +$\mapsto$ UPPERCASE) \begin{quote} \LGR - \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} + \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} a| $\mapsto$ \MakeUppercase{% - \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} + \<{a} \>{e} \<\`{i} \'"i \`"i \~"i \`\>{h} \'<{o} \'>{o} \~\<{u} \~\>{w} a| } - % The dialytika is not used on Initial letters ("'I \"`I \~"I) - \<{A} \>{E} \<\`{I} \'"I \"`I \~"I \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} + \<{A} \>{E} \<\`{I} \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} A| $\mapsto$ \MakeUppercase{% - \<{A} \>{E} \<\`{I} \'"I \"`I \~"I \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} + \<{A} \>{E} \<\`{I} \`\>{H} \'<{O} \'>{O} \~\<{U} \~\>{W} A| } \end{quote} @@ -328,14 +335,16 @@ Additional Greek diacritics \>\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~\~i \~>i, \~\~u \~>u, \~w, \\~w \~>w, \~w, \\~w \~>w, \~a \>\~a \~\>{a}, \~\~{h} \~>h \>~h \>\~h \~>h \~>h|, \~\~i \~>i, \~\~u \~>u, \~w, \\~w \~>w, \~w, \\~w \~>w, \~{\textepsilon} \"'{\textiota} \`>\texteta{} @@ -345,7 +354,7 @@ Additional Greek diacritics \\ \MakeUppercase{% \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} - \'<{\textomicron} \~<{\textupsilon} \~>{\textomega}. + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} } @@ -356,14 +365,16 @@ Additional Greek diacritics 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|: +\emph{polutonikogreek}, better use the tilde-accent macro, as +the tilde produces a no-break space if converted with \verb|\MakeUppercase|: \begin{quote} + combined accent with tilde character: \LGR \"~i \<~i \"~u \<~u \`>u $\mapsto$ \LGR \MakeUppercase{\"~i \<~i \"~u \<~u \`>u} + + \Latin combined accent with tilde-accent macro: + \LGR \"\~i \~"u $\mapsto$ \MakeUppercase{\"\~i \~"u} \end{quote} -Use the tilde-accent macro: -\LGR \"\~i \~"u $\mapsto$ \MakeUppercase{\"\~i \~"u}. \Latin Accents input via the Latin transliteration are not dropped with @@ -372,7 +383,7 @@ MakeUppercase, unless Babel is loaded and the current language is Greek \texttt{greek.ldf} from the \emph{babel-greek} package). \begin{quote} \LGR - ', ", `, >, <, | $\mapsto$ \MakeUppercase{', ", `, >, <, |} + 'a "i `a >a a - - + + lgrenc.def -
-
  • Other

  • -
  • Not implemented

  • +
  • Other

  • +
  • Not implemented

  • -
  • Diacritics

    +
  • Diacritics

  • -
  • Common Greek font encoding definitions

  • -
  • Composite definitions

    +
  • Common Greek font encoding definitions

  • +
  • Composite definitions

  • -
  • UPPERCASE

  • +
  • UPPERCASE

  • @@ -785,12 +609,12 @@ package.

    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.

    +lgrx bundle. With version 0.8, it moved to greek-fontenc/lgrx.def.

    ---+++ @@ -804,7 +628,7 @@ package.

    +\@uclclist.

    @@ -812,7 +636,7 @@ package.

    - + @@ -820,16 +644,16 @@ package.

    - + - - + + - + @@ -837,8 +661,8 @@ package.

    - - + + @@ -846,12 +670,12 @@ package.

    - + - + @@ -860,58 +684,62 @@ package.

    - + - + - + - + - - + + - + - + - + + + + +

    0.1

    0.3

    2010-06-08

    handle Titlecase and UPPERCASE extending -\@uclclist.

    0.4

    2010-06-15

    0.5

    2010-08-27

    support \textalpha\textOmega.

    support \textalpha\textOmega.

    0.5.1

    2012-05-08

    0.6

    2012-06-29

    \TextGreek wrapper command,

    \TextGreek wrapper command,

     

    aliases for puenc.def compatibility.

    aliases for puenc.def compatibility.

    0.6.1

    2013-02-12

    \@uclclist entries for PU aliases.

    \@uclclist entries for PU aliases.

    0.7

    2013-05-13

     

    \TextGreek renamed to \ensuregreek.

    \TextGreek renamed to \ensuregreek.

    0.8

    2013-05-13

     

    move to greek-fontenc,

     

    drop the old (<0.7) internal accent macros names.

    0.8.1

     

    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 name: \textpentehkaton -> \textpentehekaton,

     

    fix \textperiodcentered,

    fix \textperiodcentered,

     

    add composite command for Ῥ (Rho with Dasia).

    0.9

    2013-07-16

    move common definitions to greek-fontenc.def,

    move common definitions to greek-fontenc.def,

     

    add composite commands for single quotation marks.

    0.11.2

    2014-09-04

    remove duplicate code.

    0.13

    2015-08-04

    Support for symbol variants.

    Usage

    -

    Load this file by calling fontenc with the LGR option +

    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}

    +

    \usepackage[LGR,T1]{fontenc}

    @@ -920,11 +748,11 @@ or indirectly via the 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 tests via eTeX’s \ifdefined). However, in this case +

    The use of \@ifundefined has the side-effect that the tested +macro becomes defined and set to \relax (polluting the namespace and +interfering with tests via eTeX’s \ifdefined). However, in this case no harm is done as the macro is defined by the identification below anyway.

    @@ -933,31 +761,27 @@ anyway.

    {} {\message{LGR font encoding definitions already loaded} \expandafter\endinput % "return" - } - + }

    Identification

    \ProvidesFile{lgrenc.def}
    -[2014/09/04 v0.11.2 LGR Greek font encoding definitions]
    +[2015/08/08 v0.13 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.
    -
    +% version 1.3 of this license or any later version.

    You can test the version date using

    -
    \@ifl@ter {extension}{filename}{date}{YES}{NO}
    -
    -

    or using ltxcmds\@iffilelater.

    +
    \@ifl@ter {extension}{filename}{date}{YES}{NO}
    +

    or using ltxcmds\@iffilelater.

    Base setup

    Declare the LGR font encoding and base substitutions:

    \DeclareFontEncoding{LGR}{}{}
     \DeclareFontSubstitution{LGR}{cmr}{m}{n}
    -\DeclareErrorFont{LGR}{cmr}{m}{n}{10}
    -
    +\DeclareErrorFont{LGR}{cmr}{m}{n}{10}

    Text symbols

    @@ -1023,20 +847,18 @@ encoding.

    \DeclareTextSymbol{\textphi}{LGR}{102} \DeclareTextSymbol{\textchi}{LGR}{113} \DeclareTextSymbol{\textpsi}{LGR}{121} -\DeclareTextSymbol{\textomega}{LGR}{119} - +\DeclareTextSymbol{\textomega}{LGR}{119}

    Additional Greek symbols

    Ancient Greek Numbers (Athenian Numerals)

    -

    Names from ucs (ucsencs.def) +

    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
    -
    +\DeclareTextSymbol{\textpentemuria}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND

    Archaic letters

    @@ -1052,25 +874,60 @@ encoding.

    \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) - +\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs)

    Numeral signs

    See also http://en.wikipedia.org/wiki/Greek_numerals

    Names from ucs:

    \DeclareTextSymbol{\textdexiakeraia}{LGR}{254}      % ʹ (Dexia keraia)
    -\DeclareTextSymbol{\textaristerikeraia}{LGR}{255}   % ͵ (Aristeri keraia)
    -
    +\DeclareTextSymbol{\textaristerikeraia}{LGR}{255} % ͵ (Aristeri keraia) +
    +
    +

    variant symbols

    +

    Mathematical notation distinguishes variant shapes for pi, phi, rho, theta +(small and capital), beta, and kappa (characters for the latter three +symbols are not included in TeX’s math fonts). These variations have no +syntactic meaning in Greek text and are not given code-points in the LGR +encoding. Greek text fonts use the shape variants interchangeabely.

    +

    However, as Unicode defines separate code points for the symbol variants, we +provide fallback LICR macros with detailed error reporting:

    +
    \providecommand*{\LGR@TextSymbolUnavailable}[1]{%
    +  \PackageError{greek-fontenc}{character \string#1 not available \MessageBreak
    +    in 8-bit TeX}
    +    {Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak
    +     The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak
    +     character to the corresponding GREEK LETTER.\MessageBreak
    +     Press <return> to proceed (dropping the symbol from the document).}
    +}
    +
    +\providecommand*{\LGR@TextSymbolOnlyMath}[2]{%
    +  \PackageError{greek-fontenc}{character \string#1 not available in text mode}
    +    {Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak
    +     the symbol from the letter.\MessageBreak
    +     The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak
    +     character to the corresponding GREEK LETTER.\MessageBreak
    +     Press <return> to proceed (dropping the symbol from the document).}
    +}
    +
    +\ProvideTextCommand{\textbetasymbol} {LGR}{\LGR@TextSymbolUnavailable{ϐ beta symbol}}
    +\ProvideTextCommand{\textkappasymbol}{LGR}{\LGR@TextSymbolUnavailable{ϰ kappa symbol}}
    +\ProvideTextCommand{\textThetasymbol}{LGR}{\LGR@TextSymbolUnavailable{ϴ Theta symbol}}
    +
    +\ProvideTextCommand{\textthetasymbol}  {LGR}{\LGR@TextSymbolOnlyMath{ϑ theta symbol}{$\vartheta$}}
    +\ProvideTextCommand{\textphisymbol}    {LGR}{\LGR@TextSymbolOnlyMath{ϕ phi symbol}{$\phi$}}
    +\ProvideTextCommand{\textpisymbol}     {LGR}{\LGR@TextSymbolOnlyMath{ϖ pi symbol}{$\varpi$}}
    +\ProvideTextCommand{\textrhosymbol}    {LGR}{\LGR@TextSymbolOnlyMath{ϱ rho symbol}{$\varrho$}}
    +\ProvideTextCommand{\textepsilonsymbol}{LGR}{\LGR@TextSymbolOnlyMath{ϵ lunate epsilon symbol}{$\epsilon$}}
    -

    Other

    +

    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.

    • +
    • 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
    @@ -1078,12 +935,10 @@ encoding.

    \DeclareTextSymbol{\textquoteright}{LGR}{29} % ’ \DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia \DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER -\DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH -
    +\DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH

    T1:

    \DeclareTextSymbol{\guillemotleft}{LGR}{123}     % «
    -\DeclareTextSymbol{\guillemotright}{LGR}{125}    % »
    -
    +\DeclareTextSymbol{\guillemotright}{LGR}{125} % »

    TS1:

    \ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark}  % ˘
     \ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯
    @@ -1094,11 +949,9 @@ encoding.

    \DeclareTextSymbol{\textohm}{LGR}{87} % Ω (Ohm sign -> Omega) \DeclareTextSymbol{\texteuro}{LGR}{24} % € \euro in greek.ldf \DeclareTextSymbol{\textpercent}{LGR}{37} % % -\DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permill in greek.ldf -
    +\DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permill in greek.ldf

    T3 (tipa):

    -
    \DeclareTextSymbol{\textschwa}{LGR}{26}          % ə
    -
    +
    \DeclareTextSymbol{\textschwa}{LGR}{26}          % ə

    T3 also defines some greek letters as well as Latin characters with Greek names:

    According to the Unicode standard, the following IPA characters are identic @@ -1109,43 +962,43 @@ to the Greek letters:

  • 03BB greek small letter lamda

  • 03C7 greek small letter chi

  • -

    The following characters in the IPA block are not Greek letters:

    +

    The following characters in the IPA block refer to Greek letters:

      -
    • 0251 LATIN SMALL LETTER ALPHA ≠ greek small letter alpha - 03B1

    • -
    • 025B LATIN SMALL LETTER OPEN E = epsilon ≠ greek small letter epsilon - 03B5

    • -
    • 0263 LATIN SMALL LETTER GAMMA ≠ greek small letter gamma - 03B3

    • -
    • 0269 LATIN SMALL LETTER IOTA ≠ greek small letter iota - 03B9

    • -
    • 0278 LATIN SMALL LETTER PHI ≠ greek small letter phi - 03C6

    • -
    • 028A LATIN SMALL LETTER UPSILON ≠ greek small letter upsilon - 03C5

    • +
    • 0251 LATIN SMALL LETTER ALPHA → greek small letter alpha - 03B1

    • +
    • 025B LATIN SMALL LETTER OPEN E = epsilon → greek small letter epsilon - 03B5

    • +
    • 0263 LATIN SMALL LETTER GAMMA → greek small letter gamma - 03B3

    • +
    • 0269 LATIN SMALL LETTER IOTA → greek small letter iota - 03B9

    • +
    • 0278 LATIN SMALL LETTER PHI → greek small letter phi - 03C6

    • +
    • 028A LATIN SMALL LETTER UPSILON → greek small letter upsilon - 03C5

    -

    Unfortunately, tipa uses the macro names \textepsilon, \textgamma, -\textiota, \textphi, and \textupsilon for the Latin characters. -This is no problem with 8-bit fonts (set the font encoding to T3 vs. LGR to -disambiguate), but leads to name clashes with Unicode fonts. xunicode uses -the gr infix and alias names to disambiguate:

    +

    tipa uses the macro names \textepsilon, \textgamma, \textiota, +\textphi, and \textupsilon for the Latin characters. This is no +problem with 8-bit fonts (set the font encoding to T3 vs. LGR to +disambiguate), but leads to ambiguity with Unicode fonts. xunicode uses the +gr infix and alias names to disambiguate:

      -
    • 03B3 \textgrgamma

    • -
    • 03B9 \textgriota

    • -
    • 03C6 \textgrphi (see x0278 )

    • +
    • 03B3 \textgrgamma

    • +
    • 03B9 \textgriota

    • +
    • 03C6 \textgrphi (see x0278 )

    -

    but not for epsilon and upsilon (03C2 \textgrsigma is the final sigma).

    +

    but not for epsilon and upsilon (03C2 \textgrsigma is the final sigma).

    It also assigns alias names to the Latin counterparts, however not on a systematical basis:

      -
    • 0194 \textGammaafrican

    • -
    • 0196 \textIotaafrican

    • -
    • 0251 \textscripta

    • -
    • 025B \texteopen

    • -
    • 0263 \textbabygamma, \textgammalatinsmall

    • -
    • 0269 \textiotalatin

    • -
    • 028A \textscupsilon % TIPA-U

    • +
    • 0194 \textGammaafrican

    • +
    • 0196 \textIotaafrican

    • +
    • 0251 \textscripta

    • +
    • 025B \texteopen

    • +
    • 0263 \textbabygamma, \textgammalatinsmall

    • +
    • 0269 \textiotalatin

    • +
    • 028A \textscupsilon % TIPA-U

    -

    Not implemented

    -

    The characters at position 16 and 17 are used in the \nexus macro +

    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

    +CB.enc, they are mapped to

    16–MODIFIER LETTER LOW ACUTE ACCENT 17–MODIFIER LETTER LOW GRAVE ACCENT

    @@ -1153,33 +1006,33 @@ of the teub

    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 +

    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. They were moved to greek.ldf.

    +font-encoding definition file as they require \textlatin which is +defined in babel.def. They were moved to greek.ldf.

    -

    Diacritics

    +

    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 \).

    • +
    • 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 +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

    +

    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? @@ -1191,14 +1044,12 @@ two-letter \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) - +\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
    -
    +\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota

    Composite diacritics:

    %                                                       Teubner name
     \DeclareTextAccent{\accdialytikaperispomeni}{LGR}{32} % Cd
    @@ -1211,50 +1062,46 @@ with kerning:

    \DeclareTextAccent{\accpsiliperispomeni}{LGR}{92} % Cs \DeclareTextAccent{\accpsilioxia}{LGR}{94} % As -\DeclareTextAccent{\accpsilivaria}{LGR}{95} % Gs -
    +\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
    -
    +\DeclareTextAccent{\u}{LGR}{30} % BREVE (Greek vrachy) +\DeclareTextAccent{\=}{LGR}{31} % MACRON
    -

    Aliases

    +

    Aliases

    The standard symbol macros are exclusively used for Greek diacritics in LGR:

    \DeclareTextCommand{\"}{LGR}{\accdialytika}
     \DeclareTextCommand{\'}{LGR}{\acctonos}
     \DeclareTextCommand{\`}{LGR}{\accvaria}
    -\DeclareTextCommand{\~}{LGR}{\accperispomeni}
    -
    +\DeclareTextCommand{\~}{LGR}{\accperispomeni}
    -

    Common Greek font encoding definitions

    +

    Common Greek font encoding definitions

    The file greek-fontenc.def contains font encoding definitions that are shared by font encodings providing Greek characters:

    -
    \input{greek-fontenc.def}
    -
    +
    \input{greek-fontenc.def}
    -

    Composite definitions

    +

    Composite definitions

    -

    Composite diacritics

    +

    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.

    +characters”, e.g. \accdialytica\accvaria\textalpha, \"\'\textalpha, +\"'\textalpha, or \'"\textalpha.

    The actual declarations are part of the common Greek font encoding definitions.

    -

    Pre-composed letters

    +

    Pre-composed letters

    -

    Small letters with diacritics

    +

    Small letters with diacritics

    (from teubner with changed names of the composite accents):

    \DeclareTextComposite{\accvaria}{LGR}{a}{128}
     \DeclareTextComposite{\accdasia}{LGR}{a}{129}
    @@ -1336,8 +1183,7 @@ definitions.

    \DeclareTextComposite{\accpsilioxia}{LGR}{o}{238} \DeclareTextComposite{\accpsilivaria}{LGR}{o}{239} \DeclareTextComposite{\accdasia}{LGR}{r}{251} -\DeclareTextComposite{\accpsili}{LGR}{r}{252} -
    +\DeclareTextComposite{\accpsili}{LGR}{r}{252}

    Pre-composed letters with diacritics + LICR macros:

    \DeclareTextComposite{\accvaria}{LGR}{\textalpha}{128}
     \DeclareTextComposite{\accdasia}{LGR}{\textalpha}{129}
    @@ -1419,17 +1265,16 @@ definitions.

    \DeclareTextComposite{\accpsilioxia}{LGR}{\textomicron}{238} \DeclareTextComposite{\accpsilivaria}{LGR}{\textomicron}{239} \DeclareTextComposite{\accdasia}{LGR}{r}{251} -\DeclareTextComposite{\accpsili}{LGR}{r}{252} -
    +\DeclareTextComposite{\accpsili}{LGR}{r}{252}
    -

    Capital letters with diacritics

    +

    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

    +

    http://en.wikipedia.org/wiki/Capitalization

    In Title Case, place diacritics before instead of above the base character:

    \DeclareTextCompositeCommand{\accdasia}{LGR}{A}{<A}
    @@ -1501,12 +1346,10 @@ in cases where they are not needed when writing in lowercase)

    \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{W}{>'W} \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{W}{>\char126W} \DeclareTextCompositeCommand{\acctonos}{LGR}{W}{'W} -\DeclareTextCompositeCommand{\accvaria}{LGR}{W}{`W} -
    +\DeclareTextCompositeCommand{\accvaria}{LGR}{W}{`W}

    Except for the dialytika:

    \DeclareTextComposite{\accdialytika}{LGR}{I}{219}
    -\DeclareTextComposite{\accdialytika}{LGR}{U}{223}
    -
    +\DeclareTextComposite{\accdialytika}{LGR}{U}{223}

    Do the same for the LICR macros:

    \DeclareTextCompositeCommand{\accdasia}{LGR}{\textAlpha}{<A}
     \DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textAlpha}{<`A}
    @@ -1577,29 +1420,25 @@ in cases where they are not needed when writing in lowercase)

    \DeclareTextCompositeCommand{\accpsilioxia}{LGR}{\textOmega}{>'W} \DeclareTextCompositeCommand{\accpsiliperispomeni}{LGR}{\textOmega}{>\char126W} \DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmega}{'W} -\DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmega}{`W} -
    +\DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmega}{`W}

    Except for the dialytika:

    \DeclareTextComposite{\accdialytika}{LGR}{\textIota}{219}
    -\DeclareTextComposite{\accdialytika}{LGR}{\textUpsilon}{223}
    -
    +\DeclareTextComposite{\accdialytika}{LGR}{\textUpsilon}{223}
    -

    UPPERCASE

    -

    The common Greek font encoding definitions in greek-fontenc.def extend +

    UPPERCASE

    +

    The common Greek font encoding definitions in greek-fontenc.def extend the uclclist with Greek LICR macros. Here, we add LGR specific “hiatus” handling.

    Composite commands for Latin transliteration:

    \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{A}{\LGR@A@hiatus}
    -\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{E}{\LGR@E@hiatus}
    -
    +\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{E}{\LGR@E@hiatus}

    TODO: What does the LGR@hiatus command “see” if a Unicode literal follows?

    -
    % \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\symbol{"ce}}{bluff}
    +
    % \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\symbol{"ce}}{bluff}
     % \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{"cf}{blaff}
    -% \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{ι}{blaff}
    -
    +% \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{ι}{blaff}

    Look ahead and place a diaeresis on Ι or Υ:

    \DeclareTextCommand{\LGR@A@hiatus}{LGR}{%
       \LGR@ifnextchar{I}{A\"}{%
    @@ -1618,26 +1457,23 @@ handling.

    }% }% }% -} -
    +}

    Unfortunately, the lookahead breaks kerning.

    Alternatives tried:

      -
    • CompositeCommands fail at the end of a macro, e.g. \emph{\'a}

      -
      \DeclareTextCommand{\LGR@A@hiatus}{LGR}{A}
      +
    • CompositeCommands fail at the end of a macro, e.g. \emph{\'a}

      +
      \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}
      -
      +\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)

      -
      \DeclareTextComposite{\LGR@hiatus}{LGR}{A}{12}
      -
      +
      \DeclareTextComposite{\LGR@hiatus}{LGR}{A}{12}

      No such glyph exists for E but this is no problem as E does not require kerning anyway.

    • diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-active-semicolon.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/test-active-semicolon.pdf new file mode 100644 index 00000000000..af13a37bbc6 Binary files /dev/null and b/Master/texmf-dist/doc/latex/greek-fontenc/test-active-semicolon.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-nameclashes.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/test-nameclashes.pdf new file mode 100644 index 00000000000..0e68cf6d5eb Binary files /dev/null and b/Master/texmf-dist/doc/latex/greek-fontenc/test-nameclashes.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.html b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.html new file mode 100644 index 00000000000..aa488357e4a --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.html @@ -0,0 +1,1137 @@ + + + + + + + + + + +
      + + +

      documentclass{article} +usepackage{parskip} +usepackage{booktabs}

      +

      usepackage{lmodern} +usepackage{textcomp} +usepackage[LGR,T1]{fontenc}

      +

      % UTF8 input encoding for pdfTeX or LuaTeX in 8-bit compatibility mode: +% (XeTeX in compatibility mode would require xetex-inputenc.sty, which is not +% not at CTAN but on https://github.com/wspr/xetex-inputenc) +usepackage[utf8]{luainputenc}

      +

      usepackage[pdfencoding=auto,colorlinks=true]{hyperref} +usepackage{bookmark} +% hyperrefs PU encoding supports Greek LICR macros +DeclareTextCommand{ensuregreek}{PU}[1]{#1}

      +
      +
      usepackage[normalize-symbols, % comment option out to test error reporting
      +
      +

      keep-semicolon%

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 21)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      ]{textalpha}

      +
      +
      +

      begin{document}

      +

      title{The emph{textalpha} package} +author{Günter Milde} +maketitle

      +

      abstract{noindent +The emph{textalpha} package enables the use of Greek characters +in text independent of font encoding or TeX engine. Input is possible via +text commands (verb|textalpha| ldots +verb|textOmega|) or Unicode literalsfootnote{% +Requires emph{href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}} +or XeTeX/LuaTeX.}. +} +tableofcontents

      +

      section{Usage}

      +

      Load this package in the preamble of your document with +begin{verbatim}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 43)

      +

      Unexpected indentation.

      +
      +
      +

      usepackage{textalpha}

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 44)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{verbatim} +eventually with options texttt{normalize-symbols} and/or +texttt{keep-semicolon} +.

      +

      If emph{textalpha} is loaded after the setup of Unicode fonts with the +href{http://www.ctan.org/pkg/fontspec}{emph{fontspec}} package under +LuaTeX and XeTeX, it provides a compatible interface for Greek in text mode.

      +

      See the source of this document url{textalpha-doc.tex} for a setup and +usage example, the literate source of the package +href{textalpha.sty.html}{textalpha.sty} for the implementation, and +href{greek-euenc-doc.pdf}{greek-euenc-doc.pdf} for +emph{Font setup for Greek with XeTeX/LuaTeX}.

      +

      subsection{option texttt{normalize-symbols}}

      +

      Mathematical notation uses variant shapes of some Greek letters as +additional symbols. There are separate code points for the symbol variants +in Unicode but not in the LGR font encoding used for Greek in 8-bit TeX. +TeX supports some of the variant shape symbols in mathematical mode +($theta|vartheta, phi|varphi, pi|varpi, rho|varrho, +epsilon|varepsilon$).

      +

      The variations have no syntactic meaning in Greek text and text fonts may +use the variant shapes in place of the “regular” ones as a stylistic choice. +However, some Greek texts in Unicode encoding use these GREEK +… SYMBOL characters in place of the corresponding GREEK LETTER … +characters.

      +

      The texttt{normalize-symbols} option merges letters and symbols to Greek +letters. This way, text copied from external sources can be compiled without +errors even if it contains GREEK SYMBOL characters in place of GREEK LETTERS: +begin{quote}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 80)

      +

      Unexpected indentation.

      +
      +
      +

      This text uses both variants for beta (β|ϐ), theta (θ|ϑ), phi (φ|ϕ), pi +(π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon (ε|ϵ) in the LaTeX +source.

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 83)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      textbf{Attention}: Do not use this option in cases where the distinction +between the symbol variants may be important (e.g. in a mathematical or +scientific context). Try the emph{alphabeta} package with the +respective characters in math mode or use XeTeX/LuaTeX with Unicode fonts in +these cases.

      +

      This option is ignored with Unicode fonts.

      +

      subsection{texttt{keep-semicolon}}

      +

      LGR is no ``standard font encoding”. Latin characters and some other ASCII +symbols are mapped to Greek ``equivalents” if LGR is the active font +encoding. (See +href{http://mirrors.ctan.org/macros/latex/contrib/babel-contrib/greek/usage.pdf}{usage.pdf} +for a description of this Latin-Greek transliteration.)

      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 95); backlink

      +

      Inline literal start-string without end-string.

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 95); backlink

      +

      Inline literal start-string without end-string.

      +
      +

      Special care is required with the question mark characters: +begin{itemize}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 103)

      +

      Unexpected indentation.

      +
      +
      +
      +
      item The LGR font encoding uses the Latin question mark as input for the
      +

      emph{erotimatiko} and maps the semicolon to a middle dot (emph{ano +teleia}).

      +
      +
      item The Unicode standard provides the code point 037E GREEK QUESTION MARK
      +

      but says character 003B SEMICOLON and not 037E is the preferred +character for a `Greek question mark’ (erotimatiko),

      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 107); backlink

      +

      Inline interpreted text or phrase reference start-string without end-string.

      +
      +
      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 109)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{itemize} +As a result, only the deprecated character 037E GREEK QUESTION MARK works +with both, Xe/LuaTeX and 8-bit TeX.

      +

      The verb|textsemicolon| command inserts an emph{erotimatiko} in LGR and a +semicolon else (i.e. always a character that looks like a semicolon): +begin{quote}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 116)

      +

      Unexpected indentation.

      +
      +
      +

      Latin (T1) atextsemicolon{} b, +Greek (LGR) ensuregreek{atextsemicolon{} b}

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 118)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      With the texttt{keep-semicolon} option, character 003B SEMICOLON can be used +for the emph{erotimatiko} also with LGR encoded fonts:

      +

      begin{center} +begin{tabular}{lll}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 125)

      +

      Unexpected indentation.

      +
      +
      +

      Latin (T1) & Greek (LGR) & question mark character \ +midrule +Τί φήις; & ensuregreek{Τί φήις;} & 037E GREEK QUESTION MARK \ +Τί φήις; & ensuregreek{Τί φήις;} & 003B SEMICOLON \ +Τί φήις? & ensuregreek{Τί φήις?} & 003F QUESTION MARK \

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 130)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{tabular} +end{center}

      +

      This option is ignored with Unicode fonts.

      +

      section{Limitations label{sec:limitations}}

      +

      Because the internal font encoding switch interferes with other work behind +the scenes, kerning, diacritics and up/down-casing show problems if Greek +letters are used without explicit change of the font encoding.

      +

      These problems can be avoided by use of emph{babel} and the correct +language setting (greek), an explicit font encoding switch (e.g. +wrapping the Greek text in verb|ensuregreek|% +footnote{The texttt{textbackslash ensuregreek} macro ensures the argument

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 146)

      +

      Unexpected indentation.

      +
      +
      +

      is set in a font encoding supporting Greek. +% This can be used to fix these +% problems without adverse side-effects if the active font encoding is +% already LGR or Unicode. +},

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 151)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      or XeTeX/LuaTeX with Unicode fonts.

      +

      subsection{Diacritics}

      +

      Composition of diacritics (like verb|accdasiaacctonos| or verb|<’|) +fails in other font encodings. Long names (like \verb|accdasiaoxia|) work.

      +

      With LGR, pre-composed glyphs are chosen if available. In other font +encodings, accent macros do not select pre-composed characters. (The +difference is a sub-optimal placement of the accent and becomes obvious if +you drag-and-drop text from the PDF version of this document.):

      +
      +
      begin{quote}
      +

      ensuregreek{<’a accdasiaacctonos a accdasiaoxia a +accdasiaoxiatextalpha} (LGR) vs. accdasiaoxiatextalpha{} (T1).

      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 167)

      +

      Definition list ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      According to Greek typographical tradition, diacritics (except the +dialytika) are placed before capital letters in Titlecase and dropped in +UPPERCASE: +% +begin{quote}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 174)

      +

      Unexpected indentation.

      +
      +
      +
      +
      ensuregreek{%
      +

      <{textalpha} >{textepsilon} “’{textiota} `>texteta{} +‘<{textomicron} ~<{textupsilon} ~>{textomega} +quad +<{textAlpha} >{textEpsilon} “{textIota} `>textEta{} +‘<{textOmicron} ~<{textUpsilon} ~>{textOmega} +quad +MakeUppercase{%

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 182)

      +

      Unexpected indentation.

      +
      +
      +

      <{textalpha} >{textepsilon} “’{textiota} `>texteta{} +‘<{textomicron} ~<{textupsilon} ~>{textomega}

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 184)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      }

      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 185)

      +

      Definition list ends without a blank line; unexpected unindent.

      +
      +

      }

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 186)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{quote} +% +This fails for accent macros if the active font encoding is not LGR or +Unicode. Pre-composed literal Unicode characters are handled correctly: +begin{quote}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 191)

      +

      Unexpected indentation.

      +
      +
      +

      ensuregreek{‘textAlpha/Ά} (LICR/Unicode in LGR) vs. +‘textAlpha/Ά (LICR/Unicode in T1).

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 193)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      The dialytika marks a emph{hiatus} (break-up of a diphthong). It must be +present in UPPERCASE even where it is redundant in lowercase (the hiatus can +also be marked by an accent on the first character of a diphthong). The +auto-hiatus feature works in LGR and Unicode font encodings only: +begin{quote}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 200)

      +

      Unexpected indentation.

      +
      +
      +

      acctonostextalphatextupsilon{}, acctonostextepsilontextiota{} $mapsto$ +MakeUppercase{ensuregreek{

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 202)

      +

      Unexpected indentation.

      +
      +
      +

      acctonostextalphatextupsilon{}, acctonostextepsilontextiota{}

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 203)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      }} (LGR) vs. +MakeUppercase{

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 205)

      +

      Unexpected indentation.

      +
      +
      +

      acctonostextalphatextupsilon{}, acctonostextepsilontextiota{}%

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 206)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      } (T1)

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 207)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      Currently, the second vowel of the diphthong must be given as macro, not +Unicode literal if the auto-hiatus feature should work: +begin{quote} +ensuregreek{ἀtextupsilon{}πνία} $mapsto$ +ensuregreek{MakeUppercase{ensuregreek{ἀtextupsilon{}πνία}}} (LGR) vs. +ensuregreek{MakeUppercase{ensuregreek{ἀυπνία}}} (T1). +end{quote}

      +

      subsection{Kerning}

      +

      No kerning occurs between Greek characters in non-Greek text due to the +internal font encoding switch: compare +ensuregreek{textAlphatextUpsilontextAlpha} (LGR) to +textAlphatextUpsilontextAlpha (T1).

      +

      Compiling with LuaTeX provides kerning also over font encoding boundaries.

      +

      section{Test and Examples}

      +

      subsection{Greek alphabet}

      +

      Greek letters via Latin transcription in LGR font encoding:

      +
      +
      begin{quote}
      +

      ensuregreek{A B G D E Z H J I K L M N X O P R S T U F Q Y W}\ +ensuregreek{a b g d e z h j i k l m n x o p r sv c t u f q y w}

      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 235)

      +

      Definition list ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      Greek letters via default macros in other font encoding (here T1):

      +
      +
      begin{quote}
      +

      textAlpha{} textBeta{} textGamma{} textDelta{} textEpsilon{} +textZeta{} textEta{} textTheta{} textIota{} textKappa{} +textLambda{} textMu{} textNu{} textXi{} textOmicron{} textPi{} +textRho{} textSigma{} textTau{} textUpsilon{} textPhi{} +textChi{} textPsi{} textOmega{} +\ +textalpha{} textbeta{} textgamma{} textdelta{} textepsilon{} +textzeta{} texteta{} texttheta{} textiota{} textkappa{} +textlambda{} textmu{} textnu{} textxi{} textomicron{} textpi{} +textrho{} textsigma{} textvarsigma{} texttau{} textupsilon{} +textphi{} textchi{} textpsi{} textomega{}

      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 251)

      +

      Definition list ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      Archaic Greek letters and Greek punctuation

      +
      +
      begin{quote}
      +

      textDigamma +textanoteleia +textQoppa +textSampi +textStigma +textnumeralsigngreek +texterotimatiko +\ +textdigamma +textkoppa +textqoppa +textsampi +textstigma +textnumeralsignlowergreek +textvarstigma

      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 271)

      +

      Definition list ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      Diacritics

      +
      +
      begin{quote}
      +

      Symbol macros:% +footnote{Composite diacritics require wrapping in +texttt{textbackslash ensuregreek}.} +“{} ‘{} `{} ~{} <{} >{} u{} ={} +ensuregreek{“~{} “’{} “`{} <~{} <`{} <’{} >~{} >’{} >`{}}

      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 276); backlink

      +

      Inline interpreted text or phrase reference start-string without end-string.

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 276); backlink

      +

      Inline interpreted text or phrase reference start-string without end-string.

      +
      +

      Named macros: +accdialytika{} +acctonos{} +accvaria{} +accperispomeni{} +accdasia{} +accpsili{} +ypogegrammeni{} +prosgegrammeni{} +% +accdialytikaperispomeni{} +accdialytikatonos{} +accdialytikavaria{} +accdasiaperispomeni{} +accdasiavaria{} +accdasiaoxia{} +accpsiliperispomeni{} +accpsilioxia{} +accpsilivaria{} +% +accinvertedbrevebelow{} % == textsubarch{} +accbrevebelow{}

      +
      +
      +

      end{quote}

      +

      Accent macros can start with verb|a| instead of verb|| when the +short form is redefined, e.,g. inside a emph{tabbing} environment. +This also works for the new-defined Dasia and Psili shortcuts: +begin{quote}

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 312)

      +

      Unexpected indentation.

      +
      +
      +
      +
      begin{tabbing}
      +

      COL1quad = COL2quad = COL3quad = COL4quad \ +COL1 > > COL3 \ +Viele > Gra”uss e +> greekscript a<textalpha{} +> greekscript a>textomega

      +
      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 318)

      +

      Definition list ends without a blank line; unexpected unindent.

      +
      +

      end{tabbing}

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 319)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      end{quote}

      +

      subsection{Greek Unicode characters in non-Greek text}

      +

      With the emph{textalpha} package, +href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc} and input +encoding texttt{utf8}, Greek Unicode characters can be used in text with +any font encoding. See Tables ref{tab:greek-and-coptic} and +ref{tab:greek-extended}.

      +

      Kerning is preserved if the font encoding is LGR: ensuregreek{AΫA}

      +

      begin{table}[tbp] +centerline{ +begin{tabular}{rrrrrrrrrrrrrrrrr} +toprule

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 336)

      +

      Unexpected indentation.

      +
      +
      +

      & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 337)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      midrule +370 & * & * & * & * & ʹ & ͵ & * & * & & & ͺ & * & * & * & ; & \ +380 & & & & & ΄ & ΅ & Ά & · & Έ & Ή & Ί & & Ό & & Ύ & Ώ\ +390 & ΐ & Α & Β & Γ & Δ & Ε & Ζ & Η & Θ & Ι & Κ & Λ & Μ & Ν & Ξ & Ο\ +3A0 & Π & Ρ & & Σ & Τ & Υ & Φ & Χ & Ψ & Ω & Ϊ & Ϋ & ά & έ & ή & ί\ +3B0 & ΰ & α & β & γ & δ & ε & ζ & η & θ & ι & κ & λ & μ & ν & ξ & ο\ +3C0 & π & ρ & ς & σ & τ & υ & φ & χ & ψ & ω & ϊ & ϋ & ό & ύ & ώ & \ +3D0 & * & * & * & * & * & * & * & * & Ϙ & ϙ & Ϛ & ϛ & Ϝ & ϝ & * & ϟ\ +3E0 & Ϡ & ϡ & * & * & * & * & * & * & * & * & * & * & * & * & * & *\ +3F0 & * & * & * & * & * & * & * & * & * & * & * & * & * & * & * & *\ +bottomrule +end{tabular} +} % end centerline +caption{Greek and Coptic Unicode Block, input as literal Unicode

      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 337); backlink

      +

      Inline emphasis start-string without end-string.

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 337); backlink

      +

      Inline emphasis start-string without end-string.

      +
      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 351)

      +

      Unexpected indentation.

      +
      +
      +

      characters in T1 font encoding (legend: * glyph missing in LGR).}

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 352)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      label{tab:greek-and-coptic} +end{table}

      +

      begin{table}[tbp] +centerline{ +begin{tabular}{rrrrrrrrrrrrrrrrr} +toprule

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 360)

      +

      Unexpected indentation.

      +
      +
      +

      & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\

      +
      +
      +

      System Message: WARNING/2 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 361)

      +

      Block quote ends without a blank line; unexpected unindent.

      +
      +

      midrule +1F00 & ἀ & ἁ & ἂ & ἃ & ἄ & ἅ & ἆ & ἇ & Ἀ & Ἁ & Ἂ & Ἃ & Ἄ & Ἅ & Ἆ & Ἇ\ +1F10 & ἐ & ἑ & ἒ & ἓ & ἔ & ἕ & & & Ἐ & Ἑ & Ἒ & Ἓ & Ἔ & Ἕ & & \ +1F20 & ἠ & ἡ & ἢ & ἣ & ἤ & ἥ & ἦ & ἧ & Ἠ & Ἡ & Ἢ & Ἣ & Ἤ & Ἥ & Ἦ & Ἧ\ +1F30 & ἰ & ἱ & ἲ & ἳ & ἴ & ἵ & ἶ & ἷ & Ἰ & Ἱ & Ἲ & Ἳ & Ἴ & Ἵ & Ἶ & Ἷ\ +1F40 & ὀ & ὁ & ὂ & ὃ & ὄ & ὅ & & & Ὀ & Ὁ & Ὂ & Ὃ & Ὄ & Ὅ & & \ +1F50 & ὐ & ὑ & ὒ & ὓ & ὔ & ὕ & ὖ & ὗ & & Ὑ & & Ὓ & & Ὕ & & Ὗ\ +1F60 & ὠ & ὡ & ὢ & ὣ & ὤ & ὥ & ὦ & ὧ & Ὠ & Ὡ & Ὢ & Ὣ & Ὤ & Ὥ & Ὦ & Ὧ\ +1F70 & ὰ & ά & ὲ & έ & ὴ & ή & ὶ & ί & ὸ & ό & ὺ & ύ & ὼ & ώ & & \ +1F80 & ᾀ & ᾁ & ᾂ & ᾃ & ᾄ & ᾅ & ᾆ & ᾇ & ᾈ & ᾉ & ᾊ & ᾋ & ᾌ & ᾍ & ᾎ & ᾏ\ +1F90 & ᾐ & ᾑ & ᾒ & ᾓ & ᾔ & ᾕ & ᾖ & ᾗ & ᾘ & ᾙ & ᾚ & ᾛ & ᾜ & ᾝ & ᾞ & ᾟ\ +1FA0 & ᾠ & ᾡ & ᾢ & ᾣ & ᾤ & ᾥ & ᾦ & ᾧ & ᾨ & ᾩ & ᾪ & ᾫ & ᾬ & ᾭ & ᾮ & ᾯ\ +1FB0 & ᾰ & ᾱ & ᾲ & ᾳ & ᾴ & & ᾶ & ᾷ & Ᾰ & Ᾱ & Ὰ & Ά & ᾼ & ᾽ & ι & ᾿\ +1FC0 & ῀ & ῁ & ῂ & ῃ & ῄ & & ῆ & ῇ & Ὲ & Έ & Ὴ & Ή & ῌ & ῍ & ῎ & ῏\ +1FD0 & ῐ & ῑ & ῒ & ΐ & & & ῖ & ῗ & Ῐ & Ῑ & Ὶ & Ί & & ῝ & ῞ & ῟\ +1FE0 & ῠ & ῡ & ῢ & ΰ & ῤ & ῥ & ῦ & ῧ & Ῠ & Ῡ & Ὺ & Ύ & Ῥ & ῭ & ΅ & `\ +1FF0 & & & ῲ & ῳ & ῴ & & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ & \ +bottomrule +end{tabular} +} % end centerline +caption{Greek Extended Unicode Block, input as literal Unicode +characters in T1 font encoding.} +label{tab:greek-extended} +end{table}

      +

      Combined Diacritics work ᾅ, diacritics (except diaeresis) are dropped with +MakeUppercase (μαΐστρος $mapsto$ MakeUppercase{μαΐστρος}).

      +

      subsection{PDF strings}

      +

      With emph{textalpha} and +emph{href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}}, there +are two options to get Greek letters in PDF strings: LICR macros and literal +Unicode input.

      +
      +
      subsubsection{textlambdatextomicrontextgammatextomicrontextvarsigma{},
      +

      λογος and ensuregreek{logos}}

      +
      +
      +

      The subsection title above uses: LICR macros, Unicode input and the LGR +transcription for the Greek word ensuregreek{logos}. Check the table of +contents in the PDF viewer: LICR macros and Unicode literals work fine, the +Latin transcription remains Latin in the PDF metadata.

      +

      end{document}

      +
      +

      Docutils System Messages

      +
      +

      System Message: ERROR/3 (/home/milde/Code/sf-home/userweb/htdocs/greek/greek-fontenc/textalpha-doc.tex, line 156); backlink

      +

      Undefined substitution referenced: ") fails in other font encodings. Long names (like verb".

      +
      +
      +
      + + diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.pdf index 48fc781285f..04bd33771f3 100644 Binary files a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.pdf and b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex index 17780a33524..c166b60bb97 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex +++ b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha-doc.tex @@ -6,22 +6,18 @@ \usepackage{textcomp} \usepackage[LGR,T1]{fontenc} -% UTF8 input encoding for pdfTeX or Xe/LuaTeX in 8-bit compatibility mode: -\ifdefined \XeTeXrevision - \XeTeXinputencoding "bytes" -\fi -\ifdefined \luatexversion - \usepackage[utf8]{luainputenc} -\else - \usepackage[utf8]{inputenc} -\fi +% UTF8 input encoding for pdfTeX or LuaTeX in 8-bit compatibility mode: +% (XeTeX in compatibility mode would require xetex-inputenc.sty, which is not +% not at CTAN but on https://github.com/wspr/xetex-inputenc) +\usepackage[utf8]{luainputenc} \usepackage[pdfencoding=auto,colorlinks=true]{hyperref} \usepackage{bookmark} % hyperrefs PU encoding supports Greek LICR macros \DeclareTextCommand{\ensuregreek}{PU}[1]{#1} -\usepackage{textalpha} +\usepackage[normalize-symbols] % comment option out to test error reporting + {textalpha} \begin{document} @@ -29,20 +25,171 @@ \author{Günter Milde} \maketitle +Standard 8-bit TeX fonts do not support the Greek script. If Greek +characters shall be used with 8-bit TeX, setup of a Greek text font and an +explcit font-encoding switch is required. + With the \emph{textalpha} package, you can easily write a single Greek symbol (like \textPsi{} or \textmu{}) or a \textlambda\textomicron\textgamma\textomicron\textvarsigma{} in non-Greek text as well as ISO-conforming formulas with upright constants (like \textpi): $A = \mbox{\textpi} r^2$ vs. $A = \pi r^2$. Input is possible via -LICR macros (\verb|\textalpha| \ldots \verb|\textOmega|) or (with -\emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}} and the -utf8 option or XeTeX/LuaTeX) Unicode literals. +LICR macros (\verb|\textalpha| \ldots \verb|\textOmega|) +or Unicode literals\footnote{% +Requires \emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}} +and the utf8 option or XeTeX/LuaTeX.}. + +\tableofcontents + +\section{Usage} + +Load this package in the preamble of your document with +\begin{verbatim} + \usepackage{textalpha} +\end{verbatim} +If it is loaded after the setup of Unicode fonts with +\href{http://www.ctan.org/pkg/fontspec}{\emph{fontspec}} package under +LuaTeX and XeTeX, it provides a compatible interface for Greek in text mode. + +If you want to merge symbol variants, use the +\texttt{normalize-symbols} option:% +\footnote{This option is ignored with Unicode fonts.} +\begin{verbatim} + \usepackage[normalize-symbols]{textalpha} +\end{verbatim} See the source of this document \url{textalpha-doc.tex} for a setup and -usage example and the literate source of the package -\href{textalpha.sty.html}{textalpha.sty} for the implementation. +usage example, the literate source of the package +\href{textalpha.sty.html}{textalpha.sty} for the implementation, and +\emph{Font setup for Greek with XeTeX/LuaTeX} +(\href{euenc-doc.pdf}{euenc-doc.pdf}) for special feature under XeTeX/LuaTeX. + + +\subsection{option \texttt{normalize-symbols}} + +This option is ignored with Unicode fonts. + +Mathematical notation uses variant shapes of some Greek letters as +additional symbols. There are separate code points for the symbol variants +in Unicode but not in the LGR font encoding used for Greek in 8-bit TeX. +TeX supports some of the variant shape symbols in mathematical mode +($\theta|\vartheta, \phi|\varphi, \pi|\varpi, \rho|\varrho, +\epsilon|\varepsilon$). + +The variations have no syntactic meaning in Greek text and text fonts may +use the variant shapes in place of the “regular” ones as a stylistic choice. +However, some Greek texts in Unicode encoding use these GREEK +... SYMBOL characters in place of the corresponding GREEK LETTER ... +characters. + +The \texttt{normalize-symbols} option merges letters and symbols to Greek +letters. This way, text copied from external sources can be compiled without +errors even if it contains GREEK SYMBOL characters in place of GREEK LETTERS: +\begin{quote} + This text uses both variants for beta (β|ϐ), theta (θ|ϑ), phi (φ|ϕ), pi + (π|ϖ), kappa (κ|ϰ), rho (ρ|ϱ), Theta (Θ|ϴ), and epsilon (ε|ϵ) in the LaTeX + source. +\end{quote} + +\textbf{Attention}: Do not use this option in cases where the distinction +between the symbol variants may be important (e.g. in a mathematical or +scientific context). Try the \emph{alphabeta} package with the +respective characters in math mode or use XeTeX/LuaTeX with Unicode fonts in +these cases. + +\section{Limitations} + +Because the internal font encoding switch interferes with other work behind +the scenes, kerning, diacritics and up/down-casing show problems if Greek +letters are used without explicit change of the font encoding. + +These problems can be avoided by use of \emph{babel} and the correct +language setting (greek), an explicit font encoding switch (e.g. +wrapping the Greek text in \verb|\ensuregreek|% +\footnote{The \texttt{\textbackslash ensuregreek} macro ensures the argument + is set in a font encoding supporting Greek. + % This can be used to fix these + % problems without adverse side-effects if the active font encoding is + % already LGR or Unicode. + }, +or XeTeX/LuaTeX with Unicode fonts. + + +\subsection{Diacritics} + +Composition of diacritics (like \verb|\accdasia\acctonos| or \verb|\<\'|) +fails in other font encodings. Long names (like \verb|\accdasiaoxia|) work. + +With LGR, pre-composed glyphs are chosen if available. In other font +encodings, accent macros do not select pre-composed characters. (The +difference is a sub-optimal placement of the accent and becomes obvious if +you drag-and-drop text from the PDF version of this document.): + +\begin{quote} + \ensuregreek{\<'a \accdasia\acctonos a \accdasiaoxia a + \accdasiaoxia\textalpha} (LGR) vs. \accdasiaoxia\textalpha{} (T1). +\end{quote} + +According to Greek typographical tradition, diacritics (except the +dialytika) are placed before capital letters in Titlecase and dropped in +UPPERCASE: +% +\begin{quote} + \ensuregreek{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + \quad + \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} + \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} + \quad + \MakeUppercase{% + \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} + \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} + } + } +\end{quote} +% +This fails for accent macros if the active font encoding is not LGR or +Unicode. Pre-composed literal Unicode characters are handled correctly: +\begin{quote} + \ensuregreek{\'\textAlpha/Ά} (LICR/Unicode in LGR) vs. + \'\textAlpha/Ά (LICR/Unicode in T1). +\end{quote} + +The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be +present in UPPERCASE even where it is redundant in lowercase (the hiatus can +also be marked by an accent on the first character of a diphthong). The +auto-hiatus feature works in LGR and Unicode font encodings only: +\begin{quote} + \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} $\mapsto$ + \MakeUppercase{\ensuregreek{ + \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} + }} (LGR) vs. + \MakeUppercase{ + \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}% + } (T1) +\end{quote} + +Currently, the second vowel of the diphthong must be given as macro, not +Unicode literal if the auto-hiatus feature should work: +\begin{quote} +\ensuregreek{ἀ\textupsilon{}πνία} $\mapsto$ +\ensuregreek{\MakeUppercase{\ensuregreek{ἀ\textupsilon{}πνία}}} (LGR) vs. +\ensuregreek{\MakeUppercase{\ensuregreek{ἀυπνία}}} (T1). +\end{quote} + +\subsection{Kerning} -\section{Greek alphabet} +No kerning occurs between Greek characters in non-Greek text due to the +internal font encoding switch: compare +\ensuregreek{\textAlpha\textUpsilon\textAlpha} (LGR) to +\textAlpha\textUpsilon\textAlpha (T1). + +Compiling with LuaTeX provides kerning also over font encoding boundaries. + +\section{Test and Examples} + +\subsection{Greek alphabet} Greek letters via Latin transcription in LGR font encoding: @@ -87,7 +234,6 @@ Archaic Greek letters and Greek punctuation \textvarstigma \end{quote} - Diacritics \begin{quote} @@ -130,27 +276,25 @@ This also works for the new-defined Dasia and Psili shortcuts: \begin{tabbing} COL1\quad \= COL2\quad \= COL3\quad \= COL4\quad \\ COL1 \> \> COL3 \\ - Viele \> Gr\a"u\ss e + Viele \> Gr\a"u\ss e \> \greekscript \a<\textalpha{} \> \greekscript \a>\textomega \end{tabbing} \end{quote} +\subsection{Greek Unicode characters in non-Greek text} -% \pagebreak{} - -\section{Greek Unicode characters in non-Greek text} +With the \emph{textalpha} package, +\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc} and input +encoding \texttt{utf8}, Greek Unicode characters can be used in text with +any font encoding. See Tables \ref{tab:greek-and-coptic} and +\ref{tab:greek-extended}. -With the \emph{textalpha} package and input encoding \texttt{utf8}, Greek -Unicode characters can be used in text with any font encoding. See Tables -\ref{tab:greek-and-coptic} and \ref{tab:greek-extended}. - -Kerning is preserved if the font encoding is LGR. This holds also for -pre-composed accented characters: \ensuregreek{AΫA}. +Kerning is preserved if the font encoding is LGR: \ensuregreek{AΫA} \begin{table}[tbp] - \centering +\centerline{ \begin{tabular}{rrrrrrrrrrrrrrrrr} \toprule & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\\ @@ -166,14 +310,15 @@ pre-composed accented characters: \ensuregreek{AΫA}. 3F0 & * & * & * & * & * & * & * & * & * & * & * & * & * & * & * & *\\ \bottomrule \end{tabular} +} % end centerline \caption{Greek and Coptic Unicode Block, input as literal Unicode - characters in T1 font encoding (legend: * glyph missing in LGR).} + characters in T1 font encoding (legend: * glyph missing in LGR).} \label{tab:greek-and-coptic} \end{table} \begin{table}[tbp] - \centering +\centerline{ \begin{tabular}{rrrrrrrrrrrrrrrrr} \toprule & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & A & B & C & D & E & F\\ @@ -196,6 +341,7 @@ pre-composed accented characters: \ensuregreek{AΫA}. 1FF0 & & & ῲ & ῳ & ῴ & & ῶ & ῷ & Ὸ & Ό & Ὼ & Ώ & ῼ & ´ & ῾ & \\ \bottomrule \end{tabular} +} % end centerline \caption{Greek Extended Unicode Block, input as literal Unicode characters in T1 font encoding.} \label{tab:greek-extended} @@ -204,16 +350,14 @@ characters in T1 font encoding.} Combined Diacritics work ᾅ, diacritics (except diaeresis) are dropped with MakeUppercase (μαΐστρος $\mapsto$ \MakeUppercase{μαΐστρος}). - - -\section{PDF strings} +\subsection{PDF strings} With \emph{textalpha} and \emph{\href{http://www.ctan.org/pkg/greek-inputenc}{greek-inputenc}}, there are two options to get Greek letters in PDF strings: LICR macros and literal Unicode input. -\subsection{\textlambda\textomicron\textgamma\textomicron\textvarsigma{}, +\subsubsection{\textlambda\textomicron\textgamma\textomicron\textvarsigma{}, λογος and \ensuregreek{logos}} The subsection title above uses: LICR macros, Unicode input and the LGR @@ -221,80 +365,4 @@ transcription for the Greek word \ensuregreek{logos}. Check the table of contents in the PDF viewer: LICR macros and Unicode literals work fine, the Latin transcription remains Latin in the PDF metadata. - -\section{Limitations} - -Because the internal font encoding switch interferes with other work behind -the scenes, kerning, diacritics and up/down-casing show problems if Greek -letters are used without explicit change of the font encoding. These -problems can be avoided by use of \emph{babel} and the correct language -setting (greek) or an explicit font encoding switch (e.g. -wrapping the Greek text in \verb|\ensuregreek|% -\footnote{The \texttt{\textbackslash ensuregreek} macro ensures the argument -is set in a font encoding supporting Greek. This can be used to fix these -problems without adverse side-effects if the active font encoding is already -LGR.}). - -\subsection{Diacritics} - -Composition of diacritics (like \verb|\accdasia\acctonos|) fails in other -font encodings. Long names (like \verb|\accdasiaoxia|) work, however they do -not select pre-composed characters. With LGR, pre-composed glyphs are chosen -if available (the difference becomes obvious if you drag-and-drop text from -the PDF version of this document): -% -\ensuregreek{\<'a \accdasia\acctonos a \accdasiaoxia a -\accdasiaoxia\textalpha} (LGR) vs. \accdasiaoxia\textalpha{} (T1). - -According to Greek typographical tradition, diacritics (except the -dialytika) are placed before capital letters in titlecase and dropped in -all-caps: -% -\begin{quote} - \ensuregreek{% - \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`>\texteta{} - \'<{\textomicron} \~<{\textupsilon} \~>{\textomega} - \\ - \<{\textAlpha} \>{\textEpsilon} \"{\textIota} \`>\textEta{} - \'<{\textOmicron} \~<{\textUpsilon} \~>{\textOmega} - \\ - \MakeUppercase{% - \<{\textalpha} \>{\textepsilon} \"'{\textiota} \`\>\texteta{} - \'<{\textomicron} \~<{\textupsilon} \~>{\textomega}. - } - } -\end{quote} -% -This fails if the active font encoding is not LGR: -\ensuregreek{\'\textAlpha} (LGR) vs. \'\textAlpha (T1). -Therefore, named accent macros are used in composite Unicode -character definitions: \ensuregreek{Ά} (LGR) = Ά (T1). - -The dialytika marks a \emph{hiatus} (break-up of a diphthong). It must be -present in UPPERCASE even where it is redundant in lowercase (the hiatus can -also be marked by an accent on the first character of a diphthong). The -auto-hiatus feature works in LGR font encoding only: -\acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} $\mapsto$ -\MakeUppercase{\ensuregreek{ - \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{} -}} vs. -\MakeUppercase{ - \acctonos\textalpha\textupsilon{}, \acctonos\textepsilon\textiota{}% -}. - -Currently, the second vowel of the diphthong must be given as macro, not -Unicode literal if the auto-hiatus feature should work: -\ensuregreek{ἀ\textupsilon{}πνία} $\mapsto$ -\ensuregreek{\MakeUppercase{\ensuregreek{ἀ\textupsilon{}πνία}}} vs. -\ensuregreek{\MakeUppercase{\ensuregreek{ἀυπνία}}}. - -\subsection{Kerning} - -No kerning occurs between Greek characters in non-Greek text due to the -internal font encoding switch: compare -\ensuregreek{\textAlpha\textUpsilon\textAlpha} (LGR) to -\textAlpha\textUpsilon\textAlpha (T1). - -Compiling with LuaTeX provides kerning also over font encoding boundaries. - \end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html index c5fe6c0384c..4db517380df 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/textalpha.sty.html @@ -1,644 +1,409 @@ - - - + + textalpha.sty -

      textalpha.sty

      -

      Greek symbols in text

      +

      Greek symbols in text

      -
      Licence
      -

      This work may be distributed and/or modified under the +

      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.

      +version 1.3 of this license or any later version.

      -
      Identification
      -
      \NeedsTeXFormat{LaTeX2e}
      +
      Identification
      +
      \NeedsTeXFormat{LaTeX2e}
       \ProvidesPackage{textalpha}
      -[2014/12/12 v0.12 macros for Greek letters in text]
      -
      +[2015/09/04 v0.13 macros for Greek letters in text]

      Abstract

      -

      Provide a set of \text* macros for Greek characters +

      Provide a set of \text* macros for Greek characters in text mode.

      -
      +

      Note

      The package was renamed from textgreek to textalpha to prevent confusion with the textgreek package by Leonard Michlmayr.

      -
      +
      Changelog:
      ---+++ @@ -762,11 +584,11 @@ confusion with the lgrxenc.def 0.7

      +
      - + @@ -774,7 +596,7 @@ confusion with the normalize-symbols: support for symbol variants.

      + + + + +

      2010-06-16

      new accent macro names with lgrxenc.def 0.7

      2013-05-28

      0.4

      use lgrenc.def from greek-fontenc.

      use lgrenc.def from greek-fontenc.

      2013-09-11

      0.5

      +

      Option keep-semicolon: use semicolon as erotimatiko +in LGR.

      +
      -

      Motivation

      +

      Motivation

      By default, TeX macros for Greek letters are only valid in mathematical -mode. This package sets up a suitable font encoding and Greek LICR -definitions (\textalpha\textOmega).

      +mode. This package sets up a suitable font encoding and LaTeX internal +character representations (LICR) definitions for Greek (\textalpha – +\textOmega).

      To allow documents using Greek LICR macros without worrying about the TeX engine used to compile them, this package tests the declared font encodings and does “the right thing” to set up Greek text font support:

      -
        +
        • If the Unicode font encodings EU1 (XeTeX) or EU2 (LuaTeX) are declared, -before loading this package (e.g. vie fontspec) the package provides +before loading this package (e.g. via fontspec) the package provides Greek LICR definitions for them.

        • -
        • If the LGR font encoding is declared before loading this package, it is -set as default for Greek LICR macros (cf. fntguide section 5.3).

          -

          With XeTeX or LuaTex, Unicode fonts and LGR encoded 8-bit fonts can be -used in the same document (see greek-euenc-doc.tex).

          -
        • +
        • Otherwise, the LGR font encoding is set as default font encoding +(cf. fntguide section 5.3) for Greek.

        Advantages:

          @@ -815,7 +678,7 @@ without the need for an explicite font-encoding switch anywhere in the text.

        • Unicode input of Greek characters is supported

            -
          • via \usepackage[utf8]{inputenc} and lgrenc.dfu from +

          • via \usepackage[utf8]{inputenc} and lgrenc.dfu from greek-inputenc for 8-bit TeX or XeTeX/LuaTeX in 8-bit compatibility mode in any font encoding (see textalpha-doc.tex).

          • natively by XeTeX/LuaTeX for Unicode fonts. As inputenc does not work @@ -825,57 +688,103 @@ like LGR (see greek-eue

        -
        -

        Usage

        -
        \usepackage{textalpha}
        -
        +

        Usage

        +

        Ensure support for Greek characters in text mode with

        +
        \usepackage{textalpha}
        +

        eventually with the options to normalize symbols variants

        +
        \usepackage[normalize-symbols]{textalpha}
        +

        and/or to use the semicolon as erotimatiko also in 8-bit TeX

        +
        \usepackage[normalize-symbols,keep-semicolon]{textalpha}
        +

        To give textalpha.sty a chance of finding out which font encodings +are used, load it after fontspec and/or fontenc.

        For detailled examples see textalpha-doc.tex and textalpha-doc.pdf (8-bit TeX and XeTeX/LuaTeX in 8-bit compatibility mode) as well as greek-euenc-doc.tex and greek-euenc-doc.pdf (XeTeX/LuaTeX with Unicode fonts).

        +

        With XeTeX or LuaTex, Unicode fonts and LGR encoded 8-bit fonts can be used +in the same document (see greek-euenc-doc.tex).

        -

        Implementation

        -
        -

        Requirements

        +

        Implementation

        +
        +

        Options

        +
        +

        normalize-symbols

        +

        The “variant shape” symbol characters like 03D1 GREEK THETA SYMBOL are +mathematical charcters for mathematical use +(similar to 1D440 MATHEMATICAL ITALIC CAPITAL M). +Unfortunately, some Greek texts sources in Unicode encoding mix letter and +symbol characters .

        +

        The “normalize-symbols” option controls the handling of variant shape +symbols under 8-bit TeX:

        +
          +
        • The option activates a simple “folding” mechanism that merges ϰ and κ to +textkappa etc. for text copied from external sources which may use the +GREEK SYMBOL characters in place of GREEK LETTERS,

        • +
        • Without this option, variant shape symbols in the input are reported as +errors to prevent information loss in cases where the distinction between +ϰ and κ is intended (e.g. in mathematical or scientific context).

        • +
        +

        With XeTeX/LuaTeX and Unicode fonts, this option is ignored.

        +
        \newif\iftextalpha@normalizeSymbols
        +\DeclareOption{normalize-symbols}{\textalpha@normalizeSymbolstrue}
        +
        +
        +

        keep-semicolon

        +

        The erotimatiko looks like a semicolon but is a +Greek question mark:

        +
          +
        • The LGR font encoding uses the Latin question mark as input for the +erotimatiko and maps the semicolon to a middle dot (ano teleia).

        • +
        • The Unicode standard provides the code point 037E GREEK QUESTION MARK +but says: “character 003B SEMICOLON (and not 037E) is the preferred +character for Greek question mark”.

        • +
        +

        The keep-semicolon option allows to use the semicolon as erotimatiko +in both, Xe/LuaTeX and 8-bit TeX. (The ano teleia can be input as +\textanoteleia or using character 00B7 MIDDLE DOT.) +With XeTeX/LuaTeX and Unicode fonts, this option is ignored.

        +
        \newif\iftextalpha@keepSemicolon
        +\DeclareOption{keep-semicolon}{\textalpha@keepSemicolontrue}
        +
        +\ProcessOptions\relax
        +
        +
        +
        +

        Font encodings

        +

        With 8-bit LaTeX, the LGR font encoding is used for Greek characters. If +no Greek-supporting font encoding (EU1, EU2, or LGR) is declared, LGR is +loaded and set up as default Greek font encoding by this package.

        With XeTeX or LuaTeX, there is one common input and font encoding – -Unicode. 8-bit TeX font encodings are only used in compatibility mode or for +Unicode. 8-bit TeX font encodings are only used in compatibility mode or for fonts not available otherwise. For compatibility with the LaTeX font selection system, the package euenc defines the (pseudo) font encodings EU1 and EU2 for XeTeX and LuaTeX respectively. However euenc does not (yet) define LICR macros. We therefore explicitely load Greek LICR definitions for XeTeX/LuaTeX from greek-euenc.def which in turn includes greek-fontenc.def.

        -

        With 8-bit LaTeX, the LGR font encoding is used for Greek characters. If no -Greek-supporting font encoding (EU1, EU2, or LGR) is declared, LGR is loaded -and set up as default Greek font encoding by this package.

        -

        To give textalpha.sty a chance of finding out which font encodings are -used, load it after fontspec and/or fontenc.

        -
        -

        Font encodings

        Ensure a Greek-supporting font encoding exists and supports Greek LICR macros:

        -

        Load the Greek LICR definitions for Unicode if font encoding EU1 (XeTeX) or -EU2 (LuaTeX) is detected.1 In an ideal world, this would be done in -the eu1enc.def (or eu2enc.def) file of the euenc package. If none -of EU1, EU2, and LGR is declared, load lgrenc.def:

        -

        Re-set the \LastDeclaredEncoding: Because fontenc loads font -encoding definition files only once, it may happen that another font -encoding is defined afterwards — for example fontspec leaves -\LastDeclaredEncoding at T3 (tipa), because it inputs the xunicode -package which in turn loads t3enc.def.

        +
          +
        • Load the Greek LICR definitions for Unicode if font encoding EU1 (XeTeX) +or EU2 (LuaTeX) is detected. [1] (In an ideal world, this would be done +in the eu1enc.def (or eu2enc.def) file of the euenc package.)

        • +
        • Re-set \LastDeclaredEncoding (used in some included font-encoding files).

        • +
        • If none of EU1, EU2, or LGR is declared, load lgrenc.def.

        • +
        \@ifl@aded{def}{eu1enc}{
           \renewcommand{\LastDeclaredEncoding}{EU1}
           \input{greek-euenc.def}
        @@ -886,30 +795,29 @@ package which in turn loads t3enc.def.

        }{% else \@ifl@aded{def}{lgrenc}{ % LGR already declared and set up + \renewcommand{\LastDeclaredEncoding}{LGR} }{ \input{lgrenc.def} } } -} -
        -
        1
        -
        -

        The two different (pseudo) font encodings allow different font setups for -XeTeX vs. LuaTeX using differently named *.fd files (see euenc for -details).

        -
        -
        +}

        The package hyperref defines the PU font encoding which also supports (monotonic) Greek. It currently misses polytonic greek and the -\greekscript and \ensuregreek TextCommands:

        +\greekscript and \ensuregreek TextCommands:

        \@ifl@aded{def}{puenc}
           {\ProvideTextCommand{\greekscript}{PU}{}
            \ProvideTextCommand{\ensuregreek}{PU}[1]{#1}}
        -  {}
        -
        + {} +
        +
        [1]
        +

        The two different (pseudo) font encodings allow different font +setups for XeTeX vs. LuaTeX using differently named *.fd files (see +euenc for details).

        +
        +
        -

        Symbol macros for breathings

        +

        Symbol macros for breathings

        In the Latin transcription provided by LGR, breathing accents (Dasia and Psili) are input as < and >. We provide the corresponding NFSS macro accents (moved here from greek-fontenc.def).

        @@ -937,35 +845,30 @@ macros for both, LGR and Unicode font encodings (if they are defined):

        \DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{'}{\accdasiaoxia} \DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{`}{\accdasiavaria} \DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{~}{\accdasiaperispomeni} -}{} - -
        +}{}
        -

        Default declarations

        +

        Default declarations

        The following definitions ensure that the Greek LICR macros can be used anywhere in the document also with 8-bit TeX by declaring LGR as their default font encoding. Abort here, if the LGR font encoding is not defined:

        \@ifl@aded{def}{lgrenc}
           {}
         % else return:
        -  {\expandafter\endinput}
        -
        + {\expandafter\endinput}
        -

        greekscript, ensuregreek

        -

        The \greekscript declaration ensures the current font encoding supports -the Greek script. greek-fontenc.def sets this to the empty declaration -for font encodings that do so. This is currently used by lgrenc.def -(LGR) and greek-euenc.def (Greek LICR macros for EU1 and EU2).

        +

        greekscript, ensuregreek

        +

        The \greekscript declaration ensures the current font encoding supports +the Greek script. greek-fontenc.def sets this to the empty declaration +for font encodings that do so. This is currently used by lgrenc.def +(LGR) and greek-euenc.def (Greek LICR macros for EU1 and EU2).

        We define LGR as default encoding for Greek text. We use -\ProvideTextCommandDefault to enable the author or other packages to use -an alternative definition (see [fntguide]):

        -
        \ProvideTextCommandDefault{\greekscript}{\fontencoding{LGR}\selectfont}
        -
        -

        The \ensuregreek command can be used to ensure that its argument is set in +\ProvideTextCommandDefault to enable the author or other packages to use +an alternative definition (see [fntguide]):

        +
        \ProvideTextCommandDefault{\greekscript}{\fontencoding{LGR}\selectfont}
        +

        The \ensuregreek command can be used to ensure that its argument is set in a font encoding with support for Greek. Again the default is LGR:

        -
        \ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript #1}}
        -
        +
        \ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript #1}}

        Eventually, all font encodings supporting Greek script (e.g. LGI, PU, EU1, -EU2) will declare \ensuregreek as text command that passes the argument +EU2) will declare \ensuregreek as text command that passes the argument unchanged. This way, kerning and selection of precomposed glyphs would work -also for cases like \ensuregreek{\'A}U.

        +also for cases like \ensuregreek{\'A}U.

        -

        Greek Alphabet

        -

        Define the text* marcos as default for all font encodings:

        +

        Greek Alphabet

        +

        Define the text* marcos as default for all font encodings:

        \DeclareTextSymbolDefault{\textAlpha}{LGR}
         \DeclareTextSymbolDefault{\textBeta}{LGR}
         \DeclareTextSymbolDefault{\textGamma}{LGR}
        @@ -1036,17 +939,16 @@ also for cases like \ensuregreek{\'A}U
        +\DeclareTextSymbolDefault{\textomega}{LGR}
        +
        -

        Additional Greek symbols

        +

        Additional Greek symbols

        Including alias names for compatibility with hyperref’s puenc.def.

        Ancient Greek Numbers (Athenian Numerals):

        \DeclareTextSymbolDefault{\textpentedeka}{LGR}    % GREEK ACROPHONIC ATTIC FIFTY
         \DeclareTextSymbolDefault{\textpentehekaton}{LGR} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
         \DeclareTextSymbolDefault{\textpenteqilioi}{LGR}  % GREEK ACROPHONIC ATTIC FIVE THOUSAND
        -\DeclareTextSymbolDefault{\textpentemurioi}{LGR}  % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
        -
        +\DeclareTextSymbolDefault{\textpentemurioi}{LGR} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND

        Archaic letters:

        \DeclareTextSymbolDefault{\textstigma}{LGR}      % ϛ
         \DeclareTextSymbolDefault{\textstigmagreek}{LGR} % ϛ (puenc.def)
        @@ -1066,16 +968,39 @@ also for cases like \ensuregreek{\'A}U
        +\DeclareTextSymbolDefault{\textDigammagreek}{LGR} % Ϝ (puenc.def)

        numeral signs: http://en.wikipedia.org/wiki/Greek_numerals

        \DeclareTextSymbolDefault{\textnumeralsigngreek}{LGR}      % (puenc.def)
        -\DeclareTextSymbolDefault{\textnumeralsignlowergreek}{LGR} % (puenc.def)
        -
        +\DeclareTextSymbolDefault{\textnumeralsignlowergreek}{LGR} % (puenc.def) +
        +

        variant shape symbols

        +

        Mathematical notation uses variant shapes of some Greek letters as +additional symbols. There are separate code points for the symbol variants +in Unicode but not in the LGR font encoding used for Greek in 8-bit TeX. +The variations have no syntactic meaning in Greek text.

        +
        \DeclareTextSymbolDefault{\textbetasymbol}{LGR}    % ϐ GREEK BETA SYMBOL
        +\DeclareTextSymbolDefault{\textthetasymbol}{LGR}   % ϑ $\vartheta$ GREEK THETA SYMBOL
        +\DeclareTextSymbolDefault{\textphisymbol}{LGR}     % ϕ $\phi$ GREEK PHI SYMBOL
        +\DeclareTextSymbolDefault{\textpisymbol}{LGR}      % ϖ $\varpi$ GREEK PI SYMBOL
        +\DeclareTextSymbolDefault{\textkappasymbol}{LGR}   % ϰ GREEK KAPPA SYMBOL
        +\DeclareTextSymbolDefault{\textrhosymbol}{LGR}     % ϱ $\varrho$ GREEK RHO SYMBOL
        +\DeclareTextSymbolDefault{\textThetasymbol}{LGR}   % ϴ GREEK CAPITAL THETA SYMBOL
        +\DeclareTextSymbolDefault{\textepsilonsymbol}{LGR} % ϵ $\epsilon$ GREEK LUNATE EPSILON SYMBOL
        +

        Define compatibility mappings if the normalize-symbols option is set:

        +
        \iftextalpha@normalizeSymbols
        +  \DeclareTextCommand{\textbetasymbol}   {LGR}{\textbeta}
        +  \DeclareTextCommand{\textthetasymbol}  {LGR}{\texttheta}
        +  \DeclareTextCommand{\textphisymbol}    {LGR}{\textphi}
        +  \DeclareTextCommand{\textpisymbol}     {LGR}{\textpi}
        +  \DeclareTextCommand{\textkappasymbol}  {LGR}{\textkappa}
        +  \DeclareTextCommand{\textrhosymbol}    {LGR}{\textrho}
        +  \DeclareTextCommand{\textThetasymbol}  {LGR}{\textTheta}
        +  \DeclareTextCommand{\textepsilonsymbol}{LGR}{\textepsilon}
        +\fi
        -

        Diacritics

        +

        Diacritics

        Greek diacritics via “named” macros:

        \DeclareTextAccentDefault{\accdasia}{LGR}
         \DeclareTextAccentDefault{\accpsili}{LGR}
        @@ -1092,29 +1017,38 @@ also for cases like \ensuregreek{\'A}U
        +\DeclareTextAccentDefault{\accdialytikaperispomeni}{LGR}

        Symbol macros for the breathings:

        \DeclareTextAccentDefault{\<}{LGR}
        -\DeclareTextAccentDefault{\>}{LGR}
        -
        +\DeclareTextAccentDefault{\>}{LGR}

        Postfix accents:

        \DeclareTextSymbolDefault{\ypogegrammeni}{LGR} % "small" sub-iota
        -\DeclareTextSymbolDefault{\prosgegrammeni}{LGR}  % "capital" sub-iota
        -
        +\DeclareTextSymbolDefault{\prosgegrammeni}{LGR} % "capital" sub-iota

        Other accents in LGR:

        \DeclareTextAccentDefault{\accinvertedbrevebelow}{LGR} % INVERTED BREVE BELOW
         \DeclareTextAccentDefault{\textsubarch}{LGR}           % tipa, Teubner name: ut
        -\DeclareTextAccentDefault{\accbrevebelow}{LGR}         % BREVE BELOW
        -
        +\DeclareTextAccentDefault{\accbrevebelow}{LGR} % BREVE BELOW
        -

        Auxiliary macros

        -

        \MakeUppercase requires three internal commands:

        +

        Auxiliary macros

        +

        \MakeUppercase requires three internal commands:

        \DeclareTextAccentDefault{\LGR@accdropped}{LGR}
         \DeclareTextAccentDefault{\LGR@accDialytika}{LGR}
        -\DeclareTextAccentDefault{\LGR@hiatus}{LGR}
        -
        +\DeclareTextAccentDefault{\LGR@hiatus}{LGR} +
        +
        +

        semicolon as erotimatiko

        +

        The text command \textsemicolon inserts \texterotimatiko +in LGR font encoding and a “normal” semicolon else:

        +
        \ProvideTextCommandDefault{\textsemicolon}{;}
        +\ProvideTextCommand{\textsemicolon}{LGR}{\texterotimatiko}
        +

        The LGR font encoding maps “;” to a middle dot (ano teleia). With the +keep-semicolon option, the semicolon is made an active character and calls +\textsemicolon:

        +
        \iftextalpha@keepSemicolon
        +  \catcode`;=\active
        +  \newcommand{;}{\textsemicolon}
        +\fi
        diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-euenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-euenc.def index f99ff55a9f2..8b465eebe87 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-euenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta-euenc.def @@ -66,6 +66,7 @@ % Greek Extended % ~~~~~~~~~~~~~~ +% Postfix ypogegrammeni cannot be second part of composite defs. % :: \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\alpha}{ἀ} @@ -183,84 +184,21 @@ \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\upsilon}{ὺ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\omega}{ὼ} -%% postfix ypogegrammeni cannot be second part of composite defs. -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾀ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾁ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾂ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾃ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾄ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾅ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾆ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾇ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾈ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾉ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾊ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾋ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾌ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾍ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾎ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\Alpha\prosgegrammeni}{ᾏ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾐ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾑ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾒ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾓ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾔ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾕ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾖ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ᾗ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾘ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾙ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾚ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾛ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾜ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾝ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾞ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\Eta\prosgegrammeni}{ᾟ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾠ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾡ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾢ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾣ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾤ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾥ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾦ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ᾧ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾨ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾩ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾪ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾫ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾬ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾭ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾮ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\Omega\prosgegrammeni}{ᾯ} - \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\alpha}{ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\alpha}{ᾱ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾲ} -% \DeclareTextCompositeCommand{\alpha}{\LastDeclaredEncoding}{\ypogegrammeni}{ᾳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾴ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\alpha}{ᾶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\alpha}{ᾶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\alpha\ypogegrammeni}{ᾷ} \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\Alpha}{Ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\Alpha}{Ᾱ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Alpha}{Ὰ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Alpha}{Ὰ} -% \DeclareTextCompositeCommand{\Alpha}{\LastDeclaredEncoding}{\prosgegrammeni}{ᾼ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ῂ} -% \DeclareTextCompositeCommand{\eta}{\LastDeclaredEncoding}{\ypogegrammeni}{ῃ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ῄ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\eta}{ῆ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\eta}{ῆ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\eta\ypogegrammeni}{ῇ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Epsilon}{Ὲ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Eta}{Ὴ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Epsilon}{Ὲ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Eta}{Ὴ} -% \DeclareTextCompositeCommand{\Eta}{\LastDeclaredEncoding}{\prosgegrammeni}{ῌ} - \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\iota}{ῐ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\iota}{ῑ} @@ -289,18 +227,12 @@ \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Upsilon}{Ὺ} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\Rho}{Ῥ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ῲ} -% \DeclareTextCompositeCommand{\omega}{\LastDeclaredEncoding}{\ypogegrammeni}{ῳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ῴ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\omega}{ῶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\omega}{ῶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\omega\ypogegrammeni}{ῷ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Omicron}{Ὸ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\Omega}{Ὼ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Omicron}{Ὸ} \DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\Omega}{Ὼ} -% \DeclareTextCompositeCommand{\Omega}{\LastDeclaredEncoding}{\prosgegrammeni}{ῼ} - % .. References % diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty index 65af90c5b62..eca931db9a8 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty +++ b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty @@ -14,7 +14,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} -[2013/09/11 v0.4 macros for Greek letters in text and math] +[2015/09/04 v0.13 macros for Greek letters in text and math] % Changelog: % .. class:: borderless @@ -25,6 +25,7 @@ % 2013-05-28 0.3 use ``lgrenc.def`` from greek-fontenc, % .. enable Unicode input in math mode. % 2013-09-11 0.4 move to greek-fontenc_, support XeTeX/LuaTeX. +% 2015-09-04 0.13 Support for `variant symbols`. % ========== ===== ========================================================= % % Motivation @@ -59,6 +60,15 @@ % % \usepackage{alphabeta} % +% The greek-inputenc_ package provides support for Unicode (utf-8) input +% of Greek characters with 8-bit TeX and the inputenc_ package: +% +% .. code:: latex +% +% \usepackage[utf-8]{inputenc} +% \usepackage{alphabeta} +% +% % For details see ``_ and ``_. % % @@ -68,12 +78,12 @@ % Requirements % ------------ % -% This package extends the `textalpha `_ package:: +% This package extends the `textalpha `_ package. +% Package options are passed on to `textalpha`:: -\RequirePackage{textalpha} +\RequirePackageWithOptions{textalpha} -% `textalpha` depends on greek-fontenc_ and (with 8-bit TeX) recommends -% greek-inputenc_. +% Just like `alphabeta`, `textalpha` is part of greek-fontenc_. % % This package requires the e-TeX_ extensions (i.e. a not too old TeX % distribution) for the ``\ifdefined`` test. @@ -81,8 +91,8 @@ % It uses the ``\TextOrMath`` test from the fixltx2e_ standard LaTeX % package:: -\RequirePackage{fixltx2e} - +% fixltx2e is not required with releases after 2015 +%\RequirePackage{fixltx2e} % Postpone the re-definitions % --------------------------- @@ -114,9 +124,11 @@ \let\mathgamma\gamma \let\mathdelta\delta \let\mathepsilon\epsilon +\let\mathvarepsilon\varepsilon \let\mathzeta\zeta \let\matheta\eta \let\maththeta\theta +\let\mathvartheta\vartheta \let\mathiota\iota \let\mathkappa\kappa \let\mathlambda\lambda @@ -124,12 +136,16 @@ \let\mathnu\nu \let\mathxi\xi \let\mathpi\pi +\let\mathvarpi\varpi \let\mathrho\rho +\let\mathvarrho\varrho \let\mathsigma\sigma \let\mathvarsigma\varsigma +\let\mathfinalsigma\varsigma \let\mathtau\tau \let\mathupsilon\upsilon \let\mathphi\phi +\let\mathvarphi\varphi \let\mathchi\chi \let\mathpsi\psi \let\mathomega\omega @@ -137,6 +153,13 @@ \providecommand*{\digamma}{\textit{\textdigamma}} \let\mathdigamma\digamma +% \varkappa and \varbeta are defined by some math packages +\ifdefined\varbeta + \let\mathvarbeta\varbeta +\fi +\ifdefined\varkappa % e.g. with newtxmath + \let\mathvarkappa\varkappa +\fi % Commands to access Greek letters by name % ---------------------------------------- @@ -147,6 +170,21 @@ % used as variable symbols in math formulas. These letters are not defined in % TeX's math mode, we provide an alias to the corrsponding ``\text...`` % command. +% +% Mathematical notation distinguishes `variant shape symbols`_ for pi, phi, +% rho, theta (small and capital), beta, and kappa (characters for the latter +% three symbols are not included in TeX’s math fonts). These variations have +% no syntactic meaning in Greek text and are not given code-points in the LGR +% encoding while Unicode defines separate code points for the symbol variants. +% +% Greek Alphabet: +% +% Macros keep their meaning in mathematical mode (i.e. use the same shape as +% without this package) and refer to GREEK LETTER ... in text. For +% ``\epsilon`` and ``phi``, this means that the selected symbol variant +% differs in text vs. math mode. Use ``\varepsilon`` and ``\varphi`` (see +% section `variant shape symbols`_ below) to select the GREEK LETTER ...” in both, +% text and math mode. % :: \providecommand*{\Alpha}{\textAlpha} @@ -178,7 +216,7 @@ \renewcommand*{\beta}{\TextOrMath{\textbeta}{\mathbeta}} \renewcommand*{\gamma}{\TextOrMath{\textgamma}{\mathgamma}} \renewcommand*{\delta}{\TextOrMath{\textdelta}{\mathdelta}} -\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} +\renewcommand*{\epsilon}{\TextOrMath{\textepsilon}{\mathepsilon}} % ε/ϵ \renewcommand*{\zeta}{\TextOrMath{\textzeta}{\mathzeta}} \renewcommand*{\eta}{\TextOrMath{\texteta}{\matheta}} \renewcommand*{\theta}{\TextOrMath{\texttheta}{\maththeta}} @@ -196,7 +234,7 @@ \providecommand*{\finalsigma}{\varsigma} \renewcommand*{\tau}{\TextOrMath{\texttau}{\mathtau}} \renewcommand*{\upsilon}{\TextOrMath{\textupsilon}{\mathupsilon}} -\renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} +\renewcommand*{\phi}{\TextOrMath{\textphi}{\mathphi}} % ϕ/φ \renewcommand*{\chi}{\TextOrMath{\textchi}{\mathchi}} \renewcommand*{\psi}{\TextOrMath{\textpsi}{\mathpsi}} \renewcommand*{\omega}{\TextOrMath{\textomega}{\mathomega}} @@ -218,6 +256,46 @@ \providecommand*{\Sampi}{\textSampi} % Ϡ \providecommand*{\sampi}{\textsampi} % ϡ +% Variant shape symbols +% ''''''''''''''''''''' +% +% TeX’s concept of “standard” vs. “variant” math symbols does not map to the +% distinction between GREEK LETTER ... vs. GREEK ... SYMBOL in the Unicode +% standard (see ``_). +% +% The ``\...symbol`` macros select the GREEK ... SYMBOL in both, text and +% math mode. For ``\epsilonsymbol`` and ``\phisymbol`` this is the default +% shape in math mode. The ``\var...`` macros select the shape used by TeX +% math (or, if not supported, the SYMBOL shape):: + +% ..symbol == var.. +\renewcommand*{\varpi}{\TextOrMath{\textpisymbol}{\mathvarpi}} % ϖ +\providecommand*{\pisymbol}{\varpi} % ϖ +\renewcommand*{\varrho}{\TextOrMath{\textrhosymbol}{\mathvarrho}} % ϱ +\providecommand*{\rhosymbol}{\TextOrMath{\textrhosymbol}{\mathvarrho}} % ϱ +\renewcommand*{\vartheta}{\TextOrMath{\textthetasymbol}{\mathvartheta}} % ϑ +\providecommand*{\thetasymbol}{\vartheta} % ϑ +% ..symbol != var.. +\renewcommand*{\varepsilon}{\TextOrMath{\textepsilon}{\mathvarepsilon}} % ε +\providecommand*{\epsilonsymbol}{\TextOrMath{\textepsilonsymbol}{\mathepsilon}} % ϵ +\renewcommand*{\varphi}{\TextOrMath{\textphi}{\mathvarphi}} % φ +\providecommand*{\phisymbol}{\TextOrMath{\textphisymbol}{\mathphi}} % ϕ +% only text (in standard 8-bit TeX, may be defined with additional packages): +\ifdefined\mathvarbeta + \renewcommand*{\varbeta}{\TextOrMath{\textbetasymbol}{\mathvarbeta}} % ϐ +\else + \providecommand*{\varbeta}{\textbetasymbol} +\fi +\providecommand*{\betasymbol}{\varbeta} +\ifdefined\mathvarkappa % ϰ + \renewcommand*{\varkappa}{\TextOrMath{\textkappasymbol}{\mathvarkappa}} +\else + \providecommand*{\varkappa}{\textkappasymbol} +\fi +\providecommand*{\kappasymbol}{\varkappa} +% \Theta/\varTheta are not a symbol variants but upright/italic shape of Theta +\providecommand*{\Thetasymbol}{\textThetasymbol} % ϴ + % TextCompositeCommands for the generic macros % -------------------------------------------- @@ -245,50 +323,56 @@ % Check with ``\ifdefined`` for the definition of % ``\DeclareUnicodeCharacter``. In contrast to ``\@ifdefined``, this works % without side-effects. It makes the package dependent on the `e-TeX`_ -% extensions but theses are standard in all current TeX distributions anyway. +% extensions but these are standard in all current TeX distributions anyway. % % Map Greek characters that are also defined in math mode to the generic % macros:: \ifdefined\DeclareUnicodeCharacter - \DeclareUnicodeCharacter{0393}{\Gamma} % Γ - \DeclareUnicodeCharacter{0394}{\Delta} % Δ - \DeclareUnicodeCharacter{0398}{\Theta} % Θ - \DeclareUnicodeCharacter{039B}{\Lambda} % Λ - \DeclareUnicodeCharacter{039E}{\Xi} % Ξ - \DeclareUnicodeCharacter{03A0}{\Pi} % Π - \DeclareUnicodeCharacter{03A3}{\Sigma} % Σ - \DeclareUnicodeCharacter{03A5}{\Upsilon} % Υ - \DeclareUnicodeCharacter{03A6}{\Phi} % Φ - \DeclareUnicodeCharacter{03A8}{\Psi} % Ψ - \DeclareUnicodeCharacter{03A9}{\Omega} % Ω + \DeclareUnicodeCharacter{0393}{\Gamma} % Γ + \DeclareUnicodeCharacter{0394}{\Delta} % Δ + \DeclareUnicodeCharacter{0398}{\Theta} % Θ + \DeclareUnicodeCharacter{039B}{\Lambda} % Λ + \DeclareUnicodeCharacter{039E}{\Xi} % Ξ + \DeclareUnicodeCharacter{03A0}{\Pi} % Π + \DeclareUnicodeCharacter{03A3}{\Sigma} % Σ + \DeclareUnicodeCharacter{03A5}{\Upsilon} % Υ + \DeclareUnicodeCharacter{03A6}{\Phi} % Φ + \DeclareUnicodeCharacter{03A8}{\Psi} % Ψ + \DeclareUnicodeCharacter{03A9}{\Omega} % Ω + + \DeclareUnicodeCharacter{03B1}{\alpha} % α + \DeclareUnicodeCharacter{03B2}{\beta} % β + \DeclareUnicodeCharacter{03B3}{\gamma} % γ + \DeclareUnicodeCharacter{03B4}{\delta} % δ + \DeclareUnicodeCharacter{03B5}{\varepsilon} % ε textepsilon/varepsilon + \DeclareUnicodeCharacter{03B6}{\zeta} % ζ + \DeclareUnicodeCharacter{03B7}{\eta} % η + \DeclareUnicodeCharacter{03B8}{\theta} % θ + \DeclareUnicodeCharacter{03B9}{\iota} % ι + \DeclareUnicodeCharacter{03BA}{\kappa} % κ + \DeclareUnicodeCharacter{03BB}{\lambda} % λ + \DeclareUnicodeCharacter{03BC}{\mu} % μ + \DeclareUnicodeCharacter{03BD}{\nu} % ν + \DeclareUnicodeCharacter{03BE}{\xi} % ξ + \DeclareUnicodeCharacter{03C0}{\pi} % π + \DeclareUnicodeCharacter{03C1}{\rho} % ρ + \DeclareUnicodeCharacter{03C2}{\varsigma} % ς + \DeclareUnicodeCharacter{03C3}{\sigma} % σ + \DeclareUnicodeCharacter{03C4}{\tau} % τ + \DeclareUnicodeCharacter{03C5}{\upsilon} % υ + \DeclareUnicodeCharacter{03C6}{\varphi} % φ textphi/varphi + \DeclareUnicodeCharacter{03C7}{\chi} % χ + \DeclareUnicodeCharacter{03C8}{\psi} % ψ + \DeclareUnicodeCharacter{03C9}{\omega} % ω - \DeclareUnicodeCharacter{03B1}{\alpha} % α - \DeclareUnicodeCharacter{03B2}{\beta} % β - \DeclareUnicodeCharacter{03B3}{\gamma} % γ - \DeclareUnicodeCharacter{03B4}{\delta} % δ - \DeclareUnicodeCharacter{03B5}{\epsilon} % ε - \DeclareUnicodeCharacter{03B6}{\zeta} % ζ - \DeclareUnicodeCharacter{03B7}{\eta} % η - \DeclareUnicodeCharacter{03B8}{\theta} % θ - \DeclareUnicodeCharacter{03B9}{\iota} % ι - \DeclareUnicodeCharacter{03BA}{\kappa} % κ - \DeclareUnicodeCharacter{03BB}{\lambda} % λ - \DeclareUnicodeCharacter{03BC}{\mu} % μ - \DeclareUnicodeCharacter{03BD}{\nu} % ν - \DeclareUnicodeCharacter{03BE}{\xi} % ξ - \DeclareUnicodeCharacter{03C0}{\pi} % π - \DeclareUnicodeCharacter{03C1}{\rho} % ρ - \DeclareUnicodeCharacter{03C2}{\varsigma} % ς - \DeclareUnicodeCharacter{03C3}{\sigma} % σ - \DeclareUnicodeCharacter{03C4}{\tau} % τ - \DeclareUnicodeCharacter{03C5}{\upsilon} % υ - \DeclareUnicodeCharacter{03C6}{\phi} % φ - \DeclareUnicodeCharacter{03C7}{\chi} % χ - \DeclareUnicodeCharacter{03C8}{\psi} % ψ - \DeclareUnicodeCharacter{03C9}{\omega} % ω + \DeclareUnicodeCharacter{03D1}{\thetasymbol} % ϑ + \DeclareUnicodeCharacter{03D5}{\phisymbol} % ϕ $\phi$ + \DeclareUnicodeCharacter{03D6}{\pisymbol} % ϖ + \DeclareUnicodeCharacter{03DD}{\digamma} % ϝ + \DeclareUnicodeCharacter{03F1}{\rhosymbol} % ϱ + \DeclareUnicodeCharacter{03F5}{\epsilonsymbol} % ϵ $\epsilon$ - \DeclareUnicodeCharacter{03DD}{\digamma} % ϝ \fi % :: diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/greek-euenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/greek-euenc.def index b03bb7ff4bb..2e76e1f31cc 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/greek-euenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/greek-euenc.def @@ -11,13 +11,13 @@ % :: \ProvidesFile{greek-euenc.def} -[2014/12/12 0.12 Greek LICRs for XeTeX and LuaTeX] +[2015/08/07 0.13 Greek LICRs for XeTeX and LuaTeX] % :abstract: % Experimental support for Greek LICR macros with XeTeX and LuaTeX. % Extends euenc_. Used by babel-greek_ and textalpha_. % -% History: +% **History**: % .. class:: borderless % % ====== ========== ======================================================== @@ -32,8 +32,12 @@ % 0.11.2 2014-09-08 ``\textKoppa`` macro % .. (Capital Koppa is not defined in LGR but Unicode). % 0.12 2014-12-12 Remove symbol macros for breathing accents. +% 0.13 2015-08-07 ``\lccode``/``\uccode`` corrections from xgreek_. +% .. LICR macros for symbol variants. % ====== ========== ======================================================== % +% .. contents:: +% % Motivation % ========== % @@ -72,7 +76,11 @@ \DeclareTextCommand{\acctonos}{\LastDeclaredEncoding}{\@tabacckludge'} \DeclareTextCommand{\accvaria}{\LastDeclaredEncoding}{\@tabacckludge`} \DeclareTextCommand{\accdialytika}{\LastDeclaredEncoding}{\@tabacckludge"} -\DeclareTextCommand{\accperispomeni}{\LastDeclaredEncoding}{\@tabacckludge~} + +% The combining perispomeni character is normalized with Greek base letters, +% while the (standard) combining tilde is not:: + +\DeclareTextCommand{\accperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 } % Breathings: % @@ -81,8 +89,6 @@ \DeclareTextCommand{\accpsili}{\LastDeclaredEncoding}[1]{#1\char"0313 } % ψιλή spiritus lenis (smooth breathing) \DeclareTextCommand{\accdasia}{\LastDeclaredEncoding}[1]{#1\char"0314 } % δασεῖα spiritus asper (rough breathing) -% \DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili} -% \DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia} % Sub-iota: @@ -144,7 +150,7 @@ % 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL % 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL % 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL -\DeclareTextCommand{\texterotimatiko}{\LastDeclaredEncoding}{;} % \textquestion +\DeclareTextCommand{\texterotimatiko}{\LastDeclaredEncoding}{;} % 037E GREEK QUESTION MARK \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textcompwordmark}{΄} \DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textcompwordmark}{΅} @@ -196,6 +202,7 @@ \DeclareTextCommand{\textgamma}{\LastDeclaredEncoding}{γ} \DeclareTextCommand{\textdelta}{\LastDeclaredEncoding}{δ} \DeclareTextCommand{\textepsilon}{\LastDeclaredEncoding}{ε} +\DeclareTextCommand{\textvarepsilon}{\LastDeclaredEncoding}{ε} % cf. $\varepsiolon$ \DeclareTextCommand{\textzeta}{\LastDeclaredEncoding}{ζ} \DeclareTextCommand{\texteta}{\LastDeclaredEncoding}{η} \DeclareTextCommand{\texttheta}{\LastDeclaredEncoding}{θ} @@ -216,6 +223,7 @@ \DeclareTextCommand{\texttau}{\LastDeclaredEncoding}{τ} \DeclareTextCommand{\textupsilon}{\LastDeclaredEncoding}{υ} \DeclareTextCommand{\textphi}{\LastDeclaredEncoding}{φ} +\DeclareTextCommand{\textvarphi}{\LastDeclaredEncoding}{φ} % cf. $\varphi$ \DeclareTextCommand{\textchi}{\LastDeclaredEncoding}{χ} \DeclareTextCommand{\textpsi}{\LastDeclaredEncoding}{ψ} \DeclareTextCommand{\textomega}{\LastDeclaredEncoding}{ω} @@ -237,6 +245,24 @@ \DeclareTextCommand{\textSampi}{\LastDeclaredEncoding}{Ϡ} \DeclareTextCommand{\textsampi}{\LastDeclaredEncoding}{ϡ} +% Symbol variants +\DeclareTextCommand{\textbetasymbol}{\LastDeclaredEncoding}{ϐ} +\DeclareTextCommand{\textkappasymbol}{\LastDeclaredEncoding}{ϰ} +\DeclareTextCommand{\textThetasymbol}{\LastDeclaredEncoding}{ϴ} +\DeclareTextCommand{\textthetasymbol}{\LastDeclaredEncoding}{ϑ} +\DeclareTextCommand{\textphisymbol}{\LastDeclaredEncoding}{ϕ} +\DeclareTextCommand{\textpisymbol}{\LastDeclaredEncoding}{ϖ} +\DeclareTextCommand{\textrhosymbol}{\LastDeclaredEncoding}{ϱ} +\DeclareTextCommand{\textepsilonsymbol}{\LastDeclaredEncoding}{ϵ} +% math compatibility aliases +% $\varphi$ and $\varepsilon$ refer to the letter characters (see above)! +\DeclareTextCommand{\textvarbeta}{\LastDeclaredEncoding}{\textbetasymbol} +\DeclareTextCommand{\textvarkappa}{\LastDeclaredEncoding}{ϰ} +\DeclareTextCommand{\textvarTheta}{\LastDeclaredEncoding}{ϴ} +\DeclareTextCommand{\textvartheta}{\LastDeclaredEncoding}{ϑ} +\DeclareTextCommand{\textvarpi}{\LastDeclaredEncoding}{ϖ} +\DeclareTextCommand{\textvarrho}{\LastDeclaredEncoding}{ϱ} + % Greek Extended % ~~~~~~~~~~~~~~ % @@ -361,86 +387,35 @@ \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textupsilon}{ὺ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega}{ὼ} -%% postfix ypogegrammeni cannot be second part of composite defs. -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾀ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾁ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾂ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾃ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾄ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾅ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾆ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾇ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾈ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾉ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾊ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾋ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾌ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾍ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾎ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾏ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾐ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾑ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾒ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾓ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾔ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾕ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾖ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾗ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾘ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾙ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾚ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾛ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾜ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾝ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾞ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾟ} -% -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾠ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾡ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾢ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾣ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾤ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾥ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾦ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾧ} -% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾨ} -% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾩ} -% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾪ} -% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾫ} -% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾬ} -% \DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾭ} -% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾮ} -% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾯ} - \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textalpha}{ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textalpha}{ᾱ} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾲ} -% \DeclareTextCompositeCommand{\textalpha}{\LastDeclaredEncoding}{\ypogegrammeni}{ᾳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾴ} +% ᾲ +% ᾳ +% ᾴ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textalpha}{ᾶ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{α}{ᾶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha}{ᾶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾷ} +% ᾷ \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textAlpha}{Ᾰ} \DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textAlpha}{Ᾱ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textAlpha}{Ὰ} -% \DeclareTextCompositeCommand{\textAlpha}{\LastDeclaredEncoding}{\prosgegrammeni}{ᾼ} +% ᾼ \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾽} \DeclareTextCommand{\prosgegrammeni}{\LastDeclaredEncoding}{ι} \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾿} -\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textcompwordmark}{῀} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῀} \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῁} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῂ} -% \DeclareTextCompositeCommand{\texteta}{\LastDeclaredEncoding}{\ypogegrammeni}{ῃ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῄ} +% ῂ +% ῃ +% ῄ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\texteta}{ῆ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{η}{ῆ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta}{ῆ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῇ} +% ῇ \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEpsilon}{Ὲ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEta}{Ὴ} -% \DeclareTextCompositeCommand{\textEta}{\LastDeclaredEncoding}{\prosgegrammeni}{ῌ} +% ῌ \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textcompwordmark}{῍} \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textcompwordmark}{῎} \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῏} @@ -450,6 +425,7 @@ \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textiota}{ῒ} \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textiota}{ΐ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textiota}{ῖ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{ι}{ῖ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textiota}{ῖ} \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textiota}{ῗ} \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textIota}{Ῐ} @@ -466,6 +442,7 @@ \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textrho}{ῤ} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textrho}{ῥ} \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textupsilon}{ῦ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{υ}{ῦ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῦ} \DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῧ} \DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textUpsilon}{Ῠ} @@ -475,15 +452,16 @@ \DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textcompwordmark}{῭} \DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textcompwordmark}{΅} -% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῲ} -% \DeclareTextCompositeCommand{\textomega}{\LastDeclaredEncoding}{\ypogegrammeni}{ῳ} -% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῴ} +% ῲ +% ῳ +% ῴ \DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textomega}{ῶ} +\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{ω}{ῶ} \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega}{ῶ} -% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῷ} +% ῷ \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmicron}{Ὸ} \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmega}{Ὼ} -% \DeclareTextCompositeCommand{\textOmega}{\LastDeclaredEncoding}{\prosgegrammeni}{ῼ} +% ῼ \DeclareTextCompositeCommand{\accoxia}{\LastDeclaredEncoding}{\textcompwordmark}{´} \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textcompwordmark}{῾} @@ -512,11 +490,356 @@ % UPPERCASE % ========= % +% Greek letters drop diacritics (eccept dialytika and sub-iota) in UPPERCASE. +% +% uc/lc values +% ~~~~~~~~~~~~ +% +% ``\lccode`` and ``\uccode`` corrections from the xgreek_ package by Apostolos Syropoulos:: + +\global\lccode"0370="0371 \global\uccode"0370="0370 +\global\lccode"0371="0371 \global\uccode"0371="0370 +\global\lccode"0372="0373 \global\uccode"0372="0372 +\global\lccode"0373="0373 \global\uccode"0373="0372 +\global\lccode"0376="0377 \global\uccode"0376="0376 +\global\lccode"0377="0377 \global\uccode"0377="0376 +\global\lccode"03FD="037B \global\uccode"03FD="03FD +\global\lccode"037B="037B \global\uccode"037B="03FD +\global\lccode"03FE="037C \global\uccode"03FE="03FE +\global\lccode"037C="037C \global\uccode"037C="03FE +\global\lccode"03FF="037D \global\uccode"03FF="03FF +\global\lccode"037D="037D \global\uccode"037D="03FF +\global\lccode"0386="03AC \global\uccode"0386="0391 +\global\lccode"0388="03AD \global\uccode"0388="0395 +\global\lccode"0389="03AC \global\uccode"0389="0397 +\global\lccode"038A="03AF \global\uccode"038A="0399 +\global\lccode"038C="03CC \global\uccode"038C="039F +\global\lccode"038E="03CD \global\uccode"038E="03A5 +\global\lccode"038F="03CE \global\uccode"038F="03A9 +\global\lccode"0390="0390 \global\uccode"0390="03AA +\global\lccode"0391="03B1 \global\uccode"0391="0391 +\global\lccode"0392="03B2 \global\uccode"0392="0392 +\global\lccode"0393="03B3 \global\uccode"0393="0393 +\global\lccode"0394="03B4 \global\uccode"0394="0394 +\global\lccode"0395="03B5 \global\uccode"0395="0395 +\global\lccode"0396="03B6 \global\uccode"0396="0396 +\global\lccode"0397="03B7 \global\uccode"0397="0397 +\global\lccode"0398="03B8 \global\uccode"0398="0398 +\global\lccode"0399="03B9 \global\uccode"0399="0399 +\global\lccode"039A="03BA \global\uccode"039A="039A +\global\lccode"039B="03BB \global\uccode"039B="039B +\global\lccode"039C="03BC \global\uccode"039C="039C +\global\lccode"039D="03BD \global\uccode"039D="039D +\global\lccode"039E="03BE \global\uccode"039E="039E +\global\lccode"039F="03BF \global\uccode"039F="039F +\global\lccode"03A0="03C0 \global\uccode"03A0="03A0 +\global\lccode"03A1="03C1 \global\uccode"03A1="03A1 +\global\lccode"03A3="03C3 \global\uccode"03A3="03A3 +\global\lccode"03A4="03C4 \global\uccode"03A4="03A4 +\global\lccode"03A5="03C5 \global\uccode"03A5="03A5 +\global\lccode"03A6="03C6 \global\uccode"03A6="03A6 +\global\lccode"03A7="03C7 \global\uccode"03A7="03A7 +\global\lccode"03A8="03C8 \global\uccode"03A8="03A8 +\global\lccode"03A9="03C9 \global\uccode"03A9="03A9 +\global\lccode"03AA="03CA \global\uccode"03AA="03AA +\global\lccode"03AB="03CB \global\uccode"03AB="03AB +\global\lccode"03AC="03AC \global\uccode"03AC="0391 +\global\lccode"03AD="03AD \global\uccode"03AD="0395 +\global\lccode"03AE="03AE \global\uccode"03AE="0397 +\global\lccode"03AF="03AF \global\uccode"03AF="0399 +\global\lccode"03B0="03B0 \global\uccode"03B0="03AB +\global\lccode"03B1="03B1 \global\uccode"03B1="0391 +\global\lccode"03B2="03B2 \global\uccode"03B2="0392 +\global\lccode"03B3="03B3 \global\uccode"03B3="0393 +\global\lccode"03B4="03B4 \global\uccode"03B4="0394 +\global\lccode"03B5="03B5 \global\uccode"03B5="0395 +\global\lccode"03B6="03B6 \global\uccode"03B6="0396 +\global\lccode"03B7="03B7 \global\uccode"03B7="0397 +\global\lccode"03B8="03B8 \global\uccode"03B8="0398 +\global\lccode"03B9="03B9 \global\uccode"03B9="0399 +\global\lccode"03BA="03BA \global\uccode"03BA="039A +\global\lccode"03BB="03BB \global\uccode"03BB="039B +\global\lccode"03BC="03BC \global\uccode"03BC="039C +\global\lccode"03BD="03BD \global\uccode"03BD="039D +\global\lccode"03BE="03BE \global\uccode"03BE="039E +\global\lccode"03BF="03BF \global\uccode"03BF="039F +\global\lccode"03C0="03C0 \global\uccode"03C0="03A0 +\global\lccode"03C1="03C1 \global\uccode"03C1="03A1 +\global\lccode"03C2="03C2 \global\uccode"03C2="03A3 +\global\lccode"03C3="03C3 \global\uccode"03C3="03A3 +\global\lccode"03C4="03C4 \global\uccode"03C4="03A4 +\global\lccode"03C5="03C5 \global\uccode"03C5="03A5 +\global\lccode"03C6="03C6 \global\uccode"03C6="03A6 +\global\lccode"03C7="03C7 \global\uccode"03C7="03A7 +\global\lccode"03C8="03C8 \global\uccode"03C8="03A8 +\global\lccode"03C9="03C9 \global\uccode"03C9="03A9 +\global\lccode"03CA="03CA \global\uccode"03CA="03AA +\global\lccode"03CB="03CB \global\uccode"03CB="03AB +\global\lccode"03CC="03CC \global\uccode"03CC="039F +\global\lccode"03CD="03CD \global\uccode"03CD="03A5 +\global\lccode"03CE="03CE \global\uccode"03CE="03A9 +\global\lccode"03D0="03D0 \global\uccode"03D0="0392 +\global\lccode"03D1="03D1 \global\uccode"03D1="0398 +\global\lccode"03D2="03C5 \global\uccode"03D2="03A5 +\global\lccode"03D3="03CD \global\uccode"03D3="03A5 +\global\lccode"03D4="03CB \global\uccode"03D4="03AB +\global\lccode"03D5="03C6 \global\uccode"03D5="03A6 +\global\lccode"03D6="03C0 \global\uccode"03D6="03A0 +\global\lccode"03DA="03DB \global\uccode"03DA="03DA +\global\lccode"03DB="03DB \global\uccode"03DB="03DA +\global\lccode"03DC="03DD \global\uccode"03DC="03DC +\global\lccode"03DD="03DD \global\uccode"03DD="03DC +\global\lccode"03DE="03DF \global\uccode"03DE="03DE +\global\lccode"03DF="03DF \global\uccode"03DF="03DE +\global\lccode"03E0="03E1 \global\uccode"03E0="03E0 +\global\lccode"03E1="03E1 \global\uccode"03E1="03E0 +\global\lccode"03F0="03BA \global\uccode"03F0="039A +\global\lccode"03F1="03C1 \global\uccode"03F1="03A1 +\global\lccode"03F2="03F2 \global\uccode"03F2="03F9 +\global\lccode"03F9="03F2 \global\uccode"03F9="03F9 +\global\lccode"1F00="1F00 \global\uccode"1F00="0391 +\global\lccode"1F01="1F01 \global\uccode"1F01="0391 +\global\lccode"1F02="1F02 \global\uccode"1F02="0391 +\global\lccode"1F03="1F03 \global\uccode"1F03="0391 +\global\lccode"1F04="1F04 \global\uccode"1F04="0391 +\global\lccode"1F05="1F05 \global\uccode"1F05="0391 +\global\lccode"1F06="1F06 \global\uccode"1F06="0391 +\global\lccode"1F07="1F07 \global\uccode"1F07="0391 +\global\lccode"1F08="1F00 \global\uccode"1F08="0391 +\global\lccode"1F09="1F01 \global\uccode"1F09="0391 +\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391 +\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391 +\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391 +\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391 +\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391 +\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391 +\global\lccode"1F10="1F10 \global\uccode"1F10="0395 +\global\lccode"1F11="1F11 \global\uccode"1F11="0395 +\global\lccode"1F12="1F12 \global\uccode"1F12="0395 +\global\lccode"1F13="1F13 \global\uccode"1F13="0395 +\global\lccode"1F14="1F14 \global\uccode"1F14="0395 +\global\lccode"1F15="1F15 \global\uccode"1F15="0395 +\global\lccode"1F18="1F10 \global\uccode"1F18="0395 +\global\lccode"1F19="1F11 \global\uccode"1F19="0395 +\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395 +\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395 +\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395 +\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395 +\global\lccode"1F20="1F20 \global\uccode"1F20="0397 +\global\lccode"1F21="1F21 \global\uccode"1F21="0397 +\global\lccode"1F22="1F22 \global\uccode"1F22="0397 +\global\lccode"1F23="1F23 \global\uccode"1F23="0397 +\global\lccode"1F24="1F24 \global\uccode"1F24="0397 +\global\lccode"1F25="1F25 \global\uccode"1F25="0397 +\global\lccode"1F26="1F26 \global\uccode"1F26="0397 +\global\lccode"1F27="1F27 \global\uccode"1F27="0397 +\global\lccode"1F28="1F20 \global\uccode"1F28="0397 +\global\lccode"1F29="1F21 \global\uccode"1F29="0397 +\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397 +\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397 +\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397 +\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397 +\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397 +\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397 +\global\lccode"1F30="1F30 \global\uccode"1F30="0399 +\global\lccode"1F31="1F31 \global\uccode"1F31="0399 +\global\lccode"1F32="1F32 \global\uccode"1F32="0399 +\global\lccode"1F33="1F33 \global\uccode"1F33="0399 +\global\lccode"1F34="1F34 \global\uccode"1F34="0399 +\global\lccode"1F35="1F35 \global\uccode"1F35="0399 +\global\lccode"1F36="1F36 \global\uccode"1F36="0399 +\global\lccode"1F37="1F37 \global\uccode"1F37="0399 +\global\lccode"1F38="1F30 \global\uccode"1F38="0399 +\global\lccode"1F39="1F31 \global\uccode"1F39="0399 +\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399 +\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399 +\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399 +\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399 +\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399 +\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399 +\global\lccode"1F40="1F40 \global\uccode"1F40="039F +\global\lccode"1F41="1F41 \global\uccode"1F41="039F +\global\lccode"1F42="1F42 \global\uccode"1F42="039F +\global\lccode"1F43="1F43 \global\uccode"1F43="039F +\global\lccode"1F44="1F44 \global\uccode"1F44="039F +\global\lccode"1F45="1F45 \global\uccode"1F45="039F +\global\lccode"1F48="1F40 \global\uccode"1F48="039F +\global\lccode"1F49="1F41 \global\uccode"1F49="039F +\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F +\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F +\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F +\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F +\global\lccode"1F50="1F50 \global\uccode"1F50="03A5 +\global\lccode"1F51="1F51 \global\uccode"1F51="03A5 +\global\lccode"1F52="1F52 \global\uccode"1F52="03A5 +\global\lccode"1F53="1F53 \global\uccode"1F53="03A5 +\global\lccode"1F54="1F54 \global\uccode"1F54="03A5 +\global\lccode"1F55="1F55 \global\uccode"1F55="03A5 +\global\lccode"1F56="1F56 \global\uccode"1F56="03A5 +\global\lccode"1F57="1F57 \global\uccode"1F57="03A5 +\global\lccode"1F59="1F51 \global\uccode"1F59="03A5 +\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5 +\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5 +\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5 +\global\lccode"1F60="1F60 \global\uccode"1F60="03A9 +\global\lccode"1F61="1F61 \global\uccode"1F61="03A9 +\global\lccode"1F62="1F62 \global\uccode"1F62="03A9 +\global\lccode"1F63="1F63 \global\uccode"1F63="03A9 +\global\lccode"1F64="1F64 \global\uccode"1F64="03A9 +\global\lccode"1F65="1F65 \global\uccode"1F65="03A9 +\global\lccode"1F66="1F66 \global\uccode"1F66="03A9 +\global\lccode"1F67="1F67 \global\uccode"1F67="03A9 +\global\lccode"1F68="1F60 \global\uccode"1F68="03A9 +\global\lccode"1F69="1F61 \global\uccode"1F69="03A9 +\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9 +\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9 +\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9 +\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9 +\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9 +\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9 +\global\lccode"1F70="1F70 \global\uccode"1F70="0391 +\global\lccode"1F71="1F71 \global\uccode"1F71="0391 +\global\lccode"1F72="1F72 \global\uccode"1F72="0395 +\global\lccode"1F73="1F73 \global\uccode"1F73="0395 +\global\lccode"1F74="1F74 \global\uccode"1F74="0397 +\global\lccode"1F75="1F75 \global\uccode"1F75="0397 +\global\lccode"1F76="1F76 \global\uccode"1F76="0399 +\global\lccode"1F77="1F77 \global\uccode"1F77="0399 +\global\lccode"1F78="1F78 \global\uccode"1F78="039F +\global\lccode"1F79="1F79 \global\uccode"1F79="039F +\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5 +\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5 +\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9 +\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9 +\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC +\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC +\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC +\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC +\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC +\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC +\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC +\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC +\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC +\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC +\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC +\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC +\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC +\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC +\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC +\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC +\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC +\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC +\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC +\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC +\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC +\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC +\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC +\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC +\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC +\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC +\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC +\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC +\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC +\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC +\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC +\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC +\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC +\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC +\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC +\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC +\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC +\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC +\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC +\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC +\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC +\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC +\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC +\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC +\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC +\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC +\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC +\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC +\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8 +\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9 +\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC +\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC +\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC +\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391 +\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC +\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8 +\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9 +\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391 +\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391 +\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC +\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD +\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC +\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC +\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC +\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397 +\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC +\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395 +\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395 +\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397 +\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397 +\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC +\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8 +\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9 +\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA +\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA +\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399 +\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA +\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8 +\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9 +\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399 +\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399 +\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8 +\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9 +\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB +\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB +\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1 +\global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1 +\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5 +\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB +\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8 +\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9 +\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5 +\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5 +\global\lccode"1FEC="1FE5 \global\uccode"1FEC="03A1 +\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC +\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC +\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC +\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9 +\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC +\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F +\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F +\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9 +\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9 +\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC + + +% uclclist +% ~~~~~~~~ +% % The common Greek font encoding definitions in greek-fontenc.def_ extend the -% `uclclist` with Greek LICR macros. Here, we add Unicode-specific "hiatus_" -% handling (copied from lgrenc.def_ and changed Latin transcription to Unicode -% literals):: +% `uclclist` with Greek LICR macros. Here, we add textkoppa/textKoppa and +% Unicode-specific "hiatus_" handling (copied from lgrenc.def_ and changed +% Latin transcription to Unicode literals). +% +% @uclclist extension (see also greek-fontenc.def_):: + +\providecommand*\greek@euenc@update@uclclist{% + \expandafter\def\expandafter\@uclclist\expandafter{% + \@uclclist + \textkoppa \textKoppa + }% + \let\greek@euenc@update@uclclist\relax +} + +% Expand the uclc list using the just defined macro:: + +\greek@euenc@update@uclclist +% Now the hiatus definition modifications:: \DeclareTextCommand{\LGR@A@hiatus}{\LastDeclaredEncoding}{% \LGR@ifnextchar{Ι}{\textAlpha\"}{% @@ -547,6 +870,7 @@ % .. _grnumalt: http://www.ctan.org/pkg/grnumalt % .. _inputenc: http://www.ctan.org/pkg/inputenc % .. _textalpha: textalpha.sty.html +% .. _xgreek: http://www.ctan.org/pkg/xgreek % .. _xunicode: http://www.ctan.org/pkg/xunicode % % .. _LaTeX2e font selection: diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def index c7128dc3684..14c4a449fdf 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/greek-fontenc.def @@ -12,7 +12,7 @@ % :: \ProvidesFile{greek-fontenc.def} -[2014/12/12 v0.12 Common Greek font encoding definitions] +[2015/08/04 v0.13 Common Greek font encoding definitions] % :Abstract: This file provides definitions that are shared between % font encodings providing Greek characters. @@ -25,6 +25,7 @@ % 0.9.1 2013-07-17 composite definitions starting with standard accent cmds % 0.11 2013-11-28 ``\greekscript`` TextCommand % 0.12 2014-12-12 Remove symbol macros for breathing accents. +% 0.13 2015/08/04 No @uclclist entry for ypogegrammeni/prosgegrammeni. % ===== ============ ======================================================== % % Usage @@ -78,7 +79,14 @@ \DeclareTextCommand{\textnumeralsigngreek}{\LastDeclaredEncoding}{\textdexiakeraia} \DeclareTextCommand{\textnumeralsignlowergreek}{\LastDeclaredEncoding}{\textaristerikeraia} -% Two Unicode names for one character:: +% Names from babel_ and teubner_ (do we want to define them here as alias?) +% +% .. code:: latex +% +% \DeclareTextCommand{\anwtonos}{\LastDeclaredEncoding}{\textdexiakeraia} % ʹ +% \DeclareTextCommand{\katwtonos}{\LastDeclaredEncoding}{\textaristerikeraia} % ͵ +% +% Two Unicode code points and names for one character:: \DeclareTextCommand{\accoxia}{\LastDeclaredEncoding}{\acctonos} \DeclareTextCommand{\acckoronis}{\LastDeclaredEncoding}{\accpsili} @@ -101,7 +109,7 @@ % \DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria} % \DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni} % -% TODO: do we also want alternative symbols for the breathings (cf. X compose +% Or use alternative symbols for the breathings (cf. X compose % table, LCI encoding)? % % .. code:: latex @@ -109,14 +117,6 @@ % \DeclareTextCommand{\(}{\LastDeclaredEncoding}{\accdasia} % \DeclareTextCommand{\)}{\LastDeclaredEncoding}{\accpsili} % -% Names from babel_ and teubner_ (do we want to define them here as alias?) -% -% .. code:: latex -% -% \DeclareTextCommand{\anwtonos}{\LastDeclaredEncoding}{\textdexiakeraia} % ʹ -% \DeclareTextCommand{\katwtonos}{\LastDeclaredEncoding}{\textaristerikeraia} % ͵ -% -% % Composite diacritics % ~~~~~~~~~~~~~~~~~~~~ % @@ -267,7 +267,7 @@ \accdialytikavaria\LGR@accDialytika \accdialytikaperispomeni\LGR@accDialytika \accperispomeni\LGR@accdropped - \ypogegrammeni\prosgegrammeni + % \ypogegrammeni\prosgegrammeni \textalpha \textAlpha \textbeta \textBeta \textgamma \textGamma diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def index 06cc8ad798d..c6f0f54134a 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def @@ -1,31 +1,31 @@ % lgrenc.def % *********** -% +% % LGR Greek font encoding definitions % =================================== -% +% % :Copyright: © 2010, 2014 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. @@ -51,24 +51,25 @@ % .. add composite command for Ῥ (Rho with Dasia). % 0.9 2013-07-16 move common definitions to ``greek-fontenc.def``, % .. add composite commands for single quotation marks. -% 0.11.2 unpublished remove duplicate code. +% 0.11.2 2014-09-04 remove duplicate code. +% 0.13 2015-08-04 Support for symbol variants. % ====== ============ ======================================================== -% +% % 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}`` -% -% +% +% % Implementation % -------------- -% +% % Read this file only once % ~~~~~~~~~~~~~~~~~~~~~~~~ % .. note:: The use of ``\@ifundefined`` has the side-effect that the tested @@ -76,7 +77,7 @@ % interfering with tests 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 @@ -92,7 +93,7 @@ % :: \ProvidesFile{lgrenc.def} -[2013/12/02 v0.11.2 LGR Greek font encoding definitions] +[2015/08/08 v0.13 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 @@ -100,17 +101,17 @@ % 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 LGR font encoding and base substitutions:: \DeclareFontEncoding{LGR}{}{} @@ -119,13 +120,13 @@ % 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 @@ -191,10 +192,10 @@ % Additional Greek symbols % """""""""""""""""""""""" -% +% % Ancient Greek Numbers (Athenian Numerals) % ''''''''''''''''''''''''''''''''''''''''' -% +% % Names from ucs_ (``ucsencs.def``) % (In ucs, five hundred is (wrongly?) named \textpentehkaton.) :: @@ -225,22 +226,61 @@ % Numeral signs % ''''''''''''' % See also http://en.wikipedia.org/wiki/Greek_numerals -% +% % Names from ucs_:: \DeclareTextSymbol{\textdexiakeraia}{LGR}{254} % ʹ (Dexia keraia) \DeclareTextSymbol{\textaristerikeraia}{LGR}{255} % ͵ (Aristeri keraia) +% variant symbols +% ''''''''''''''' +% +% Mathematical notation distinguishes variant shapes for pi, phi, rho, theta +% (small and capital), beta, and kappa (characters for the latter three +% symbols are not included in TeX’s math fonts). These variations have no +% syntactic meaning in Greek text and are not given code-points in the LGR +% encoding. Greek text fonts use the shape variants interchangeabely. +% +% However, as Unicode defines separate code points for the symbol variants, we +% provide fallback LICR macros with detailed error reporting:: + +\providecommand*{\LGR@TextSymbolUnavailable}[1]{% + \PackageError{greek-fontenc}{character \string#1 not available \MessageBreak + in 8-bit TeX} + {Use XeTeX/LuaTeX if you need to distinguish the symbol from the letter.\MessageBreak + The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak + character to the corresponding GREEK LETTER.\MessageBreak + Press to proceed (dropping the symbol from the document).} +} + +\providecommand*{\LGR@TextSymbolOnlyMath}[2]{% + \PackageError{greek-fontenc}{character \string#1 not available in text mode} + {Use #2 or XeTeX/LuaTeX if you need to distinguish\MessageBreak + the symbol from the letter.\MessageBreak + The package `textalpha' with `normalize-symbols' maps the GREEK SYMBOL\MessageBreak + character to the corresponding GREEK LETTER.\MessageBreak + Press to proceed (dropping the symbol from the document).} +} + +\ProvideTextCommand{\textbetasymbol} {LGR}{\LGR@TextSymbolUnavailable{ϐ beta symbol}} +\ProvideTextCommand{\textkappasymbol}{LGR}{\LGR@TextSymbolUnavailable{ϰ kappa symbol}} +\ProvideTextCommand{\textThetasymbol}{LGR}{\LGR@TextSymbolUnavailable{ϴ Theta symbol}} + +\ProvideTextCommand{\textthetasymbol} {LGR}{\LGR@TextSymbolOnlyMath{ϑ theta symbol}{$\vartheta$}} +\ProvideTextCommand{\textphisymbol} {LGR}{\LGR@TextSymbolOnlyMath{ϕ phi symbol}{$\phi$}} +\ProvideTextCommand{\textpisymbol} {LGR}{\LGR@TextSymbolOnlyMath{ϖ pi symbol}{$\varpi$}} +\ProvideTextCommand{\textrhosymbol} {LGR}{\LGR@TextSymbolOnlyMath{ϱ rho symbol}{$\varrho$}} +\ProvideTextCommand{\textepsilonsymbol}{LGR}{\LGR@TextSymbolOnlyMath{ϵ lunate epsilon symbol}{$\epsilon$}} % 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 @@ -274,103 +314,102 @@ % T3 also defines some greek letters as well as Latin characters with Greek % names: -% +% % According to the Unicode standard, the following IPA characters are identic % to the Greek letters: -% -% - 03B2 greek small letter beta -% - 03B8 greek small letter theta -% - 03BB greek small letter lamda -% - 03C7 greek small letter chi -% -% The following characters in the IPA block are not Greek letters: -% -% - 0251 LATIN SMALL LETTER ALPHA ≠ greek small letter alpha - 03B1 -% - 025B LATIN SMALL LETTER OPEN E = epsilon ≠ greek small letter epsilon - 03B5 -% - 0263 LATIN SMALL LETTER GAMMA ≠ greek small letter gamma - 03B3 -% - 0269 LATIN SMALL LETTER IOTA ≠ greek small letter iota - 03B9 -% - 0278 LATIN SMALL LETTER PHI ≠ greek small letter phi - 03C6 -% - 028A LATIN SMALL LETTER UPSILON ≠ greek small letter upsilon - 03C5 -% -% Unfortunately, `tipa` uses the macro names ``\textepsilon``, ``\textgamma``, -% ``\textiota``, ``\textphi``, and ``\textupsilon`` for the Latin characters. -% This is no problem with 8-bit fonts (set the font encoding to T3 vs. LGR to -% disambiguate), but leads to name clashes with Unicode fonts. xunicode_ uses -% the ``gr`` infix and alias names to disambiguate: -% +% +% - 03B2 greek small letter beta +% - 03B8 greek small letter theta +% - 03BB greek small letter lamda +% - 03C7 greek small letter chi +% +% The following characters in the IPA block refer to Greek letters: +% +% - 0251 LATIN SMALL LETTER ALPHA → greek small letter alpha - 03B1 +% - 025B LATIN SMALL LETTER OPEN E = epsilon → greek small letter epsilon - 03B5 +% - 0263 LATIN SMALL LETTER GAMMA → greek small letter gamma - 03B3 +% - 0269 LATIN SMALL LETTER IOTA → greek small letter iota - 03B9 +% - 0278 LATIN SMALL LETTER PHI → greek small letter phi - 03C6 +% - 028A LATIN SMALL LETTER UPSILON → greek small letter upsilon - 03C5 +% +% `tipa` uses the macro names ``\textepsilon``, ``\textgamma``, ``\textiota``, +% ``\textphi``, and ``\textupsilon`` for the Latin characters. This is no +% problem with 8-bit fonts (set the font encoding to T3 vs. LGR to +% disambiguate), but leads to ambiguity with Unicode fonts. xunicode_ uses the +% ``gr`` infix and alias names to disambiguate: +% % - 03B3 ``\textgrgamma`` % - 03B9 ``\textgriota`` % - 03C6 ``\textgrphi`` (see x0278 ) -% +% % but not for epsilon and upsilon (03C2 ``\textgrsigma`` is the final sigma). -% +% % It also assigns alias names to the Latin counterparts, however not on a % systematical basis: -% +% % - 0194 ``\textGammaafrican`` % - 0196 ``\textIotaafrican`` % - 0251 ``\textscripta`` % - 025B ``\texteopen`` % - 0263 ``\textbabygamma``, ``\textgammalatinsmall`` -% - 0269 ``\textiotalatin`` +% - 0269 ``\textiotalatin`` % - 028A ``\textscupsilon`` % TIPA-U -% -% -% +% +% +% % 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``. 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?` % in the README_) 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) @@ -388,7 +427,7 @@ \DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota % __ http://en.wikipedia.org/wiki/Hypogegrammeni -% +% % Composite diacritics:: % Teubner name @@ -410,12 +449,12 @@ \DeclareTextAccent{\accinvertedbrevebelow}{LGR}{1} % INVERTED BREVE BELOW \DeclareTextAccent{\textsubarch}{LGR}{1} % (tipa) \DeclareTextAccent{\accbrevebelow}{LGR}{20} % BREVE BELOW -\DeclareTextAccent{\u}{LGR}{30} % BREVE +\DeclareTextAccent{\u}{LGR}{30} % BREVE (Greek vrachy) \DeclareTextAccent{\=}{LGR}{31} % MACRON % Aliases % """"""" -% +% % The standard _`symbol macros` are exclusively used for Greek diacritics % in LGR:: @@ -426,7 +465,7 @@ % Common Greek font encoding definitions % ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -% +% % The file greek-fontenc.def contains font encoding definitions that are % shared by font encodings providing Greek characters:: @@ -435,24 +474,24 @@ % 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``. -% +% % The actual declarations are part of the `common Greek font encoding % definitions`_. -% -% +% +% % Pre-composed letters % """""""""""""""""""" % Small letters with diacritics % ''''''''''''''''''''''''''''' -% +% % (from teubner_ with changed names of the composite accents):: \DeclareTextComposite{\accvaria}{LGR}{a}{128} @@ -624,15 +663,15 @@ % 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}{`_ and ``_ % (8-bit TeX and XeTeX/LuaTeX in 8-bit compatibility mode) as well as % ``_ and ``_ (XeTeX/LuaTeX with % Unicode fonts). -% -% +% +% With XeTeX or LuaTex, Unicode fonts and LGR encoded 8-bit fonts can be used +% in the same document (see greek-euenc-doc.tex_). +% +% % Implementation % ============== -% -% Requirements -% ------------ -% +% +% Options +% ------- +% +% normalize-symbols +% """"""""""""""""" +% +% The "variant shape" symbol characters like ``03D1 GREEK THETA SYMBOL`` are +% mathematical charcters for mathematical use +% (similar to ``1D440 MATHEMATICAL ITALIC CAPITAL M``). +% Unfortunately, some Greek texts sources in Unicode encoding mix letter and +% symbol characters . +% +% The "normalize-symbols" option controls the handling of `variant shape +% symbols`_ under 8-bit TeX: +% +% * The option activates a simple "folding" mechanism that merges ϰ and κ to +% \textkappa etc. for text copied from external sources which may use the +% GREEK SYMBOL characters in place of GREEK LETTERS, +% +% * Without this option, variant shape symbols in the input are reported as +% errors to prevent information loss in cases where the distinction between +% ϰ and κ is intended (e.g. in mathematical or scientific context). +% +% With XeTeX/LuaTeX and Unicode fonts, this option is ignored. +% :: + +\newif\iftextalpha@normalizeSymbols +\DeclareOption{normalize-symbols}{\textalpha@normalizeSymbolstrue} + +% keep-semicolon +% """""""""""""" +% +% The erotimatiko_ looks like a semicolon but is a +% **Greek question mark**: +% +% * The `LGR font encoding`_ uses the Latin question mark as input for the +% `erotimatiko` and maps the semicolon to a middle dot (`ano teleia`). +% * The Unicode standard provides the code point ``037E GREEK QUESTION MARK`` +% but says: "character ``003B SEMICOLON`` (and not 037E) is the preferred +% character for Greek question mark". +% +% The ``keep-semicolon`` option allows to use the `semicolon as erotimatiko`_ +% in both, Xe/LuaTeX and 8-bit TeX. (The `ano teleia` can be input as +% ``\textanoteleia`` or using character ``00B7 MIDDLE DOT``.) +% With XeTeX/LuaTeX and Unicode fonts, this option is ignored. +% :: + +\newif\iftextalpha@keepSemicolon +\DeclareOption{keep-semicolon}{\textalpha@keepSemicolontrue} + +\ProcessOptions\relax + +% .. _font encoding: +% +% Font encodings +% -------------- +% +% With 8-bit LaTeX, the `LGR font encoding`_ is used for Greek characters. If +% no Greek-supporting font encoding (EU1, EU2, or LGR) is declared, LGR is +% loaded and set up as default Greek font encoding by this package. +% % With XeTeX or LuaTeX, there is one common input and font encoding -- % Unicode. 8-bit TeX font encodings are only used in compatibility mode or for % fonts not available otherwise. For compatibility with the LaTeX font @@ -115,30 +199,19 @@ % define LICR macros. We therefore explicitely load Greek LICR definitions for % XeTeX/LuaTeX from `greek-euenc.def `_ which in turn % includes `greek-fontenc.def `_. -% -% With 8-bit LaTeX, the LGR font encoding is used for Greek characters. If no -% Greek-supporting font encoding (EU1, EU2, or LGR) is declared, LGR is loaded -% and set up as default Greek font encoding by this package. -% -% To give ``textalpha.sty`` a chance of finding out which font encodings are -% used, load it after fontspec_ and/or fontenc_. -% -% Font encodings -% """""""""""""" -% +% +% .. _LGR font encoding: README.html#lgr +% % Ensure a Greek-supporting font encoding exists and supports Greek LICR % macros: -% -% Load the Greek LICR definitions for Unicode if font encoding EU1 (XeTeX) or -% EU2 (LuaTeX) is detected. [#EU]_ In an ideal world, this would be done in -% the ``eu1enc.def`` (or ``eu2enc.def``) file of the euenc_ package. If none -% of EU1, EU2, and LGR is declared, load ``lgrenc.def``: -% -% Re-set the ``\LastDeclaredEncoding``: Because fontenc loads font -% encoding definition files only once, it may happen that another font -% encoding is defined afterwards --- for example fontspec_ leaves -% ``\LastDeclaredEncoding`` at ``T3`` (tipa), because it inputs the xunicode_ -% package which in turn loads ``t3enc.def``. :: +% +% * Load the Greek LICR definitions for Unicode if font encoding EU1 (XeTeX) +% or EU2 (LuaTeX) is detected. [#EU]_ (In an ideal world, this would be done +% in the ``eu1enc.def`` (or ``eu2enc.def``) file of the euenc_ package.) +% * Re-set ``\LastDeclaredEncoding`` (used in some included font-encoding files). +% * If none of EU1, EU2, or LGR is declared, load ``lgrenc.def``. +% +% :: \@ifl@aded{def}{eu1enc}{ \renewcommand{\LastDeclaredEncoding}{EU1} @@ -150,16 +223,13 @@ }{% else \@ifl@aded{def}{lgrenc}{ % LGR already declared and set up + \renewcommand{\LastDeclaredEncoding}{LGR} }{ \input{lgrenc.def} } } } -% .. [#EU] The two different (pseudo) font encodings allow different font setups for -% XeTeX vs. LuaTeX using differently named ``*.fd`` files (see euenc_ for -% details). -% % The package hyperref_ defines the PU font encoding which also supports % (monotonic) Greek. It currently misses polytonic greek and the % ``\greekscript`` and ``\ensuregreek`` TextCommands:: @@ -169,13 +239,18 @@ \ProvideTextCommand{\ensuregreek}{PU}[1]{#1}} {} +% .. [#EU] The two different (pseudo) font encodings allow different font +% setups for XeTeX vs. LuaTeX using differently named ``*.fd`` files (see +% euenc_ for details). +% +% % Symbol macros for breathings -% """""""""""""""""""""""""""" -% +% ---------------------------- +% % In the Latin transcription provided by LGR, breathing accents (Dasia and % Psili) are input as < and >. We provide the corresponding NFSS macro accents % (moved here from `greek-fontenc.def`_). -% +% % As Xe/LuaTeX may use LGR in combination with EU1 or EU2, we define the % macros for both, LGR and Unicode font encodings (if they are defined):: @@ -205,7 +280,7 @@ % Default declarations % -------------------- -% +% % The following definitions ensure that the Greek LICR macros can be used % anywhere in the document also with 8-bit TeX by declaring LGR as their % default font encoding. Abort here, if the LGR font encoding is not defined:: @@ -215,15 +290,16 @@ % else return: {\expandafter\endinput} + % greekscript, ensuregreek % """""""""""""""""""""""" -% +% % The ``\greekscript`` declaration ensures the current font encoding supports % the Greek script. ``greek-fontenc.def`` sets this to the empty declaration % for font encodings that do so. This is currently used by ``lgrenc.def`` % (LGR) and ``greek-euenc.def`` (Greek LICR macros for EU1 and EU2). -% -% +% +% % We define LGR as default encoding for Greek text. We use % ``\ProvideTextCommandDefault`` to enable the author or other packages to use % an alternative definition (see [fntguide_]):: @@ -236,26 +312,26 @@ \ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript #1}} % .. The [fntguide_] writes -% +% % Note that ``\DeclareTextAccentDefault`` can be used on any % one-argument encoding-specific command, not just those defined with % ``\DeclareTextAccent``. -% +% % However, the simpler alternative % ``\DeclareTextAccentDefault{\ensuregreek}{LGR}`` fails with the table of % Unicode characters in the test document ``__: -% +% % ``! You can't use a prefix with `end-group character }'.`` -% +% % Eventually, all font encodings supporting Greek script (e.g. LGI, PU, EU1, % EU2) will declare ``\ensuregreek`` as text command that passes the argument % unchanged. This way, kerning and selection of precomposed glyphs would work % also for cases like ``\ensuregreek{\'A}U``. -% -% +% +% % Greek Alphabet % """""""""""""" -% +% % Define the ``text*`` marcos as default for all font encodings:: \DeclareTextSymbolDefault{\textAlpha}{LGR} @@ -312,10 +388,10 @@ \DeclareTextSymbolDefault{\textomega}{LGR} % Additional Greek symbols -% '''''''''''''''''''''''' -% +% """""""""""""""""""""""" +% % Including alias names for compatibility with hyperref's puenc.def. -% +% % Ancient Greek Numbers (Athenian Numerals):: \DeclareTextSymbolDefault{\textpentedeka}{LGR} % GREEK ACROPHONIC ATTIC FIFTY @@ -350,9 +426,40 @@ \DeclareTextSymbolDefault{\textnumeralsigngreek}{LGR} % (puenc.def) \DeclareTextSymbolDefault{\textnumeralsignlowergreek}{LGR} % (puenc.def) +% variant shape symbols +% ''''''''''''''''''''' +% +% Mathematical notation uses variant shapes of some Greek letters as +% additional symbols. There are separate code points for the symbol variants +% in Unicode but not in the LGR font encoding used for Greek in 8-bit TeX. +% The variations have no syntactic meaning in Greek text. :: + +\DeclareTextSymbolDefault{\textbetasymbol}{LGR} % ϐ GREEK BETA SYMBOL +\DeclareTextSymbolDefault{\textthetasymbol}{LGR} % ϑ $\vartheta$ GREEK THETA SYMBOL +\DeclareTextSymbolDefault{\textphisymbol}{LGR} % ϕ $\phi$ GREEK PHI SYMBOL +\DeclareTextSymbolDefault{\textpisymbol}{LGR} % ϖ $\varpi$ GREEK PI SYMBOL +\DeclareTextSymbolDefault{\textkappasymbol}{LGR} % ϰ GREEK KAPPA SYMBOL +\DeclareTextSymbolDefault{\textrhosymbol}{LGR} % ϱ $\varrho$ GREEK RHO SYMBOL +\DeclareTextSymbolDefault{\textThetasymbol}{LGR} % ϴ GREEK CAPITAL THETA SYMBOL +\DeclareTextSymbolDefault{\textepsilonsymbol}{LGR} % ϵ $\epsilon$ GREEK LUNATE EPSILON SYMBOL + +% Define compatibility mappings if the normalize-symbols_ option is set:: + +\iftextalpha@normalizeSymbols + \DeclareTextCommand{\textbetasymbol} {LGR}{\textbeta} + \DeclareTextCommand{\textthetasymbol} {LGR}{\texttheta} + \DeclareTextCommand{\textphisymbol} {LGR}{\textphi} + \DeclareTextCommand{\textpisymbol} {LGR}{\textpi} + \DeclareTextCommand{\textkappasymbol} {LGR}{\textkappa} + \DeclareTextCommand{\textrhosymbol} {LGR}{\textrho} + \DeclareTextCommand{\textThetasymbol} {LGR}{\textTheta} + \DeclareTextCommand{\textepsilonsymbol}{LGR}{\textepsilon} +\fi + + % Diacritics % """""""""" -% +% % Greek diacritics via "named" macros:: \DeclareTextAccentDefault{\accdasia}{LGR} @@ -391,13 +498,34 @@ % Auxiliary macros % """""""""""""""" -% +% % ``\MakeUppercase`` requires three internal commands:: \DeclareTextAccentDefault{\LGR@accdropped}{LGR} \DeclareTextAccentDefault{\LGR@accDialytika}{LGR} \DeclareTextAccentDefault{\LGR@hiatus}{LGR} + +% semicolon as erotimatiko +% """""""""""""""""""""""" +% +% The text command ``\textsemicolon`` inserts ``\texterotimatiko`` +% in LGR font encoding and a "normal" semicolon else:: + +\ProvideTextCommandDefault{\textsemicolon}{;} +\ProvideTextCommand{\textsemicolon}{LGR}{\texterotimatiko} + +% The LGR font encoding maps ";" to a middle dot (ano teleia). With the +% keep-semicolon_ option, the semicolon is made an active character and calls +% ``\textsemicolon``:: + +\iftextalpha@keepSemicolon + \catcode`;=\active + \newcommand{;}{\textsemicolon} +\fi + + + % .. References % ---------- % .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt @@ -407,7 +535,7 @@ % .. _e-TeX: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=etex % .. _fontenc: http://www.ctan.org/pkg/fontenc % .. _fontspec: http://www.ctan.org/pkg/fontspec -% .. _fntguide: http://www.ctan.org/tex-archive/macros/latex/doc/fntguide.pdf +% .. _fntguide: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf % .. _greek-fontenc: http://www.ctan.org/pkg/greek-fontenc % .. _greek-inputenc: http://www.ctan.org/pkg/greek-inputenc % .. _hyperref: http://www.ctan.org/pkg/hyperref @@ -415,3 +543,5 @@ % .. _polyglossia: http://www.ctan.org/pkg/polyglossia % .. _textgreek: http://www.ctan.org/pkg/textgreek % .. _xunicode: http://www.ctan.org/pkg/xunicode +% +% .. _erotimatiko: https://en.wikipedia.org/wiki/Question_mark#Erotimatiko -- cgit v1.2.3