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 --- Master/texmf-dist/doc/latex/greek-fontenc/README | 234 +++++++- .../texmf-dist/doc/latex/greek-fontenc/README.html | 241 +++++++-- .../doc/latex/greek-fontenc/diacritics.pdf | Bin 0 -> 255992 bytes .../doc/latex/greek-fontenc/diacritics.tex | 160 ++++++ .../doc/latex/greek-fontenc/greek-euenc.def.html | 568 ++++++++++++++++++++ .../doc/latex/greek-fontenc/greek-fontenc.def.html | 324 +++++++++++ .../doc/latex/greek-fontenc/greekhyperref.pdf | Bin 0 -> 217608 bytes .../doc/latex/greek-fontenc/greekhyperref.tex | 124 +++++ .../doc/latex/greek-fontenc/lgr2licr.lua | 169 ++++++ .../doc/latex/greek-fontenc/lgr2licr.lua.html | 139 +++++ .../doc/latex/greek-fontenc/lgrenc-test.pdf | Bin 257385 -> 284966 bytes .../doc/latex/greek-fontenc/lgrenc-test.tex | 70 ++- .../doc/latex/greek-fontenc/lgrenc.def.html | 590 ++++----------------- .../doc/latex/greek-fontenc/lgrenc.def.txt | 25 +- .../doc/latex/greek-fontenc/test-euenc.pdf | Bin 0 -> 46487 bytes .../doc/latex/greek-fontenc/test-euenc.tex | 580 ++++++++++++++++++++ .../doc/latex/greek-fontenc/test-xunicode.pdf | Bin 0 -> 59769 bytes .../doc/latex/greek-fontenc/test-xunicode.tex | 585 ++++++++++++++++++++ .../latex/greek-fontenc/xunicode-greek.sty.html | 585 ++++++++++++++++++++ 19 files changed, 3824 insertions(+), 570 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/diacritics.pdf create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/diacritics.tex create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc.def.html create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.tex create mode 100755 Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.pdf create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.tex create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.pdf create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.tex create mode 100644 Master/texmf-dist/doc/latex/greek-fontenc/xunicode-greek.sty.html (limited to 'Master/texmf-dist/doc/latex/greek-fontenc') diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/README b/Master/texmf-dist/doc/latex/greek-fontenc/README index 71d869868ad..f1934a3a0ac 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/README +++ b/Master/texmf-dist/doc/latex/greek-fontenc/README @@ -25,31 +25,46 @@ Greek font encoding definition files Files ===== +``_ + `Common Greek font encoding definitions `_. + ``_ - font encoding definitions for LGR + font encoding definitions for LGR_. + + The literate source ``_ was converted with PyLit_ to TeX + code and with Docutils_ to the documentation `LGR Greek font encoding + definitions `_. This file is the successor of the basic LGR encoding definition file which comes with babel_'s Greek support and ``lgrxenc.def`` from the lgrx_ - bundle. It defines LICR macros for Greek characters that select - pre-composed glyphs if possible and places the diacritics according to - Greek typesetting rules else. Combined accents can be specified as - backslash + transliteration (``\~>\textalpha``) or iteratively - (``\~\>\textalpha``). - -``_ - literate source (reStructuredText_ format) + bundle. + +``_ + test example, source ``_, + +``_ + `Greek script in PDF metadata`, source ``_ -``_ - literate source (HTML format) + The package hyperref_ defines the PU font encoding which also supports + (monotonic) Greek. -``_ - test example +Experimental files that are still in development and will eventually be +moved to/merged with other packages: -``_ - test output +``_ + `xunicode extension for Greek `_ + +``_ + Example for use of the experimental Greek LICR definitions with XeTeX. + +``_ + `Greek LICR definitions for XeTeX and LuaTeX `_ + +``_ + Example for use of the experimental Greek LICR definitions with XeTeX. -The literate source was converted with PyLit_ to TeX and with Docutils_ to -HTML format. +``_ + `LGR Transcription to Greek LICR transformation `_ Installation @@ -58,12 +73,14 @@ Installation If possible, get this package from your distribution using its installation manager. -Otherwise, make sure LaTeX can find the file `lgrenc.def`: +Otherwise, make sure LaTeX can find the files ``lgrenc.def``, +``greek-fontenc.def`` and eventually ``xunicode-greek.sty`` and +``greek-euenc.def``: -* Download and unpack `greek-fontenc.zip` or just download ``_. +* Download and unpack ``greek-fontenc.zip``. -* Copy/Move/Link ``lgrenc.def`` to a suitable place in the TDS_ and run - ``texhash``, or place it in the current working directory (e.g. for +* Copy/Move/Link the files to a suitable place in the TDS_ and run + ``texhash``, or place them in the current working directory (e.g. for testing). Usage @@ -76,6 +93,24 @@ Pass the encoding name as option to fontenc_. For example, specify T1 See [fntguide]_ for details and ``_ for an example. +For XeTeX/LuaTeX, you can specify the EU1/EU2 encoding and +load the experimental ``xunicode-greek``:: + + \usepackage[EU1]{fontenc} % XeTeX + % \usepackage[EU2]{fontenc} % LuaTeX + \usepackage{xunicode-greek} + +or ``greek-euenc.def``:: + + \usepackage[EU1]{fontenc} % XeTeX + % \usepackage[EU2]{fontenc} % LuaTeX + \makeatletter + \input{greek-euenc.def} + \makeatother + +However, XeTeX/LuaTeX usage details are very likely to change in the +future!!! + Greek text font encodings ========================= @@ -123,11 +158,153 @@ transliteration scheme (also explained in [babel-patch]_). It is currently not supported by `greek-fontenc`. The font encoding file ``lgienc.def`` from ibycus-babel_ provides a basic -setup (without LICR macros or composite definitions). +setup (without any LICR macros or composite definitions). + + +Greek LICR macro names +====================== + +This package provides LaTeX internal character representations (LICR macros) +for Greek letters and diacritics. Macro names were selected based on the +following considerations: + +The fntguide_ (section 6.4 Naming conventions) recommends: + + Where possible, text symbols should be named as ``\text`` followed + by the Adobe glyph name: for example ``\textonequarter`` or + ``\textsterling``. Similarly, math symbols should be named as + ``\math`` followed by the glyph name, for example + ``\mathonequarter`` or ``\mathsterling``. + +The `Adobe Glyph List For New Fonts`_ has names for many glyphs in the +`Greek and Coptic` Unicode block, but not for `Greek extended`. The `Adobe +Glyph List`_ (for existing fonts) lists additional glyph names used in older +fonts. As these are not intened for further active use, the latter are not +considered in the name choice. + +Proposals +--------- + +* If there exists a math-mode macro for a symbol, form the corresponding text + macro by prepending ``text``? + + 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. + + Conclusion: + To avoid name clashes, this package 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``, ``xunicode``, and ucs_ use the "text" prefix also for accents. + + However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and + "dieresistonos" to 0384 GREEK TONOS and 0385 GREEK DIALYTIKA TONOS, hence + `\texttonos` and `\textdiaresistonos` should be spacing characters. + +* textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without + ``text`` prefix). + +* Use a common prefix ``\textaccent...``, ``\accent...``, + or just ``\acc...`` (cf ``\@tabacckludge``)? + +Currently, `greek-fontenc` uses for diacritics: + +- Greek names like in Unicode, and ucsencs.def + +- 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 text in "LICR encoding" to a PDF-string (utf-8 encoded input is used +as-is). + .. [fntguide] LaTeX3 Project Team, `LaTeX2ε font selection`, 2005. http://mirror.ctan.org/macros/latex/doc/fntguide.pdf @@ -153,6 +330,14 @@ References .. _Docutils: http://docutils.sourceforge.net/rst.html .. _TDS: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=tds +.. _Adobe Glyph List For New Fonts: + http://www.adobe.com/devnet-archive/opentype/archives/aglfn.txt +.. _Adobe Glyph List: + http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt +.. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt +.. _XML Entity Definitions for Characters: + http://www.w3.org/TR/xml-entity-names/ + .. _CB Fonts: http://www.ctan.org/pkg/cbgreek-complete .. _GFS font collection: http://www.ctan.org/pkg/gfs .. _Kerkis: http://www.ctan.org/pkg/kerkis @@ -163,4 +348,7 @@ References .. _ibycus-babel: http://www.ctan.org/pkg/ibycus-babel .. _ibygrk: http://www.ctan.org/pkg/ibygrk .. _lgrx: http://www.ctan.org/pkg/lgrx +.. _libertine: http://www.ctan.org/pkg/libertine-legacy .. _substitutefont: http://www.ctan.org/pkg/substitutefont +.. _ucs: http://www.ctan.org/pkg/unicode + diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/README.html b/Master/texmf-dist/doc/latex/greek-fontenc/README.html index 9a5344eb640..3a811d6cc83 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/README.html +++ b/Master/texmf-dist/doc/latex/greek-fontenc/README.html @@ -47,41 +47,58 @@ punctuation may change in future versions.

Files

+
greek-fontenc.def
+

Common Greek font encoding definitions.

+
lgrenc.def
-

font encoding definitions for LGR

+

font encoding definitions for LGR.

+

The literate source lgrenc.def.txt was converted with PyLit to TeX +code and with Docutils to the documentation LGR Greek font encoding +definitions.

This file is the successor of the basic LGR encoding definition file which comes with babel’s Greek support and lgrxenc.def from the lgrx -bundle. It defines LICR macros for Greek characters that select -pre-composed glyphs if possible and places the diacritics according to -Greek typesetting rules else. Combined accents can be specified as -backslash + transliteration (\~>\textalpha) or iteratively -(\~\>\textalpha).

+bundle.

-
lgrenc.def.txt
-

literate source (reStructuredText format)

+
lgrenc-test.pdf
+

test example, source lgrenc-test.tex,

-
lgrenc.def.html
-

literate source (HTML format)

+
greekhyperref.pdf
+

Greek script in PDF metadata, source greekhyperref.tex

+

The package hyperref defines the PU font encoding which also supports +(monotonic) Greek.

-
lgrenc-test.tex
-

test example

+
+

Experimental files that are still in development and will eventually be +moved to/merged with other packages:

+
+
xunicode-greek.sty
+

xunicode extension for Greek

-
lgrenc-test.pdf
-

test output

+
test-xunicode.tex
+

Example for use of the experimental Greek LICR definitions with XeTeX.

+
+
greek-euenc.def
+

Greek LICR definitions for XeTeX and LuaTeX

+
+
test-euenc.tex
+

Example for use of the experimental Greek LICR definitions with XeTeX.

+
+
lgr2licr.lua
+

LGR Transcription to Greek LICR transformation

-

The literate source was converted with PyLit to TeX and with Docutils to -HTML format.

Installation

If possible, get this package from your distribution using its installation manager.

-

Otherwise, make sure LaTeX can find the file lgrenc.def:

+

Otherwise, make sure LaTeX can find the files lgrenc.def, +greek-fontenc.def and eventually xunicode-greek.sty and +greek-euenc.def:

    -
  • Download and unpack greek-fontenc.zip or just download lgrenc.def.

  • -
  • Copy/Move/Link lgrenc.def to a suitable place in the TDS and run -texhash, or place it in the current working directory (e.g. for +

  • Download and unpack greek-fontenc.zip.

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

@@ -91,7 +108,22 @@ testing).

(Latin) as default font encoding and LGR for Greek with

\usepackage[LGR,T1]{fontenc}
 
-

See [fntguide] for details and lgrenc-test.tex for an example.

+

See [fntguide] for details and lgrenc-test.tex for an example.

+

For XeTeX/LuaTeX, you can specify the EU1/EU2 encoding and +load the experimental xunicode-greek:

+
\usepackage[EU1]{fontenc} % XeTeX
+% \usepackage[EU2]{fontenc} % LuaTeX
+\usepackage{xunicode-greek}
+
+

or greek-euenc.def:

+
\usepackage[EU1]{fontenc} % XeTeX
+% \usepackage[EU2]{fontenc} % LuaTeX
+\makeatletter
+\input{greek-euenc.def}
+\makeatother
+
+

However, XeTeX/LuaTeX usage details are very likely to change in the +future!!!

Greek text font encodings

@@ -100,7 +132,7 @@ Greek letters and symbols are also defined in the Unicode-based font encodings EU1 (XeTeX), EU2 (LuaTeX) and PU (hyperref).

T7

-

The [encguide] reserves the name T7 for a Greek standard font encoding. +

The [encguide] reserves the name T7 for a Greek standard font encoding. However, up to now, there is no agreement on an implementation because the restrictions for general text encodings are too severe for typesetting polytonic Greek.

@@ -115,7 +147,7 @@ is facilitated by the [greek-usage], [teubner-doc], [cbfonts]).

+font (see [greek-usage], [teubner-doc], [cbfonts]).

A major drawback of the transliteration is, that you cannot access Latin letters if LGR is the active font encoding (e.g. in documents or parts of documents given the Babel language greek or polutionikogreek). @@ -127,48 +159,192 @@ Unicode (with XeTeX or LuaTeX).

LGI

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

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

+setup (without any LICR macros or composite definitions).

+
+
+
+

Greek LICR macro names

+

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

+

The fntguide (section 6.4 Naming conventions) recommends:

+
+

Where possible, text symbols should be named as \text followed +by the Adobe glyph name: for example \textonequarter or +\textsterling. Similarly, math symbols should be named as +\math followed by the glyph name, for example +\mathonequarter or \mathsterling.

+
+

The Adobe Glyph List For New Fonts has names for many glyphs in the +Greek and Coptic Unicode block, but not for Greek extended. The Adobe +Glyph List (for existing fonts) lists additional glyph names used in older +fonts. As these are not intened for further active use, the latter are not +considered in the name choice.

+
+

Proposals

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

    +
    +
    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, this package 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, xunicode, and ucs use the “text” prefix also for accents.

    +

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

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

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

  • +
+

Currently, greek-fontenc uses for diacritics:

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

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

-
[fntguide]
+

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 text in “LICR encoding” to a PDF-string (utf-8 encoded input is used +as-is).

+
[fntguide]

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

-
[encguide]
+
[encguide]

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

-
[greek-usage]
+
[greek-usage]

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

-
[cbfonts]
+
[cbfonts]

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

-
[teubner-doc]
+
[teubner-doc]

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

-
[babel-patch]
+
[babel-patch]

Werner Lemberg, Unicode support for the Greek LGR encoding Εὔτυπον, τεῦχος № 20, 2008. @@ -177,5 +353,6 @@ encoding Εὔτυπον, τεῦχος № 20, 2008.

