summaryrefslogtreecommitdiff
path: root/language/greek/greek-inputenc/lgrenc.dfu
diff options
context:
space:
mode:
Diffstat (limited to 'language/greek/greek-inputenc/lgrenc.dfu')
-rw-r--r--language/greek/greek-inputenc/lgrenc.dfu224
1 files changed, 116 insertions, 108 deletions
diff --git a/language/greek/greek-inputenc/lgrenc.dfu b/language/greek/greek-inputenc/lgrenc.dfu
index 386539dfd8..bea6333441 100644
--- a/language/greek/greek-inputenc/lgrenc.dfu
+++ b/language/greek/greek-inputenc/lgrenc.dfu
@@ -1,87 +1,42 @@
% lgrenc.dfu
% **********
-% Greek Unicode support with inputenc
-% ===================================
+% Greek UTF-8 support with inputenc
+% =================================
%
-% :Copyright: © 2010 Günter Milde
+% :Copyright: © 2010 … 2023 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.
-% :Identification:
-% ::
-
-\ProvidesFile{lgrenc.dfu}[2019/07/11 1.7 UTF-8 support for Greek]
-
-% Based on a `babel patch`_ by Werner Lemberg, with input from the ucs_
-% package (``ucsencs.def``) by Dominique Unruh and ``CB.enc`` by
-% Apostolos Syropoulos.
%
-% Changelog:
-% .. class:: borderless
+% Based on a `babel patch`_ by Werner Lemberg, with input from
+% the ucs_ package (``ucsencs.def``) by Dominique Unruh
+% and ``CB.enc`` by Apostolos Syropoulos.
+%
+% .. contents::
%
-% ===== =========== ===========================================================
-% 0.1 2010-06-16 initial version
-% 0.2 2012-06-27 support for accented Greek characters with textalpha_
-% 0.3 2013-05-03 new accent macro names with lgrxenc.def 0.7
-% 1.3 2013-05-24 moved to greek-inputenc.
-% 1.4 2013-07-16 bugfix for GREEK SMALL LETTER RHO WITH PSILI/DASIA,
-% .. drop "greek" from macro names for ancient characters,
-% .. ``\ypogegrammeni`` and ``\prosgegrammeni`` instead of ``|``
-% 1.4.1 2013-07-18 bugfix: wrong breathings psilioxia -> dasiaoxia
-% 1.5 2014-09-14 Use named accent macros for Greek accents
-% 1.6 2015-08-05 Fix output of accented characters with "textalpha" if the
-% current font encoding is not LGR (wrap in \ensuregreek),
-% .. Map GREEK ... SYMBOL characters.
-% 1.7 2019-07-11 Remove some duplicate definitions (punctuation, Euro).
-% ===== =========== ===========================================================
%
% Usage
% -----
%
-% Requires comprehensive LGR font encoding definitions from greek-fontenc_:
-%
-% .. code:: latex
-%
-% \usepackage[LGR,T1]{fontenc} % define LGR and T1 encodings
-% \usepackage[utf8]{inputenc} % standard UTF-8 input encoding
-%
-% By default, text containing Greek Unicode characters must be marked as
-% requiring a font encoding that supports Greek script, e.g. by setting the
-% language to ``greek`` or ``polutonikogreek``. This is a generic feature of
-% inputenc_'s `utf8` option (an equivalent restriction holds for the Cyrillic
-% script).
-%
-% With the textalpha_ or alphabeta_ packages of the greek-fontenc_ package,
-% Greek Unicode literals can be used without special markup also in non-Greek
-% documents:
-%
-% .. code:: latex
+% See the `greek-inputenc documentation`_
+% and `<greek-utf8.tex>`_ for an example.
%
-% \usepackage[utf8]{inputenc} % standard UTF-8 input encoding
-% \usepackage[T1]{fontenc} % use T1 font encoding as default
-% \usepackage{textalpha} % define LGR font encoding as Greek default
-%
-% With the ``normalize-symbols`` option to textalpha_ or alphabeta_,
-% GREEK ... SYMBOL characters are mapped to the corresponding letters
-% (requires greek-fontenc_ >= 0.13):
-%
-% .. code:: latex
-%
-% \usepackage[utf8]{inputenc}
-% \usepackage[T1]{fontenc}
-% \usepackage[normalize-symbols]{textalpha}
-%
-%
-% Character Declarations
-% ----------------------
+% Implementation
+% --------------
%
+% Identification::
+
+\ProvidesFile{lgrenc.dfu}[2023/02/21 1.8 UTF-8 support for Greek]
+
% Some characters exist in other font encodings too. Care has been taken
% to ensure the definitions match with other ``*.dfu`` and ``*enc.def``
% files.
%
-% Wrap definition in ``\ensuregreek`` if a Unicode character is mapped to two
-% characters (letter+sub-iota) or with non-Greek accents to make sure these
-% characters work in any font encoding if the textalpha_ package is used.
+% If a Unicode character is mapped to two macros (accent+letter or
+% letter+sub-iota), we wrap the definition in ``\ensuregreek`` to make sure
+% these characters work in any font encoding if the textalpha_ package is
+% used.
+%
%
% Latin-1 Supplement (T1)
% ~~~~~~~~~~~~~~~~~~~~~~~
@@ -108,7 +63,6 @@
% Greek and Coptic
% ~~~~~~~~~~~~~~~~
-%
% ::
% NR Unicode Name % babel name, PU name
@@ -116,11 +70,8 @@
% 0371 GREEK SMALL LETTER HETA % ͱ
% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ
% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % Ͳ
-% TODO: replace PU names by ucs names in next version:
-\DeclareUnicodeCharacter{0374}{\textnumeralsigngreek} % ʹ \anwtonos
-\DeclareUnicodeCharacter{0375}{\textnumeralsignlowergreek} % ͵ \katwtonos
-% \DeclareUnicodeCharacter{0374}{\textdexiakeraia} % ʹ \anwtonos, \textnumeralsigngreek
-% \DeclareUnicodeCharacter{0375}{\textaristerikeraia} % ͵ \katwtonos, \textnumeralsignlowergreek
+\DeclareUnicodeCharacter{0374}{\textdexiakeraia} % ʹ \anwtonos, \textnumeralsigngreek
+\DeclareUnicodeCharacter{0375}{\textaristerikeraia} % ͵ \katwtonos, \textnumeralsignlowergreek
% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ
% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ
@@ -218,7 +169,7 @@
\DeclareUnicodeCharacter{03DB}{\textstigma} % ϛ \stigma
\DeclareUnicodeCharacter{03DC}{\textDigamma} % Ϝ \Digamma
\DeclareUnicodeCharacter{03DD}{\textdigamma} % ϝ \ddigamma
-%03DE GREEK LETTER KOPPA % Ϟ \textKoppagreek
+\DeclareUnicodeCharacter{03DE}{\textKoppa} % Ϟ \textKoppagreek
\DeclareUnicodeCharacter{03DF}{\textkoppa} % ϟ \koppa, \textqoppa [sic!]
\DeclareUnicodeCharacter{03E0}{\textSampi} % Ϡ \Sampi
\DeclareUnicodeCharacter{03E1}{\textsampi} % ϡ \sampi
@@ -231,6 +182,20 @@
% Greek Extended
% ~~~~~~~~~~~~~~
+%
+% Different conventions exist for the treatment of the mute iota with
+% uppercase letters. The traditional typographic form and the most common
+% used in Greece is a subscript.
+%
+% Pre-composed capital letters with `mute iota`_ decompose to the base letter
+% and COMBINING GREEK YPOGEGRAMMENI (U+0345) even if they are named
+% ... WITH [... AND] PROSGEGRAMMENI for "historic reasons"
+% [Nicholas-03]_ [Haralambous-98]_.
+%
+% Upper case glyphs with adscript are a stylistic choice, to be provided
+% by the font. LGR encoded fonts provide a ligature mechanism to select the
+% correspongind pre-composed character if Alpha, Eta, or Omega
+% (with or without other diacritics) are followed by ``\ypogegrammeni``.
% ::
\DeclareUnicodeCharacter{1F00}{\ensuregreek{\accpsili\textalpha}} % ἀ
@@ -363,14 +328,14 @@
\DeclareUnicodeCharacter{1F85}{\ensuregreek{\accdasiaoxia\textalpha\ypogegrammeni}} % ᾅ
\DeclareUnicodeCharacter{1F86}{\ensuregreek{\accpsiliperispomeni\textalpha\ypogegrammeni}} % ᾆ
\DeclareUnicodeCharacter{1F87}{\ensuregreek{\accdasiaperispomeni\textalpha\ypogegrammeni}} % ᾇ
-\DeclareUnicodeCharacter{1F88}{\ensuregreek{\accpsili\textAlpha\prosgegrammeni}} % ᾈ
-\DeclareUnicodeCharacter{1F89}{\ensuregreek{\accdasia\textAlpha\prosgegrammeni}} % ᾉ
-\DeclareUnicodeCharacter{1F8A}{\ensuregreek{\accpsilivaria\textAlpha\prosgegrammeni}} % ᾊ
-\DeclareUnicodeCharacter{1F8B}{\ensuregreek{\accdasiavaria\textAlpha\prosgegrammeni}} % ᾋ
-\DeclareUnicodeCharacter{1F8C}{\ensuregreek{\accpsilioxia\textAlpha\prosgegrammeni}} % ᾌ
-\DeclareUnicodeCharacter{1F8D}{\ensuregreek{\accdasiaoxia\textAlpha\prosgegrammeni}} % ᾍ
-\DeclareUnicodeCharacter{1F8E}{\ensuregreek{\accpsiliperispomeni\textAlpha\prosgegrammeni}} % ᾎ
-\DeclareUnicodeCharacter{1F8F}{\ensuregreek{\accdasiaperispomeni\textAlpha\prosgegrammeni}} % ᾏ
+\DeclareUnicodeCharacter{1F88}{\ensuregreek{\accpsili\textAlpha\ypogegrammeni}} % ᾈ
+\DeclareUnicodeCharacter{1F89}{\ensuregreek{\accdasia\textAlpha\ypogegrammeni}} % ᾉ
+\DeclareUnicodeCharacter{1F8A}{\ensuregreek{\accpsilivaria\textAlpha\ypogegrammeni}} % ᾊ
+\DeclareUnicodeCharacter{1F8B}{\ensuregreek{\accdasiavaria\textAlpha\ypogegrammeni}} % ᾋ
+\DeclareUnicodeCharacter{1F8C}{\ensuregreek{\accpsilioxia\textAlpha\ypogegrammeni}} % ᾌ
+\DeclareUnicodeCharacter{1F8D}{\ensuregreek{\accdasiaoxia\textAlpha\ypogegrammeni}} % ᾍ
+\DeclareUnicodeCharacter{1F8E}{\ensuregreek{\accpsiliperispomeni\textAlpha\ypogegrammeni}} % ᾎ
+\DeclareUnicodeCharacter{1F8F}{\ensuregreek{\accdasiaperispomeni\textAlpha\ypogegrammeni}} % ᾏ
\DeclareUnicodeCharacter{1F90}{\ensuregreek{\accpsili\texteta\ypogegrammeni}} % ᾐ
\DeclareUnicodeCharacter{1F91}{\ensuregreek{\accdasia\texteta\ypogegrammeni}} % ᾑ
@@ -380,14 +345,14 @@
\DeclareUnicodeCharacter{1F95}{\ensuregreek{\accdasiaoxia\texteta\ypogegrammeni}} % ᾕ
\DeclareUnicodeCharacter{1F96}{\ensuregreek{\accpsiliperispomeni\texteta\ypogegrammeni}} % ᾖ
\DeclareUnicodeCharacter{1F97}{\ensuregreek{\accdasiaperispomeni\texteta\ypogegrammeni}} % ᾗ
-\DeclareUnicodeCharacter{1F98}{\ensuregreek{\accpsili\textEta\prosgegrammeni}} % ᾘ
-\DeclareUnicodeCharacter{1F99}{\ensuregreek{\accdasia\textEta\prosgegrammeni}} % ᾙ
-\DeclareUnicodeCharacter{1F9A}{\ensuregreek{\accpsilivaria\textEta\prosgegrammeni}} % ᾚ
-\DeclareUnicodeCharacter{1F9B}{\ensuregreek{\accdasiavaria\textEta\prosgegrammeni}} % ᾛ
-\DeclareUnicodeCharacter{1F9C}{\ensuregreek{\accpsilioxia\textEta\prosgegrammeni}} % ᾜ
-\DeclareUnicodeCharacter{1F9D}{\ensuregreek{\accdasiaoxia\textEta\prosgegrammeni}} % ᾝ
-\DeclareUnicodeCharacter{1F9E}{\ensuregreek{\accpsiliperispomeni\textEta\prosgegrammeni}} % ᾞ
-\DeclareUnicodeCharacter{1F9F}{\ensuregreek{\accdasiaperispomeni\textEta\prosgegrammeni}} % ᾟ
+\DeclareUnicodeCharacter{1F98}{\ensuregreek{\accpsili\textEta\ypogegrammeni}} % ᾘ
+\DeclareUnicodeCharacter{1F99}{\ensuregreek{\accdasia\textEta\ypogegrammeni}} % ᾙ
+\DeclareUnicodeCharacter{1F9A}{\ensuregreek{\accpsilivaria\textEta\ypogegrammeni}} % ᾚ
+\DeclareUnicodeCharacter{1F9B}{\ensuregreek{\accdasiavaria\textEta\ypogegrammeni}} % ᾛ
+\DeclareUnicodeCharacter{1F9C}{\ensuregreek{\accpsilioxia\textEta\ypogegrammeni}} % ᾜ
+\DeclareUnicodeCharacter{1F9D}{\ensuregreek{\accdasiaoxia\textEta\ypogegrammeni}} % ᾝ
+\DeclareUnicodeCharacter{1F9E}{\ensuregreek{\accpsiliperispomeni\textEta\ypogegrammeni}} % ᾞ
+\DeclareUnicodeCharacter{1F9F}{\ensuregreek{\accdasiaperispomeni\textEta\ypogegrammeni}} % ᾟ
\DeclareUnicodeCharacter{1FA0}{\ensuregreek{\accpsili\textomega\ypogegrammeni}} % ᾠ
\DeclareUnicodeCharacter{1FA1}{\ensuregreek{\accdasia\textomega\ypogegrammeni}} % ᾡ
@@ -397,14 +362,14 @@
\DeclareUnicodeCharacter{1FA5}{\ensuregreek{\accdasiaoxia\textomega\ypogegrammeni}} % ᾥ
\DeclareUnicodeCharacter{1FA6}{\ensuregreek{\accpsiliperispomeni\textomega\ypogegrammeni}} % ᾦ
\DeclareUnicodeCharacter{1FA7}{\ensuregreek{\accdasiaperispomeni\textomega\ypogegrammeni}} % ᾧ
-\DeclareUnicodeCharacter{1FA8}{\ensuregreek{\accpsili\textOmega\prosgegrammeni}} % ᾨ
-\DeclareUnicodeCharacter{1FA9}{\ensuregreek{\accdasia\textOmega\prosgegrammeni}} % ᾩ
-\DeclareUnicodeCharacter{1FAA}{\ensuregreek{\accpsilivaria\textOmega\prosgegrammeni}} % ᾪ
-\DeclareUnicodeCharacter{1FAB}{\ensuregreek{\accdasiavaria\textOmega\prosgegrammeni}} % ᾫ
-\DeclareUnicodeCharacter{1FAC}{\ensuregreek{\accpsilioxia\textOmega\prosgegrammeni}} % ᾬ
-\DeclareUnicodeCharacter{1FAD}{\ensuregreek{\accdasiaoxia\textOmega\prosgegrammeni}} % ᾭ
-\DeclareUnicodeCharacter{1FAE}{\ensuregreek{\accpsiliperispomeni\textOmega\prosgegrammeni}} % ᾮ
-\DeclareUnicodeCharacter{1FAF}{\ensuregreek{\accdasiaperispomeni\textOmega\prosgegrammeni}} % ᾯ
+\DeclareUnicodeCharacter{1FA8}{\ensuregreek{\accpsili\textOmega\ypogegrammeni}} % ᾨ
+\DeclareUnicodeCharacter{1FA9}{\ensuregreek{\accdasia\textOmega\ypogegrammeni}} % ᾩ
+\DeclareUnicodeCharacter{1FAA}{\ensuregreek{\accpsilivaria\textOmega\ypogegrammeni}} % ᾪ
+\DeclareUnicodeCharacter{1FAB}{\ensuregreek{\accdasiavaria\textOmega\ypogegrammeni}} % ᾫ
+\DeclareUnicodeCharacter{1FAC}{\ensuregreek{\accpsilioxia\textOmega\ypogegrammeni}} % ᾬ
+\DeclareUnicodeCharacter{1FAD}{\ensuregreek{\accdasiaoxia\textOmega\ypogegrammeni}} % ᾭ
+\DeclareUnicodeCharacter{1FAE}{\ensuregreek{\accpsiliperispomeni\textOmega\ypogegrammeni}} % ᾮ
+\DeclareUnicodeCharacter{1FAF}{\ensuregreek{\accdasiaperispomeni\textOmega\ypogegrammeni}} % ᾯ
\DeclareUnicodeCharacter{1FB0}{\ensuregreek{\u\textalpha}} % ᾰ
\DeclareUnicodeCharacter{1FB1}{\ensuregreek{\@tabacckludge=\textalpha}} % ᾱ
@@ -417,7 +382,7 @@
\DeclareUnicodeCharacter{1FB9}{\ensuregreek{\@tabacckludge=\textAlpha}} % Ᾱ
\DeclareUnicodeCharacter{1FBA}{\ensuregreek{\accvaria\textAlpha}} % Ὰ
\DeclareUnicodeCharacter{1FBB}{\ensuregreek{\acctonos\textAlpha}} % Ά
-\DeclareUnicodeCharacter{1FBC}{\ensuregreek{\textAlpha\prosgegrammeni}} % ᾼ
+\DeclareUnicodeCharacter{1FBC}{\ensuregreek{\textAlpha\ypogegrammeni}} % ᾼ
\DeclareUnicodeCharacter{1FBD}{\accpsili{ }} % ᾽
\DeclareUnicodeCharacter{1FBE}{\textcompwordmark\prosgegrammeni} % ι
\DeclareUnicodeCharacter{1FBF}{\accpsili{ }} % ᾿
@@ -433,7 +398,7 @@
\DeclareUnicodeCharacter{1FC9}{\ensuregreek{\acctonos\textEpsilon}} % Έ
\DeclareUnicodeCharacter{1FCA}{\ensuregreek{\accvaria\textEta}} % Ὴ
\DeclareUnicodeCharacter{1FCB}{\ensuregreek{\acctonos\textEta}} % Ή
-\DeclareUnicodeCharacter{1FCC}{\ensuregreek{\textEta\prosgegrammeni}} % ῌ
+\DeclareUnicodeCharacter{1FCC}{\ensuregreek{\textEta\ypogegrammeni}} % ῌ
\DeclareUnicodeCharacter{1FCD}{\accpsilivaria{ }} % ῍
\DeclareUnicodeCharacter{1FCE}{\accpsilioxia{ }} % ῎
\DeclareUnicodeCharacter{1FCF}{\accpsiliperispomeni{ }} % ῏
@@ -478,7 +443,7 @@
\DeclareUnicodeCharacter{1FF9}{\ensuregreek{\acctonos\textOmicron}} % Ό
\DeclareUnicodeCharacter{1FFA}{\ensuregreek{\accvaria\textOmega}} % Ὼ
\DeclareUnicodeCharacter{1FFB}{\ensuregreek{\acctonos\textOmega}} % Ώ
-\DeclareUnicodeCharacter{1FFC}{\ensuregreek{\textOmega\prosgegrammeni}} % ῼ
+\DeclareUnicodeCharacter{1FFC}{\ensuregreek{\textOmega\ypogegrammeni}} % ῼ
\DeclareUnicodeCharacter{1FFD}{\acctonos{ }} % ´
\DeclareUnicodeCharacter{1FFE}{\accdasia{ }} % ῾
@@ -517,12 +482,55 @@
\DeclareUnicodeCharacter{10146}{\textpenteqilioi} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
\DeclareUnicodeCharacter{10147}{\textpentemuria} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-% .. _lgrx: http://www.ctan.org/pkg/lgrx
+% Changelog
+% ---------
+%
+% .. class:: borderless
+%
+% ===== =========== ===========================================================
+% 0.1 2010-06-16 Initial version.
+% 0.2 2012-06-27 Support for accented Greek characters with textalpha_.
+% 0.3 2013-05-03 New accent macro names with lgrxenc.def 0.7.
+% 1.3 2013-05-24 Moved to greek-inputenc.
+% 1.4 2013-07-16 Bugfix for GREEK SMALL LETTER RHO WITH PSILI/DASIA.
+% .. Drop "greek" from macro names for ancient characters.
+% .. Use ``\ypogegrammeni`` and ``\prosgegrammeni``
+% instead of ``|``.
+% 1.4.1 2013-07-18 Bugfix: wrong breathings psilioxia -> dasiaoxia.
+% 1.5 2014-09-14 Use named accent macros for Greek accents.
+% 1.6 2015-08-05 Fix output of accented characters with "textalpha" if the
+% current font encoding is not LGR (wrap in \ensuregreek).
+% .. Map GREEK ... SYMBOL characters.
+% 1.7 2019-07-11 Remove some duplicate definitions (punctuation, Euro).
+% 1.8 2023-02-21 Add ``\textKoppa`` (mapped to ``\textkoppa`` in LGR).
+% (Required by the new ``\MakeUppercase`` implementation.
+% Maps to small koppa as there is no capital koppa in LGR.)
+% .. Use ``\ypogegrammeni`` for mute iota also with capitals.
+% .. Use ``\textdexiakeraia`` and ``\textaristerikeraia`` for
+% the Greek numeral signs.
+% ===== =========== ===========================================================
+%
+%
+% References
+% ----------
+%
+% .. [Haralambous-98] Yannis Haralambous
+% `From Unicode to Typography, a Case Study: the Greek Script`, 1998.
+% https://hal.science/hal-02101618
+% .. [Nicholas-03] Nick Nicholas `Titlecase and Adscripts` 2003.
+% https://opoudjis.net/unicode/unicode_adscript.html
+%
+% .. _alphabeta: https://mirrors.ctan.org/macros/latex/contrib/lgrx/alphabeta.sty.html
% .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf
-% .. _ucs: http://www.ctan.org/pkg/ucs
-% .. _inputenc: http://www.ctan.org/pkg/inputenc
-% .. _greek-fontenc: http://www.ctan.org/pkg/greek-fontenc
-% .. _textalpha: http://mirrors.ctan.org/macros/latex/contrib/lgrx/textalpha.sty.html
-% .. _alphabeta: http://mirrors.ctan.org/macros/latex/contrib/lgrx/alphabeta.sty.html
-% .. _grnumalt: http://www.ctan.org/pkg/grnumalt
+% .. _babel: https://ctan.org/pkg/babel
+% .. _babel-greek: https://ctan.org/pkg/babel-greek
+% .. _greek-fontenc: https://ctan.org/pkg/greek-fontenc
+% .. _greek-inputenc documentation: greek-inputenc.html#usage
+% .. _grnumalt: https://ctan.org/pkg/grnumalt
+% .. _inputenc: https://ctan.org/pkg/inputenc
+% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
+% .. _lgrx: https://ctan.org/pkg/lgrx
+% .. _mute iota: https://en.wikipedia.org/wiki/Iota_subscript
+% .. _textalpha: https://mirrors.ctan.org/macros/latex/contrib/lgrx/textalpha.sty.html
+% .. _ucs: https://ctan.org/pkg/ucs
+%