diff options
Diffstat (limited to 'language/greek/greek-fontenc/greek-fontenc-doc.rst')
-rw-r--r-- | language/greek/greek-fontenc/greek-fontenc-doc.rst | 180 |
1 files changed, 99 insertions, 81 deletions
diff --git a/language/greek/greek-fontenc/greek-fontenc-doc.rst b/language/greek/greek-fontenc/greek-fontenc-doc.rst index 4b25969c0d..9883989c1d 100644 --- a/language/greek/greek-fontenc/greek-fontenc-doc.rst +++ b/language/greek/greek-fontenc/greek-fontenc-doc.rst @@ -4,7 +4,7 @@ greek-fontenc Greek font encoding definition files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -:Version: 2.4 (changelog_) +:Version: 2.5 (changelog_) :Copyright: © 2010 -- 2023 Günter Milde <milde@users.sf.net> :Licence: This work may be distributed and/or modified under the @@ -15,9 +15,9 @@ Greek font encoding definition files :Latest Release: https://ctan.org/pkg/greek-fontenc -:Abstract: The `greek-fontenc` bundle provides LICR [#]_ macros - for characters from the Greek script and encoding - definition files for `Greek text font encodings`_. +:Abstract: The `greek-fontenc` bundle provides encoding definition files + for `Greek text font encodings`_ that define LICR [#]_ macros + for characters from the Greek script Included are also the LaTeX packages textalpha_ and alphabeta_. @@ -38,8 +38,9 @@ Packages .. _textalpha: `<textalpha.sty>`_: `Greek symbols in text <textalpha.sty.html>`_ - Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters [#]_ + Use ``\textalpha`` ... ``\textOmega`` or Greek literal characters independent of font encoding and TeX engine. + Documentation: textalpha-doc.pdf_ .. _alphabeta: @@ -47,9 +48,8 @@ Packages `<alphabeta.sty>`_: `Greek symbols in text and math <alphabeta.sty.html>`_ Use ``\alpha`` ... ``\Omega`` independent of text/math mode, font encoding, and TeX engine. - Documentation: alphabeta-doc.pdf_ -.. [#] requires greek-inputenc_ + Documentation: alphabeta-doc.pdf_ Font encoding definitions ------------------------- @@ -73,10 +73,6 @@ Font encoding definitions Auxiliary files --------------- -`<alphabeta-lgr.def>`_ - Composite definitions for alphabeta_ with 8-bit TeX. -`<alphabeta-tuenc.def>`_ - Composite definitions for alphabeta_ with XeTeX/LuaTeX. `<greek-euenc.def>`_ Backwards compatibility file loading tuenc-greek.def_. `<lgr2licr.lua>`_ @@ -90,27 +86,25 @@ with Docutils_ to the HTML documentation. Usage examples and test documents ================================= -`<test-lgrenc.tex>`_ - LGR test and usage example. [`<test-lgrenc.pdf>`_] +`<char-list.tex>`_: `<char-list.pdf>`_, `<char-list-tu.pdf>`_ + List of Greek characters supported by `greek-fontenc`. + Compares input variants and tests chase changing. -`<test-tuenc-greek.tex>`_ - TU test and usage example. [`<test-tuenc-greek.pdf>`_] +`<char-list-alphabeta.tex>`_: `<char-list-alphabeta.pdf>`_, `<char-list-alphabeta-tu.pdf>`_ + List/test of Greek characters supported by `alphabeta`. -`<hyperref-with-greek.tex>`_ - Hyperref_ test and usage example. [`<hyperref-with-greek.pdf>`_] -`<char-list.tex>`_ - List of Greek characters supported by `greek-fontenc`. [`<char-list.pdf>`_] +`<hyperref-with-greek.tex>`_: `<hyperref-with-greek.pdf>`_ + Hyperref_ test and usage example. - Compares input variants and tests chase changing. +`<test-lgrenc.tex>`_: `<test-lgrenc.pdf>`_ + LGR test and usage example. -`<test-licr-input.tex>`_ - Test LICRs with non-Greek legacy 8-bit input encoding. - [`<test-licr-input.pdf>`_] +`<test-tuenc-greek.tex>`_: `<test-tuenc-greek.pdf>`_ + TU test and usage example. -`<test-diacritics.tex>`_ - Test Greek diacritics with standard accent macros. - [`<test-diacritics.pdf>`_] +`<test-luainputenc.tex>`_: `<test-luainputenc.pdf>`_ + Test LICRs LuaTeX in 8-bit compatibility mode (with luainputenc_). Download and Installation @@ -239,23 +233,11 @@ More secure is an explicit reverse-definition, e.g. :: Greek text font encodings ========================= -Greek TeX font encodings are the envisaged T7_, LGR_, and LGI_. -Greek letters and symbols are also defined in the Unicode-based font -encodings TU_, and PU_. - -T7 --- - -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. - LGR --- The LGR font encoding is the de-facto standard for typesetting Greek with -(8-bit) LaTeX. `greek-fontenc` provides a comprehensive `LGR font +8-bit LaTeX. `greek-fontenc` provides a comprehensive `LGR font encoding definition file`_. Fonts in this encoding include the `CB fonts`_ (matching CM), grtimes_ @@ -270,29 +252,19 @@ transliteration. This enables simple input with a Latin keyboard. Characters with diacritics can be selected by ligature definitions in the 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``). -This means that for every Latin-written word or acronym an explicit -language-switch is required. This problem can only be solved via a -font-encoding comprising Latin and Greek like the envisaged T7_ or -Unicode (with XeTeX or LuaTeX). - -LGI ---- - -The ‘Ibycus’ fonts from the package ibygrk_ implement an alternative -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 any LICR macros or composite definitions). +A major drawback of the transliteration is the fact, 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``). This means that for every Latin-written word or +acronym an explicit language-switch is required. This problem can be +circumvented using Unicode fonts (font encoding TU_) with XeTeX or +LuaTeX. TU -- Standard Unicode font encoding for XeTeX and LuaTeX loaded by fontspec_ -(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_. +(since v2.5a) rsp. the LaTeX kernel since 2017/01/01 [ltnews26]_. [#]_ `greek-fontenc` adds support for the Greek script (see tuenc-greek_). Xe/LuaTeX works with any system-wide installed `OpenType font`_. Suitable @@ -302,21 +274,45 @@ Tempora_, and `UM Typewriter`_ (all available on CTAN) but also many commercial fonts. Unfortunately, the fontspec_ default, `Latin Modern`_ misses most Greek characters. -Older versions of LuaTeX did not apply the NFC normalization. This lead to +LuaTeX does not apply the NFC normalization by default. This leads to sub-optimal placing of some diacritics, especially the sub-iota (becoming -unintelligible in combination with small letter eta). This issue if fixed -since at least 2022. +unintelligible in combination with small letter eta). This issue can be fixed +specifiying the "Harfbuzz" renderer when loading fonts with fontspec, +e.g. :: + + \setmainfont[Renderer=Harfbuzz]{FreeSerif} -The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX -respectively were superseded by TU in the 2017 fontspec_ release. +.. [#] The legacy Unicode font encodings EU1 and EU2 for XeTeX and LuaTeX + respectively were superseded by TU in the 2017 fontspec release. PU -- The package hyperref_ defines the PU font encoding for use in PDF strings -(ToC, bookmarks) which supports monotonic Greek. `greek-fontenc` adds -support for polytonic Greek and some archaic characters also supported in -LGR and TU (see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_). +(ToC, bookmarks). `greek-fontenc` adds support for Greek LICRs +(see `<hyperref-with-greek.tex>`_, `<hyperref-with-greek.pdf>`_). + +---------------------------------------------------------------------------- + +The following two encodings are not supported by `greek-fontenc`: + +LGI +--- + +The ‘Ibycus’ fonts from the package ibygrk_ implement an alternative +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 any LICR macros or composite definitions). + +T7 +-- + +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. Greek LICR macro names @@ -332,7 +328,7 @@ This bundle provides LaTeX internal character representations (LICR macros) for Greek letters and diacritics. Macro names were selected based on the following considerations: -letters and symbols +Letters and symbols ------------------- * The fntguide_ (section 6.4 Naming conventions) recommends: @@ -362,10 +358,8 @@ letters and symbols * 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 LICR macros, they can be either - - i. used as inspiration for new LICR macro names or - ii. converted to LICR macro names via a defined set of transformation rules. + While not suited for direct use in LICR macros, they can be + converted to LICR macro names via a defined set of transformation rules. Example: ``\textfinalsigma`` is a descriptive alias for @@ -397,20 +391,21 @@ letters and symbols The font encoding definition files use the ``text`` prefix for symbols. Aliases (short forms, compatibility defs, etc.) are defined in - additional packages (e.g. alphabeta.sty_, `babel-greek`_, or teubner_) + additional packages (e.g. alphabeta.sty_ and teubner_) -accent macros +Accent macros ------------- * standard accent macros (``\DeclareTextAccent`` definitions in ``latex/base/...``) are one-character macros (``\' \" ... \u \v ...``) . -* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accents. +* ``tipa.sty``, xunicode_, and ucs_ use the "text" prefix also for accent + macros. However, the `Adobe Glyph List For New Fonts`_ maps, e.g., "tonos" and - "dieresistonos" to the spacing characters GREEK TONOS and GREEK DIALYTIKA - TONOS, hence `\texttonos` and `\textdiaresistonos` should be spacing + "dieresistonos" to the spacing characters GREEK TONOS rsp. GREEK DIALYTIKA + TONOS, hence ``\texttonos`` and ``\textdieresistonos`` should be spacing characters. * textcomp (ts1enc.def) defines ``\capital...`` accents (i.e. without @@ -423,12 +418,12 @@ Currently, `greek-fontenc` uses for diacritics: - the prefix ``\acc`` to distinguish the macros as `TextAaccent` and reduce the risk of name clashes with spacing characters. -For the end-user "symbol macros" (``\~ \' \` \" \"' \"` ...``) are -provided. (With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for -``\accdasia`` and ``\accpsili``.) +Aliases to the "symbol macros" ``\~ \' \` \" \"' \"` ...`` are +provided. With textalpha_ or alphabeta_ also ``\<`` and ``\>`` for +``\accdasia`` and ``\accpsili``. -symbol variants +Symbol variants --------------- Mathematical notation distinguishes variant shapes for beta (β|ϐ), @@ -559,6 +554,28 @@ Changelog 2.4 (2023-08-15) - Fixes for the 2022 implementation of ``\MakeUppercase``. - textalpha_: Map character 00B5 MICRO SIGN to ``\textmicro``. +2.5 (2023-09-12) + - ``\textvarTheta`` is now an alias for ``\textTheta`` (the AMS-math + command ``\varTheta`` sets the *letter* Theta in italic shape). + - Fix errors in LuaTeX's 8-bit compatibility mode (luainputenc_). + - Fix ``\MakeUppercase`` in PDF strings. + - Drop composite definitions if the pre-composed character can also be + selected by the `Unicode NFC normalization`_. + - Test/fix case change commands with alphabeta_. + Composite commands for PU. + Inline ``alphabeta-tuenc.def`` and ``alphabeta-lgr.def``. + - Update documentation, fix links. + +TODO: + - Fix ``\textautosigma`` with Unicode fonts. + + .. report issues: + The polytonic variant with dasia and oxia used in ἢ … ἤ (*either … or*) + drops diacritics! By mistake, omission, or intent? + + Compilation error with MakeUppercase and combining ypogegrammeni in Greek + locale: ``\foreignlanguage{greek}{Λͅ → \MakeUppercase{Λͅ}}`` + __ http://tex.stackexchange.com/questions/281631/greek-small-rho-with-dasia-and-also-psili-problem-with-accent-and-lgr-encodin .. _ltxbugs 4399: @@ -610,6 +627,7 @@ from the ucs_ package. .. _Adobe Glyph List: http://raw.githubusercontent.com/adobe-type-tools/agl-aglfn/master/glyphlist.txt .. _Unicode names list: http://www.unicode.org/Public/UNIDATA/NamesList.txt +.. _Unicode NFC normalization: https://www.unicode.org/reports/tr15/ .. _XML Entity Definitions for Characters: http://www.w3.org/TR/xml-entity-names/ .. _CB fonts: https://ctan.org/pkg/cbgreek-complete @@ -624,6 +642,7 @@ from the ucs_ package. .. _Libertinus: https://ctan.org/pkg/libertinus .. _Old Standard: https://ctan.org/pkg/oldstandard .. _OpenType Font: https://ctan.org/topic/font-otf +.. _Tempora: https://ctan.org/pkg/tempora .. _UM Typewriter: https://ctan.org/pkg/umtypewriter .. _amssymb: https://ctan.org/pkg/amsfonts .. _arabi: https://ctan.org/pkg/arabi @@ -639,9 +658,8 @@ from the ucs_ package. .. _ibygrk: https://ctan.org/pkg/ibygrk .. _lgrx: https://ctan.org/pkg/lgrx .. _libertine: https://ctan.org/pkg/libertine-legacy -.. _lua-uni-algos: https://ctan.org/pkg/lua-uni-algos +.. _luainputenc: https://ctan.org/pkg/luainputenc .. _substitutefont: https://ctan.org/pkg/substitutefont -.. _tempora: https://ctan.org/pkg/tempora .. _teubner: https://ctan.org/pkg/teubner .. _ucs: https://ctan.org/pkg/unicode .. _unicode-math: https://ctan.org/pkg/unicode-math |