+
diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/diacritics.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/diacritics.pdf new file mode 100644 index 00000000000..339f7adff6f Binary files /dev/null and b/Master/texmf-dist/doc/latex/greek-fontenc/diacritics.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/diacritics.tex b/Master/texmf-dist/doc/latex/greek-fontenc/diacritics.tex new file mode 100644 index 00000000000..95adc9cade6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/diacritics.tex @@ -0,0 +1,160 @@ +% Test definitions for accents and composite accents in Greek +\documentclass[a4paper,british,polutonikogreek]{article} +\pagestyle{empty} +\usepackage[margin=2.5cm]{geometry} +\usepackage{cmap} % fix search and cut-and-paste in Acrobat Reader + +\usepackage% +{lmodern} +% {gfsartemisia} +% {gfsbaskerville} +% [default]{gfsbodoni} +% [default]{gfscomplutum} +% {gfsdidot} +% [default]{gfsneohellenic} +% {lmodern} \usepackage{gfsporson} \renewcommand*\rmdefault{porson} +% [default]{gfssolomos} +% {kerkis} +% {teubner} +% \renewcommand{\ttdefault}{txtt} + +% Load the extended font encoding definitions (after font package) +\usepackage[LGRx,T1]{fontenc} + +\usepackage{listings} +\lstset{basicstyle=\ttfamily} + +% Babel package:: + +\usepackage{babel} +% revert the polutonikogreek definition of \~: +% not required with babel-greek >= 1.4 +% \addto\extraspolutonikogreek{\renewcommand*{\~}{\a~}} +% \addto\extrasgreek{\renewcommand*{\~}{\a~}} + +% "Lipsiakos" italic font `cbleipzig`: +\newcommand*{\lishape}{\fontencoding{LGR}\fontfamily{cmr}% + \fontshape{li}\selectfont} +\DeclareTextFontCommand{\textli}{\lishape} + + +\begin{document} + +\selectlanguage{british} + +\section*{Greek diacritics with standard accent macros} + +\texttt{lgrxenc.def} is a comprehensive font encoding definition file. +LICR macros are defined for all non-ASCII characters. +Diacritics can be input using an extension of the standard macro +commands with composite diacritics input as +backslash followed by the LGR transliteration.% +\footnote{This makes it easy to follow the advise in + \emph{teubner-doc}: ``typeset your paper with the regular + accent vowel ligatures and [{\ldots}] substitute them in the + final revision with the accented vowel macros only in those + instances where the lack of kerning is disturbing''.} + +The example in greek-usage.pdf: +% +\begin{quote} \selectlanguage{greek} + T\'i f\'hic? \enj\'ede pa\~id'' + \>eleuj\'eran t\`ac plhs\'ion N\'umfac stefano\~usan, + S\'wstrate, \>er\~wn \'ap\~hljec e\>uj\'uc? +\end{quote} +can be input as +\begin{lstlisting} + T\'i f\'hic? \enj\'ede pa\~id'' + \>eleuj\'eran t\`ac plhs\'ion N\'umfac stefano\~usan, + S\'wstrate, \>er\~wn \'ap\~hljec e\>uj\'uc? +\end{lstlisting} +% +Improvements: +% +\begin{itemize} + +\item Accents can be placed on any character:% + \footnote{In babel-greek versions < 1.4, Babel's \emph{polutonikogreek} + option re-defined \textbackslash\textasciitilde (even for + Latin with \textbackslash textlatin). + This document reverted the babel definition in the preamble + to make the tilde/perispomeni-accent work as usual in both, + English (\textgreek{ni\~n\~o} ni\~n\~o) and Greek % + % (\foreignlanguage{greek}{ni\~n\~o \textlatin{ni\~n\~o}}). + .} + \textgreek{\"k \`l \'m \~'p \>9 \`\>-} + +\item Kerning is preserved + \selectlanguage{greek} + \begin{tabular}[t]{llll} + & \textlatin{roman} & \textlatin{italic} & \textlatin{cbleipzig} \\ + \foreignlanguage{british}{accent macro:} & + a\>ut'os & \emph{a\>ut\'os} & \textli{a\>ut\'os} \\ + \foreignlanguage{british}{transliteration:} & + a>ut'os & \emph{a>ut'os} & \textli{a>ut'os}\\ + \end{tabular} + \selectlanguage{british} + + Like in any font encoding, kerning only works with pre-composed glyphs: + \textgreek{A\"UA $\ne$ A\~UA}, AVA $\ne$ A\~VA. + +\item Compatible with hyperref (see greekhyperref.pdf). + +\item Following Greek typesetting convention, diacritics (except the + dialytika) are placed to the left of capital letters and and dropped + by \verb|\MakeUppercase|: + + \begin{quote} \selectlanguage{greek} + \'antropos $\mapsto$ \MakeUppercase{\'antropos}, + \>'antropos $\mapsto$ \MakeUppercase{\>'antropos},\\ + Aqill\'eas $\mapsto$ \MakeUppercase{Aqill\'eas}, + \>Aqille\'us $\mapsto$ \MakeUppercase{\>Aqille\'us}. + \end{quote} + + The dialytika is printed even in cases where it's not needed + in lowercase: % the "hiatus" feature + \begin{quote} \selectlanguage{greek} + \'aulos $\mapsto$ \MakeUppercase{\'aulos}, + \'>aulos $\mapsto$ \MakeUppercase{\'\>aulos}, + % from http://diacritics.typo.cz/index.php?id=69 μάινα -> ΜΑΪΝΑ + m\'aina $\mapsto$ \MakeUppercase{m\'aina},\\ + % from http://de.wikipedia.org/wiki/Neugriechische_Orthographie#Das_Trema + % κέικ, ἀυπνία/αϋπνία + k\'eik, $\mapsto$ \MakeUppercase{k\'eik}, + \>aupn\'ia $\mapsto$ \MakeUppercase{\>aupn\'ia}. + \end{quote} +\end{itemize} + +\selectlanguage{british} Composite diacritics can be specified as +backslash + LGR transliteration or combined accent macros, +e.\,g. \textgreek{\~>a} can be written as +\begin{quote} + \verb+\~>a+, \verb+\>~a+, + \verb+\~\>{a}+, or \verb+\~\>a+. +\end{quote} +However, braces in composite accents +(\verb+\~{\>a}+, \verb+\~{>a}+, or \verb+\~{\>{a}}+) +lead to errors. + +\verb+\MakeUppercase+ works with most input variants but fails with a tilde +in a document which does \textbf{not} define the \texttt{greek} or +\texttt{polutonikogreek} language (where the tilde is an active character +denoting a \verb|\nobreakspace|). +Combining ``symbol macros'' (\verb+\>\~+) or reversing the order +(\verb+\~>+) is safe: +\foreignlanguage{greek}{\~>a $\mapsto$ \MakeUppercase{\~>a}}. + +Accent macros can start with \verb|\a| instead of \verb|\| when the +short form is redefined, e.\,g. inside a \emph{tabbing} environment. +This also works for the new-defined Dasia and Psili shortcuts +(\verb|\a<| and \verb|\a>|): +% +\begin{quote} +\selectlanguage{greek} +\begin{tabbing} +T'i f'hic? \= T\a'i f\a'hic? \\ + \a>enj\a'ede pa\a~id +\end{tabbing} +\end{quote} + +\end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc.def.html new file mode 100644 index 00000000000..d3db120a2a6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/greek-euenc.def.html @@ -0,0 +1,568 @@ + + + + + + +greek-euenc.def: Greek LICR definitions for XeTeX and LuaTeX + + + + + +
+

greek-euenc.def: Greek LICR definitions for XeTeX and LuaTeX

+ +
+ + +
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{greek-euenc}
+[2013/07/01 0.1 Greek LICRs for XeTeX and LuaTeX]
+
+
+
+

Experimental support for Greek LICR macros with XeTeX and LuaTeX. +Based on lgrenc.def and lgrenc.dfu.

+
+
Changelog:
+
+++++ + + + + + + +

2013-07-16

0.1

initial version

+
+
+

Requires XeTeX or LuaTeX and a font with Greek characters. See +test-euenc.tex and test-euenc.pdf for usage details and +example.

+

xunicode.sty defines several commands for the declaration of UTF +characters, composites and accents. These are (sparsely) documented in the +source. Unfortunately, they do not work seamless with the standard NFSS +commands described in the fntguide.

+

This file sets up LaTeX Internal Character Representaction (LICR) macros +based on standard LaTeX commands. It should work independed of xunicode. +(Currently, it only works if fontspec is loaded. TODO: Why?)

+
+

Greek Diacritics

+

Define “named macros” for simple and combined diacritics.

+
    +
  • Named accent macros can be used instead of the \@tabacckludge by +to-LaTeX converters to ensure working also inside the tabbing environment.

  • +
  • Named macros are required for upcasing according to Greek typesetting +conventions and in the definition of composite commands.

  • +
+

Greek alias names for standard accents:

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

Breathings:

+

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

+
\DeclareTextCommand{\accpsili}{\LastDeclaredEncoding}[1]{#1\char"0313 } % ψιλή spiritus lenis (smooth breathing)
+\DeclareTextCommand{\accdasia}{\LastDeclaredEncoding}[1]{#1\char"0314 } % δασεῖα spiritus asper (rough breathing)
+\DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili}
+\DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia}
+
+
+%% TODO: how to pass the char nr. to DeclareTextCommand?
+% \providecommand*{\DeclareTextAccentCombined}[3]{%
+%   \DeclareTextCommand{#1}{#2}[1]{##1\char"#3 }%
+% }
+% \DeclareTextAccentCombined{\accypogegrammeni}{\LastDeclaredEncoding}{0837}
+
+

Sub-iota:

+

\ypogegrammeni is a postfix accent (ligature in LGR)

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

Combined diacritics:

+
% The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts:
+\DeclareTextCommand{\accdialytikatonos}{\LastDeclaredEncoding}[1]{#1\char"0308 \char"0301 }
+\DeclareTextCommand{\accdialytikavaria}{\LastDeclaredEncoding}[1]{#1\char"0308 \char"0300 }
+\DeclareTextCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0308 }
+
+\DeclareTextCommand{\accdasiaoxia}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0301 }
+\DeclareTextCommand{\accdasiavaria}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0300 }
+\DeclareTextCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0342 }
+
+\DeclareTextCommand{\accpsilioxia}{\LastDeclaredEncoding}[1]{#1\char"0301 \char"0313 }
+\DeclareTextCommand{\accpsilivaria}{\LastDeclaredEncoding}[1]{#1\char"0300 \char"0313 }
+\DeclareTextCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0313 }
+
+
+
+

Composite Diacritics

+

Use the common Greek font encoding definitions:

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

Character Definitions

+

DeclareTextSymbol{textcompwordmark}{LastDeclaredEncoding}{8204}

+
+

Greek and Coptic

+
% NR    Unicode Name                                       %   babel name, % PU name
+% 0370  GREEK CAPITAL LETTER HETA                          % Ͱ
+% 0371  GREEK SMALL LETTER HETA                            % ͱ
+% 0372  GREEK CAPITAL LETTER ARCHAIC SAMPI                 % Ͳ
+% 0373  GREEK SMALL LETTER ARCHAIC SAMPI                   % ͳ
+\DeclareTextCommand{\textdexiakeraia}{\LastDeclaredEncoding}{ʹ} % \anwtonos, \textnumeralsigngreek
+\DeclareTextCommand{\textaristerikeraia}{\LastDeclaredEncoding}{͵} % \katwtonos, \textnumeralsignlowergreek
+% 0376  GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA            % Ͷ
+% 0377  GREEK SMALL LETTER PAMPHYLIAN DIGAMMA              % ͷ
+
+% 037A  GREEK YPOGEGRAMMENI (use \textcompwordmark\ypogegrammeni) % ͺ
+% 037B  GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+% 037C  GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+% 037D  GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+\DeclareTextCommand{\texterotimatiko}{\LastDeclaredEncoding}{;} % \textquestion
+
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textcompwordmark}{΄}
+\DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textcompwordmark}{΅}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textAlpha}{Ά}
+\DeclareTextCommand{\textanoteleia}{\LastDeclaredEncoding}{·} % \anoteleia
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textEpsilon}{Έ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textEta}{Ή}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textIota}{Ί}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textOmicron}{Ό}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textUpsilon}{Ύ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textOmega}{Ώ}
+\DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textiota}{ΐ}
+
+\DeclareTextCommand{\textAlpha}{\LastDeclaredEncoding}{Α}
+\DeclareTextCommand{\textBeta}{\LastDeclaredEncoding}{Β}
+\DeclareTextCommand{\textGamma}{\LastDeclaredEncoding}{Γ}
+\DeclareTextCommand{\textDelta}{\LastDeclaredEncoding}{Δ}
+\DeclareTextCommand{\textEpsilon}{\LastDeclaredEncoding}{Ε}
+\DeclareTextCommand{\textZeta}{\LastDeclaredEncoding}{Ζ}
+\DeclareTextCommand{\textEta}{\LastDeclaredEncoding}{Η}
+\DeclareTextCommand{\textTheta}{\LastDeclaredEncoding}{Θ}
+\DeclareTextCommand{\textIota}{\LastDeclaredEncoding}{Ι}
+\DeclareTextCommand{\textKappa}{\LastDeclaredEncoding}{Κ}
+\DeclareTextCommand{\textLambda}{\LastDeclaredEncoding}{Λ}
+\DeclareTextCommand{\textMu}{\LastDeclaredEncoding}{Μ}
+\DeclareTextCommand{\textNu}{\LastDeclaredEncoding}{Ν}
+\DeclareTextCommand{\textXi}{\LastDeclaredEncoding}{Ξ}
+\DeclareTextCommand{\textOmicron}{\LastDeclaredEncoding}{Ο}
+\DeclareTextCommand{\textPi}{\LastDeclaredEncoding}{Π}
+\DeclareTextCommand{\textRho}{\LastDeclaredEncoding}{Ρ}
+\DeclareTextCommand{\textSigma}{\LastDeclaredEncoding}{Σ}
+\DeclareTextCommand{\textTau}{\LastDeclaredEncoding}{Τ}
+\DeclareTextCommand{\textUpsilon}{\LastDeclaredEncoding}{Υ}
+\DeclareTextCommand{\textPhi}{\LastDeclaredEncoding}{Φ}
+\DeclareTextCommand{\textChi}{\LastDeclaredEncoding}{Χ}
+\DeclareTextCommand{\textPsi}{\LastDeclaredEncoding}{Ψ}
+\DeclareTextCommand{\textOmega}{\LastDeclaredEncoding}{Ω}
+
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textIota}{Ϊ}
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textUpsilon}{Ϋ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha}{ά}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textepsilon}{έ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta}{ή}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textiota}{ί}
+\DeclareTextCompositeCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textupsilon}{ΰ}
+
+\DeclareTextCommand{\textalpha}{\LastDeclaredEncoding}{α}
+\DeclareTextCommand{\textbeta}{\LastDeclaredEncoding}{β}
+\DeclareTextCommand{\textgamma}{\LastDeclaredEncoding}{γ}
+\DeclareTextCommand{\textdelta}{\LastDeclaredEncoding}{δ}
+\DeclareTextCommand{\textepsilon}{\LastDeclaredEncoding}{ε}
+\DeclareTextCommand{\textzeta}{\LastDeclaredEncoding}{ζ}
+\DeclareTextCommand{\texteta}{\LastDeclaredEncoding}{η}
+\DeclareTextCommand{\texttheta}{\LastDeclaredEncoding}{θ}
+\DeclareTextCommand{\textiota}{\LastDeclaredEncoding}{ι}
+\DeclareTextCommand{\textkappa}{\LastDeclaredEncoding}{κ}
+\DeclareTextCommand{\textlambda}{\LastDeclaredEncoding}{λ}
+\DeclareTextCommand{\textmu}{\LastDeclaredEncoding}{μ} % \textmugreek
+\DeclareTextCommand{\textnu}{\LastDeclaredEncoding}{ν}
+\DeclareTextCommand{\textxi}{\LastDeclaredEncoding}{ξ}
+\DeclareTextCommand{\textomicron}{\LastDeclaredEncoding}{ο}
+\DeclareTextCommand{\textpi}{\LastDeclaredEncoding}{π}
+\DeclareTextCommand{\textrho}{\LastDeclaredEncoding}{ρ}
+\DeclareTextCommand{\textvarsigma}{\LastDeclaredEncoding}{ς}
+\DeclareTextCommand{\textfinalsigma}{\LastDeclaredEncoding}{ς}
+\DeclareTextCommand{\textsigma}{\LastDeclaredEncoding}{σ}
+\DeclareTextCommand{\texttau}{\LastDeclaredEncoding}{τ}
+\DeclareTextCommand{\textupsilon}{\LastDeclaredEncoding}{υ}
+\DeclareTextCommand{\textphi}{\LastDeclaredEncoding}{φ}
+\DeclareTextCommand{\textchi}{\LastDeclaredEncoding}{χ}
+\DeclareTextCommand{\textpsi}{\LastDeclaredEncoding}{ψ}
+\DeclareTextCommand{\textomega}{\LastDeclaredEncoding}{ω}
+
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textiota}{ϊ}
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{\textupsilon}{ϋ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomicron}{ό}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textupsilon}{ύ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega}{ώ}
+
+\DeclareTextCommand{\textQoppa}{\LastDeclaredEncoding}{Ϙ}
+\DeclareTextCommand{\textqoppa}{\LastDeclaredEncoding}{ϙ}
+\DeclareTextCommand{\textStigma}{\LastDeclaredEncoding}{Ϛ} % \Stigma
+\DeclareTextCommand{\textstigma}{\LastDeclaredEncoding}{ϛ} % \stigma
+\DeclareTextCommand{\textDigamma}{\LastDeclaredEncoding}{Ϝ} % \Digamma
+\DeclareTextCommand{\textdigamma}{\LastDeclaredEncoding}{ϝ} % \ddigamma
+%03DE GREEK LETTER KOPPA                      % Ϟ \textKoppa
+\DeclareTextCommand{\textkoppa}{\LastDeclaredEncoding}{ϟ} % \koppa, \textqoppa [sic!]
+\DeclareTextCommand{\textSampi}{\LastDeclaredEncoding}{Ϡ} % \Sampi
+\DeclareTextCommand{\textsampi}{\LastDeclaredEncoding}{ϡ} % \sampi
+
+
+
+

Greek Extended

