From d9add100de8f268f2b408533a41cc5624ef1ee7a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 17 Jul 2013 22:12:47 +0000 Subject: greek-fontenc (17jul13) git-svn-id: svn://tug.org/texlive/trunk@31220 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/greek-fontenc/lgrenc.def.html | 590 ++++----------------- 1 file changed, 103 insertions(+), 487 deletions(-) (limited to 'Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html') diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html index 48282a59f38..4b0ac85301f 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.html @@ -34,69 +34,52 @@ package.

Contents

-

Changelog

+

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.

@@ -200,11 +183,20 @@ package.

+ + + + + + + +
 

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.

-

Usage

+

Usage

Load this file by calling fontenc with the LGR option or indirectly via the babel, textalpha or alphabeta packages.

@@ -216,162 +208,15 @@ or indirectly via the -

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

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

    2. -
    3. converted to LICR macro names via a defined set of transformation rules.

    4. -
    -
    -
    Example:
    -

    \textfinalsigma or just \finalsigma as a more descriptive name -for GREEK SMALL LETTER FINAL SIGMA derived via the rules:

    -
      -
    • drop “LETTER” if the name remains unique,

    • -
    • drop “GREEK” if the name remains unique,

    • -
    • use capitalized name for capital letters, lowercase for “SMALL” letters -and drop “SMALL”,

    • -
    • concatenate

    • -
    -
    -
    -
  • -
  • Omit the “text” prefix for macros that do not have a math counterpart?

    -
    -
    Pro:
    -
      -
    • Simpler,

    • -
    • ease of use (less typing, better readability of source text),

    • -
    • many established text macro names without “text”,

    • -
    • there are examples of encoding-specific macros -without the text-prefix, especially for letters,

      -
      -
      T1
      -

      \AE \DH \DJ \L \NG \OE \O \SS \TH \ae \dh \dj \guillemotleft -\guillemotright \guilsinglleft \guilsinglright \i \j \l \ng -\oe \o \quotedblbase \quotesinglbase \ss \th (also in OT1)

      -
      -
      T2*
      -

      \CYR* and \cyr*

      -
      -
      HE8
      -

      \heb* or no prefix

      -
      -
      PU
      -

      short descriptive names in the arabic part (puarenc.def)

      -
      -
      -
    • -
    • text prefix does not mark a macro as encoding-specific or -“inserting a glyph”. There are e.g. font-changing macros (\textbf, -\textit) and encoding-changing macros (\textgreek, -\textcyr).

    • -
    -
    -
    Contra:
    -
      -
    • Less consistent.

    • -
    • text prefix marks a macro as confined to text mode.

    • -
    -
    -
    Conclusion:
    -

    To avoid name clashes, the font encoding file uses the text prefix -for symbols. Aliases (short forms, compatibility defs, etc.) can be -defined in packages.

    -
    -
    -
  • -
-
-
-

How to name accent macros?

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

  • -
  • tipa.sty and ucs use the “text” prefix also for accents.

    -

    However, the Adobe Glyph List For New Fonts maps, e.g., “tonos” and -“dieresistonos” to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence -texttonos and textdiaresistonos should be spacing characters.

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

  • -
  • Use a common prefix \textaccent..., \accent..., -or just \acc... (cf \@tabacckludge)?

  • -
-

