diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/greek-fontenc')
-rw-r--r-- | Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def | 689 |
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/ |