+
\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textalpha}{ἀ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textalpha}{ἁ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textalpha}{ἂ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textalpha}{ἃ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha}{ἄ}
+\DeclareTextCompositeCommand{\accdasiaoxia}{\LastDeclaredEncoding}{\textalpha}{ἅ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textalpha}{ἆ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textalpha}{ἇ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textAlpha}{Ἀ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textAlpha}{Ἁ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textAlpha}{Ἂ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textAlpha}{Ἃ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha}{Ἄ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha}{Ἅ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textAlpha}{Ἆ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textAlpha}{Ἇ}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textepsilon}{ἐ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textepsilon}{ἑ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textepsilon}{ἒ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textepsilon}{ἓ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textepsilon}{ἔ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textepsilon}{ἕ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEpsilon}{Ἐ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEpsilon}{Ἑ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEpsilon}{Ἒ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEpsilon}{Ἓ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEpsilon}{Ἔ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEpsilon}{Ἕ}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\texteta}{ἠ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\texteta}{ἡ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\texteta}{ἢ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\texteta}{ἣ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta}{ἤ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta}{ἥ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\texteta}{ἦ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\texteta}{ἧ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEta}{Ἠ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEta}{Ἡ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEta}{Ἢ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEta}{Ἣ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta}{Ἤ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta}{Ἥ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textEta}{Ἦ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textEta}{Ἧ}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textiota}{ἰ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textiota}{ἱ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textiota}{ἲ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textiota}{ἳ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textiota}{ἴ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textiota}{ἵ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textiota}{ἶ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textiota}{ἷ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textIota}{Ἰ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textIota}{Ἱ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textIota}{Ἲ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textIota}{Ἳ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textIota}{Ἴ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textIota}{Ἵ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textIota}{Ἶ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textIota}{Ἷ}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomicron}{ὀ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomicron}{ὁ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomicron}{ὂ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomicron}{ὃ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomicron}{ὄ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomicron}{ὅ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmicron}{Ὀ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmicron}{Ὁ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmicron}{Ὂ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmicron}{Ὃ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmicron}{Ὄ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmicron}{Ὅ}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textupsilon}{ὐ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textupsilon}{ὑ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textupsilon}{ὒ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textupsilon}{ὓ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textupsilon}{ὔ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textupsilon}{ὕ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ὖ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ὗ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textUpsilon}{Ὑ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textUpsilon}{Ὓ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textUpsilon}{Ὕ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textUpsilon}{Ὗ}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomega}{ὠ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomega}{ὡ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomega}{ὢ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomega}{ὣ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega}{ὤ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega}{ὥ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textomega}{ὦ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textomega}{ὧ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmega}{Ὠ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmega}{Ὡ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmega}{Ὢ}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmega}{Ὣ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega}{Ὤ}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega}{Ὥ}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textOmega}{Ὦ}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textOmega}{Ὧ}
+
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textalpha}{ὰ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha}{ά}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textepsilon}{ὲ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textepsilon}{έ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\texteta}{ὴ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta}{ή}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textiota}{ὶ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textiota}{ί}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomicron}{ὸ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomicron}{ό}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textupsilon}{ὺ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textupsilon}{ύ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega}{ὼ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega}{ώ}
+
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textalpha}{ὰ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textalpha}{ά}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textepsilon}{ὲ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textepsilon}{έ}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\texteta}{ὴ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\texteta}{ή}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textiota}{ὶ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textiota}{ί}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textomicron}{ὸ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textomicron}{ό}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textupsilon}{ὺ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textupsilon}{ύ}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textomega}{ὼ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textomega}{ώ}
+
+%% postfix ypogegrammeni cannot be second part of composite defs.
+% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾀ}
+% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾁ}
+% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾂ}
+% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾃ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾄ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾅ}
+% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾆ}
+% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾇ}
+% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾈ}
+% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾉ}
+% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾊ}
+% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾋ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾌ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾍ}
+% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾎ}
+% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textAlpha\prosgegrammeni}{ᾏ}
+%
+% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾐ}
+% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾑ}
+% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾒ}
+% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾓ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾔ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾕ}
+% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾖ}
+% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ᾗ}
+% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾘ}
+% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾙ}
+% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾚ}
+% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾛ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾜ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾝ}
+% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾞ}
+% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textEta\prosgegrammeni}{ᾟ}
+%
+% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾠ}
+% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾡ}
+% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾢ}
+% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾣ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾤ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾥ}
+% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾦ}
+% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ᾧ}
+% \DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾨ}
+% \DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾩ}
+% \DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾪ}
+% \DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾫ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾬ}
+% \DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾭ}
+% \DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾮ}
+% \DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textOmega\prosgegrammeni}{ᾯ}
+
+\DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textalpha}{ᾰ}
+\DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textalpha}{ᾱ}
+% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾲ}
+\DeclareTextCompositeCommand{\textalpha}{\LastDeclaredEncoding}{\ypogegrammeni}{ᾳ}
+% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾴ}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textalpha}{ᾶ}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha}{ᾶ}
+% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textalpha\ypogegrammeni}{ᾷ}
+\DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textAlpha}{Ᾰ}
+\DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textAlpha}{Ᾱ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textAlpha}{Ὰ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textAlpha}{Ά}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textAlpha}{Ὰ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textAlpha}{Ά}
+\DeclareTextCompositeCommand{\textAlpha}{\LastDeclaredEncoding}{\prosgegrammeni}{ᾼ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾽}
+\DeclareTextCommand{\prosgegrammeni}{\LastDeclaredEncoding}{ι}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textcompwordmark}{᾿}
+
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textcompwordmark}{῀}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῀}
+\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῁}
+% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῂ}
+\DeclareTextCompositeCommand{\texteta}{\LastDeclaredEncoding}{\ypogegrammeni}{ῃ}
+% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῄ}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\texteta}{ῆ}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta}{ῆ}
+% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\texteta\ypogegrammeni}{ῇ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEpsilon}{Ὲ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textEpsilon}{Έ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textEta}{Ὴ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textEta}{Ή}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textEpsilon}{Ὲ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textEpsilon}{Έ}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textEta}{Ὴ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textEta}{Ή}
+\DeclareTextCompositeCommand{\textEta}{\LastDeclaredEncoding}{\prosgegrammeni}{ῌ}
+\DeclareTextCompositeCommand{\accpsilivaria}{\LastDeclaredEncoding}{\textcompwordmark}{῍}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textcompwordmark}{῎}
+\DeclareTextCompositeCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῏}
+
+\DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textiota}{ῐ}
+\DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textiota}{ῑ}
+\DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textiota}{ῒ}
+\DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textiota}{ΐ}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textiota}{ῖ}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textiota}{ῖ}
+\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textiota}{ῗ}
+\DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textIota}{Ῐ}
+\DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textIota}{Ῑ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textIota}{Ὶ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textIota}{Ί}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textIota}{Ὶ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textIota}{Ί}
+\DeclareTextCompositeCommand{\accdasiavaria}{\LastDeclaredEncoding}{\textcompwordmark}{῝}
+\DeclareTextCompositeCommand{\accpsilioxia}{\LastDeclaredEncoding}{\textcompwordmark}{῞}
+\DeclareTextCompositeCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}{\textcompwordmark}{῟}
+
+\DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textupsilon}{ῠ}
+\DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textupsilon}{ῡ}
+\DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textupsilon}{ῢ}
+\DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textupsilon}{ΰ}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\textrho}{ῤ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textrho}{ῥ}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textupsilon}{ῦ}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῦ}
+\DeclareTextCompositeCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}{\textupsilon}{ῧ}
+\DeclareTextCompositeCommand{\u}{\LastDeclaredEncoding}{\textUpsilon}{Ῠ}
+\DeclareTextCompositeCommand{\=}{\LastDeclaredEncoding}{\textUpsilon}{Ῡ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textUpsilon}{Ὺ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textUpsilon}{Ύ}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textUpsilon}{Ὺ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textUpsilon}{Ύ}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textRho}{Ῥ}
+\DeclareTextCompositeCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textcompwordmark}{῭}
+\DeclareTextCompositeCommand{\accdialytikaoxia}{\LastDeclaredEncoding}{\textcompwordmark}{΅}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textcompwordmark}{`}
+
+% \DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῲ}
+% \DeclareTextCompositeCommand{\textomega}{\LastDeclaredEncoding}{\ypogegrammeni}{ῳ}
+% \DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῴ}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{\textomega}{ῶ}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega}{ῶ}
+% \DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\textomega\ypogegrammeni}{ῷ}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmicron}{Ὸ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textOmicron}{Ό}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\textOmega}{Ὼ}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\textOmega}{Ώ}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textOmicron}{Ὸ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textOmicron}{Ό}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\textOmega}{Ὼ}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\textOmega}{Ώ}
+\DeclareTextCompositeCommand{\textOmega}{\LastDeclaredEncoding}{\prosgegrammeni}{ῼ}
+\DeclareTextCompositeCommand{\accoxia}{\LastDeclaredEncoding}{\textcompwordmark}{´}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\textcompwordmark}{῾}
+
+
+
+

Letterlike Symbols

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

Ancient Greek Numbers

+

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

+

Definition with literal Unicode characters, because the code-point has 5 +hexadecimal digits:

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

UPPERCASE

+

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

+
+

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 (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, +ἀυπνία → ΑΫΠΝΙΑ).

+

Look ahead and place a diaeresis on Ι or Υ +(copied from lgrenc.def and changed Latin transcription to Unicode literals):

+
\DeclareTextCommand{\LGR@A@hiatus}{\LastDeclaredEncoding}{%
+  \LGR@ifnextchar{Ι}{A\"}{%
+    \LGR@ifnextchar{Υ}{A\"}{%
+      \LGR@ifnextchar{\textIota}{A\"}{%
+        \LGR@ifnextchar{\textUpsilon}{A\"}{A}%
+      }%
+    }%
+  }%
+}
+\DeclareTextCommand{\LGR@E@hiatus}{\LastDeclaredEncoding}{%
+  \LGR@ifnextchar{Ι}{E\"}{%
+    \LGR@ifnextchar{Υ}{E\"}{%
+      \LGR@ifnextchar{\textIota}{E\"}{%
+        \LGR@ifnextchar{\textUpsilon}{E\"}{E}%
+      }%
+    }%
+  }%
+}
+
+ +
+
+
+
+ + diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html b/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html new file mode 100644 index 00000000000..a6e263717fc --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/greek-fontenc.def.html @@ -0,0 +1,324 @@ + + + + + + +greek-fontenc.def + + + + + +
+

greek-fontenc.def

+

Common Greek font encoding definitions

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

+

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

+
+
+

Changelog

+ +++++ + + + + + + +

0.1

2013-07-03

code “outsourced” from lgrxenc.def

+
+
+

Usage

+

This file can be input by font encoding definition files after declaring the +font encoding.

+
+
Example:
+

Define Greek LICR’s for XeTeX

+
\DeclareFontEncoding{EU1}{}{}
+\input{greek-fontenc.def}
+% Unicode-specific LICR - Character mappings
+% ...
+
+
+
+
+
+

Implementation

+
+

Identification

+
\ProvidesFile{greek-fontenc.def}
+[2013/07/03 v0.1 Common Greek font encoding definitions]
+
+
+
+

Ensuregreek

+

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

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

Aliases

+

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

+
\DeclareTextCommand{\textstigmagreek}{\LastDeclaredEncoding}{\textstigma}
+\DeclareTextCommand{\textkoppagreek}{\LastDeclaredEncoding}{\textkoppa}
+\DeclareTextCommand{\textStigmagreek}{\LastDeclaredEncoding}{\textStigma}
+\DeclareTextCommand{\textSampigreek}{\LastDeclaredEncoding}{\textSampi}
+\DeclareTextCommand{\textsampigreek}{\LastDeclaredEncoding}{\textsampi}
+\DeclareTextCommand{\textdigammagreek}{\LastDeclaredEncoding}{\textdigamma}
+\DeclareTextCommand{\textDigammagreek}{\LastDeclaredEncoding}{\textDigamma}
+
+

Symbol macros for the breathings:

+
\DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia}
+\DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili}
+
+

TODO: do we also want alternative symbols for the breathings (cf. X compose +table, LCI encoding)?

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

Two Unicode names for one character:

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

Composite diacritics

+

Composite accents can be input as sequence of simple diacritics (in +arbitrary order) via named macro, symbol macro and “transcription +characters”, e.g. one of

+
\accdialytica\accvaria\textalpha,
+\"\'\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}{\LastDeclaredEncoding}{\acctonos}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\'}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{'}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{'}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\accvaria}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\`}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{`}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{`}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\accperispomeni}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\~}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{~}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\"}{\LastDeclaredEncoding}{~}{\accdialytikaperispomeni}
+
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\accdialytika}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\"}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{"}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{"}{\accdialytikatonos}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\accdasia}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\<}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{<}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{<}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\accpsili}{\accpsilioxia}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{\>}{\accpsilioxia}
+\DeclareTextCompositeCommand{\acctonos}{\LastDeclaredEncoding}{>}{\accpsilioxia}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{>}{\accpsilioxia}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{'}{\textquoteright}
+\DeclareTextCompositeCommand{\'}{\LastDeclaredEncoding}{\'}{\textquoteright}
+
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\accdialytika}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\"}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{"}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{"}{\accdialytikavaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\accdasia}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\<}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{<}{\accdasiavaria}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{<}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\accpsili}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{\>}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accvaria}{\LastDeclaredEncoding}{>}{\accpsilivaria}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{>}{\accpsilivaria}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{`}{\textquoteleft}
+\DeclareTextCompositeCommand{\`}{\LastDeclaredEncoding}{\`}{\textquoteleft}
+
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\accdialytika}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\"}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{"}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{"}{\accdialytikaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\accdasia}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\<}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{<}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{<}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\accpsili}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{\>}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accperispomeni}{\LastDeclaredEncoding}{>}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\~}{\LastDeclaredEncoding}{>}{\accpsiliperispomeni}
+
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\acctonos}{\accpsilioxia}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\'}{\accpsilioxia}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{'}{\accpsilioxia}
+\DeclareTextCompositeCommand{\>}{\LastDeclaredEncoding}{'}{\accpsilioxia}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\accvaria}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\`}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{`}{\accpsilivaria}
+\DeclareTextCompositeCommand{\>}{\LastDeclaredEncoding}{`}{\accpsilivaria}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\accperispomeni}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{\~}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\accpsili}{\LastDeclaredEncoding}{~}{\accpsiliperispomeni}
+\DeclareTextCompositeCommand{\>}{\LastDeclaredEncoding}{~}{\accpsiliperispomeni}
+
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\acctonos}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\'}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{'}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{'}{\accdasiaoxia}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accvaria}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\`}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{`}{\accdasiavaria}
+\DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{`}{\accdasiavaria}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\accperispomeni}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\accdasia}{\LastDeclaredEncoding}{\~}{\accdasiaperispomeni}
+\DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{~}{\accdasiaperispomeni}
+
+
+
+

UPPERCASE

+

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

+
+

@uclclist extension

+

Based on the babel patch and fontenc.sty.

+

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

+
\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 using the just defined macro:

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

Substitution macros

+

Drop diacritics +(The argument processing ensures that kerning is preserved)

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

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

+
\DeclareTextCommand{\LGR@accDialytika}{\LastDeclaredEncoding}{\accdialytika}
+\DeclareTextCompositeCommand{\accdialytika}{\LastDeclaredEncoding}{\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}{\LastDeclaredEncoding}[1]{#1}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{>}{\LGR@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{<}{\LGR@accdropped}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textAlpha}{\LGR@A@hiatus}
+\DeclareTextCompositeCommand{\LGR@hiatus}{\LastDeclaredEncoding}{\textEpsilon}{\LGR@E@hiatus}
+
+

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

+

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

+
+

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

+
+
\providecommand*{\LGR@ifnextchar}[3]{%
+  \let\reserved@d= #1%
+  \def\reserved@a{#2}\def\reserved@b{#3}%
+  \futurelet\@let@token\LGR@ifnch
+}
+\providecommand*{\LGR@ifnch}{%
+  \ifx\@let@token\reserved@d \let\reserved@b\reserved@a \fi
+  \reserved@b
+}
+
+ +
+
+
+
+ + diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf new file mode 100644 index 00000000000..a49d6697873 Binary files /dev/null and b/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.tex b/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.tex new file mode 100644 index 00000000000..e37f51334b3 --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/greekhyperref.tex @@ -0,0 +1,124 @@ +\documentclass{article} +\usepackage{fixltx2e} % LaTeX patches, \textsubscript +\usepackage{cmap} % fix search and cut-and-paste in Acrobat +\usepackage[LGR,T1]{fontenc} +\usepackage{lmodern} + +\usepackage[greek,english]{babel} +\usepackage{alphabeta} +\usepackage[utf8]{inputenc} + +\usepackage[unicode,colorlinks=true,linkcolor=blue]{hyperref} +\usepackage{bookmark} + +% \pagestyle{headings} + +\begin{document} + +\title{Greek and hyperref} +\maketitle + +\noindent +On 2010-11-05, Heiko Oberdiek wrote in comp.text.tex: +% +\begin{quote} + \textbackslash pdfstringdef (converting TeX code to PDF strings for + bookmarks) supports NFSS2 and needs active characters. Encoding + stuff based on the internal font machinery of TeX (letters with + catcode 11 or 12, ligatures) does not work, because the strings + don't reach TeX's stomach. +\end{quote} +% +The \emph{greek-fontenc} package allows input of Greek characters in a way +that ``reaches TeX's stomach'' and hence works in both, the main document as +well as in PDF strings (e.g. bookmarks). Hyperref's ``puenc.def`` font +encoding file defines LICR macros for monotonic Greek (Greek characters of +the ``Greek and Coptic'' unicode block). + +All utf8-encoded literal Unicode characters work in PDF strings. With +\emph{greek-fontenc} and \emph{greek-inputenc}, this enables use of all +Greek character in text and PDF strings. + +\section{Transcription: \ensuregreek{logos}, \foreignlanguage{greek}{logos}} + +\textbackslash{}textgreek + LGR transcription or +Greek language (babel) + LGR transcription: +In the PDF-bookmark are Latin letters instead of Greek ones. + + +\section{Macros: + \textlambda\textomicron\textgamma\textomicron\textvarsigma{}, + \lambda\omicron\gamma\omicron\varsigma{}, + λογος} + +textalpha package with \textbackslash{}textgreek* macros, +alphabeta package with \textbackslash{}alpha ... \textbackslash{}Omega macros, +and literal Greek Unicode characters. + +Works, if the ``unicode'' or ``pdfencoding=auto'' option is given to hyperref. +(With the ``xpdf'' viewer, Greek letters are not shown in PDF bookmarks.) + +The generic short macros from the \emph{alphabeta} package result in +hyperref warnings. See ``alphabeta-text.tex`` and ``alphabeta-test.pdf`` +from the `lgrx` package for details an workarounds. + + +\section{LGR + Macros: \foreignlanguage{greek}{ + \textlambda\textomicron\textgamma\textomicron\textvarsigma{}}} + +LICR-macro input works also if the font encoding is LGR. + +\section{% + Kerning: \textAlpha\textUpsilon\textLambda{} + \ensuregreek{\textAlpha\textUpsilon\textLambda} + \foreignlanguage{greek}{\textAlpha\textUpsilon\textLambda}% +} + +Kerning is impossible if the font encoding is switched for every single +character. Wrap the Greek part in a command switching to LGR font encoding +to fix this, either \verb+\ensuregreek{...}+ (with package textalpha) or +\verb+\foreignlanguage{greek}{...}+ (with babel). + +% letters of the Greek and Coptic Unicode Block supported by LGR: +\newcommand{\GreekAndCoptic}{ʹ͵ͺ; ΄ ΅ Ά·ΈΉΊΌΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩΪΫϘϚϜϠ} +\newcommand{\greekandcoptic}{άέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώϙϛϝϟϡ} + +\section{Literal Unicode input} +The following subsection headings contain all characters from the ``Greek +and Coptic'' and ``Greek Extended'' Unicode Blocks that are supported by the +LGR font encoding as literal Unicode characters. +\subsection{\GreekAndCoptic} +\subsection{\greekandcoptic} +\subsection{ἀἁἂἃἄἅἆἇἈἉἊἋἌἍἎἏ ἐἑἒἓἔἕἘἙἚἛἜἝ} +\subsection{ἠἡἢἣἤἥἦἧἨἩἪἫἬἭἮἯ ἰἱἲἳἴἵἶἷἸἹἺἻἼἽἾἿ} +\subsection{ὀὁὂὃὄὅὈὉὊὋὌὍ ὐὑὒὓὔὕὖὗὙὛὝὟ} +\subsection{ὠὡὢὣὤὥὦὧὨὩὪὫὬὭὮὯ ὰάὲέὴήὶίὸόὺύὼώ} +\subsection{ᾀᾁᾂᾃᾄᾅᾆᾇᾈᾉᾊᾋᾌᾍᾎᾏ ᾐᾑᾒᾓᾔᾕᾖᾗᾘᾙᾚᾛᾜᾝᾞᾟ} +\subsection{ᾠᾡᾢᾣᾤᾥᾦᾧᾨᾩᾪᾫᾬᾭᾮᾯ ᾰᾱᾲᾳᾴᾶᾷᾸᾹᾺΆᾼ᾽ι᾿} +\subsection{῀῁ῂῃῄῆῇῈΈῊΉῌ῍῎῏ ῐῑῒΐῖῗῘῙῚΊ῝῞῟} +\subsection{ῠῡῢΰῤῥῦῧῨῩῪΎῬ῭΅` ῲῳῴῶῷῸΌῺΏῼ´῾} + +\section{non-standard and combined diacritics: \ensuregreek{\>a \'"a}} + +Currently, there is no hyperref support for LICR input with non-standard +accents or combined diacritics characters. + +\section{Makeuppercase} + +According to Greek typesetting conventions, +diacritics (except the dialytika) are dropped in ALL CAPS. + +However, \verb|\Makeuppercase| is not supported in PDF-strings, so we +do not need to care for this. + +\section{Conclusion} + +For Greek text parts in section headers use either literal Unicode +characters or macros. For multi-accented letters or non-standard accents, +use literal pre-composed Unicode characters. (Combining Unicode characters +do not work with inputenc and 8-bit LaTeX. This is a general restriction.) + +For proper kerning in the main document, combine this with the +\verb+\textgreek+ or \verb+\foreignlanguage{greek}+ macros. + +\end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua b/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua new file mode 100755 index 00000000000..da64c0ad73b --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua @@ -0,0 +1,169 @@ +#!/usr/bin/env lua + +-- LGR Transcription to Greek LICR transformation +-- ********************************************** +-- +-- :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. +-- +-- .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt +-- +-- The LGR font encoding is the de-facto standard for Greek typesetting with +-- LaTeX. This file provides a translation from the Latin transcription defined +-- by LGR into the LaTeX Internal Character Representation (LICR) macros. +-- +-- :: + +usage = [[ +Usage: lua lgr2licr.lua [OPTIONS] [STRING] + Convert STRING from Latin transcription to LICR macros for Greek symbols. + (This dumb conversion fails if the string contains TeX macros.) + Without argument, the script reads from standard input like a + redirected file. End interactive input with Ctrl-D. +Options: -h, --help show this help + -f, --file read input from file STRING +]] + +if arg[1] == "-h" or arg[1] == "--help" then + print(usage) + return +end + +-- Get input string:: + +local s + +if arg[1] == "-f" then + local f = assert(io.open(arg[2], "r")) + s = f:read("*all") + f:close() +elseif arg[1] then + s = table.concat(arg, " ") .. "\n" +else + -- test: + -- s = "\\emph{x\\'us}" + s = io.read("*all") +end + +-- The mapping from the LGR Latin transcription to LICR macros:: + +LGR_map = { + A = "\\textAlpha{}", + B = "\\textBeta{}", + G = "\\textGamma{}", + D = "\\textDelta{}", + E = "\\textEpsilon{}", + Z = "\\textZeta{}", + H = "\\textEta{}", + J = "\\textTheta{}", + I = "\\textIota{}", + K = "\\textKappa{}", + L = "\\textLambda{}", + M = "\\textMu{}", + N = "\\textNu{}", + X = "\\textXi{}", + O = "\\textOmicron{}", + P = "\\textPi{}", + R = "\\textRho{}", + S = "\\textSigma{}", + T = "\\textTau{}", + U = "\\textUpsilon{}", + F = "\\textPhi{}", + Q = "\\textChi{}", + Y = "\\textPsi{}", + W = "\\textOmega{}", + + a = "\\textalpha{}", + b = "\\textbeta{}", + g = "\\textgamma{}", + d = "\\textdelta{}", + e = "\\textepsilon{}", + z = "\\textzeta{}", + h = "\\texteta{}", + j = "\\texttheta{}", + i = "\\textiota{}", + k = "\\textkappa{}", + l = "\\textlambda{}", + m = "\\textmu{}", + n = "\\textnu{}", + x = "\\textxi{}", + o = "\\textomicron{}", + p = "\\textpi{}", + r = "\\textrho{}", + s = "\\textautosigma{}", + c = "\\textfinalsigma{}", + t = "\\texttau{}", + u = "\\textupsilon{}", + f = "\\textphi{}", + q = "\\textchi{}", + y = "\\textpsi{}", + w = "\\textomega{}", + v = "\\noboundary{}", + + ["'"] = "\\'", + ["`"] = "\\`", + ["~"] = "\\~", + ["<"] = "\\<", + [">"] = "\\>", + ["|"] = "\\|", + ['"'] = '\\"', + [";"] = "\\textanoteleia{}", + ["?"] = "\\texterotimatiko{}", +} + +-- Return substitution string for 3 captures: +-- +-- `c1` backslash +-- `c2` a-zA-Z +-- `c3` any other char +-- :: + +function lgr_replace(c1, c2, c3) + -- print (c1, c2, c3) + if c1 == "\\" then + if c2 and (c2 ~= "") then + return c1 .. c2 .. (LGR_map[c3] or c3 or "") + end + return c1 .. c3 + end + c2 = string.gsub(c2, "s(.)", "sv%1") + return (string.gsub(c2, ".", LGR_map) or "") .. (LGR_map[c3] or c3 or "") +end + +-- Use the mapping to replace every ASCII-character with +-- non-standard meaning to the corresponding LICR macro +-- (skip macros):: + -- *([a-zA-Z'`~<>|\";?] +s = string.gsub(s, "(\\?)([a-zA-Z]*)([^\\]?)", lgr_replace) + +-- Ligatures:: + +s = string.gsub(s, "%(%(", "\\guillemotleft{}") +s = string.gsub(s, "%)%)", "\\guillemotright{}") +s = string.gsub(s, "\\'\\'", "\\textquoteright{}") -- '' +s = string.gsub(s, "\\`\\`", "\\textquoteleft{}") -- `` +s = string.gsub(s, '\"(%s)', "\\textquoteright{}%1") + +-- Separating empty group "{}" only required if followed by space or ASCII:: + +s = string.gsub(s, "{}([^ a-zA-Z])", "%1") + +-- Autosigma replacements:: + +s = string.gsub(s, "\\textautosigma\\noboundary", "\\textsigma") -- sv +s = string.gsub(s, "\\textautosigma(\\['`~<>|\"])", "\\textsigma%1") -- accents + +s = string.gsub(s, "\\textautosigma([-%s!#$%%&%(%)*+,./0-9:=%[%]{|}])", + "\\textfinalsigma%1") + +s = string.gsub(s, "\\textautosigma(\\textquote)", "\\textfinalsigma%1") +s = string.gsub(s, "\\textautosigma(\\texterotimatiko)", "\\textfinalsigma%1") +s = string.gsub(s, "\\textautosigma(\\textanoteleia)", "\\textfinalsigma%1") + +s = string.gsub(s, "\\textautosigma$", "\\textfinalsigma") + +-- Write the result to stdout:: + +io.write(s) diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html b/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html new file mode 100644 index 00000000000..7762506cab8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgr2licr.lua.html @@ -0,0 +1,139 @@ + + + + + + +LGR Transcription to Greek LICR transformation + + + + + +
+

LGR Transcription to Greek LICR transformation

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

+
+
+ +

The LGR font encoding is the de-facto standard for Greek typesetting with +LaTeX. This file provides a translation from the Latin transcription defined +by LGR into the LaTeX Internal Character Representation (LICR) macros.

+
usage = [[
+Usage: lua lgr2licr.lua [OPTIONS] [STRING]
+  Convert STRING from Latin transcription to LICR macros for Greek symbols.
+  Without argument, the script reads from standard input, e.g., a
+  redirected file or interactive input ended with Ctrl-D.
+Options: -h, --help      show this help
+]]
+
+if arg[1] == "-h" or arg[1] == "--help" then
+    print(usage)
+    return
+end
+
+

Get input string:

+
if ... then
+    s = string.gsub(..., "\t", " ")
+else
+    s = io.read("*all")
+end
+
+

The mapping from the LGR Latin transcription to LICR macros:

+
LGR_map = {
+  A = "\\textAlpha{}",
+  B = "\\textBeta{}",
+  G = "\\textGamma{}",
+  D = "\\textDelta{}",
+  E = "\\textEpsilon{}",
+  Z = "\\textZeta{}",
+  H = "\\textEta{}",
+  J = "\\textTheta{}",
+  I = "\\textIota{}",
+  K = "\\textKappa{}",
+  L = "\\textLambda{}",
+  M = "\\textMu{}",
+  N = "\\textNu{}",
+  K = "\\textXi{}",
+  O = "\\textOmicron{}",
+  P = "\\textPi{}",
+  R = "\\textRho{}",
+  S = "\\textSigma{}",
+  T = "\\textTau{}",
+  U = "\\textUpsilon{}",
+  F = "\\textPhi{}",
+  Q = "\\textChi{}",
+  Y = "\\textPsi{}",
+  W = "\\textOmega{}",
+
+  a = "\\textalpha{}",
+  b = "\\textbeta{}",
+  g = "\\textgamma{}",
+  d = "\\textdelta{}",
+  e = "\\textepsilon{}",
+  z = "\\textzeta{}",
+  h = "\\texteta{}",
+  j = "\\texttheta{}",
+  i = "\\textiota{}",
+  k = "\\textkappa{}",
+  l = "\\textlambda{}",
+  m = "\\textmu{}",
+  n = "\\textnu{}",
+  x = "\\textxi{}",
+  o = "\\textomicron{}",
+  p = "\\textpi{}",
+  r = "\\textrho{}",
+  s = "\\textautosigma{}",
+  c = "\\textfinalsigma{}",
+  t = "\\texttau{}",
+  u = "\\textupsilon{}",
+  f = "\\textphi{}",
+  q = "\\textchi{}",
+  y = "\\textpsi{}",
+  w = "\\textomega{}",
+  v = "\\noboundary{}",
+
+  ["'"] = "\\'",
+  ["`"] = "\\`",
+  ["~"] = "\\~",
+  ["<"] = "\\<",
+  [">"] = "\\>",
+  ["|"] = "\\|",
+  ['"'] = '\\"',
+  [";"] = "\\textanoteleia{}",
+  ["?"] = "\\texterotimatiko{}",
+}
+
+

Replace the “autosigma” (s) with “sigma” (sv) if followed by another +character and with “finalsigma” (c) if followed by space or punctuation:

+
s = string.gsub(s, "s([a-z'`~<>])", "sv%1")
+s = string.gsub(s, "s([ ,.:;?!])", "c%1")
+s = string.gsub(s, 's"(%s)', 'c"%1')  -- " before whitespace is quote/apostrophe
+
+

Use the mapping to replace every ASCII-character with +non-standard meaning to the corresponding LICR macro:

+
s = string.gsub(s, "([a-zA-Z'`~<>|\";?])", LGR_map)
+
+

Some cleanup operations:

+
s = string.gsub(s, "\\'\\'", "\\textquoteright{}")               -- ''
+s = string.gsub(s, "\\`\\`", "\\textquoteleft{}")                -- ``
+s = string.gsub(s, "\\textautosigma{}\\noboundary{}", "\\textsigma{}") -- sv
+s = string.gsub(s, "{}\\", "\\")
+
+

The quotation mark (“) denotes a quote/apostrophe if followed by a space:

+
s = string.gsub(s, '\"(%s)', "\\textquoteright{}%1")
+
+

Write the result to stdout:

+
io.write(s)
+
+
+ + diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf index f0fff1d197b..35d3e750ff9 100644 Binary files a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf and b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex index 8fe8862c207..e569e6cdc5d 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc-test.tex @@ -19,7 +19,9 @@ \usepackage{parskip} \usepackage{textcomp} \usepackage[LGR,T1]{fontenc} -% \usepackage[utf8]{inputenc} + +\usepackage[utf8]{inputenc} +\usepackage[pdfencoding=auto]{hyperref} \newcommand{\LGR}{\fontencoding{LGR}\selectfont} \newcommand{\Latin}{\fontencoding{T1}\selectfont} @@ -31,17 +33,40 @@ \begin{document} \title{Test LGR font encoding definitions} -\date{} +\author{Günter Milde} +% \date{} \maketitle The file lgrenc.def provides a comprehensive set of macros to typeset Greek with LGR encoded fonts. It works for both, monotonic and polytonic Greek, independent of the \emph{Babel} package. +The example from \texttt{usage.tex} in \emph{babel-greek} input +using the LICR macros: + +\begin{quote} + \LGR + \textTau\'\textiota{} + \textphi\'\texteta\textiota\textfinalsigma\texterotimatiko{} + \<\textIota\textdelta\`\textomega\textnu{} + \>\textepsilon\textnu\texttheta\'\textepsilon\textdelta\textepsilon{} + \textpi\textalpha\~\textiota\textdelta\'\' + \>\textepsilon\textlambda\textepsilon\textupsilon\texttheta\'\textepsilon\textrho\textalpha\textnu\\ + \texttau\`\textalpha\textfinalsigma{} + \textpi\textlambda\texteta\textautosigma\'\textiota\textomicron\textnu{} + \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{} + \textautosigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textautosigma\textalpha\textnu{}, + \textSigma\'\textomega\textautosigma\texttau\textrho\textalpha\texttau\textepsilon{},\\ + \>\textepsilon\textrho\~\textomega\textnu{} + \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} + \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} + +\end{quote} + \section{Symbols} -See the source file lgrenc-test.tex for the macros used to access the -symbols. +See the source file \href{lgrenc-test.tex}{lgrenc-test.tex} for the macros +used to access the symbols. \subsection{Generic text symbols} @@ -77,10 +102,18 @@ Quotes: \LGR \textquotedblleft{}a\textquotedblright{} \Latin (double quotes wrong with Kerkis fonts), -\Latin \guilsinglleft{}a\guilsinglright{} - \quotedblbase{}a\textquotedblright{} -Single guillemots and base-quotes are missing in LGR. - +\begin{quote} + Single quotes need special attention to prevent conversion to accents. + Test the input conventions: + \LGR \textquoteleft{}a\textquoteright{} ``a'' \``a\'' \`\`a\'\' + \Latin but not \LGR `a' 'e' "i"\Latin + + Single guillemots and base-quotes + (\guilsinglleft{}a\guilsinglright{} + \quotedblbase{}a\textquotedblright{} + \quotesinglbase{}a\textquoteright{}) + are missing in LGR. +\end{quote} Ligature break up: AY fi \LGR AU "i $\mapsto$ \Latin A\textcompwordmark{}Y f\textcompwordmark i @@ -118,12 +151,12 @@ Ligature break up: AY fi \LGR AU "i $\mapsto$ \LGR \textschwa{}, \texteuro{} \Latin -Some symbol definitions expect a Latin font. Babel redefines them with -\verb|\latintext|, however this macro is not guaranteed to be defined, so it -should not be used in a font encoding definition file. Instead, the -textcomp.sty package should be used to provide the symbols for all font -encodings. (Like any other Latin character, the ``sharp s'' (\ss) is not -save to use when LGR is the active font encoding.) +Some symbol definitions expect a Latin font.\emph{ babel-greek} redefines +them with \verb|\latintext|, however this macro is not guaranteed to be +defined, so it should not be used in a font encoding definition file. The +textcomp.sty package provides coyright, registered, and trademark symbols +for use with any font encodings. (Like any other Latin character, the +``sharp s'' (\ss) is not save to use when LGR is the active font encoding.) Latin: \textcopyright{} @@ -198,14 +231,17 @@ variant shapes in place of the ``regular'' ones. \section{Diacritics} Capital Greek letters have Greek diacritics (except the dialytika) to the -left (instead of above) and drop them in UPPERCASE. This is -implemented for all combinations for which a pre-composed Unicode -character exists (but not, e.g., \LGR \~A\Latin). +left (instead of above) and drop them in UPPERCASE. This is implemented for +all combinations for which a pre-composed Unicode character exists (but not, +e.g., \LGR \~A\Latin). % When a word is written entirely in capital letters, diacritics are % never used; the word Ἢ (or), is an exception to this rule because of % the need to distinguish it from the nominative feminine article Η. +Different conventions exist for the treatment of the sub-iota with uppercase +letters. The CB-Fonts use a capital Iota ``index''. + LaTeX standard accents (Latin, Greek, Greek Capitals) $\mapsto$ UPPERCASE 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.

-

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.

-
-
diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt index df207bb265e..8b6ea9fa8ac 100644 --- a/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt +++ b/Master/texmf-dist/doc/latex/greek-fontenc/lgrenc.def.txt @@ -49,6 +49,7 @@ lgrx_ bundle. With version 0.8, it moved to ``greek-fontenc/lgrx.def``. 0.8.2 2013-05-23 fix name: ``\textpentehkaton`` -> ``\textpentehekaton``, .. fix ``\textperiodcentered``, .. add composite command for Ῥ (Rho with Dasia). +0.8.3 unpublished add composite commands for single quotation marks ===== ============ ======================================================== Usage @@ -232,7 +233,7 @@ 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 @@ -440,16 +441,16 @@ T1:: TS1:: - \ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘ - \ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯ - \ProvideTextCommand{\textasciidieresis}{LGR}{\char34\textcompwordmark} % " - \ProvideTextCommand{\textasciiacute}{LGR}{\char39\textcompwordmark} % ' - \ProvideTextCommand{\textasciigrave}{LGR}{\char96\textcompwordmark} % ` - \DeclareTextCommand{\textasciitilde}{LGR}{\char126\textcompwordmark} % ~ + \ProvideTextCommand{\textasciibreve}{LGR}{\char30\textcompwordmark} % ˘ + \ProvideTextCommand{\textasciimacron}{LGR}{\char31\textcompwordmark} % ¯ + \ProvideTextCommand{\textasciidieresis}{LGR}{"\textcompwordmark} % " + \ProvideTextCommand{\textasciiacute}{LGR}{'\textcompwordmark} % ' + \ProvideTextCommand{\textasciigrave}{LGR}{`\textcompwordmark} % ` + \DeclareTextCommand{\textasciitilde}{LGR}{\char126\textcompwordmark} % ~ \DeclareTextSymbol{\textohm}{LGR}{87} % Ω (Ohm sign -> Omega) \DeclareTextSymbol{\texteuro}{LGR}{24} % € \euro in greek.ldf \DeclareTextSymbol{\textpercent}{LGR}{37} % % - \DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permille in greek.ldf + \DeclareTextSymbol{\textperthousand}{LGR}{25} % ‰ \permill in greek.ldf T3:: @@ -629,6 +630,8 @@ for the symbol macros, otherwise it fails with ``\Makeuppercase``):: \DeclareTextCompositeCommand{\acctonos}{LGR}{\>}{\accpsilioxia} \DeclareTextCompositeCommand{\acctonos}{LGR}{>}{\accpsilioxia} \DeclareTextCompositeCommand{\'}{LGR}{>}{\accpsilioxia} + \DeclareTextCompositeCommand{\'}{LGR}{'}{\textquoteright} + \DeclareTextCompositeCommand{\'}{LGR}{\'}{\textquoteright} \DeclareTextCompositeCommand{\accvaria}{LGR}{\accdialytika}{\accdialytikavaria} \DeclareTextCompositeCommand{\accvaria}{LGR}{\"}{\accdialytikavaria} @@ -642,6 +645,8 @@ for the symbol macros, otherwise it fails with ``\Makeuppercase``):: \DeclareTextCompositeCommand{\accvaria}{LGR}{\>}{\accpsilivaria} \DeclareTextCompositeCommand{\accvaria}{LGR}{>}{\accpsilivaria} \DeclareTextCompositeCommand{\`}{LGR}{>}{\accpsilivaria} + \DeclareTextCompositeCommand{\`}{LGR}{`}{\textquoteleft} + \DeclareTextCompositeCommand{\`}{LGR}{\`}{\textquoteleft} \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\accdialytika}{\accdialytikaperispomeni} \DeclareTextCompositeCommand{\accperispomeni}{LGR}{\"}{\accdialytikaperispomeni} @@ -1058,7 +1063,6 @@ The second and third lines are TeX' way of writing ``uclclist += …``:: \accdialytikaperispomeni\LGR@accDialytika \accperispomeni\LGR@accdropped \ypogegrammeni\prosgegrammeni - % \textalpha \textAlpha \textbeta \textBeta \textgamma \textGamma @@ -1085,7 +1089,6 @@ The second and third lines are TeX' way of writing ``uclclist += …``:: \textchi \textChi \textpsi \textPsi \textomega \textOmega - % \textqoppa \textQoppa \textvarstigma \textStigma \textstigma \textStigma @@ -1095,7 +1098,7 @@ The second and third lines are TeX' way of writing ``uclclist += …``:: \let\update@uclc@with@greek\relax } -Expand the uclc list with the just defined macro:: +Expand the uclc list using the just defined macro:: \update@uclc@with@greek diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.pdf new file mode 100644 index 00000000000..2b0c1814cac Binary files /dev/null and b/Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.tex b/Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.tex new file mode 100644 index 00000000000..fa0e55a3dc5 --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/test-euenc.tex @@ -0,0 +1,580 @@ +\documentclass[a4paper]{article} +% \usepackage{textcomp} +% \usepackage{hyperref,bookmark} +\usepackage{parskip} +% \usepackage{booktabs} + +\usepackage{fontspec} +% \setmainfont{DejaVu Serif} +% \setsansfont{DejaVu Sans} +% \usepackage{libertineotf} +\setmainfont{FreeSerif} + +% Declare the font encoding: +\ifdefined\XeTeXrevision + % \DeclareFontEncoding{EU1}{}{} + \usepackage[EU1]{fontenc} +\fi +\ifdefined\luatexversion + % \DeclareFontEncoding{EU2}{}{} + \usepackage[EU2]{fontenc} +\fi + + +% \newcommand{\UTFencname}{\LastDeclaredEncoding} +% \usepackage{xunicode} +\makeatletter +% Greek LICR definitions: +\input{greek-euenc.def} +\makeatother + +\begin{document} + +\section*{Greek LICR definitions with XeTeX/LuaTeX} + +Typesetting Greek texts requires a font containing Greek letters. With the +XeTeX or LuaTeX engines, the user should ensure that the choosen font +contains the required glyphs (the default Latin Modern fonts have only +capital Greek letters). Examples for suitable fonts are the “Deja Vu” or +the “Linux Libertine” OpenType fonts. + +\section{LICR input} + +% The example from \texttt{usage.tex} in \emph{babel-greek} input +% using the LICR macros: + +% \begin{quote} +% \textTau\'\textiota{} +% \textphi\'\texteta\textiota\textfinalsigma\texterotimatiko{} +% \<\textIota\textdelta\`\textomega\textnu{} +% \>\textepsilon\textnu\texttheta\'\textepsilon\textdelta\textepsilon{} +% \textpi\textalpha\~\textiota\textdelta\'\' +% \>\textepsilon\textlambda\textepsilon\textupsilon\texttheta\'\textepsilon\textrho\textalpha\textnu\\ +% \texttau\`\textalpha\textfinalsigma{} +% \textpi\textlambda\texteta\textautosigma\'\textiota\textomicron\textnu{} +% \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{} +% \textautosigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textautosigma\textalpha\textnu{}, +% \textSigma\'\textomega\textautosigma\texttau\textrho\textalpha\texttau\textepsilon{},\\ +% \>\textepsilon\textrho\~\textomega\textnu{} +% \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} +% \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} +% \end{quote} + +\subsection{Greek alphabet} + +Greek letters via LICR macros: + + +\textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{} +\textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{} +\textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{} +\textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{} +\textChi{} \textPsi{} \textOmega{} + +\textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{} +\textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{} +\textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{} +\textrho{} \textsigma{} \texttau{} \textupsilon{} +\textphi{} \textchi{} \textpsi{} \textomega{} + +The small sigma is set with a different +glyph if it ends a word: + + \textsigma{} textsigma \\ + \textfinalsigma{} textfinalsigma or textvarsigma + +In the Latin transcription, the letter `s' stands for \verb|\textautosigma| +which automatically chooses the glyph according to the position. + +\subsection{Additional Greek symbols} + +\textkoppa{} textkoppa \\ % ϟ +\textqoppa{} textqoppa (archaic koppa) \\ % ϙ +\textQoppa{} textQoppa (archaic Koppa) \\ % Ϙ +\textstigma{} textstigma \\ % ϛ +% \textvarstigma{} textvarstigma \\ % no separate Unicode character +\textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)% +\footnote{the name “stigma” originally applied to a medieval sigma-tau + ligature, whose shape was confusably similar to the cursive + digamma} \\ % Ϛ +\textsampi{} textsampi \\ % ϡ +\textSampi{} textSampi \\ % Ϡ +\textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!) +\textDigamma{} textDigamma \\ % Ϝ +% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals +\textdexiakeraia{} textdexiakeraia \\ % ʹ +\textaristerikeraia{} textaristerikeraia \\ % ͵ + +Mathematical notation uses variant shapes for pi, kappa, rho, theta, and phi +as additional symbols. These variations have no syntactic meaning in Greek +text and are not given separate code-points in the LGR text encoding. Some +text fonts use the variant shapes in place of the “regular” ones. + +TeX's concept of “standard” vs. “variant” symbols does not map to the +distinction between “Greek Letter ...” vs. “Greek Symbol ...” in the +Unicode standard: + +\begin{tabular}{cccc} +math symbol & Unicode «letter» & var math symbol & Unicode «symbol» \\ +$\epsilon$ & ε & $\varepsilon$ & ϵ \\ +$\kappa$ & κ & \emph{missing} & ϰ \\ +$\pi$ & π & $\varpi$ & ϖ \\ +$\rho$ & ρ & $\varrho$ & ϱ \\ +$\theta$ & θ & $\vartheta$ & ϑ \\ +$\phi$ & φ & $\varphi$ & ϕ \\ +\end{tabular} + +\subsection{Diacritics} + +Greek diacritcs can be input by named macro or symbol macro. Named macros +are defined in xunicode-greek.sty for \verb|\LastDeclaredEncoding| (here +\LastDeclaredEncoding). + +\acctonos\textalpha \'\textalpha{} \acctonos x\'x +\accvaria\textalpha \`\textalpha{} \accvaria x\`x +\accdialytika\textiota \"\textiota{} \accdialytika x\"x +\accperispomeni\textalpha \~\textalpha{} \accperispomeni x\~x +\accpsili\textalpha \>\textalpha{} \accpsili x\>x +\accdasia\textalpha \<\textalpha{} \accdasia x\'\textiota{} \accpsilioxia x \>'x +\accpsilivaria\textiota \>`\textiota{} \accpsilivaria x \>`x +\accpsiliperispomeni\textiota \~>\textiota{} \accpsiliperispomeni x \~>x + +Problems: Composite diacritics with breathings overlap when set using two +combining characters (in the tested fonts). + + +Upcasing with \verb|\MakeUppercase| drops diacritics (except +dialytika and sub-iota): + +\MakeUppercase{ +\accdialytikatonos\textiota \"'\textiota{} \accdialytikatonos x \"'x +\accdialytikavaria\textiota \"`\textiota{} \accdialytikavaria x \"`x +\accdialytikaperispomeni\textiota \~"\textiota{} \accdialytikaperispomeni x \~"x +} + +\MakeUppercase{ +\accdasiaoxia\textiota \<'\textiota{} \accdasiaoxia x \<'x +\accdasiavaria\textiota \<`\textiota{} \accdasiavaria x \<`x +\accdasiaperispomeni\textiota \~<\textiota{} \accdasiaperispomeni x \~'\textiota{} \accpsilioxia x \>'x +\accpsilivaria\textiota \>`\textiota{} \accpsilivaria x \>`x +\accpsiliperispomeni\textiota \~>\textiota{} \accpsiliperispomeni x \~>x +} + + +The sub-iota is input after the base letter. +Ligature definitions in the 8-bit LGR fonts ensure that pre-composed +characters are used. This does not work with XeTeX/LuaTeX:\footnote{% + When copy/pasting generated output from the “evince” PDF + viewer, the COMBINING GREEK YPOGEGRAMMENI is merged with the base + character. A capital letter + combining ypogegrammeni results in GREEK + CAPITAL LETTER ... WITH [.. AND] PROSGEGRAMMENI). This indicates that for + a subfix (in contrast to post-fix) prosgegrammeni, the combining + \emph{ypogegrammeni} could be used together with a captial base letter.} + +\textalpha\ypogegrammeni{} x\ypogegrammeni{} \textAlpha\prosgegrammeni{} +X\prosgegrammeni, see also the \emph{Greek extended} Unicode block below. + +Both, the standard LaTeX and the “xunicode” composite mechanism require +the first part of a composite definition to be a macro requiring one +argument. I.e. selecting pre-defined characters with sub-iota requires +prefix \verb|\accypogegrammeni{}| and \verb|\accprosgegrammeni| accent +macros. + +\subsection{Greek and Coptic Unicode block} + +Greek symbols from the Greek and Coptic Unicode block are fully supported: + +% NR Unicode Name % babel name, UCS name +% 0370 GREEK CAPITAL LETTER HETA % Ͱ +% 0371 GREEK SMALL LETTER HETA % ͱ +% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ +% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % Ͳ +\textnumeralsigngreek{} % ʹ \anwtonos, \textdexiakeraia +\textnumeralsignlowergreek{} % ͵ \katwtonos, \textaristerikeraia, +% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ +% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ + +\textcompwordmark\ypogegrammeni{} % ͺ \textsubiota{\empty} +% 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL % +% 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL % +% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL % +\texterotimatiko{} % ; \textquestion + +\'\textcompwordmark{} % ΄ +\"'\textcompwordmark{} % ΅ +\'\textAlpha{} % Ά +\textanoteleia{} % · \anoteleia +\'\textEpsilon{} % Έ +\'\textEta{} % Ή +\'\textIota{} % Ί +\'\textOmicron{} % Ό +\'\textUpsilon{} % Ύ +\'\textOmega{} % Ώ +\'"\textiota{} % ΐ + +\textAlpha{} % Α +\textBeta{} % Β +\textGamma{} % Γ +\textDelta{} % Δ +\textEpsilon{} % Ε +\textZeta{} % Ζ +\textEta{} % Η +\textTheta{} % Θ +\textIota{} % Ι +\textKappa{} % Κ +\textLambda{} % Λ +\textMu{} % Μ +\textNu{} % Ν +\textXi{} % Ξ +\textOmicron{} % Ο +\textPi{} % Π +\textRho{} % Ρ +\textSigma{} % Σ +\textTau{} % Τ +\textUpsilon{} % Υ +\textPhi{} % Φ +\textChi{} % Χ +\textPsi{} % Ψ +\textOmega{} % Ω + +\"\textIota{} % Ϊ +\"\textUpsilon{} % Ϋ +\'\textalpha{} % ά +\'\textepsilon{} % έ +\'\texteta{} % ή +\'\textiota{} % ί +\"'\textupsilon{} % ΰ + +\textalpha{} % α +\textbeta{} % β +\textgamma{} % γ +\textdelta{} % δ +\textepsilon{} % ε +\textzeta{} % ζ +\texteta{} % η +\texttheta{} % θ +\textiota{} % ι +\textkappa{} % κ +\textlambda{} % λ +\textmu{} % μ \textmugreek +\textnu{} % ν +\textxi{} % ξ +\textomicron{} % ο +\textpi{} % π +\textrho{} % ρ +\textvarsigma{} % ς +\textsigma{} % σ +\texttau{} % τ +\textupsilon{} % υ +\textphi{} % φ +\textchi{} % χ +\textpsi{} % ψ +\textomega{} % ω + +\"\textiota{} % ϊ +\"\textupsilon{} % ϋ +\'\textomicron{} % ό +\'\textupsilon{} % ύ +\'\textomega{} % ώ + +\textQoppa{} % Ϙ +\textqoppa{} % ϙ +\textStigma{} % Ϛ \Stigma +\textstigma{} % ϛ \stigma +\textDigamma{} % Ϝ \Digamma +\textdigamma{} % ϝ \ddigamma +%03DE GREEK LETTER KOPPA % Ϟ \textKoppagreek +\textkoppa{} % ϟ \koppa, \textqoppa [sic!] +\textSampi{} % Ϡ \Sampi +\textsampi{} % ϡ \sampi + + +\subsection{Greek Extended Unicode block} + +Characters from the Greek Extended Unicode block are only partially +supported (multi-accented characters with sub-iota currently use a combining +prosgegrammeni or ypogegrammeni character. + +For comparision, the LICR macro is followed by the same character as literal +Unicode character: + +\>\textalpha ἀ +\<\textalpha ἁ +\>`\textalpha ἂ +\<`\textalpha ἃ +\>'\textalpha ἄ +\<'\textalpha ἅ +\~>\textalpha ἆ +\~<\textalpha ἇ +\>\textAlpha Ἀ +\<\textAlpha Ἁ +\>`\textAlpha Ἂ +\<`\textAlpha Ἃ +\>'\textAlpha Ἄ +\>'\textAlpha Ἅ +\~>\textAlpha Ἆ +\~<\textAlpha Ἇ + +\>\textepsilon ἐ +\<\textepsilon ἑ +\>`\textepsilon ἒ +\<`\textepsilon ἓ +\>'\textepsilon ἔ +\>'\textepsilon ἕ +\>\textEpsilon Ἐ +\<\textEpsilon Ἑ +\>`\textEpsilon Ἒ +\<`\textEpsilon Ἓ +\>'\textEpsilon Ἔ +\>'\textEpsilon Ἕ + +\>\texteta ἠ +\<\texteta ἡ +\>`\texteta ἢ +\<`\texteta ἣ +\>'\texteta ἤ +\>'\texteta ἥ +\~>\texteta ἦ +\~<\texteta ἧ +\>\textEta Ἠ +\<\textEta Ἡ +\>`\textEta Ἢ +\<`\textEta Ἣ +\>'\textEta Ἤ +\>'\textEta Ἥ +\~>\textEta Ἦ +\~<\textEta Ἧ + +\>\textiota ἰ +\<\textiota ἱ +\>`\textiota ἲ +\<`\textiota ἳ +\>'\textiota ἴ +\>'\textiota ἵ +\~>\textiota ἶ +\~<\textiota ἷ +\>\textIota Ἰ +\<\textIota Ἱ +\>`\textIota Ἲ +\<`\textIota Ἳ +\>'\textIota Ἴ +\>'\textIota Ἵ +\~>\textIota Ἶ +\~<\textIota Ἷ + +\>\textomicron ὀ +\<\textomicron ὁ +\>`\textomicron ὂ +\<`\textomicron ὃ +\>'\textomicron ὄ +\>'\textomicron ὅ +\>\textOmicron Ὀ +\<\textOmicron Ὁ +\>`\textOmicron Ὂ +\<`\textOmicron Ὃ +\>'\textOmicron Ὄ +\>'\textOmicron Ὅ + +\>\textupsilon ὐ +\<\textupsilon ὑ +\>`\textupsilon ὒ +\<`\textupsilon ὓ +\>'\textupsilon ὔ +\>'\textupsilon ὕ +\~>\textupsilon ὖ +\~<\textupsilon ὗ +\<\textUpsilon Ὑ +\<`\textUpsilon Ὓ +\>'\textUpsilon Ὕ +\~<\textUpsilon Ὗ + +\>\textomega ὠ +\<\textomega ὡ +\>`\textomega ὢ +\<`\textomega ὣ +\>'\textomega ὤ +\>'\textomega ὥ +\~>\textomega ὦ +\~<\textomega ὧ +\>\textOmega Ὠ +\<\textOmega Ὡ +\>`\textOmega Ὢ +\<`\textOmega Ὣ +\>'\textOmega Ὤ +\>'\textOmega Ὥ +\~>\textOmega Ὦ +\~<\textOmega Ὧ + +\`\textalpha ὰ +\'\textalpha ά +\`\textepsilon ὲ +\'\textepsilon έ +\`\texteta ὴ +\'\texteta ή +\`\textiota ὶ +\'\textiota ί +\`\textomicron ὸ +\'\textomicron ό +\`\textupsilon ὺ +\'\textupsilon ύ +\`\textomega ὼ +\'\textomega ώ + +\>\textalpha\ypogegrammeni ᾀ +\<\textalpha\ypogegrammeni ᾁ +\>`\textalpha\ypogegrammeni ᾂ +\<`\textalpha\ypogegrammeni ᾃ +\>'\textalpha\ypogegrammeni ᾄ +\>'\textalpha\ypogegrammeni ᾅ +\~>\textalpha\ypogegrammeni ᾆ +\~<\textalpha\ypogegrammeni ᾇ +\>\textAlpha\prosgegrammeni ᾈ +\>\textAlpha\prosgegrammeni ᾈ +\<\textAlpha\prosgegrammeni ᾉ +\>`\textAlpha\prosgegrammeni ᾊ +\<`\textAlpha\prosgegrammeni ᾋ +\>'\textAlpha\prosgegrammeni ᾌ +\>'\textAlpha\prosgegrammeni ᾍ +\~>\textAlpha\prosgegrammeni ᾎ +\~<\textAlpha\prosgegrammeni ᾏ + +\>\texteta\ypogegrammeni ᾐ +\<\texteta\ypogegrammeni ᾑ +\>`\texteta\ypogegrammeni ᾒ +\<`\texteta\ypogegrammeni ᾓ +\>'\texteta\ypogegrammeni ᾔ +\>'\texteta\ypogegrammeni ᾕ +\~>\texteta\ypogegrammeni ᾖ +\~<\texteta\ypogegrammeni ᾗ +\>\textEta\prosgegrammeni ᾘ +\<\textEta\prosgegrammeni ᾙ +\>`\textEta\prosgegrammeni ᾚ +\<`\textEta\prosgegrammeni ᾛ +\>'\textEta\prosgegrammeni ᾜ +\>'\textEta\prosgegrammeni ᾝ +\~>\textEta\prosgegrammeni ᾞ +\~<\textEta\prosgegrammeni ᾟ + +\>\textomega\ypogegrammeni ᾠ +\<\textomega\ypogegrammeni ᾡ +\>`\textomega\ypogegrammeni ᾢ +\<`\textomega\ypogegrammeni ᾣ +\>'\textomega\ypogegrammeni ᾤ +\>'\textomega\ypogegrammeni ᾥ +\~>\textomega\ypogegrammeni ᾦ +\~<\textomega\ypogegrammeni ᾧ +\>\textOmega\prosgegrammeni ᾨ +\<\textOmega\prosgegrammeni ᾩ +\>`\textOmega\prosgegrammeni ᾪ +\<`\textOmega\prosgegrammeni ᾫ +\>'\textOmega\prosgegrammeni ᾬ +\>'\textOmega\prosgegrammeni ᾭ +\~>\textOmega\prosgegrammeni ᾮ +\~<\textOmega\prosgegrammeni ᾯ + +\u\textalpha ᾰ +\=\textalpha ᾱ +\`\textalpha\ypogegrammeni ᾲ +\textalpha\ypogegrammeni ᾳ +\'\textalpha\ypogegrammeni ᾴ +\~\textalpha ᾶ +\~\textalpha\ypogegrammeni ᾷ +\u\textAlpha Ᾰ +\=\textAlpha Ᾱ +\`\textAlpha Ὰ +\'\textAlpha Ά +\textAlpha\prosgegrammeni ᾼ +\>\textcompwordmark ᾽ +\prosgegrammeni ι +\>\textcompwordmark ᾿ + +\~\textcompwordmark ῀ +\"~\textcompwordmark ῁ +\`\texteta\ypogegrammeni ῂ +\texteta\ypogegrammeni ῃ +\'\texteta\ypogegrammeni ῄ +\~\texteta ῆ +\~\texteta\ypogegrammeni ῇ +\`\textEpsilon Ὲ +\'\textEpsilon Έ +\`\textEta Ὴ +\'\textEta Ή +\textEta\prosgegrammeni ῌ +\>`\textcompwordmark ῍ +\>'\textcompwordmark ῎ +\~>\textcompwordmark ῏ + +\u\textiota ῐ +\=\textiota ῑ +\`"\textiota ῒ +\'"\textiota ΐ +\~\textiota ῖ +\~"\textiota ῗ +\u\textIota Ῐ +\=\textIota Ῑ +\`\textIota Ὶ +\'\textIota Ί +\<`\textcompwordmark ῝ +\>'\textcompwordmark ῞ +\~<\textcompwordmark ῟ + +\u\textupsilon ῠ +\=\textupsilon ῡ +\`"\textupsilon ῢ +\'"\textupsilon ΰ +\>\textrho ῤ +\<\textrho ῥ +\~\textupsilon ῦ +\~"\textupsilon ῧ +\u\textUpsilon Ῠ +\=\textUpsilon Ῡ +\`\textUpsilon Ὺ +\'\textUpsilon Ύ +\<\textRho Ῥ +\`"\textcompwordmark ῭ +\'"\textcompwordmark ΅ +\accvaria\textcompwordmark ` + +\`\textomega\ypogegrammeni ῲ +\textomega\ypogegrammeni ῳ +\'\textomega\ypogegrammeni ῴ +\~\textomega ῶ +\~\textomega\ypogegrammeni ῷ +\`\textOmicron Ὸ +\'\textOmicron Ό +\`\textOmega Ὼ +\'\textOmega Ώ +\textOmega\prosgegrammeni ῼ +\accoxia\textcompwordmark ´ +\<\textcompwordmark ῾ + + +Ancient Greek Numbers are missing in most fonts (including Libertine and +Deja Vu). The “FreeSerif” font works fine. + +\textpentedeka % GREEK ACROPHONIC ATTIC FIFTY +\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED +\textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND +\textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.pdf b/Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.pdf new file mode 100644 index 00000000000..3f8b6b7303f Binary files /dev/null and b/Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.pdf differ diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.tex b/Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.tex new file mode 100644 index 00000000000..92fb36e63fd --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/test-xunicode.tex @@ -0,0 +1,585 @@ +\documentclass[a4paper]{article} +% \usepackage{textcomp} +\usepackage{hyperref,bookmark} +\usepackage{parskip} +\usepackage{booktabs} + +\usepackage{fontspec} +% \setmainfont{DejaVu Serif} +% \setsansfont{DejaVu Sans} +\usepackage{libertineotf} +% \setmainfont{FreeSerif} + +% Declare the font encoding: +\ifdefined\XeTeXrevision + % \DeclareFontEncoding{EU1}{}{} + \usepackage[EU1]{fontenc} +\fi +\ifdefined\luatexversion + % \DeclareFontEncoding{EU2}{}{} + \usepackage[EU2]{fontenc} +\fi + +% xunicode extension with Greek LICR definitions: +\usepackage{xunicode-greek} + +% \DeclareTextAccent{\accdialytikatonos}{OT1}{999} +% \DeclareTextCommand{\accdialytikatonos}{\UTFencname}[1]{|#1|} +% \DeclareUTFcomposite[\UTFencname]{x0055}{\accdialytikatonos}{x} % U +% \DeclareUTFcomposite[\UTFencname]{x0056}{\accdialytikavaria}{\textiota} % V +% \DeclareTextCompositeCommand{\accdialytikatonos}{\UTFencname}{\textiota}{U} + +\begin{document} + +\section*{Greek LICR definitions with XeTeX/LuaTeX} + +Typesetting Greek texts requires a font containing Greek letters. With the +XeTeX or LuaTeX engines, the user should ensure that the choosen font +contains the required glyphs (the default Latin Modern fonts miss them). +Examples for suitable fonts are the ``Deja Vu'' or the ``Linux Libertine'' +OpenType fonts. + +\section{LICR input} + +% The example from \texttt{usage.tex} in \emph{babel-greek} input +% using the LICR macros: + +% \begin{quote} +% \textTau\'\textiota{} +% \textphi\'\texteta\textiota\textfinalsigma\texterotimatiko{} +% \<\textIota\textdelta\`\textomega\textnu{} +% \>\textepsilon\textnu\texttheta\'\textepsilon\textdelta\textepsilon{} +% \textpi\textalpha\~\textiota\textdelta\'\' +% \>\textepsilon\textlambda\textepsilon\textupsilon\texttheta\'\textepsilon\textrho\textalpha\textnu\\ +% \texttau\`\textalpha\textfinalsigma{} +% \textpi\textlambda\texteta\textautosigma\'\textiota\textomicron\textnu{} +% \textNu\'\textupsilon\textmu\textphi\textalpha\textfinalsigma{} +% \textautosigma\texttau\textepsilon\textphi\textalpha\textnu\textomicron\~\textupsilon\textautosigma\textalpha\textnu{}, +% \textSigma\'\textomega\textautosigma\texttau\textrho\textalpha\texttau\textepsilon{},\\ +% \>\textepsilon\textrho\~\textomega\textnu{} +% \'\textalpha\textpi\~\texteta\textlambda\texttheta\textepsilon\textfinalsigma{} +% \textepsilon\>\textupsilon\texttheta\'\textupsilon\textfinalsigma\texterotimatiko{} +% \end{quote} + +\subsection{Greek alphabet} + +Greek letters via LICR macros: + + +\textAlpha{} \textBeta{} \textGamma{} \textDelta{} \textEpsilon{} +\textZeta{} \textEta{} \textTheta{} \textIota{} \textKappa{} +\textLambda{} \textMu{} \textNu{} \textXi{} \textOmicron{} \textPi{} +\textRho{} \textSigma{} \textTau{} \textUpsilon{} \textPhi{} +\textChi{} \textPsi{} \textOmega{} + +\textalpha{} \textbeta{} \textgamma{} \textdelta{} \textepsilon{} +\textzeta{} \texteta{} \texttheta{} \textiota{} \textkappa{} +\textlambda{} \textmu{} \textnu{} \textxi{} \textomicron{} \textpi{} +\textrho{} \textsigma{} \texttau{} \textupsilon{} +\textphi{} \textchi{} \textpsi{} \textomega{} + +The small sigma is set with a different +glyph if it ends a word: + + \textsigma{} textsigma \\ + \textfinalsigma{} textfinalsigma or textvarsigma + +In the Latin transcription, the letter `s' stands for \verb|\textautosigma| +which automatically chooses the glyph according to the position. + +\subsection{Additional Greek symbols} + + \textkoppa{} textkoppa \\ % ϟ + \textqoppa{} textqoppa (archaic koppa) \\ % ϙ + \textQoppa{} textQoppa (archaic Koppa) \\ % Ϙ + \textstigma{} textstigma \\ % ϛ + % \textvarstigma{} textvarstigma \\ % no separate Unicode character + \textStigma{} textStigma (Sigma-Tau-Ligature in CB-fonts)% +\footnote{the name ``stigma'' originally applied to a medieval sigma-tau + ligature, whose shape was confusably similar to the cursive + digamma} \\ % Ϛ + \textsampi{} textsampi \\ % ϡ + \textSampi{} textSampi \\ % Ϡ + \textdigamma{} textdigamma \\ % ϝ (\digamma used by amsmath!) + \textDigamma{} textDigamma \\ % Ϝ +% numeral signs: http://en.wikipedia.org/wiki/Greek_numerals + \textnumeralsigngreek{} textnumeralsigngreek (Dexia keraia) \\ % ʹ + \textnumeralsignlowergreek{} textnumeralsignlowergreek + (Aristeri keraia)\\ % ͵ + +Mathematical notation uses variant shapes for pi, kappa, rho, theta, and phi +as additional symbols. These variations have no syntactic meaning in Greek +text and are not given separate code-points in the LGR text encoding. Some +text fonts use the variant shapes in place of the ``regular'' ones. + +TeX's concept of ``standard'' vs. ``variant'' symbols does not map to the +distinction between ``Greek Letter ...'' vs. ``Greek Symbol ...'' in the +Unicode standard: + +\begin{tabular}{cccc} +math symbol & Unicode «letter» & var math symbol & Unicode «symbol» \\ +$\epsilon$ & ε & $\varepsilon$ & ϵ \\ +$\kappa$ & κ & \emph{missing} & ϰ \\ +$\pi$ & π & $\varpi$ & ϖ \\ +$\rho$ & ρ & $\varrho$ & ϱ \\ +$\theta$ & θ & $\vartheta$ & ϑ \\ +$\phi$ & φ & $\varphi$ & ϕ \\ +\end{tabular} + +\subsection{Diacritics} + +Greek diacritcs can be input by named macro or symbol macro. Named macros +are defined in xunicode-greek.sty for \verb|\LastDeclaredEncoding| (here +\LastDeclaredEncoding). + +\acctonos\textalpha \'\textalpha{} \acctonos x\'x +\accvaria\textalpha \`\textalpha{} \accvaria x\`x +\accdialytika\textiota \"\textiota{} \accdialytika x\"x +\accperispomeni\textalpha \~\textalpha{} \accperispomeni x\~x +\accpsili\textalpha \>\textalpha{} \accpsili x\>x +\accdasia\textalpha \<\textalpha{} \accdasia x\'\textiota{} \accpsilioxia x \>'x +\accpsilivaria\textiota \>`\textiota{} \accpsilivaria x \>`x +\accpsiliperispomeni\textiota \~>\textiota{} \accpsiliperispomeni x \~>x + +Problems: + +The COMBINING GREEK DIALYTIKA TONOS character is set behind instead of above +the base letter. + +Composite diacritics defined with \emph{xunicode}'s +\verb|\DeclareEncodedCompositeAccents| drop one of the constitutients. + +Upcasing with \verb|\MakeUppercase| drops diacritics (except +dialytika and sub-iota): + +\MakeUppercase{ +\accdialytikatonos\textiota \"'\textiota{} \accdialytikatonos x \"'x +\accdialytikavaria\textiota \"`\textiota{} \accdialytikavaria x \"`x +\accdialytikaperispomeni\textiota \~"\textiota{} \accdialytikaperispomeni x \~"x +} + +\MakeUppercase{ +\accdasiaoxia\textiota \<'\textiota{} \accdasiaoxia x \<'x +\accdasiavaria\textiota \<`\textiota{} \accdasiavaria x \<`x +\accdasiaperispomeni\textiota \~<\textiota{} \accdasiaperispomeni x \~'\textiota{} \accpsilioxia x \>'x +\accpsilivaria\textiota \>`\textiota{} \accpsilivaria x \>`x +\accpsiliperispomeni\textiota \~>\textiota{} \accpsiliperispomeni x \~>x +} + + +The sub-iota is input after the base letter. +Ligature definitions in the 8-bit LGR fonts ensure that pre-composed +characters are used. This does not work with XeTeX/LuaTeX:\footnote{% + When copy/pasting generated output from the ``evince'' PDF + viewer, the COMBINING GREEK YPOGEGRAMMENI is merged with the base + character. A capital letter + combining ypogegrammeni results in GREEK + CAPITAL LETTER ... WITH [.. AND] PROSGEGRAMMENI). This indicates that for + a subfix (in contrast to post-fix) prosgegrammeni, the combining + \emph{ypogegrammeni} could be used together with a captial base letter.} + +\textalpha\ypogegrammeni{} x\ypogegrammeni{} \textAlpha\prosgegrammeni{} +X\prosgegrammeni, see also the \emph{Greek extended} Unicode block below. + +Both, the standard LaTeX and the ``xunicode'' composite mechanism require +the first part of a composite definition to be a macro requiring one +argument. I.e. selecting pre-defined characters with sub-iota requires +prefix \verb|\accypogegrammeni{}| and \verb|\accprosgegrammeni| accent +macros. + +\subsection{Greek and Coptic Unicode block} + +Greek symbols from the Greek and Coptic Unicode block are fully supported: + +% NR Unicode Name % babel name, UCS name +% 0370 GREEK CAPITAL LETTER HETA % Ͱ +% 0371 GREEK SMALL LETTER HETA % ͱ +% 0372 GREEK CAPITAL LETTER ARCHAIC SAMPI % Ͳ +% 0373 GREEK SMALL LETTER ARCHAIC SAMPI % Ͳ +\textnumeralsigngreek{} % ʹ \anwtonos, \textdexiakeraia +\textnumeralsignlowergreek{} % ͵ \katwtonos, \textaristerikeraia, +% 0376 GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA % Ͷ +% 0377 GREEK SMALL LETTER PAMPHYLIAN DIGAMMA % ͷ + +\textcompwordmark\ypogegrammeni{} % ͺ \textsubiota{\empty} +% 037B GREEK SMALL REVERSED LUNATE SIGMA SYMBOL % +% 037C GREEK SMALL DOTTED LUNATE SIGMA SYMBOL % +% 037D GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL % +\texterotimatiko{} % ; \textquestion + +\'\textcompwordmark{} % ΄ +\"'\textcompwordmark{} % ΅ \accdialytikatonos +\'\textAlpha{} % Ά +\textanoteleia{} % · \anoteleia +\'\textEpsilon{} % Έ +\'\textEta{} % Ή +\'\textIota{} % Ί +\'\textOmicron{} % Ό +\'\textUpsilon{} % Ύ +\'\textOmega{} % Ώ +\'"\textiota{} % ΐ + +\textAlpha{} % Α +\textBeta{} % Β +\textGamma{} % Γ +\textDelta{} % Δ +\textEpsilon{} % Ε +\textZeta{} % Ζ +\textEta{} % Η +\textTheta{} % Θ +\textIota{} % Ι +\textKappa{} % Κ +\textLambda{} % Λ +\textMu{} % Μ +\textNu{} % Ν +\textXi{} % Ξ +\textOmicron{} % Ο +\textPi{} % Π +\textRho{} % Ρ +\textSigma{} % Σ +\textTau{} % Τ +\textUpsilon{} % Υ +\textPhi{} % Φ +\textChi{} % Χ +\textPsi{} % Ψ +\textOmega{} % Ω + +\"\textIota{} % Ϊ +\"\textUpsilon{} % Ϋ +\'\textalpha{} % ά +\'\textepsilon{} % έ +\'\texteta{} % ή +\'\textiota{} % ί +\"'\textupsilon{} % ΰ + +\textalpha{} % α +\textbeta{} % β +\textgamma{} % γ +\textdelta{} % δ +\textepsilon{} % ε +\textzeta{} % ζ +\texteta{} % η +\texttheta{} % θ +\textiota{} % ι +\textkappa{} % κ +\textlambda{} % λ +\textmu{} % μ \textmugreek +\textnu{} % ν +\textxi{} % ξ +\textomicron{} % ο +\textpi{} % π +\textrho{} % ρ +\textvarsigma{} % ς +\textsigma{} % σ +\texttau{} % τ +\textupsilon{} % υ +\textphi{} % φ +\textchi{} % χ +\textpsi{} % ψ +\textomega{} % ω + +\"\textiota{} % ϊ +\"\textupsilon{} % ϋ +\'\textomicron{} % ό +\'\textupsilon{} % ύ +\'\textomega{} % ώ + +\textQoppa{} % Ϙ +\textqoppa{} % ϙ +\textStigma{} % Ϛ \Stigma +\textstigma{} % ϛ \stigma +\textDigamma{} % Ϝ \Digamma +\textdigamma{} % ϝ \ddigamma +%03DE GREEK LETTER KOPPA % Ϟ \textKoppagreek +\textkoppa{} % ϟ \koppa, \textqoppa [sic!] +\textSampi{} % Ϡ \Sampi +\textsampi{} % ϡ \sampi + + +\subsection{Greek Extended Unicode block} + +Characters from the Greek Extended Unicode block are only partially +supported (multi-accented characters with sub-iota currently use a combining +prosgegrammeni or ypogegrammeni character. + +For comparision, the LICR macro is followed by the same character as literal +Unicode char in this list: + +\>\textalpha ἀ +\<\textalpha ἁ +\>`\textalpha ἂ +\<`\textalpha ἃ +\>'\textalpha ἄ +\<'\textalpha ἅ +\~>\textalpha ἆ +\~<\textalpha ἇ +\>\textAlpha Ἀ +\<\textAlpha Ἁ +\>`\textAlpha Ἂ +\<`\textAlpha Ἃ +\>'\textAlpha Ἄ +\>'\textAlpha Ἅ +\~>\textAlpha Ἆ +\~<\textAlpha Ἇ + +\>\textepsilon ἐ +\<\textepsilon ἑ +\>`\textepsilon ἒ +\<`\textepsilon ἓ +\>'\textepsilon ἔ +\>'\textepsilon ἕ +\>\textEpsilon Ἐ +\<\textEpsilon Ἑ +\>`\textEpsilon Ἒ +\<`\textEpsilon Ἓ +\>'\textEpsilon Ἔ +\>'\textEpsilon Ἕ + +\>\texteta ἠ +\<\texteta ἡ +\>`\texteta ἢ +\<`\texteta ἣ +\>'\texteta ἤ +\>'\texteta ἥ +\~>\texteta ἦ +\~<\texteta ἧ +\>\textEta Ἠ +\<\textEta Ἡ +\>`\textEta Ἢ +\<`\textEta Ἣ +\>'\textEta Ἤ +\>'\textEta Ἥ +\~>\textEta Ἦ +\~<\textEta Ἧ + +\>\textiota ἰ +\<\textiota ἱ +\>`\textiota ἲ +\<`\textiota ἳ +\>'\textiota ἴ +\>'\textiota ἵ +\~>\textiota ἶ +\~<\textiota ἷ +\>\textIota Ἰ +\<\textIota Ἱ +\>`\textIota Ἲ +\<`\textIota Ἳ +\>'\textIota Ἴ +\>'\textIota Ἵ +\~>\textIota Ἶ +\~<\textIota Ἷ + +\>\textomicron ὀ +\<\textomicron ὁ +\>`\textomicron ὂ +\<`\textomicron ὃ +\>'\textomicron ὄ +\>'\textomicron ὅ +\>\textOmicron Ὀ +\<\textOmicron Ὁ +\>`\textOmicron Ὂ +\<`\textOmicron Ὃ +\>'\textOmicron Ὄ +\>'\textOmicron Ὅ + +\>\textupsilon ὐ +\<\textupsilon ὑ +\>`\textupsilon ὒ +\<`\textupsilon ὓ +\>'\textupsilon ὔ +\>'\textupsilon ὕ +\~>\textupsilon ὖ +\~<\textupsilon ὗ +\<\textUpsilon Ὑ +\<`\textUpsilon Ὓ +\>'\textUpsilon Ὕ +\~<\textUpsilon Ὗ + +\>\textomega ὠ +\<\textomega ὡ +\>`\textomega ὢ +\<`\textomega ὣ +\>'\textomega ὤ +\>'\textomega ὥ +\~>\textomega ὦ +\~<\textomega ὧ +\>\textOmega Ὠ +\<\textOmega Ὡ +\>`\textOmega Ὢ +\<`\textOmega Ὣ +\>'\textOmega Ὤ +\>'\textOmega Ὥ +\~>\textOmega Ὦ +\~<\textOmega Ὧ + +\`\textalpha ὰ +\'\textalpha ά +\`\textepsilon ὲ +\'\textepsilon έ +\`\texteta ὴ +\'\texteta ή +\`\textiota ὶ +\'\textiota ί +\`\textomicron ὸ +\'\textomicron ό +\`\textupsilon ὺ +\'\textupsilon ύ +\`\textomega ὼ +\'\textomega ώ + +\>\textalpha\ypogegrammeni ᾀ +\<\textalpha\ypogegrammeni ᾁ +\>`\textalpha\ypogegrammeni ᾂ +\<`\textalpha\ypogegrammeni ᾃ +\>'\textalpha\ypogegrammeni ᾄ +\>'\textalpha\ypogegrammeni ᾅ +\~>\textalpha\ypogegrammeni ᾆ +\~<\textalpha\ypogegrammeni ᾇ +\>\textAlpha\prosgegrammeni ᾈ +\>\textAlpha\prosgegrammeni ᾈ +\<\textAlpha\prosgegrammeni ᾉ +\>`\textAlpha\prosgegrammeni ᾊ +\<`\textAlpha\prosgegrammeni ᾋ +\>'\textAlpha\prosgegrammeni ᾌ +\>'\textAlpha\prosgegrammeni ᾍ +\~>\textAlpha\prosgegrammeni ᾎ +\~<\textAlpha\prosgegrammeni ᾏ + +\>\texteta\ypogegrammeni ᾐ +\<\texteta\ypogegrammeni ᾑ +\>`\texteta\ypogegrammeni ᾒ +\<`\texteta\ypogegrammeni ᾓ +\>'\texteta\ypogegrammeni ᾔ +\>'\texteta\ypogegrammeni ᾕ +\~>\texteta\ypogegrammeni ᾖ +\~<\texteta\ypogegrammeni ᾗ +\>\textEta\prosgegrammeni ᾘ +\<\textEta\prosgegrammeni ᾙ +\>`\textEta\prosgegrammeni ᾚ +\<`\textEta\prosgegrammeni ᾛ +\>'\textEta\prosgegrammeni ᾜ +\>'\textEta\prosgegrammeni ᾝ +\~>\textEta\prosgegrammeni ᾞ +\~<\textEta\prosgegrammeni ᾟ + +\>\textomega\ypogegrammeni ᾠ +\<\textomega\ypogegrammeni ᾡ +\>`\textomega\ypogegrammeni ᾢ +\<`\textomega\ypogegrammeni ᾣ +\>'\textomega\ypogegrammeni ᾤ +\>'\textomega\ypogegrammeni ᾥ +\~>\textomega\ypogegrammeni ᾦ +\~<\textomega\ypogegrammeni ᾧ +\>\textOmega\prosgegrammeni ᾨ +\<\textOmega\prosgegrammeni ᾩ +\>`\textOmega\prosgegrammeni ᾪ +\<`\textOmega\prosgegrammeni ᾫ +\>'\textOmega\prosgegrammeni ᾬ +\>'\textOmega\prosgegrammeni ᾭ +\~>\textOmega\prosgegrammeni ᾮ +\~<\textOmega\prosgegrammeni ᾯ + +\u\textalpha % ᾰ +\=\textalpha % ᾱ +\`\textalpha\ypogegrammeni % ᾲ +\textalpha\ypogegrammeni % ᾳ +\'\textalpha\ypogegrammeni % ᾴ +\~\textalpha % ᾶ +\~\textalpha\ypogegrammeni % ᾷ +\u\textAlpha % Ᾰ +\=\textAlpha % Ᾱ +\`\textAlpha % Ὰ +\'\textAlpha % Ά +\textAlpha\prosgegrammeni % ᾼ +\>\textcompwordmark % ᾽ +\textcompwordmark\prosgegrammeni % ι +\>\textcompwordmark % ᾿ + +\~\textcompwordmark % ῀ +% \"\~\textcompwordmark % ῁ +\`\texteta\ypogegrammeni % ῂ +\texteta\ypogegrammeni % ῃ +\'\texteta\ypogegrammeni % ῄ +\~\texteta % ῆ +\~\texteta\ypogegrammeni % ῇ +\`\textEpsilon % Ὲ +\'\textEpsilon % Έ +\`\textEta % Ὴ +\'\textEta % Ή +\textEta\prosgegrammeni % ῌ +\>`\textcompwordmark % ῍ +\>'\textcompwordmark % ῎ +\~>\textcompwordmark % ῏ + +\u\textiota % ῐ +\=\textiota % ῑ +\`"\textiota % not \"`... % ῒ +\'"\textiota % not \"'... % ΐ +\~\textiota % ῖ +\~"\textiota % ῗ +\u\textIota % Ῐ +\=\textIota % Ῑ +\`\textIota % Ὶ +\'\textIota % Ί +\<`\textcompwordmark % ῝ +\>'\textcompwordmark % ῞ +\~<\textcompwordmark % ῟ + +\u\textupsilon % ῠ +\=\textupsilon % ῡ +\`"\textupsilon % not \"`... % ῢ +\'"\textupsilon % not \"'... % ΰ +\>\textrho % ῤ +\<\textrho % ῥ +\~\textupsilon % ῦ +\~"\textupsilon % ῧ +\u\textUpsilon % Ῠ +\=\textUpsilon % Ῡ +\`\textUpsilon % Ὺ +\'\textUpsilon % Ύ +\<\textRho % Ῥ +\`"\textcompwordmark % ῭ +\'"\textcompwordmark % ΅ +\`\textcompwordmark % ` + +\`\textomega\ypogegrammeni % ῲ +\textomega\ypogegrammeni % ῳ +\'\textomega\ypogegrammeni % ῴ +\~\textomega % ῶ +\~\textomega\ypogegrammeni % ῷ +\`\textOmicron % Ὸ +\'\textOmicron % Ό +\`\textOmega % Ὼ +\'\textOmega % Ώ +\textOmega\prosgegrammeni % ῼ +\'\textcompwordmark % ´ +\<\textcompwordmark % ῾ + +Ancient Greek Numbers are missing in most fonts (including Libertine and +Deja Vu). The ``FreeSerif'' font works fine. + +\textpentedeka % GREEK ACROPHONIC ATTIC FIFTY +\textpentehekaton % GREEK ACROPHONIC ATTIC FIVE HUNDRED +\textpenteqilioi % GREEK ACROPHONIC ATTIC FIVE THOUSAND +\textpentemuria % GREEK ACROPHONIC ATTIC FIFTY THOUSAND + + +\end{document} diff --git a/Master/texmf-dist/doc/latex/greek-fontenc/xunicode-greek.sty.html b/Master/texmf-dist/doc/latex/greek-fontenc/xunicode-greek.sty.html new file mode 100644 index 00000000000..52b2654a3c7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/greek-fontenc/xunicode-greek.sty.html @@ -0,0 +1,585 @@ + + + + + + +xunicode-greek.sty: xunicode extension for Greek + + + + + +
+

xunicode-greek.sty: xunicode extension for Greek

+ +
+ + +
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
+
\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xunicode-greek}
+[2013/07/01 0.1 Greek LICRs for XeTeX and LuaTeX]
+
+
+
+

Based on xunicode, lgrenc.def and lgrenc.dfu.

+
+
Changelog:
+
+++++ + + + + + + +

2013-07-16

0.1

initial version

+
+
+

Requires XeTeX or LuaTeX and a font with Greek characters. See +test-xunicode.tex and test-xunicode.pdf for usage details and +example.

+

xunicode.sty defines several commands for the declaration of UTF +characters, composites and accents. These are (sparsely) documented in the +source. Unfortunately, they do not work seamless with the standard NFSS +commands described in the fntguide. Therefore, some declarations are done +twice: for fontenc and for xunicode (xunicode itself uses dummy declarations +for the OT1 encoding).

+
+

Greek Diacritics

+

Define “named macros” for simple and combined diacritics.

+
    +
  • Named accent macros can be used instead of the \@tabacckludge by +to-LaTeX converters to ensure working also inside the tabbing environment.

  • +
  • Named macros are required for upcasing according to Greek typesetting +conventions and in the definition of composite commands.

  • +
+

Greek alias names for standard accents:

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

Breathings:

+
\DeclareTextCommand{\accpsili}{\LastDeclaredEncoding}[1]{#1\char"0313 } % ψιλή spiritus lenis (smooth breathing)
+\DeclareTextCommand{\accdasia}{\LastDeclaredEncoding}[1]{#1\char"0314 } % δασεῖα spiritus asper (rough breathing)
+\DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili}
+\DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia}
+\DeclareEncodedCompositeCharacter{\LastDeclaredEncoding}{\accpsili}{0313}{02BC} % COMBINING COMMA ABOVE = Greek psili, smooth breathing mark
+\DeclareEncodedCompositeCharacter{\LastDeclaredEncoding}{\accdasia}{0314}{02BD} % COMBINING REVERSED COMMA ABOVE = Greek dasia, rough breathing mark
+
+

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

+

Sub-iota:

+
% \ypogegrammeni is a postfix accent (ligature in LGR)
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0345}{\ypogegrammeni} % COMBINING GREEK YPOGEGRAMMENI
+
+