Currently, lgrx uses for diacritics:

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

  • -
  • The prefix “acc” to distinguish the macros as TextAaccent and reduce the -risc of name clashes.

  • -
  • For the end-user “symbol macros” (\~ \' \` \" \< \>) are provided.

  • -
-
-
-

References

-

An alternative, more complete set of short mnemonic character names is -the XML Entity Definitions for Characters W3C Recommendation from -01 April 2010.

-

For glyph names of the LGR encoding see e.g. CB.enc by Apostolos -Syropoulos and xl-lgr.enc from the libertine (legacy) package. -lgr.cmap provides a mapping to Unicode characters.

-

A full set of \text* symbol macros is defined in ucsencs.def -from the ucs package.

-

Aliases from puenc.def ensure that the hyperref package can -convert Greek symbols to a PDF-string.

-
-
-

Implementation

+

Implementation

-

Read this file only once

+

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

@@ -384,9 +229,9 @@ anyway.

-

Identification

+

Identification

\ProvidesFile{lgrenc.def}
-[2013/05/24 v0.8.2 LGR Greek font encoding definitions]
+[2013/06/11 v0.8.3 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
@@ -396,27 +241,20 @@ anyway.

You can test the version date using

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

or using ltxcmds\@iffilelater

+

or using ltxcmds\@iffilelater.

-

Base setup

-

Declare the font encoding and base substitutions:

+

Base setup

+

Declare the LGR font encoding and base substitutions:

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

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

-
\DeclareTextCommand{\ensuregreek}{LGR}[1]{#1}
-
-

Text symbols

+

Text symbols

-

Greek Alphabet

+

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 @@ -481,9 +319,9 @@ encoding.

-

Additional Greek symbols

+

Additional Greek symbols

-

Ancient Greek Numbers (Athenian Numerals)

+

Ancient Greek Numbers (Athenian Numerals)

Names from ucs (ucsencs.def) (In ucs, five hundred is (wrongly?) named textpentehkaton.)

\DeclareTextSymbol{\textpentedeka}{LGR}{2}    % GREEK ACROPHONIC ATTIC FIFTY
@@ -493,7 +331,7 @@ encoding.

-

Archaic letters

+

Archaic letters

Names after teubner and ucs:

\DeclareTextSymbol{\textstigma}{LGR}{6}       % ϛ
 \DeclareTextSymbol{\textvarstigma}{LGR}{7}    % stigma variant (CB.enc, teubner)
@@ -508,44 +346,18 @@ encoding.

\DeclareTextSymbol{\textdigamma}{LGR}{147} % ϝ (ucs) \digamma used by amsmath for math-macro \DeclareTextSymbol{\textDigamma}{LGR}{195} % Ϝ (ucs)
-

Compatibility aliases for hyperref’s puenc.def, defined via -DeclareTextCommand so that up/downcasing works without the need for -additional uclclist entries:

-
\DeclareTextCommand{\textstigmagreek}{LGR}{\textstigma}   % puenc.def
-\DeclareTextCommand{\textkoppagreek}{LGR}{\textkoppa}     % puenc.def
-\DeclareTextCommand{\textStigmagreek}{LGR}{\textStigma}   % puenc.def
-\DeclareTextCommand{\textSampigreek}{LGR}{\textSampi}     % puenc.def
-\DeclareTextCommand{\textsampigreek}{LGR}{\textsampi}     % puenc.def
-\DeclareTextCommand{\textdigammagreek}{LGR}{\textdigamma} % puenc.def
-\DeclareTextCommand{\textDigammagreek}{LGR}{\textDigamma} % puenc.def
-
-

Compatibility aliases for babel’s greek.ldf (will be moved to the babel -package). :

-
% \digamma used by amsmath for math-macro
-\DeclareTextCommand{\ddigamma}{LGR}{\textdigamma}         % greek.ldf
-\DeclareTextCommand{\vardigamma}{LGR}{\textvarstigma}     % greek.ldf
-\DeclareTextCommand{\Digamma}{LGR}{\textDigamma}          % greek.ldf
-
-

Numeral signs

-

See also http://en.wikipedia.org/wiki/Greek_numerals -Names from hyperref’s puenc.def:

-
\DeclareTextSymbol{\textnumeralsigngreek}{LGR}{254} % ʹ (puenc.def)
-\DeclareTextSymbol{\textnumeralsignlowergreek}{LGR}{255} % ͵ (puenc.def)
-
-

Names from babel and teubner

-
\DeclareTextSymbol{\anwtonos}{LGR}{254}             % ʹ (Dexia keraia)
-\DeclareTextSymbol{\katwtonos}{LGR}{255}            % ͵ (Aristeri keraia)
-
-

Names from ucs

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

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

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 @@ -627,11 +430,11 @@ working also inside the tabbing environment.

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? -above) reducing the probability of incompatibilities compared to the +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)
@@ -671,120 +474,52 @@ of additional diacritic symbols:

-

Aliases

-

Symbol macros:

+

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

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
 
-

Two Unicode names for one character:

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

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

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

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.

-

Separate definitions for the supported variants of the second input token -are required as composition is based on the non-expanded input

-

The composition with simple “transcription characters” must also be defined -for the symbol macros, otherwise it fails with \Makeuppercase):

