summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def')
-rw-r--r--Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def689
1 files changed, 75 insertions, 614 deletions
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
index ea3a0482750..3fd780a7063 100644
--- a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
+++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def
@@ -1,213 +1,4 @@
-% lgrenc.def
-% ***********
-%
-% LGR Greek font encoding definitions
-% ===================================
-%
-% :Copyright: © 2010 Günter Milde
-% :Licence: This work may be distributed and/or modified under the
-% conditions of the `LaTeX Project Public License`_, either
-% version 1.3 of this license or any later version.
-%
-% :Abstract: The LGR font encoding is the de-facto standard for Greek
-% typesetting with LaTeX. This file provides a comprehensive set
-% of macros to typeset Greek with LGR encoded fonts. It works for
-% both, monotonic and polytonic Greek, independent of the `babel`
-% package.
-%
-% .. contents::
-%
-%
-% Changelog
-% ---------
-%
-% .. class:: borderless
-%
-% Development of this file started under the name "lgrxenc.def" as part of the
-% lgrx_ bundle. With version 0.8, it moved to ``greek-fontenc/lgrx.def``.
-%
-% ===== ============ ====================================================
-% 0.1 2010-03-31 initial attempt
-% 0.2 2010-04-20 diacritics dropped in UPPERCASE
-% 0.3 2010-06-08 handle Titlecase and UPPERCASE extending
-% ``\@uclclist``
-% 0.4 2010-06-15 more text symbols
-% 0.5 2010-08-27 support ``\textalpha`` ... ``\textOmega``
-% 0.5.1 2012-05-08 upload to CTAN
-% 0.6 2012-06-29 ``\TextGreek`` wrapper command,
-% aliases for ``puenc.def`` compatibility
-% 0.6.1 2013-02-12 ``\@uclclist`` entries for `PU` aliases
-% 0.7 2013-05-13 documentation update, new accent macros names,
-% ``\TextGreek`` renamed to ``\ensuregreek``.
-% 0.8 2013-05-13 rename to lgrenc.def (superseding the babel_ version),
-% move to greek-fontenc,
-% drop back-compatibility definitions
-% ===== ============ ====================================================
-%
-% Usage
-% -----
-%
-% Load this file by calling fontenc_ with the ``LGR`` option
-% or indirectly via the babel_, textalpha_ or alphabeta_ packages.
-%
-% Example:
-% Select font encodings `T1` (as default) and `LGR` (for Greek):
-%
-% ``\usepackage[LGR,T1]{fontenc}``
-%
-% preliminary considerations: LICR macro names
-% --------------------------------------------
-%
-% This file provides LaTeX internal character representations (LICR macros)
-% for all non-ASCII characters present in the LGR font encoding. For Greek
-% letters and diacritics, LICR macro names were selected based on the
-% following considerations:
-%
-% The fntguide_ (section 6.4 Naming conventions) recommends:
-%
-% Where possible, text symbols should be named as ``\text`` followed
-% by the Adobe glyph name: for example ``\textonequarter`` or
-% ``\textsterling``. Similarly, math symbols should be named as
-% ``\math`` followed by the glyph name, for example
-% ``\mathonequarter`` or ``\mathsterling``.
-%
-% The `Adobe Glyph List For New Fonts`_ has names for many glyphs in the
-% `Greek and Coptic` Unicode block, but not for `Greek extended`.
-% The `Adobe Glyph List`_ (for existing fonts) lists additional glyph names
-% used in older fonts.
-%
-% Proposals
-% ~~~~~~~~~
-%
-% * If there exists a math-mode macro for a symbol, form the corresponding text
-% macro by prepending ``text``?
-%
-% Example:
-% The glyph name for the GREEK SMALL LETTER FINAL SIGMA is ``sigma1``,
-% the corresponding math-macro is ``\varsigma``. The text symbol could be
-% made available as ``\textvarsigma``.
-%
-% Problems:
-% ``\varepsilon`` and ``\varphi`` math macros map to characters named
-% "GREEK SMALL **LETTER** ...", while ``\\vartheta``, ``\\varkappa``,
-% ``\\varrho``, and ``\\varpi`` math macros map to "GREEK ... **SYMBOL**"
-% Unicode characters.
-%
-% In Greek text, these variants are interchangeable. The LGR font encoding
-% does not contain slots for "symbol" glyph variants. In some Greek fonts,
-% GREEK SMALL LETTERS use glyph variants resembling the corresponding
-% GREEK SYMBOL Unicode character's reference glyph.
-%
-% * Derive macro names from Unicode names?
-%
-% The `Unicode names list`_ provides standardized descriptive names for all
-% Unicode characters that use only capital letters of the Latin alphabet.
-% While not suited for direct use in a LICR macros, they can be either
-%
-% a) used as inspiration for new LICR macro names or
-%
-% b) converted to LICR macro names via a defined set of transformation rules.
-%
-% Example:
-% ``\textfinalsigma`` or just ``\finalsigma`` as a more descriptive name
-% for GREEK SMALL LETTER FINAL SIGMA derived via the rules:
-%
-% * drop "LETTER" if the name remains unique,
-% * drop "GREEK" if the name remains unique,
-% * use capitalized name for capital letters, lowercase for "SMALL" letters
-% and drop "SMALL",
-% * concatenate
-%
-% * Omit the "text" prefix for macros that do not have a math counterpart?
-%
-% Pro:
-% + Simpler,
-%
-% + ease of use (less typing, better readability of source text),
-%
-% + many established text macro names without "text",
-%
-% + there are examples of encoding-specific macros
-% without the ``text``-prefix, especially for letters,
-%
-% :T1: ``\AE \DH \DJ \L \NG \OE \O \SS \TH \ae \dh \dj \guillemotleft``
-% ``\guillemotright \guilsinglleft \guilsinglright \i \j \l \ng``
-% ``\oe \o \quotedblbase \quotesinglbase \ss \th`` (also in OT1)
-% :T2*: ``\CYR*`` and ``\cyr*``
-% :HE8: ``\heb*`` or no prefix
-% :PU: short descriptive names in the arabic part (``puarenc.def``)
-%
-% + ``text`` prefix does **not** mark a macro as encoding-specific or
-% "inserting a glyph". There are e.g. font-changing macros (``\textbf``,
-% ``\textit``) and encoding-changing macros (``\textgreek``,
-% ``\textcyr``).
-%
-% Contra:
-% - Less consistent.
-%
-% - ``text`` prefix marks a macro as confined to text mode.
-%
-%
-% How to name *accent macros*?
-% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-%
-% * standard accent macros (``\DeclareTextAccent`` definitions in
-% ``latex/base/...``) are one-symbol macros (``\' \" ... \u \v ...``) .
-%
-% * tipa.sty and ucs use the "text" prefix also for accents.
-%
-% However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and
-% "dieresistonos" to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence
-% `\texttonos` and `\textdiaresistonos` should denote these spacing
-% characters.
-%
-% * textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without
-% ``text`` prefix).
-%
-% * Use a common prefix ``\accent...`` or postfix ``\...accent``,
-% or short ``\acc...``?
-%
-% Currently, `lgrx` uses for diacritics_:
-%
-% - Greek names like in Unicode, and ucsencs.def
-%
-% - The prefix "acc" to distinguish the macros as `TextAaccent` and reduce the
-% risc of name clashes (cf ``\@tabacckludge``).
-%
-% - For the end-user "symbol macros" (``\~ \' \` \" \< \>``) are provided.
-%
-%
-% References
-% ~~~~~~~~~~
-%
-% An alternative, more complete set of short mnemonic character names is
-% the `XML Entity Definitions for Characters`_ W3C Recommendation from
-% 01 April 2010.
-%
-% For glyph names of the LGR encoding see e.g. ``CB.enc`` by Apostolos
-% Syropoulos and ``xl-lgr.enc`` from the libertine_ (legacy) package.
-% ``lgr.cmap`` provides a mapping to Unicode characters.
-%
-% A full set of ``\text*`` symbol macros is defined in ``ucsencs.def``
-% from the ucs_ package.
-%
-% Aliases from ``puenc.def`` ensure that the hyperref_ package can
-% convert Greek symbols to a PDF-string.
-%
-%
-% Implementation
-% --------------
-%
-% Read this file only once
-% ~~~~~~~~~~~~~~~~~~~~~~~~
-% .. note:: The use of ``\@ifundefined`` has the side-effect that the tested
-% macro becomes defined and set to ``\relax`` (polluting the namespace and
-% interfering with test via eTeX's ``\ifdefined``). However, in this case
-% no harm is done as the macro is defined by the identification_ below
-% anyway.
-%
-% ::
-
+% read this file only once
\@ifundefined{ver@lgrenc.def}
{}
{\message{LGR font encoding definitions already loaded}
@@ -215,57 +6,21 @@
}
-% Identification
-% ~~~~~~~~~~~~~~
-% ::
-
\ProvidesFile{lgrenc.def}
-[2013/05/13 v0.8 LGR Greek font encoding definitions]
-
-% You can test the version date using
-%
-% .. code:: latex
-%
-% \@ifl@ter {extension}{filename}{date}{YES}{NO}
-%
-% or using ltxcmds_' ``\@iffilelater``
-%
-% Base setup
-% ~~~~~~~~~~
-%
-% Declare the font encoding and base substitutions::
+[2013/05/24 v0.8.2 LGR Greek font encoding definitions]
+% Copyright © 2010 Günter Milde
+% This file is part of the "greek-fontenc" package.
+% It may be distributed and/or modified under the
+% conditions of the "LaTeX Project Public License", either
+% version 1.3 of this license or any later version.
\DeclareFontEncoding{LGR}{}{}
\DeclareFontSubstitution{LGR}{cmr}{m}{n}
\DeclareErrorFont{LGR}{cmr}{m}{n}{10}
-% The ``\ensuregreek`` command can be used to ensure that its argument is set
-% in a font encoding with support for Greek. If the font encoding is already
-% LGR, kerning between adjacent command calls (e.g.
-% ``\ensuregreek{A}\ensuregreek{\Upsilon}``) is preserved. This allows
-% wrapping of compound Unicode character definitions. ::
-
\DeclareTextCommand{\ensuregreek}{LGR}[1]{#1}
-% Text symbols
-% ~~~~~~~~~~~~
-%
-% Greek Alphabet
-% """"""""""""""
-%
-% Greek letters are accessible by the Latin transcription, but the mapping is
-% specific to the LGR font encoding.
-%
-% The LICR macros provide a way to access the symbols independent of the
-% specific font encoding, in any font encoding supporting Greek. An
-% alternative Greek font encodings is. LGI (ibycus_). Greek script is also
-% supported by the Unicode-based font encodings PU (`PDF Unicode` used by
-% hyperref_ for PDF metadata), EU1 (XeTeX) and EU2 (LuaTeX). The textalpha_
-% package makes these macros available independent of the current font
-% encoding.
-% ::
-
\DeclareTextSymbol{\textAlpha}{LGR}{65}
\DeclareTextSymbol{\textBeta}{LGR}{66}
\DeclareTextSymbol{\textGamma}{LGR}{71}
@@ -310,7 +65,7 @@
\DeclareTextSymbol{\textrho}{LGR}{114}
\DeclareTextCommand{\textsigma}{LGR}{s\noboundary} % σ
\DeclareTextSymbol{\textvarsigma}{LGR}{99} % ς final sigma
-\DeclareTextSymbol{\textfinalsigma}{LGR}{99} % ς final sigma
+\DeclareTextCommand{\textfinalsigma}{LGR}{\textvarsigma} % ς final sigma
\DeclareTextSymbol{\textautosigma}{LGR}{115} % σ (ς at end of word)
\DeclareTextSymbol{\texttau}{LGR}{116}
\DeclareTextSymbol{\textupsilon}{LGR}{117}
@@ -320,102 +75,46 @@
\DeclareTextSymbol{\textomega}{LGR}{119}
-% Additional Greek symbols
-% """"""""""""""""""""""""
-%
-% Ancient Greek Numbers (Athenian Numerals)
-% '''''''''''''''''''''''''''''''''''''''''
-%
-% Names from the athnum_ package
-% (TODO: should we define them here?)::
-
-%\DeclareTextSymbol{\PiDelta}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY
-%\DeclareTextSymbol{\PiEta}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
-%\DeclareTextSymbol{\PiChi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
-%\DeclareTextSymbol{\PiMu}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-
-% Names from ``xl-lgr.enc`` (Greek numerals)::
-
-\DeclareTextSymbol{\pentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY
-\DeclareTextSymbol{\pentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
-\DeclareTextSymbol{\penteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
-\DeclareTextSymbol{\pentemurioi}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-
-
-% Archaic letters
-% '''''''''''''''
-% Names after teubner_ and ucs_. The "text" prefix is only used for Digamma,
-% which is also used in mathematical context::
-
-\DeclareTextSymbol{\stigma}{LGR}{6} % ϛ (greek.ldf, teubner)
-\DeclareTextSymbol{\varstigma}{LGR}{7} % stigma variant (CB.enc, teubner)
-\DeclareTextSymbol{\koppa}{LGR}{18} % ϟ (greek small letter koppa)
-\DeclareTextSymbol{\qoppa}{LGR}{19} % ϙ (archaic koppa)
-\DeclareTextSymbol{\Qoppa}{LGR}{21} % Ϙ (archaic Koppa)
-\DeclareTextSymbol{\Stigma}{LGR}{22} % Ϛ (teubner) in some fonts ϹΤ ligature
-\DeclareTextSymbol{\Sampi}{LGR}{23} % Ϡ
-\DeclareTextSymbol{\sampi}{LGR}{27} % ϡ
-\DeclareTextSymbol{\anoteleia}{LGR}{38} % ·
-\DeclareTextSymbol{\erotimatiko}{LGR}{63} % ;
-% \digamma used by amsmath for math-macro:
-\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (uni-3.def (ucs))
-\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (uni-3.def (ucs))
-
-% Compatibility aliases for babel_'s ``greek.ldf`` and hyperref_'s puenc.def,
-% defined via `DeclareTextCommand` so that up/downcasing works without the
-% need for additional uclclist entries::
-
-\DeclareTextCommand{\vardigamma}{LGR}{\varstigma} % greek.ldf
-\DeclareTextCommand{\textstigmagreek}{LGR}{\stigma} % puenc.def
-\DeclareTextCommand{\textkoppagreek}{LGR}{\koppa} % puenc.def
-\DeclareTextCommand{\textStigmagreek}{LGR}{\Stigma} % puenc.def
-\DeclareTextCommand{\textSampigreek}{LGR}{\Sampi} % puenc.def
-\DeclareTextCommand{\textsampigreek}{LGR}{\sampi} % puenc.def
-\DeclareTextCommand{\ddigamma}{LGR}{\textdigamma} % greek.ldf
+\DeclareTextSymbol{\textpentedeka}{LGR}{2} % GREEK ACROPHONIC ATTIC FIFTY
+\DeclareTextSymbol{\textpentehekaton}{LGR}{3} % GREEK ACROPHONIC ATTIC FIVE HUNDRED
+\DeclareTextSymbol{\textpenteqilioi}{LGR}{4} % GREEK ACROPHONIC ATTIC FIVE THOUSAND
+\DeclareTextSymbol{\textpentemuria}{LGR}{5} % GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+
+
+\DeclareTextSymbol{\textstigma}{LGR}{6} % ϛ
+\DeclareTextSymbol{\textvarstigma}{LGR}{7} % stigma variant (CB.enc, teubner)
+\DeclareTextSymbol{\textkoppa}{LGR}{18} % ϟ (greek small letter koppa)
+\DeclareTextSymbol{\textqoppa}{LGR}{19} % ϙ (archaic koppa)
+\DeclareTextSymbol{\textQoppa}{LGR}{21} % Ϙ (archaic Koppa)
+\DeclareTextSymbol{\textStigma}{LGR}{22} % Ϛ in some fonts ϹΤ ligature
+\DeclareTextSymbol{\textSampi}{LGR}{23} % Ϡ
+\DeclareTextSymbol{\textsampi}{LGR}{27} % ϡ
+\DeclareTextSymbol{\textanoteleia}{LGR}{38} % ·
+\DeclareTextSymbol{\texterotimatiko}{LGR}{63} % ;
+\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro
+\DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs)
+
+\DeclareTextCommand{\textstigmagreek}{LGR}{\textstigma} % puenc.def
+\DeclareTextCommand{\textkoppagreek}{LGR}{\textkoppa} % puenc.def
+\DeclareTextCommand{\textStigmagreek}{LGR}{\textStigma} % puenc.def
+\DeclareTextCommand{\textSampigreek}{LGR}{\textSampi} % puenc.def
+\DeclareTextCommand{\textsampigreek}{LGR}{\textsampi} % puenc.def
\DeclareTextCommand{\textdigammagreek}{LGR}{\textdigamma} % puenc.def
-\DeclareTextCommand{\Digamma}{LGR}{\textDigamma} % greek.ldf
\DeclareTextCommand{\textDigammagreek}{LGR}{\textDigamma} % puenc.def
-
-% Numeral signs
-% '''''''''''''
-% See also http://en.wikipedia.org/wiki/Greek_numerals
-%
-% Names from babel_ and teubner_::
-
-\DeclareTextSymbol{\anwtonos}{LGR}{254} % ʹ (Dexia keraia)
-\DeclareTextSymbol{\katwtonos}{LGR}{255} % ͵ (Aristeri keraia)
-
-% Compatibility definitions for hyperref_'s puenc.def::
-
\DeclareTextSymbol{\textnumeralsigngreek}{LGR}{254} % ʹ (puenc.def)
\DeclareTextSymbol{\textnumeralsignlowergreek}{LGR}{255} % ͵ (puenc.def)
-
-% Other
-% """""
-%
-% Characters that also exist in other font encodings:
-%
-% * define them for LGR if there is a matching glyph,
-% * use established macro names that match with other ``*enc.def`` files and
-% ``textcomp.sty``.
-%
-% ::
-
-% all encodings: See usrguide.pdf, chapter 3.14 ff
\DeclareTextSymbol{\textendash}{LGR}{0} % EN DASH
\DeclareTextSymbol{\textquoteleft}{LGR}{28} % ‘
\DeclareTextSymbol{\textquoteright}{LGR}{29} % ’
-\DeclareTextSymbol{\textperiodcentered}{LGR}{46} % · = \textanoteleia
+\DeclareTextSymbol{\textperiodcentered}{LGR}{38} % · = \textanoteleia
\DeclareTextSymbol{\textcompwordmark}{LGR}{118} % ZERO WIDTH NO JOINER
\DeclareTextSymbol{\textemdash}{LGR}{127} % EM DASH
-% T1
\DeclareTextSymbol{\guillemotleft}{LGR}{123} % «
\DeclareTextSymbol{\guillemotright}{LGR}{125} % »
-% TS1
\ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘
\ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯
\ProvideTextCommand{\textasciidieresis}{LGR}{\char34\textcompwordmark} % "
@@ -427,76 +126,8 @@
\DeclareTextSymbol{\textpercent}{LGR}{37} % %
\DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permille in greek.ldf
-% T3
\DeclareTextSymbol{\textschwa}{LGR}{26} % ə
-% Not implemented
-% """""""""""""""
-%
-% The characters at position 16 and 17 are used in the ``\nexus`` macro
-% of the teubner_ package to form an extensible, hat-like bracket. In
-% ``CB.enc``, they are mapped to
-%
-% 16--MODIFIER LETTER LOW ACUTE ACCENT
-% 17--MODIFIER LETTER LOW GRAVE ACCENT
-%
-% but according to the documentation of Werner Lemberg's `babel patch`_,
-% they rather represent the left and right part of U+23E0 TOP TORTOISE
-% SHELL BRACKET.
-%
-% Babel's ``lgrenc.def`` has some definitions to prevent surprises with
-% macros that expect a Latin script. These definitions are problematic
-% in a font-encoding definition file as they
-%
-% * require ``\textlatin`` which is defined in ``babel.def``,
-% * prevent use of TS1 symbols set as default by ``textcomp.sty``.
-%
-% ::
-
-%\ProvideTextCommand{\textcopyright}{LGR}{\textcircled{\textlatin{c}}}
-%\ProvideTextCommand{\textregistered}{LGR}{\textcircled{\textlatin{\textsc r}}}
-%\ProvideTextCommand{\texttrademark}{LGR}{\textsuperscript{\textlatin{TM}}}
-%\ProvideTextCommand{\SS}{LGR}{\textlatin{SS}}
-
-% They may be moved to ``greek.ldf`` one day (with a caveat for textcomp/TS1).
-%
-%
-% Diacritics
-% ~~~~~~~~~~
-%
-% This section defines `named macros`_ for Greek diacritics and standard
-% `symbol macros`_ as alias for simple diacritics. Convenient input
-% conventions for `composite diacritics`_ are defined as `composite
-% definitions`_.
-%
-% Advantages:
-%
-% * input convention similar to LGR input encodings (just prepend a ``\``).
-%
-% * Access pre-composed characters without resorting to the
-% ligature mechanism (allows proper kerning, cf. teubner-doc_).
-%
-% * Named macros can be used to ensure a font encoding supporting Greek is
-% used. However, substitution with pre-composed characters works only for
-% the active font encoding (cf. textalpha_). Named accent macros can also be
-% used instead of the ``\@tabacckludge`` by to-LaTeX converters to ensure
-% working also inside the tabbing environment.
-%
-% * Named macros are required for upcasing according to Greek typesetting
-% conventions (cf. `UPPERCASE`_ below) and for composite diacritics.
-%
-%
-% Named macros
-% """"""""""""
-%
-% Definitions are based on the teubner_ package by Claudio Beccari, the ucs_
-% package, and the `babel patch`_ by Werner Lemberg. Names are derived from
-% the Unicode name with the prefix "acc" (cf. `How to name accent macros?`_
-% above) reducing the probability of incompatibilities compared to the
-% two-letter teubner_ diacritic macros or the "text" prefix used by ucs_.
-%
-% Simple Greek diacritics::
-
\DeclareTextAccent{\accdialytika}{LGR}{34} % διαλυτικά (diaeresis/trema)
\DeclareTextAccent{\acctonos}{LGR}{39} % τόνος/ὀξεῖα tonos/oxia (acute)
\DeclareTextAccent{\accdasia}{LGR}{60} % δασεῖα spiritus asper (rough breathing)
@@ -504,15 +135,9 @@
\DeclareTextAccent{\accvaria}{LGR}{96} % βαρεῖα (grave)
\DeclareTextAccent{\accperispomeni}{LGR}{126} % περισπωμένη (circonflex/tilde)
-% The sub-iota is input after the base character. In LGR fonts, ligatures are
-% defined for pre-composed characters, the postfix ligature does not interfere
-% with kerning::
-
\DeclareTextSymbol{\prosgegrammeni}{LGR}{8} % ι "capital" sub-iota
\DeclareTextSymbol{\ypogegrammeni}{LGR}{124} % ͺ "small" sub-iota
-% Composite diacritics::
-
% Teubner name
\DeclareTextAccent{\accdialytikaperispomeni}{LGR}{32} % Cd
\DeclareTextAccent{\accdialytikatonos}{LGR}{35} % Ad
@@ -526,23 +151,13 @@
\DeclareTextAccent{\accpsilioxia}{LGR}{94} % As
\DeclareTextAccent{\accpsilivaria}{LGR}{95} % Gs
-% For classical Greek and linguistics, the LGR font encoding contains a number
-% of additional diacritic symbols::
-
\DeclareTextAccent{\accinvertedbrevebelow}{LGR}{1} % INVERTED BREVE BELOW
-\DeclareTextAccent{\subinvertedbreve}{LGR}{1} % (lgrx)
\DeclareTextAccent{\textsubarch}{LGR}{1} % (tipa)
\DeclareTextAccent{\accbrevebelow}{LGR}{20} % BREVE BELOW
-\DeclareTextAccent{\subbreve}{LGR}{20} % (lgrx)
\DeclareTextAccent{\u}{LGR}{30} % BREVE
\DeclareTextAccent{\=}{LGR}{31} % MACRON
-% Aliases
-% """""""
-%
-% _`Symbol macros`::
-
\DeclareTextCommand{\"}{LGR}{\accdialytika}
\DeclareTextCommand{\'}{LGR}{\acctonos}
\DeclareTextCommand{\`}{LGR}{\accvaria}
@@ -550,35 +165,10 @@
\DeclareTextCommand{\<}{LGR}{\accdasia}
\DeclareTextCommand{\>}{LGR}{\accpsili}
-% TODO: do we also want alternative symbols for the breathings (cf. X compose
-% table, LCI encoding)? ::
-
-%\DeclareTextCommand{\(}{LGR}{\accdasia}
-%\DeclareTextCommand{\)}{LGR}{\accpsili}
-
-% Two Unicode names for one character::
-
\DeclareTextCommand{\accoxia}{LGR}{\acctonos}
\DeclareTextCommand{\acckoronis}{LGR}{\accpsili}
-% Composite definitions
-% ~~~~~~~~~~~~~~~~~~~~~
-%
-% Composite diacritics
-% """"""""""""""""""""
-%
-% Composite accents can be input as sequence of simple diacritics (in
-% arbitrary order) via named macro, symbol macro and "transcription
-% characters", e.g. ``\accdialytica\accvaria\textalpha``, ``\"\'\textalpha``,
-% ``\"'\textalpha``, or ``\'"\textalpha``.
-%
-% Separate definitions for the supported variants of the second input token
-% are required as composition is based on the non-expanded input
-%
-% The composition with simple "transcription characters" must also be defined
-% for the symbol macros, otherwise it fails with ``\Makeuppercase``)::
-
\DeclareTextCompositeCommand{\accdialytika}{LGR}{\acctonos}{\accdialytikatonos}
\DeclareTextCompositeCommand{\accdialytika}{LGR}{\'}{\accdialytikatonos}
\DeclareTextCompositeCommand{\accdialytika}{LGR}{'}{\accdialytikatonos}
@@ -657,13 +247,6 @@
\DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni}
-% Pre-composed letters
-% """"""""""""""""""""
-% Small letters with diacritics
-% '''''''''''''''''''''''''''''
-%
-% (from teubner_ with changed names of the composite accents)::
-
\DeclareTextComposite{\accvaria}{LGR}{a}{128}
\DeclareTextComposite{\accdasia}{LGR}{a}{129}
\DeclareTextComposite{\accpsili}{LGR}{a}{130}
@@ -746,8 +329,6 @@
\DeclareTextComposite{\accdasia}{LGR}{r}{251}
\DeclareTextComposite{\accpsili}{LGR}{r}{252}
-% Pre-composed letters with diacritics + LICR macros::
-
\DeclareTextComposite{\accvaria}{LGR}{\textalpha}{128}
\DeclareTextComposite{\accdasia}{LGR}{\textalpha}{129}
\DeclareTextComposite{\accpsili}{LGR}{\textalpha}{130}
@@ -831,19 +412,6 @@
\DeclareTextComposite{\accpsili}{LGR}{r}{252}
-% Capital letters with diacritics
-% '''''''''''''''''''''''''''''''
-%
-% In Greek, diacritics are omitted in all-uppercase words, but kept as part
-% of an uppercase initial (written before rather than above the letter).
-%
-% The diaytika should also always be used in all-uppercase words (even
-% in cases where they are not needed when writing in lowercase)
-%
-% -- http://en.wikipedia.org/wiki/Capitalization
-%
-% In Title Case, place diacritics before instead of above the base character::
-
\DeclareTextCompositeCommand{\accdasia}{LGR}{A}{<A}
\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{A}{<`A}
\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{A}{<'A}
@@ -895,6 +463,8 @@
\DeclareTextCompositeCommand{\acctonos}{LGR}{O}{'O}
\DeclareTextCompositeCommand{\accvaria}{LGR}{O}{`O}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{R}{<R}
+
\DeclareTextCompositeCommand{\accdasia}{LGR}{U}{<U}
\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{U}{<`U}
\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{U}{<'U}
@@ -913,13 +483,9 @@
\DeclareTextCompositeCommand{\acctonos}{LGR}{W}{'W}
\DeclareTextCompositeCommand{\accvaria}{LGR}{W}{`W}
-% Except for the dialytika::
-
\DeclareTextComposite{\accdialytika}{LGR}{I}{219}
\DeclareTextComposite{\accdialytika}{LGR}{U}{223}
-% Do the same for the LICR macros::
-
\DeclareTextCompositeCommand{\accdasia}{LGR}{\textAlpha}{<A}
\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textAlpha}{<`A}
\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textAlpha}{<'A}
@@ -971,6 +537,8 @@
\DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmicron}{'O}
\DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmicron}{`O}
+\DeclareTextCompositeCommand{\accdasia}{LGR}{\textRho}{<R}
+
\DeclareTextCompositeCommand{\accdasia}{LGR}{\textUpsilon}{<U}
\DeclareTextCompositeCommand{\accdasiavaria}{LGR}{\textUpsilon}{<`U}
\DeclareTextCompositeCommand{\accdasiaoxia}{LGR}{\textUpsilon}{<'U}
@@ -989,41 +557,27 @@
\DeclareTextCompositeCommand{\acctonos}{LGR}{\textOmega}{'W}
\DeclareTextCompositeCommand{\accvaria}{LGR}{\textOmega}{`W}
-% Except for the dialytika::
-
\DeclareTextComposite{\accdialytika}{LGR}{\textIota}{219}
\DeclareTextComposite{\accdialytika}{LGR}{\textUpsilon}{223}
-% UPPERCASE
-% ~~~~~~~~~
-%
-% @uclclist extension
-% """""""""""""""""""
-%
-% If UPPERCASE (all-caps) is generated with ``\MakeUppercase``, macro
-% substitutions in the ``\@uclclist`` apply. This can be used to drop the
-% diacritics (except dialytika).
-%
-% Based on the `babel patch`_ and ``fontenc.sty``.
-% (The first two lines are TeX' way of writing ``uclclist += …``)::
-
-\expandafter\def\expandafter\@uclclist\expandafter{%
- \@uclclist
- \accdasia\acc@invisible
- \accdasiaoxia\@hiatus
- \accdasiavaria\acc@invisible
- \accdasiaperispomeni\acc@invisible
- \accpsili\@hiatus
- \accpsilioxia\@hiatus
- \accpsilivaria\@hiatus
- \accpsiliperispomeni\acc@invisible
- \acctonos\@hiatus
- \accvaria\acc@invisible
- \accdialytikatonos\acc@Dialytika
- \accdialytikavaria\acc@Dialytika
- \accdialytikaperispomeni\acc@Dialytika
- \accperispomeni\acc@invisible
+\providecommand*\update@uclc@with@greek{%
+ \expandafter\def\expandafter\@uclclist\expandafter{%
+ \@uclclist
+ \accdasia\LGR@accdropped
+ \accdasiaoxia\LGR@hiatus
+ \accdasiavaria\LGR@accdropped
+ \accdasiaperispomeni\LGR@accdropped
+ \accpsili\LGR@hiatus
+ \accpsilioxia\LGR@hiatus
+ \accpsilivaria\LGR@hiatus
+ \accpsiliperispomeni\LGR@accdropped
+ \acctonos\LGR@hiatus
+ \accvaria\LGR@accdropped
+ \accdialytikatonos\LGR@accDialytika
+ \accdialytikavaria\LGR@accDialytika
+ \accdialytikaperispomeni\LGR@accDialytika
+ \accperispomeni\LGR@accdropped
\ypogegrammeni\prosgegrammeni
%
\textalpha \textAlpha
@@ -1053,66 +607,33 @@
\textpsi \textPsi
\textomega \textOmega
%
- \qoppa \Qoppa
- \varstigma \Stigma
- \stigma \Stigma
- \sampi \Sampi
- \textdigamma \textDigamma
+ \textqoppa \textQoppa
+ \textvarstigma \textStigma
+ \textstigma \textStigma
+ \textsampi \textSampi
+ \textdigamma \textDigamma
+ }%
+ \let\update@uclc@with@greek\relax
}
-% Substitution macros
-% """""""""""""""""""
-%
-% Drop diacritics
-% '''''''''''''''
-% ::
+\update@uclc@with@greek
-\DeclareTextCommand{\acc@invisible}{LGR}[1]{#1}
-% (The argument processing ensures that kerning is preserved)
-%
-% Keep dialytika.
-% '''''''''''''''
-%
-% Define a dummy alias so that downcasing with ``\MakeLowercase`` does not
-% convert a simple dialytika to a composite accent::
+\DeclareTextCommand{\LGR@accdropped}{LGR}[1]{#1}
-\DeclareTextCommand{\acc@Dialytika}{LGR}{\accdialytika}
+\DeclareTextCommand{\LGR@accDialytika}{LGR}{\accdialytika}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{\@hiatus}{\accdialytika}
+\DeclareTextCompositeCommand{\accdialytika}{LGR}{\LGR@hiatus}{\accdialytika}
-% .. TODO: MakeUppercase with ``\"'`` fails if the language is "greek".
-% How can we specify a composite command with character ``"9F``,
-% the uccode of ``'``?
-%
-% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{"9F}{\accdialytika}
-% % \DeclareTextAccent{\acc@Dialytika}{LGR}{34} % upcase Dialytika
-% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{\@hiatus}{\accdialytika}
-% % \DeclareTextCompositeCommand{\acc@Dialytika}{LGR}{'}{\accdialytika}
-%
-% Mark hiatus
-% '''''''''''
-%
-% Tonos and dasia mark a hiatus if placed on the
-% first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the
-% second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ,
-% ἀυπνία → ΑΫΠΝΙΑ)::
-
-\DeclareTextCommand{\@hiatus}{LGR}[1]{#1}
-\DeclareTextCompositeCommand{\@hiatus}{LGR}{>}{\@hiatus}
-\DeclareTextCompositeCommand{\@hiatus}{LGR}{<}{\acc@invisible}
-\DeclareTextCompositeCommand{\@hiatus}{LGR}{A}{\A@hiatus}
-\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textAlpha}{\A@hiatus}
-\DeclareTextCompositeCommand{\@hiatus}{LGR}{E}{\E@hiatus}
-\DeclareTextCompositeCommand{\@hiatus}{LGR}{\textEpsilon}{\E@hiatus}
-% What does the \@hiatus command "see" if an unicode literal follows?
-% \DeclareTextCompositeCommand{\@hiatus}{LGR}{\symbol{"ce}}{bluff}
-% \DeclareTextCompositeCommand{\@hiatus}{LGR}{"cf}{blaff}
-% \DeclareTextCompositeCommand{\@hiatus}{LGR}{ι}{blaff}
-
-% Look ahead and place a diaeresis on Ι or Υ::
-
-\DeclareTextCommand{\A@hiatus}{LGR}{%
+\DeclareTextCommand{\LGR@hiatus}{LGR}[1]{#1}
+\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{>}{\LGR@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{<}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{A}{\LGR@A@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textAlpha}{\LGR@A@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{E}{\LGR@E@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textEpsilon}{\LGR@E@hiatus}
+
+\DeclareTextCommand{\LGR@A@hiatus}{LGR}{%
\LGR@ifnextchar{I}{A\"}{%
\LGR@ifnextchar{U}{A\"}{%
\LGR@ifnextchar{\textIota}{A\"}{%
@@ -1121,7 +642,7 @@
}%
}%
}
-\DeclareTextCommand{\E@hiatus}{LGR}{%
+\DeclareTextCommand{\LGR@E@hiatus}{LGR}{%
\LGR@ifnextchar{I}{E\"}{%
\LGR@ifnextchar{U}{E\"}{%
\LGR@ifnextchar{\textIota}{E\"}{%
@@ -1131,16 +652,7 @@
}%
}
-% As ``\@ifnextchar`` gobbles spaces the lookahead macro definition from
-% ``amsgen.sty`` is used:
-%
-% This macro is a new version of LaTeX’s ``\@ifnextchar``, macro
-% that does not skip over spaces.
-%
-% ::
-
\ProvideTextCommand{\LGR@ifnextchar}{LGR}[3]{%
-% \long\def\LGR@ifnextchar#1#2#3{%
\let\reserved@d= #1%
\def\reserved@a{#2}\def\reserved@b{#3}%
\futurelet\@let@token\LGR@ifnch
@@ -1150,54 +662,3 @@
\reserved@b
}
-% Unfortunately, the lookahead breaks kerning.
-%
-% Alternatives tried:
-%
-% * CompositeCommands fail at the end of a macro, e.g. ``\emph{\'a}``::
-
- %\DeclareTextCommand{\A@hiatus}{LGR}{A}
- %\DeclareTextCommand{\E@hiatus}{LGR}{E}
-
- %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{}{A}
- %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{I}{A\"I}
- %\DeclareTextCompositeCommand{\A@hiatus}{LGR}{U}{A\"U}
-
-
-% * The glyph No 12 is a special "Upcase Alpha" that in ligature with Y
-% and I adds a diaresis to them. However, it seems that it has only
-% kerning definitions for I and Y (as it is not intended for direct
-% use)::
-
- %\DeclareTextComposite{\@hiatus}{LGR}{A}{12}
-
-% No such glyph exists for E but this is no problem as E does
-% not require kerning anyway.
-%
-% .. References
-% ----------
-%
-% .. _Adobe Glyph List For New Fonts:
-% http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt
-% .. _Adobe Glyph List:
-% http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt
-% .. _alphabeta: alphabeta.sty.html
-% .. _athnum: http://www.ctan.org/pkg/athnum
-% .. _Babel: http://www.ctan.org/pkg/babel
-% .. _babel patch: http://www.eutypon.gr/eutypon/pdf/e2008-20/e20-a03.pdf
-% .. _fntguide: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf
-% .. _fontenc: http://www.ctan.org/pkg/fontenc
-% .. _hyperref: http://www.ctan.org/pkg/hyperref
-% .. _ibycus: http://www.ctan.org/pkg/ibycus-babel
-% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
-% .. _lgrx: http://www.ctan.org/pkg/lgrx
-% .. _ltxcmds: http://www.ctan.org/pkg/ltxcmds
-% .. _libertine: http://www.ctan.org/pkg/libertine-legacy
-% .. _teubner: http://www.ctan.org/pkg/teubner
-% .. _teubner-doc:
-% http://mirror.ctan.org/macros/latex/contrib/teubner/teubner-doc.pdf
-% .. _textalpha: textalpha.sty.html
-% .. _ucs: http://www.ctan.org/pkg/unicode
-% .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt
-% .. _XML Entity Definitions for Characters:
-% http://www.w3.org/TR/xml-entity-names/