Combined diacritics:

+
% \DeclareTextCommand{\accdialytikatonos}{\LastDeclaredEncoding}[1]{#1\char"0308 \char"0301 }
+\DeclareTextCommand{\accdialytikatonos}{\LastDeclaredEncoding}{\textdieresisacute} % Greek alias
+\DeclareTextCommand{\accdialytikavaria}{\LastDeclaredEncoding}{\textdieresisgrave}
+\DeclareTextCommand{\accdialytikaperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0308 }
+
+\DeclareTextCommand{\accdasiaoxia}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0301 }
+\DeclareTextCommand{\accdasiavaria}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0300 }
+\DeclareTextCommand{\accdasiaperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0314 \char"0342 }
+
+\DeclareTextCommand{\accpsilioxia}{\LastDeclaredEncoding}[1]{#1\char"0301 \char"0313 }
+\DeclareTextCommand{\accpsilivaria}{\LastDeclaredEncoding}[1]{#1\char"0300 \char"0313 }
+\DeclareTextCommand{\accpsiliperispomeni}{\LastDeclaredEncoding}[1]{#1\char"0342 \char"0313 }
+
+

xunicode special commands for accents with combining Unicode character(s):

+

According to the definition and usage in xunicode.sty, +\DeclareEncodedCompositeAccents should set up accents by combining two +combining characters. Unfortunately this does not seem to work: one of the +combining characters is missing (see test-xunicode.tex). However, as for +all letters that use the combining accents pre-composed characters +are selected (via composite definitions below) this should not matter in +actual use:

+
% The COMBINING DIALYTIKA TONOS is discarded and not well supported by fonts:
+% \DeclareEncodedCompositeCharacter{\LastDeclaredEncoding}{\accdialytikatonos}{0344}{0385} % COMBINING GREEK DIALYTIKA TONOS / GREEK DIALYTIKA TONOS
+% Dialytika-Tonos and Dialytika-Varia are defined as alias for \textdieresisacute,
+% and \textdieresisgrave, i.e. already set up for xunicode:
+% \DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accdialytikatonos}{0301}{0308}
+% \DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accdialytikavaria}{0300}{0308}
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accdialytikaperispomeni}{0342}{0308}
+
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accdasiaoxia}{0314}{0301}
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accdasiavaria}{0314}{0300}
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accdasiaperispomeni}{0314}{0342}
+
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accpsilioxia}{0301}{0313}
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accpsilivaria}{0300}{0313}
+\DeclareEncodedCompositeAccents{\LastDeclaredEncoding}{\accpsiliperispomeni}{0342}{0313}
+
+
+
+