-
\DeclareTextCompositeCommand{\accdialytika}{LGR}{\acctonos}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{\'}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{'}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\"}{LGR}{'}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{\accvaria}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{\`}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{`}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\"}{LGR}{`}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{\accperispomeni}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{\~}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\accdialytika}{LGR}{~}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\"}{LGR}{~}{\accdialytikaperispomeni}
-
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\accdialytika}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\"}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{"}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\'}{LGR}{"}{\accdialytikatonos}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\accdasia}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\<}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{<}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\'}{LGR}{<}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\accpsili}{\accpsilioxia}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{\>}{\accpsilioxia}
-\DeclareTextCompositeCommand{\acctonos}{LGR}{>}{\accpsilioxia}
-\DeclareTextCompositeCommand{\'}{LGR}{>}{\accpsilioxia}
-
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\accdialytika}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\"}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{"}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\`}{LGR}{"}{\accdialytikavaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\accdasia}{\accdasiavaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\<}{\accdasiavaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{<}{\accdasiavaria}
-\DeclareTextCompositeCommand{\`}{LGR}{<}{\accdasiavaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\accpsili}{\accpsilivaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{\>}{\accpsilivaria}
-\DeclareTextCompositeCommand{\accvaria}{LGR}{>}{\accpsilivaria}
-\DeclareTextCompositeCommand{\`}{LGR}{>}{\accpsilivaria}
-
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdialytika}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\"}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{"}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\~}{LGR}{"}{\accdialytikaperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdasia}{\accdasiaperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\<}{\accdasiaperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{<}{\accdasiaperispomeni}
-\DeclareTextCompositeCommand{\~}{LGR}{<}{\accdasiaperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accpsili}{\accpsiliperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{\>}{\accpsiliperispomeni}
-\DeclareTextCompositeCommand{\accperispomeni}{LGR}{>}{\accpsiliperispomeni}
-\DeclareTextCompositeCommand{\~}{LGR}{>}{\accpsiliperispomeni}
-
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\acctonos}{\accpsilioxia}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\'}{\accpsilioxia}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{'}{\accpsilioxia}
-\DeclareTextCompositeCommand{\>}{LGR}{'}{\accpsilioxia}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\accvaria}{\accpsilivaria}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\`}{\accpsilivaria}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{`}{\accpsilivaria}
-\DeclareTextCompositeCommand{\>}{LGR}{`}{\accpsilivaria}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\accperispomeni}{\accpsiliperispomeni}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{\~}{\accpsiliperispomeni}
-\DeclareTextCompositeCommand{\accpsili}{LGR}{~}{\accpsiliperispomeni}
-\DeclareTextCompositeCommand{\>}{LGR}{~}{\accpsiliperispomeni}
-
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\acctonos}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\'}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{'}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\<}{LGR}{'}{\accdasiaoxia}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\accvaria}{\accdasiavaria}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\`}{\accdasiavaria}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{`}{\accdasiavaria}
-\DeclareTextCompositeCommand{\<}{LGR}{`}{\accdasiavaria}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\accperispomeni}{\accdasiaperispomeni}
-\DeclareTextCompositeCommand{\accdasia}{LGR}{\~}{\accdasiaperispomeni}
-\DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni}
-
+

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}
@@ -953,7 +688,7 @@ for the symbol macros, otherwise it fails with \Makeuppercas
 
-

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

@@ -1117,113 +852,12 @@ in cases where they are not needed when writing in lowercase)

-

UPPERCASE

-
-

@uclclist extension

-

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

-

Based on the babel patch and fontenc.sty.

-

The definition or an auxiliary, self-restting macro makes this idempotent -(only the first use of this function will expand the @uclclist). -The second and third lines are TeX’ way of writing uclclist += …:

-
\providecommand*\update@uclc@with@greek{%
-  \expandafter\def\expandafter\@uclclist\expandafter{%
-    \@uclclist
-    \accdasia\LGR@accdropped
-    \accdasiaoxia\LGR@hiatus
-    \accdasiavaria\LGR@accdropped
-    \accdasiaperispomeni\LGR@accdropped
-    \accpsili\LGR@hiatus
-    \accpsilioxia\LGR@hiatus
-    \accpsilivaria\LGR@hiatus
-    \accpsiliperispomeni\LGR@accdropped
-    \acctonos\LGR@hiatus
-    \accvaria\LGR@accdropped
-    \accdialytikatonos\LGR@accDialytika
-    \accdialytikavaria\LGR@accDialytika
-    \accdialytikaperispomeni\LGR@accDialytika
-    \accperispomeni\LGR@accdropped
-    \ypogegrammeni\prosgegrammeni
-    %
-    \textalpha  \textAlpha
-    \textbeta   \textBeta
-    \textgamma  \textGamma
-    \textdelta  \textDelta
-    \textepsilon\textEpsilon
-    \textzeta   \textZeta
-    \texteta    \textEta
-    \texttheta  \textTheta
-    \textiota   \textIota
-    \textkappa  \textKappa
-    \textlambda \textLambda
-    \textmu     \textMu
-    \textnu     \textNu
-    \textxi     \textXi
-    \textomicron\textOmicron
-    \textpi     \textPi
-    \textrho    \textRho
-    \textvarsigma  \textSigma
-    \textsigma     \textSigma
-    \textautosigma \textSigma
-    \texttau    \textTau
-    \textupsilon\textUpsilon
-    \textphi    \textPhi
-    \textchi    \textChi
-    \textpsi    \textPsi
-    \textomega  \textOmega
-    %
-    \textqoppa     \textQoppa
-    \textvarstigma \textStigma
-    \textstigma    \textStigma
-    \textsampi     \textSampi
-    \textdigamma   \textDigamma
-  }%
-  \let\update@uclc@with@greek\relax
-}
-
-

Expand the uclc list with the just defined macro:

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

Substitution macros

-
-

Drop diacritics

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

(The argument processing ensures that kerning is preserved)

-
-
-

Keep dialytika.

-

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

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

Mark hiatus

-

Tonos and dasia mark a hiatus if placed on the -first vowel of a diphthong (ΑΙ, ΑΥ, ΕΙ). A dialytika must be placed on the -second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, -ἀυπνία → ΑΫΠΝΙΑ):

-
\DeclareTextCommand{\LGR@hiatus}{LGR}[1]{#1}
-\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{>}{\LGR@hiatus}
-\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{<}{\LGR@accdropped}
-\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{A}{\LGR@A@hiatus}
-\DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\textAlpha}{\LGR@A@hiatus}
+

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:

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

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

% \DeclareTextCompositeCommand{\LGR@hiatus}{LGR}{\symbol{"ce}}{bluff}
@@ -1250,22 +884,6 @@ second vowel if they are dropped (άυλος → ΑΫΛΟΣ, μάινα → ΜΑ
   }%
 }
 
-

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

-
-

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

-
-
\ProvideTextCommand{\LGR@ifnextchar}{LGR}[3]{%
-  \let\reserved@d= #1%
-  \def\reserved@a{#2}\def\reserved@b{#3}%
-  \futurelet\@let@token\LGR@ifnch
-}
-\ProvideTextCommand{\LGR@ifnch}{LGR}{%
-  \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi
-  \reserved@b
-}
-

Unfortunately, the lookahead breaks kerning.

Alternatives tried:

    @@ -1293,7 +911,5 @@ not require kerning anyway.

-
-
-- cgit v1.2.3