diff options
author | Karl Berry <karl@freefriends.org> | 2016-02-06 23:08:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-02-06 23:08:48 +0000 |
commit | 91a84b20bf292e0b92d8e835eb43f56dc464672c (patch) | |
tree | 94601e59c011076e0224fba66dc45dcfe57c68fb /Master/texmf-dist/tex/latex/greek-fontenc | |
parent | 271b5e39301a387f969ef73ea8d24eb4f087d8da (diff) |
greek-fontenc (7feb16)
git-svn-id: svn://tug.org/texlive/trunk@39606 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/greek-fontenc')
3 files changed, 135 insertions, 129 deletions
diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty index eca931db9a8..5b76dc736c7 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty +++ b/Master/texmf-dist/tex/latex/greek-fontenc/alphabeta.sty @@ -14,19 +14,21 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{alphabeta} -[2015/09/04 v0.13 macros for Greek letters in text and math] +[2016/02/05 v0.13.2 macros for Greek letters in text and math] % Changelog: % .. class:: borderless % -% ========== ===== ========================================================= -% 2012-06-26 0.1 initial version -% 2013-05-03 0.2 new accent macro names with ``lgrxenc.def`` 0.7 -% 2013-05-28 0.3 use ``lgrenc.def`` from greek-fontenc, +% ====== ========== ========================================================= +% 0.1 2012-06-26 initial version +% 0.2 2013-05-03 new accent macro names with ``lgrxenc.def`` 0.7 +% 0.3 2013-05-28 use ``lgrenc.def`` from greek-fontenc, % .. enable Unicode input in math mode. -% 2013-09-11 0.4 move to greek-fontenc_, support XeTeX/LuaTeX. -% 2015-09-04 0.13 Support for `variant symbols`. -% ========== ===== ========================================================= +% 0.4 2013-09-11 move to greek-fontenc_, support XeTeX/LuaTeX. +% 0.13 2015-09-04 Support for `variant symbols`. +% 0.13.2 2016-02-05 Support for standard Unicode text font encoding "TU" +% (new in fontspec v2.5a). +% ====== ========== ========================================================= % % Motivation % ========== diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def index e7d3b88f6d1..2abcce02342 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def +++ b/Master/texmf-dist/tex/latex/greek-fontenc/lgrenc.def @@ -132,7 +132,7 @@ % specific font encoding, in any font encoding supporting Greek. An % alternative Greek font encodings is LGI (ibycus_). Greek script is also % supported by the Unicode-based font encodings PU (`PDF Unicode` used by -% hyperref_ for PDF metadata), EU1 (XeTeX) and EU2 (LuaTeX). The textalpha_ +% hyperref_ for PDF metadata), TU, EU1 (XeTeX) and EU2 (LuaTeX). The textalpha_ % package makes these macros available independent of the current font % encoding. % :: diff --git a/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty b/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty index 0bf4b1f18ab..4f657b4fb83 100644 --- a/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty +++ b/Master/texmf-dist/tex/latex/greek-fontenc/textalpha.sty @@ -2,157 +2,159 @@ % +++++++++++++ % Greek symbols in text % ********************* -% +% % :Copyright: © 2010 Günter Milde % :Licence: This work may be distributed and/or modified under the % conditions of the `LaTeX Project Public License`_, either % version 1.3 of this license or any later version. -% +% % :Abstract: Provide a set of ``\text*`` macros for Greek characters % in text mode. -% +% % :Identification: % :: \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{textalpha} -[2015/09/04 v0.13 macros for Greek letters in text] +[2016/02/05 v0.13.2 macros for Greek letters in text] % .. note:: -% +% % The package was renamed from `textgreek` to `textalpha` to prevent % confusion with the textgreek_ package by Leonard Michlmayr. -% -% +% +% % Changelog: % .. class:: borderless -% -% ========== ===== ========================================================= -% 2010-06-16 0.1 initial version -% 2012-06-27 0.2 support for compound Unicode definitions outside LGR -% 2013-05-03 0.3 new accent macro names with ``lgrxenc.def`` 0.7 -% 2013-05-28 0.4 use ``lgrenc.def`` from greek-fontenc. -% 2013-09-11 0.5 move to greek-fontenc_, -% .. support XeTeX/LuaTeX, add breve below accents. -% 2013-11-28 0.11 compatibility with Xe/LuaTeX in 8-bit mode. -% 2014-12-12 0.12 fix auxiliary macro names, +% +% ====== ========== ========================================================= +% 0.1 2010-06-16 initial version +% 0.2 2012-06-27 support for compound Unicode definitions outside LGR +% 0.3 2013-05-03 new accent macro names with ``lgrxenc.def`` 0.7 +% 0.4 2013-05-28 use ``lgrenc.def`` from greek-fontenc. +% 0.5 2013-09-11 move to greek-fontenc_, +% .. support XeTeX/LuaTeX, add breve below accents. +% 0.11 2013-11-28 compatibility with Xe/LuaTeX in 8-bit mode. +% 0.12 2014-12-12 fix auxiliary macro names, % define symbol macros for breathing accents. -% 2015-09-04 0.13 Option normalize-symbols_: support for symbol variants. -% .. Option keep-semicolon_: use semicolon as erotimatiko +% 0.13 2015-09-04 Option normalize-symbols_: support for symbol variants. +% .. Option keep-semicolon_: use semicolon as erotimatiko % in LGR. -% ========== ===== ========================================================= -% +% 0.13.2 2016-02-05 Support for standard Unicode text font encoding "TU" +% (new in fontspec v2.5a). +% ====== ========== ========================================================= +% % .. contents:: -% +% % Motivation % ========== -% +% % By default, TeX macros for Greek letters are only valid in mathematical % mode. This package sets up a suitable `font encoding`_ and `LaTeX internal % character representations` (LICR) definitions for Greek (``\textalpha`` -- % ``\textOmega``). -% +% % To allow documents using Greek LICR macros without worrying about the TeX % engine used to compile them, this package tests the declared font encodings % and does "the right thing" to set up Greek text font support: -% +% % * If the Unicode font encodings EU1 (XeTeX) or EU2 (LuaTeX) are declared, % before loading this package (e.g. via ``fontspec``) the package provides % Greek LICR definitions for them. -% +% % * Otherwise, the `LGR font encoding`_ is set as `default font encoding` % (cf. fntguide_ section 5.3) for Greek. -% +% % Advantages: -% +% % * Symbols from a Greek text font (e.g. the `CB fonts`_) can be accessed % without the need for an explicite font-encoding switch anywhere in the % text. -% +% % * Unicode input of Greek characters is supported -% +% % + via ``\usepackage[utf8]{inputenc}`` and ``lgrenc.dfu`` from % greek-inputenc_ for 8-bit TeX or XeTeX/LuaTeX in 8-bit compatibility % mode in any font encoding (see textalpha-doc.tex_). -% +% % + natively by XeTeX/LuaTeX for Unicode fonts. As inputenc_ does not work % with these engines, text input can be done via the Latin transcription % or LICR but *not via literal Unicode characters* for 8-bit font encodings % like LGR (see greek-euenc-doc.tex_). -% +% % .. Attention:: The macros work well in any font encoding for single symbols. % However, with 8-bit TeX engines, the automatic font-encoding switches % behind the doors interfere with kerning between letters and replacement % of accent+character with a pre-composed character. -% +% % Therefore, Greek text should be written with the help of babel_ or % polyglossia_ (setting the language to ``greek``) or wrapped in the % provided ``ensuregreek`` macro. Using babel_ or polyglossia_ also helps % to ensure correct hyphenation of Greek text. -% -% +% +% % Usage % ===== -% +% % Ensure support for Greek characters in text mode with -% +% % .. code:: latex -% +% % \usepackage{textalpha} -% +% % eventually with the options_ to normalize symbols variants -% +% % .. code:: latex -% +% % \usepackage[normalize-symbols]{textalpha} -% +% % and/or to use the semicolon as erotimatiko_ also in 8-bit TeX -% +% % .. code:: latex -% +% % \usepackage[normalize-symbols,keep-semicolon]{textalpha} -% -% +% +% % To give ``textalpha.sty`` a chance of finding out which `font encodings`_ % are used, load it after fontspec_ and/or fontenc_. -% -% -% +% +% +% % For detailled examples see `<textalpha-doc.tex>`_ and `<textalpha-doc.pdf>`_ % (8-bit TeX and XeTeX/LuaTeX in 8-bit compatibility mode) as well as % `<greek-euenc-doc.tex>`_ and `<greek-euenc-doc.pdf>`_ (XeTeX/LuaTeX with % Unicode fonts). -% +% % With XeTeX or LuaTex, Unicode fonts and LGR encoded 8-bit fonts can be used % in the same document (see greek-euenc-doc.tex_). -% -% +% +% % Implementation % ============== -% +% % Options % ------- -% +% % normalize-symbols % """"""""""""""""" -% +% % The "variant shape" symbol characters like ``03D1 GREEK THETA SYMBOL`` are % mathematical charcters for mathematical use % (similar to ``1D440 MATHEMATICAL ITALIC CAPITAL M``). % Unfortunately, some Greek texts sources in Unicode encoding mix letter and % symbol characters . -% +% % The "normalize-symbols" option controls the handling of `variant shape % symbols`_ under 8-bit TeX: -% +% % * The option activates a simple "folding" mechanism that merges ϰ and κ to % \textkappa etc. for text copied from external sources which may use the % GREEK SYMBOL characters in place of GREEK LETTERS, -% +% % * Without this option, variant shape symbols in the input are reported as % errors to prevent information loss in cases where the distinction between % ϰ and κ is intended (e.g. in mathematical or scientific context). -% +% % With XeTeX/LuaTeX and Unicode fonts, this option is ignored. % :: @@ -161,16 +163,16 @@ % keep-semicolon % """""""""""""" -% +% % The erotimatiko_ looks like a semicolon but is a % **Greek question mark**: -% +% % * The `LGR font encoding`_ uses the Latin question mark as input for the % `erotimatiko` and maps the semicolon to a middle dot (`ano teleia`). % * The Unicode standard provides the code point ``037E GREEK QUESTION MARK`` % but says: "character ``003B SEMICOLON`` (and not 037E) is the preferred % character for Greek question mark". -% +% % The ``keep-semicolon`` option allows to use the `semicolon as erotimatiko`_ % in both, Xe/LuaTeX and 8-bit TeX. (The `ano teleia` can be input as % ``\textanoteleia`` or using character ``00B7 MIDDLE DOT``.) @@ -183,49 +185,54 @@ \ProcessOptions\relax % .. _font encoding: -% +% % Font encodings % -------------- -% +% % With 8-bit LaTeX, the `LGR font encoding`_ is used for Greek characters. If -% no Greek-supporting font encoding (EU1, EU2, or LGR) is declared, LGR is +% no Greek-supporting font encoding (TU, EU1, EU2, or LGR) is declared, LGR is % loaded and set up as default Greek font encoding by this package. -% +% % With XeTeX or LuaTeX, there is one common input and font encoding -- -% Unicode. 8-bit TeX font encodings are only used in compatibility mode or for +% Unicode. 8-bit TeX font encodings are only used in compatibility mode or for % fonts not available otherwise. For compatibility with the LaTeX font -% selection system, the package euenc_ defines the (pseudo) font encodings EU1 -% and EU2 for XeTeX and LuaTeX respectively. However euenc does not (yet) -% define LICR macros. We therefore explicitely load Greek LICR definitions for -% XeTeX/LuaTeX from `greek-euenc.def <greek-euenc.def.html>`_ which in turn -% includes `greek-fontenc.def <greek-fontenc.def.html>`_. -% +% selection system, fontspec_ defines the TU font encoding or the (pseudo) +% font encodings EU1 and EU2 for XeTeX and LuaTeX respectively. However +% `fontspec` does not (yet) define Greek LICR macros. We therefore explicitely +% load Greek LICR definitions for XeTeX/LuaTeX from `greek-euenc.def +% <greek-euenc.def.html>`_ which in turn includes `greek-fontenc.def +% <greek-fontenc.def.html>`_. +% % .. _LGR font encoding: README.html#lgr -% +% % Ensure a Greek-supporting font encoding exists and supports Greek LICR % macros: -% -% * Load the Greek LICR definitions for Unicode if font encoding EU1 (XeTeX) -% or EU2 (LuaTeX) is detected. [#EU]_ (In an ideal world, this would be done -% in the ``eu1enc.def`` (or ``eu2enc.def``) file of the euenc_ package.) +% +% * Load the Greek LICR definitions for Unicode if the font encoding TU, EU1 +% (XeTeX) or EU2 (LuaTeX) is detected. % * Re-set ``\LastDeclaredEncoding`` (used in some included font-encoding files). -% * If none of EU1, EU2, or LGR is declared, load ``lgrenc.def``. -% +% * If none of TU, EU1, EU2, or LGR is declared, load ``lgrenc.def``. +% % :: -\@ifl@aded{def}{eu1enc}{ - \renewcommand{\LastDeclaredEncoding}{EU1} +\@ifl@aded{def}{tuenc}{ + \renewcommand{\LastDeclaredEncoding}{TU} \input{greek-euenc.def} }{% else - \@ifl@aded{def}{eu2enc}{ - \renewcommand{\LastDeclaredEncoding}{EU2} + \@ifl@aded{def}{eu1enc}{ + \renewcommand{\LastDeclaredEncoding}{EU1} \input{greek-euenc.def} }{% else - \@ifl@aded{def}{lgrenc}{ - % LGR already declared and set up - \renewcommand{\LastDeclaredEncoding}{LGR} - }{ - \input{lgrenc.def} + \@ifl@aded{def}{eu2enc}{ + \renewcommand{\LastDeclaredEncoding}{EU2} + \input{greek-euenc.def} + }{% else + \@ifl@aded{def}{lgrenc}{ + % LGR already declared and set up + \renewcommand{\LastDeclaredEncoding}{LGR} + }{ + \input{lgrenc.def} + } } } } @@ -239,20 +246,16 @@ \ProvideTextCommand{\ensuregreek}{PU}[1]{#1}} {} -% .. [#EU] The two different (pseudo) font encodings allow different font -% setups for XeTeX vs. LuaTeX using differently named ``*.fd`` files (see -% euenc_ for details). -% -% + % Symbol macros for breathings % ---------------------------- -% +% % In the Latin transcription provided by LGR, breathing accents (Dasia and % Psili) are input as < and >. We provide the corresponding NFSS macro accents % (moved here from `greek-fontenc.def`_). -% +% % As Xe/LuaTeX may use LGR in combination with EU1 or EU2, we define the -% macros for both, LGR and Unicode font encodings (if they are defined):: +% macros twice, for LGR and Unicode font encodings (if they are defined):: \@ifl@aded{def}{lgrenc}{ \DeclareTextCommand{\<}{LGR}{\accdasia} @@ -266,7 +269,7 @@ \DeclareTextCompositeCommand{\<}{LGR}{~}{\accdasiaperispomeni} }{} -\@ifl@aded{def}{greek-euenc}{ % XeTeX (EU1) or LuaTeX (EU2) +\@ifl@aded{def}{greek-euenc}{ % XeTeX or LuaTeX with Unicode fonts \DeclareTextCommand{\<}{\LastDeclaredEncoding}{\accdasia} \DeclareTextCommand{\>}{\LastDeclaredEncoding}{\accpsili} % Composite accents starting with the new-defined shortcuts: @@ -278,9 +281,10 @@ \DeclareTextCompositeCommand{\<}{\LastDeclaredEncoding}{~}{\accdasiaperispomeni} }{} + % Default declarations % -------------------- -% +% % The following definitions ensure that the Greek LICR macros can be used % anywhere in the document also with 8-bit TeX by declaring LGR as their % default font encoding. Abort here, if the LGR font encoding is not defined:: @@ -293,13 +297,13 @@ % greekscript, ensuregreek % """""""""""""""""""""""" -% +% % The ``\greekscript`` declaration ensures the current font encoding supports % the Greek script. ``greek-fontenc.def`` sets this to the empty declaration % for font encodings that do so. This is currently used by ``lgrenc.def`` % (LGR) and ``greek-euenc.def`` (Greek LICR macros for EU1 and EU2). -% -% +% +% % We define LGR as default encoding for Greek text. We use % ``\ProvideTextCommandDefault`` to enable the author or other packages to use % an alternative definition (see [fntguide_]):: @@ -312,26 +316,26 @@ \ProvideTextCommandDefault{\ensuregreek}[1]{\leavevmode{\greekscript #1}} % .. The [fntguide_] writes -% +% % Note that ``\DeclareTextAccentDefault`` can be used on any % one-argument encoding-specific command, not just those defined with % ``\DeclareTextAccent``. -% +% % However, the simpler alternative % ``\DeclareTextAccentDefault{\ensuregreek}{LGR}`` fails with the table of % Unicode characters in the test document `<textalpha-doc.tex>`__: -% +% % ``! You can't use a prefix with `end-group character }'.`` -% -% Eventually, all font encodings supporting Greek script (e.g. LGI, PU, EU1, -% EU2) will declare ``\ensuregreek`` as text command that passes the argument -% unchanged. This way, kerning and selection of precomposed glyphs would work -% also for cases like ``\ensuregreek{\'A}U``. -% -% +% +% Eventually, all font encodings supporting Greek script (e.g. LGI, PU, TU, +% EU1, EU2) will declare ``\ensuregreek`` as text command that passes the +% argument unchanged. This way, kerning and selection of precomposed glyphs +% would work also for cases like ``\ensuregreek{\'A}U``. +% +% % Greek Alphabet % """""""""""""" -% +% % Define the ``text*`` marcos as default for all font encodings:: \DeclareTextSymbolDefault{\textAlpha}{LGR} @@ -389,9 +393,9 @@ % Additional Greek symbols % """""""""""""""""""""""" -% +% % Including alias names for compatibility with hyperref's puenc.def. -% +% % Ancient Greek Numbers (Athenian Numerals):: \DeclareTextSymbolDefault{\textpentedeka}{LGR} % GREEK ACROPHONIC ATTIC FIFTY @@ -428,7 +432,7 @@ % variant shape symbols % ''''''''''''''''''''' -% +% % Mathematical notation uses variant shapes of some Greek letters as % additional symbols. There are separate code points for the symbol variants % in Unicode but not in the LGR font encoding used for Greek in 8-bit TeX. @@ -459,7 +463,7 @@ % Diacritics % """""""""" -% +% % Greek diacritics via "named" macros:: \DeclareTextAccentDefault{\accdasia}{LGR} @@ -498,7 +502,7 @@ % Auxiliary macros % """""""""""""""" -% +% % ``\MakeUppercase`` requires three internal commands:: \DeclareTextAccentDefault{\LGR@accdropped}{LGR} @@ -508,7 +512,7 @@ % semicolon as erotimatiko % """""""""""""""""""""""" -% +% % The text command ``\textsemicolon`` inserts ``\texterotimatiko`` % in LGR font encoding and a "normal" semicolon else:: @@ -543,5 +547,5 @@ % .. _polyglossia: http://www.ctan.org/pkg/polyglossia % .. _textgreek: http://www.ctan.org/pkg/textgreek % .. _xunicode: http://www.ctan.org/pkg/xunicode -% +% % .. _erotimatiko: https://en.wikipedia.org/wiki/Question_mark#Erotimatiko |