Composite Diacritics

+

Use the common Greek font encoding definitions:

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

Character Definitions

+
+

Greek and Coptic

+
% NR    Unicode Name                                       %   babel name, UCS name
+% 0370  GREEK CAPITAL LETTER HETA                          % Ͱ
+% 0371  GREEK SMALL LETTER HETA                            % ͱ
+% 0372  GREEK CAPITAL LETTER ARCHAIC SAMPI                 % Ͳ
+% 0373  GREEK SMALL LETTER ARCHAIC SAMPI                   % Ͳ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0374}{\textnumeralsigngreek}      % ʹ \anwtonos, \textdexiakeraia
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0375}{\textnumeralsignlowergreek} % ͵ \katwtonos, \textaristerikeraia,
+% 0376  GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA            % Ͷ
+% 0377  GREEK SMALL LETTER PAMPHYLIAN DIGAMMA              % ͷ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x037A}{\textcompwordmark}{\ypogegrammeni} % ͺ
+% 037B  GREEK SMALL REVERSED LUNATE SIGMA SYMBOL           %
+% 037C  GREEK SMALL DOTTED LUNATE SIGMA SYMBOL             %
+% 037D  GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL    %
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x037E}{\texterotimatiko} % ; \textquestion
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x0384}{\'}{\textcompwordmark} % ΄
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x0385}{\"'}{\textcompwordmark} % ΅ \textdialytikatonos
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x0386}{\'}{\textAlpha}   % Ά
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0387}{\textanoteleia}   % · \anoteleia
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x0388}{\'}{\textEpsilon} % Έ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x0389}{\'}{\textEta}     % Ή
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x038A}{\'}{\textIota}    % Ί
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x038C}{\'}{\textOmicron} % Ό
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x038E}{\'}{\textUpsilon} % Ύ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x038F}{\'}{\textOmega}   % Ώ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x0390}{\accdialytikatonos}{\textiota} % ΐ
+
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0391}{\textAlpha}   % Α
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0392}{\textBeta}    % Β
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0393}{\textGamma}   % Γ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0394}{\textDelta}   % Δ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0395}{\textEpsilon} % Ε
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0396}{\textZeta}    % Ζ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0397}{\textEta}     % Η
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0398}{\textTheta}   % Θ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x0399}{\textIota}    % Ι
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x039A}{\textKappa}   % Κ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x039B}{\textLambda}  % Λ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x039C}{\textMu}      % Μ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x039D}{\textNu}      % Ν
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x039E}{\textXi}      % Ξ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x039F}{\textOmicron} % Ο
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A0}{\textPi}      % Π
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A1}{\textRho}     % Ρ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A3}{\textSigma}   % Σ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A4}{\textTau}     % Τ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A5}{\textUpsilon} % Υ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A6}{\textPhi}     % Φ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A7}{\textChi}     % Χ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A8}{\textPsi}     % Ψ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03A9}{\textOmega}   % Ω
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03AA}{\"}{\textIota}    % Ϊ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03AB}{\"}{\textUpsilon} % Ϋ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03AC}{\'}{\textalpha}   % ά
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03AD}{\'}{\textepsilon} % έ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03AE}{\'}{\texteta}     % ή
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03AF}{\'}{\textiota}    % ί
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03B0}{\accdialytikatonos}{\textupsilon}  % ΰ
+
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B1}{\textalpha}    % α
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B2}{\textbeta}     % β
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B3}{\textgamma}    % γ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B4}{\textdelta}    % δ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B5}{\textepsilon}  % ε
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B6}{\textzeta}     % ζ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B7}{\texteta}      % η
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B8}{\texttheta}    % θ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03B9}{\textiota}     % ι
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03BA}{\textkappa}    % κ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03BB}{\textlambda}   % λ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03BC}{\textmu}       % μ \textmugreek
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03BD}{\textnu}       % ν
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03BE}{\textxi}       % ξ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03BF}{\textomicron}  % ο
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C0}{\textpi}       % π
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C1}{\textrho}      % ρ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C2}{\textvarsigma} % ς
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C2}{\textfinalsigma} % ς
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C3}{\textsigma}    % σ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C4}{\texttau}      % τ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C5}{\textupsilon}  % υ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C6}{\textphi}      % φ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C7}{\textchi}      % χ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C8}{\textpsi}      % ψ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03C9}{\textomega}    % ω
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03CA}{\"}{\textiota}                 % ϊ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03CB}{\"}{\textupsilon}              % ϋ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03CC}{\'}{\textomicron} % ό
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03CD}{\'}{\textupsilon} % ύ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x03CE}{\'}{\textomega}   % ώ
+
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03D8}{\textQoppa}    % Ϙ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03D9}{\textqoppa}    % ϙ
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03DA}{\textStigma}   % Ϛ \Stigma
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03DB}{\textstigma}   % ϛ \stigma
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03DC}{\textDigamma}  % Ϝ \Digamma
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03DD}{\textdigamma}  % ϝ \ddigamma
+%03DE GREEK LETTER KOPPA                      % Ϟ \textKoppa
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03DF}{\textkoppa}    % ϟ \koppa, \textqoppa [sic!]
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03E0}{\textSampi}    % Ϡ \Sampi
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x03E1}{\textsampi}    % ϡ \sampi
+
+
+
+

Greek Extended

+
\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F00}{\accpsili}{\textalpha}     % ἀ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F01}{\accdasia}{\textalpha}     % ἁ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F02}{\accpsilivaria}{\textalpha}    % ἂ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F03}{\accdasiavaria}{\textalpha}    % ἃ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F04}{\accpsilioxia}{\textalpha}    % ἄ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F05}{\accdasiaoxia}{\textalpha}    % ἅ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F06}{\accpsiliperispomeni}{\textalpha}    % ἆ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F07}{\accdasiaperispomeni}{\textalpha}    % ἇ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F08}{\accpsili}{\textAlpha}     % Ἀ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F09}{\accdasia}{\textAlpha}     % Ἁ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F0A}{\accpsilivaria}{\textAlpha}    % Ἂ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F0B}{\accdasiavaria}{\textAlpha}    % Ἃ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F0C}{\accpsilioxia}{\textAlpha}    % Ἄ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F0D}{\accpsilioxia}{\textAlpha}    % Ἅ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F0E}{\accpsiliperispomeni}{\textAlpha}    % Ἆ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F0F}{\accdasiaperispomeni}{\textAlpha}    % Ἇ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F10}{\accpsili}{\textepsilon}   % ἐ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F11}{\accdasia}{\textepsilon}   % ἑ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F12}{\accpsilivaria}{\textepsilon}  % ἒ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F13}{\accdasiavaria}{\textepsilon}  % ἓ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F14}{\accpsilioxia}{\textepsilon}  % ἔ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F15}{\accpsilioxia}{\textepsilon}  % ἕ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F18}{\accpsili}{\textEpsilon}   % Ἐ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F19}{\accdasia}{\textEpsilon}   % Ἑ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F1A}{\accpsilivaria}{\textEpsilon}  % Ἒ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F1B}{\accdasiavaria}{\textEpsilon}  % Ἓ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F1C}{\accpsilioxia}{\textEpsilon}  % Ἔ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F1D}{\accpsilioxia}{\textEpsilon}  % Ἕ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F20}{\accpsili}{\texteta}       % ἠ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F21}{\accdasia}{\texteta}       % ἡ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F22}{\accpsilivaria}{\texteta}      % ἢ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F23}{\accdasiavaria}{\texteta}      % ἣ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F24}{\accpsilioxia}{\texteta}      % ἤ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F25}{\accpsilioxia}{\texteta}      % ἥ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F26}{\accpsiliperispomeni}{\texteta}      % ἦ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F27}{\accdasiaperispomeni}{\texteta}      % ἧ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F28}{\accpsili}{\textEta}       % Ἠ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F29}{\accdasia}{\textEta}       % Ἡ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F2A}{\accpsilivaria}{\textEta}      % Ἢ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F2B}{\accdasiavaria}{\textEta}      % Ἣ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F2C}{\accpsilioxia}{\textEta}      % Ἤ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F2D}{\accpsilioxia}{\textEta}      % Ἥ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F2E}{\accpsiliperispomeni}{\textEta}      % Ἦ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F2F}{\accdasiaperispomeni}{\textEta}      % Ἧ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F30}{\accpsili}{\textiota}      % ἰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F31}{\accdasia}{\textiota}      % ἱ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F32}{\accpsilivaria}{\textiota}     % ἲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F33}{\accdasiavaria}{\textiota}     % ἳ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F34}{\accpsilioxia}{\textiota}     % ἴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F35}{\accpsilioxia}{\textiota}     % ἵ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F36}{\accpsiliperispomeni}{\textiota}     % ἶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F37}{\accdasiaperispomeni}{\textiota}     % ἷ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F38}{\accpsili}{\textIota}      % Ἰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F39}{\accdasia}{\textIota}      % Ἱ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F3A}{\accpsilivaria}{\textIota}     % Ἲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F3B}{\accdasiavaria}{\textIota}     % Ἳ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F3C}{\accpsilioxia}{\textIota}     % Ἴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F3D}{\accpsilioxia}{\textIota}     % Ἵ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F3E}{\accpsiliperispomeni}{\textIota}     % Ἶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F3F}{\accdasiaperispomeni}{\textIota}     % Ἷ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F40}{\accpsili}{\textomicron}   % ὀ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F41}{\accdasia}{\textomicron}   % ὁ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F42}{\accpsilivaria}{\textomicron}  % ὂ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F43}{\accdasiavaria}{\textomicron}  % ὃ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F44}{\accpsilioxia}{\textomicron}  % ὄ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F45}{\accpsilioxia}{\textomicron}  % ὅ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F48}{\accpsili}{\textOmicron}   % Ὀ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F49}{\accdasia}{\textOmicron}   % Ὁ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F4A}{\accpsilivaria}{\textOmicron}  % Ὂ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F4B}{\accdasiavaria}{\textOmicron}  % Ὃ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F4C}{\accpsilioxia}{\textOmicron}  % Ὄ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F4D}{\accpsilioxia}{\textOmicron}  % Ὅ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F50}{\accpsili}{\textupsilon}   % ὐ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F51}{\accdasia}{\textupsilon}   % ὑ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F52}{\accpsilivaria}{\textupsilon}  % ὒ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F53}{\accdasiavaria}{\textupsilon}  % ὓ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F54}{\accpsilioxia}{\textupsilon}  % ὔ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F55}{\accpsilioxia}{\textupsilon}  % ὕ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F56}{\accpsiliperispomeni}{\textupsilon}  % ὖ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F57}{\accdasiaperispomeni}{\textupsilon}  % ὗ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F59}{\accdasia}{\textUpsilon}   % Ὑ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F5B}{\accdasiavaria}{\textUpsilon}  % Ὓ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F5D}{\accpsilioxia}{\textUpsilon}  % Ὕ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F5F}{\accdasiaperispomeni}{\textUpsilon}  % Ὗ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F60}{\accpsili}{\textomega}     % ὠ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F61}{\accdasia}{\textomega}     % ὡ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F62}{\accpsilivaria}{\textomega}    % ὢ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F63}{\accdasiavaria}{\textomega}    % ὣ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F64}{\accpsilioxia}{\textomega}    % ὤ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F65}{\accpsilioxia}{\textomega}    % ὥ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F66}{\accpsiliperispomeni}{\textomega}    % ὦ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F67}{\accdasiaperispomeni}{\textomega}    % ὧ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F68}{\accpsili}{\textOmega}     % Ὠ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F69}{\accdasia}{\textOmega}     % Ὡ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F6A}{\accpsilivaria}{\textOmega}    % Ὢ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F6B}{\accdasiavaria}{\textOmega}    % Ὣ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F6C}{\accpsilioxia}{\textOmega}    % Ὤ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F6D}{\accpsilioxia}{\textOmega}    % Ὥ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F6E}{\accpsiliperispomeni}{\textOmega}    % Ὦ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F6F}{\accdasiaperispomeni}{\textOmega}    % Ὧ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F70}{\`}{\textalpha}     % ὰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F71}{\'}{\textalpha}     % ά
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F72}{\`}{\textepsilon}   % ὲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F73}{\'}{\textepsilon}   % έ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F74}{\`}{\texteta}       % ὴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F75}{\'}{\texteta}       % ή
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F76}{\`}{\textiota}      % ὶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F77}{\'}{\textiota}      % ί
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F78}{\`}{\textomicron}   % ὸ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F79}{\'}{\textomicron}   % ό
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7A}{\`}{\textupsilon}   % ὺ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7B}{\'}{\textupsilon}   % ύ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7C}{\`}{\textomega}     % ὼ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7D}{\'}{\textomega}     % ώ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F70}{\accvaria}{\textalpha}     % ὰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F71}{\acctonos}{\textalpha}     % ά
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F72}{\accvaria}{\textepsilon}   % ὲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F73}{\acctonos}{\textepsilon}   % έ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F74}{\accvaria}{\texteta}       % ὴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F75}{\acctonos}{\texteta}       % ή
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F76}{\accvaria}{\textiota}      % ὶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F77}{\acctonos}{\textiota}      % ί
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F78}{\accvaria}{\textomicron}   % ὸ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F79}{\acctonos}{\textomicron}   % ό
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7A}{\accvaria}{\textupsilon}   % ὺ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7B}{\acctonos}{\textupsilon}   % ύ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7C}{\accvaria}{\textomega}     % ὼ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1F7D}{\acctonos}{\textomega}     % ώ
+
+%% postfix ypogegrammeni cannot be second part of composite defs.
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F80}{\accpsili}{\textalpha\ypogegrammeni}   % ᾀ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F81}{\accdasia}{\textalpha\ypogegrammeni}   % ᾁ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F82}{\accpsilivaria}{\textalpha\ypogegrammeni}  % ᾂ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F83}{\accdasiavaria}{\textalpha\ypogegrammeni}  % ᾃ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F84}{\accpsilioxia}{\textalpha\ypogegrammeni}  % ᾄ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F85}{\accpsilioxia}{\textalpha\ypogegrammeni}  % ᾅ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F86}{\accpsiliperispomeni}{\textalpha\ypogegrammeni}  % ᾆ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F87}{\accdasiaperispomeni}{\textalpha\ypogegrammeni}  % ᾇ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F88}{\accpsili}{\textAlpha\prosgegrammeni}  % ᾈ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F89}{\accdasia}{\textAlpha\prosgegrammeni}  % ᾉ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F8A}{\accpsilivaria}{\textAlpha\prosgegrammeni} % ᾊ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F8B}{\accdasiavaria}{\textAlpha\prosgegrammeni} % ᾋ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F8C}{\accpsilioxia}{\textAlpha\prosgegrammeni} % ᾌ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F8D}{\accpsilioxia}{\textAlpha\prosgegrammeni} % ᾍ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F8E}{\accpsiliperispomeni}{\textAlpha\prosgegrammeni} % ᾎ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F8F}{\accdasiaperispomeni}{\textAlpha\prosgegrammeni} % ᾏ
+%
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F90}{\accpsili}{\texteta\ypogegrammeni}     % ᾐ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F91}{\accdasia}{\texteta\ypogegrammeni}     % ᾑ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F92}{\accpsilivaria}{\texteta\ypogegrammeni}    % ᾒ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F93}{\accdasiavaria}{\texteta\ypogegrammeni}    % ᾓ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F94}{\accpsilioxia}{\texteta\ypogegrammeni}    % ᾔ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F95}{\accpsilioxia}{\texteta\ypogegrammeni}    % ᾕ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F96}{\accpsiliperispomeni}{\texteta\ypogegrammeni}    % ᾖ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F97}{\accdasiaperispomeni}{\texteta\ypogegrammeni}    % ᾗ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F98}{\accpsili}{\textEta\prosgegrammeni}    % ᾘ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F99}{\accdasia}{\textEta\prosgegrammeni}    % ᾙ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F9A}{\accpsilivaria}{\textEta\prosgegrammeni}   % ᾚ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F9B}{\accdasiavaria}{\textEta\prosgegrammeni}   % ᾛ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F9C}{\accpsilioxia}{\textEta\prosgegrammeni}   % ᾜ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F9D}{\accpsilioxia}{\textEta\prosgegrammeni}   % ᾝ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F9E}{\accpsiliperispomeni}{\textEta\prosgegrammeni}   % ᾞ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1F9F}{\accdasiaperispomeni}{\textEta\prosgegrammeni}   % ᾟ
+%
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA0}{\accpsili}{\textomega\ypogegrammeni}   % ᾠ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA1}{\accdasia}{\textomega\ypogegrammeni}   % ᾡ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA2}{\accpsilivaria}{\textomega\ypogegrammeni}  % ᾢ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA3}{\accdasiavaria}{\textomega\ypogegrammeni}  % ᾣ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA4}{\accpsilioxia}{\textomega\ypogegrammeni}  % ᾤ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA5}{\accpsilioxia}{\textomega\ypogegrammeni}  % ᾥ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA6}{\accpsiliperispomeni}{\textomega\ypogegrammeni}  % ᾦ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA7}{\accdasiaperispomeni}{\textomega\ypogegrammeni}  % ᾧ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA8}{\accpsili}{\textOmega\prosgegrammeni}  % ᾨ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FA9}{\accdasia}{\textOmega\prosgegrammeni}  % ᾩ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FAA}{\accpsilivaria}{\textOmega\prosgegrammeni} % ᾪ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FAB}{\accdasiavaria}{\textOmega\prosgegrammeni} % ᾫ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FAC}{\accpsilioxia}{\textOmega\prosgegrammeni} % ᾬ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FAD}{\accpsilioxia}{\textOmega\prosgegrammeni} % ᾭ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FAE}{\accpsiliperispomeni}{\textOmega\prosgegrammeni} % ᾮ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FAF}{\accdasiaperispomeni}{\textOmega\prosgegrammeni} % ᾯ
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB0}{\u}{\textalpha}                  % ᾰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB1}{\=}{\textalpha}     % ᾱ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB2}{\`}{\textalpha\ypogegrammeni} % ᾲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB3}{\textalpha}{\ypogegrammeni}      % ᾳ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB4}{\'}{\textalpha\ypogegrammeni} % ᾴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB6}{\~}{\textalpha}                  % ᾶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB6}{\accperispomeni}{\textalpha}                  % ᾶ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB7}{\accperispomeni}{\textalpha\ypogegrammeni}    % ᾷ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB8}{\u}{\textAlpha}                  % Ᾰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FB9}{\=}{\textAlpha}     % Ᾱ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBA}{\`}{\textAlpha}     % Ὰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBB}{\'}{\textAlpha}     % Ά
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBA}{\accvaria}{\textAlpha}     % Ὰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBB}{\acctonos}{\textAlpha}     % Ά
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBC}{\textAlpha}{\prosgegrammeni}     % ᾼ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBD}{\accpsili}{\textcompwordmark} % ᾽
+\DeclareUTFcharacter[\LastDeclaredEncoding]{x1FBE}{\prosgegrammeni} % ι
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FBF}{\accpsili}{\textcompwordmark} % ᾿
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC0}{\~}{\textcompwordmark}           % ῀
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC0}{\accperispomeni}{\textcompwordmark}           % ῀
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC1}{\accdialytikaperispomeni}{\textcompwordmark}         % ῁
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC2}{\`}{\texteta\ypogegrammeni} % ῂ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC3}{\texteta}{\ypogegrammeni}        % ῃ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC4}{\'}{\texteta\ypogegrammeni} % ῄ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC6}{\~}{\texteta}                    % ῆ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC6}{\accperispomeni}{\texteta}                    % ῆ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC7}{\accperispomeni}{\texteta\ypogegrammeni}      % ῇ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC8}{\`}{\textEpsilon}                 % Ὲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC9}{\'}{\textEpsilon}                 % Έ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCA}{\`}{\textEta}                     % Ὴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCB}{\'}{\textEta}                     % Ή
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC8}{\accvaria}{\textEpsilon}          % Ὲ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FC9}{\acctonos}{\textEpsilon}          % Έ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCA}{\accvaria}{\textEta}              % Ὴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCB}{\acctonos}{\textEta}              % Ή
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCC}{\textEta}{\prosgegrammeni}        % ῌ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCD}{\accpsilivaria}{\textcompwordmark} % ῍
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCE}{\accpsilioxia}{\textcompwordmark} % ῎
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FCF}{\accpsiliperispomeni}{\textcompwordmark} % ῏
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD0}{\u}{\textiota}                    % ῐ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD1}{\=}{\textiota}                    % ῑ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD2}{\accdialytikavaria}{\textiota}    % ῒ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD3}{\accdialytikaoxia}{\textiota}     % ΐ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD6}{\~}{\textiota}       % ῖ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD6}{\accperispomeni}{\textiota}       % ῖ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD7}{\accdialytikaperispomeni}{\textiota}% ῗ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD8}{\u}{\textIota}                    % Ῐ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FD9}{\=}{\textIota}                    % Ῑ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDA}{\`}{\textIota}                    % Ὶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDB}{\'}{\textIota}                    % Ί
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDA}{\accvaria}{\textIota}             % Ὶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDB}{\acctonos}{\textIota}             % Ί
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDD}{\accdasiavaria}{\textcompwordmark}% ῝
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDE}{\accpsilioxia}{\textcompwordmark} % ῞
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FDF}{\accdasiaperispomeni}{\textcompwordmark} % ῟
+
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE0}{\u}{\textupsilon}                 % ῠ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE1}{\=}{\textupsilon}                 % ῡ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE2}{\accdialytikavaria}{\textupsilon} % ῢ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE3}{\accdialytikaoxia}{\textupsilon}  % ΰ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE4}{\accpsili}{\textrho}              % ῤ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE5}{\accdasia}{\textrho}              % ῥ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE6}{\~}{\textupsilon}    % ῦ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE6}{\accperispomeni}{\textupsilon}    % ῦ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE7}{\accdialytikaperispomeni}{\textupsilon} % ῧ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE8}{\u}{\textUpsilon}                 % Ῠ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FE9}{\=}{\textUpsilon}                 % Ῡ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEA}{\`}{\textUpsilon}                 % Ὺ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEB}{\'}{\textUpsilon}                 % Ύ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEA}{\accvaria}{\textUpsilon}          % Ὺ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEB}{\acctonos}{\textUpsilon}          % Ύ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEC}{\accdasia}{\textRho}              % Ῥ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FED}{\accdialytikavaria}{\textcompwordmark} % ῭
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEE}{\accdialytikaoxia}{\textcompwordmark} % ΅
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FEF}{\accvaria}{\textcompwordmark} % `
+
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF2}{\`}{\textomega\ypogegrammeni} % ῲ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF3}{\textomega}{\ypogegrammeni}   % ῳ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF4}{\'}{\textomega\ypogegrammeni} % ῴ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF6}{\~}{\textomega}    % ῶ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF6}{\accperispomeni}{\textomega}    % ῶ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF7}{\accperispomeni}{\textomega\ypogegrammeni} % ῷ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF8}{\`}{\textOmicron}   % Ὸ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF9}{\'}{\textOmicron}   % Ό
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFA}{\`}{\textOmega}     % Ὼ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFB}{\'}{\textOmega}     % Ώ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF8}{\accvaria}{\textOmicron}   % Ὸ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FF9}{\acctonos}{\textOmicron}   % Ό
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFA}{\accvaria}{\textOmega}     % Ὼ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFB}{\acctonos}{\textOmega}     % Ώ
+% \DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFC}{\textOmega}{\prosgegrammeni}     % ῼ
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFD}{\accoxia}{\textcompwordmark} % ´
+\DeclareUTFcomposite[\LastDeclaredEncoding]{x1FFE}{\accdasia}{\textcompwordmark} % ῾
+
+
+
+

Letterlike Symbols

+
\DeclareUTFcharacter[\LastDeclaredEncoding]{x2126}{\textohm}  % Ω OHM SIGN
+
+
+
+

Ancient Greek Numbers

+

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

+

Definition with literal Unicode characters, because the code-point has 5 +hexadecimal digits:

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

UPPERCASE

+

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

+
+

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 (άυλος → ΑΫΛΟΣ, μάινα → ΜΑΪΝΑ, κέικ → ΚΕΪΚ, +ἀυπνία → ΑΫΠΝΙΑ).

+

Look ahead and place a diaeresis on Ι or Υ +(copied from lgrenc.def and changed Latin transcription to Unicode literals):

+
\DeclareTextCommand{\LGR@A@hiatus}{\LastDeclaredEncoding}{%
+  \LGR@ifnextchar{Ι}{A\"}{%
+    \LGR@ifnextchar{Υ}{A\"}{%
+      \LGR@ifnextchar{\textIota}{A\"}{%
+        \LGR@ifnextchar{\textUpsilon}{A\"}{A}%
+      }%
+    }%
+  }%
+}
+\DeclareTextCommand{\LGR@E@hiatus}{\LastDeclaredEncoding}{%
+  \LGR@ifnextchar{Ι}{E\"}{%
+    \LGR@ifnextchar{Υ}{E\"}{%
+      \LGR@ifnextchar{\textIota}{E\"}{%
+        \LGR@ifnextchar{\textUpsilon}{E\"}{E}%
+      }%
+    }%
+  }%
+}
+
+ +
+
+
+
+ + -- cgit v1.2.3