texlive[52134] trunk: xindex (20sep19)

commits+karl at tug.org commits+karl at tug.org
Fri Sep 20 23:33:09 CEST 2019


Revision: 52134
          http://tug.org/svn/texlive?view=revision&revision=52134
Author:   karl
Date:     2019-09-20 23:33:07 +0200 (Fri, 20 Sep 2019)
Log Message:
-----------
xindex (20sep19)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
    trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua
    trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG
    trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
    trunk/Master/texmf-dist/scripts/xindex/xindex.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua

Modified: trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl	2019-09-20 21:33:07 UTC (rev 52134)
@@ -1,12 +1,12 @@
 #!/usr/bin/env perl
-# $Id: tlmgr.pl 52045 2019-09-07 05:32:39Z preining $
+# $Id: tlmgr.pl 52123 2019-09-19 18:18:41Z karl $
 #
 # Copyright 2008-2019 Norbert Preining
 # This file is licensed under the GNU General Public License version 2
 # or any later version.
 
-my $svnrev = '$Revision: 52045 $';
-my $datrev = '$Date: 2019-09-07 07:32:39 +0200 (Sat, 07 Sep 2019) $';
+my $svnrev = '$Revision: 52123 $';
+my $datrev = '$Date: 2019-09-19 20:18:41 +0200 (Thu, 19 Sep 2019) $';
 my $tlmgrrevision;
 my $tlmgrversion;
 my $prg;
@@ -6948,14 +6948,14 @@
         = TeXLive::TLCrypto::verify_checksum($loc_copy_of_remote_tlpdb, $path);
       if ($ret == $VS_CONNECTION_ERROR) {
         info(<<END_NO_INTERNET);
-No connection to the internet.
 Unable to download the checksum of the remote TeX Live database,
-but found a local copy so using that.
+but found a local copy, so using that.
 
-You may want to try specifying an explicit or different CTAN mirror;
+You may want to try specifying an explicit or different CTAN mirror,
+or maybe you need to specify proxy information if you're behind a firewall;
 see the information and examples for the -repository option at
 https://tug.org/texlive/doc/install-tl.html
-(or in the output of install-tl --help).
+(and in the output of install-tl --help).
 
 END_NO_INTERNET
         # above text duplicated in install-tl
@@ -9908,7 +9908,7 @@
 distribution (L<https://tug.org/texlive>) and both are licensed under the
 GNU General Public License Version 2 or later.
 
-$Id: tlmgr.pl 52045 2019-09-07 05:32:39Z preining $
+$Id: tlmgr.pl 52123 2019-09-19 18:18:41Z karl $
 =cut
 
 # test HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html

Modified: trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -8,7 +8,7 @@
 -----------------------------------------------------------------------
 
         xindex = xindex or { }
- local version = 0.13
+ local version = 0.14
 xindex.version = version
 --xindex.self = "xindex"
 
@@ -159,10 +159,12 @@
 local esc_char = args.escapechar
 writeLog(2,"Escapechar = "..esc_char.."\n",1)
 escape_chars = { -- by default " is the escape char
-  {esc_char..'"', '//escapedquote//', '\\"{}' },
-  {esc_char..'@', '//escapedat//',    '@'    },
-  {esc_char..'|', '//escapedvert//',  "|"    },
-  {esc_char..'!', '//scapedexcl//',  '!'    }
+  {esc_char..'"', '//escapedquote//',     '\\"{}' },
+  {esc_char..'@', '//escapedat//',        '@'    },
+  {esc_char..'|', '//escapedvert//',      '|'    },
+  {esc_char..'!', '//scapedexcl//',       '!'    },
+  {esc_char..'(', '//escapedparenleft//', '('    },
+  {esc_char..')', '//escapedparenright//',')'    }
 }
 
 language = string.lower(args["language"])

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG	2019-09-20 21:33:07 UTC (rev 52134)
@@ -1,3 +1,4 @@
+0.14  2019-09-01 - added variable idxnewletter
 0.13  2019-06-07 - fix for minCompress < 2
 0.12  2019-06-05 - fix for fCompress=false
                  - added rangeSymbol to the config files

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex	2019-09-20 21:33:07 UTC (rev 52134)
@@ -79,7 +79,7 @@
 \def\setVersion#1{\setVVersion#1!!}
 \def\setVVersion#1=#2!!{\def\xIndexVersion{#2}} 
 
-\setVersion{version = 0.13}%  can be autimatically changed by perl
+\setVersion{version = 0.14}%  can be autimatically changed by perl
 
 \title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
 \author{Herbert Voß\thanks{hvoss at tug.org}}
@@ -1222,6 +1222,156 @@
 \end{externalDocument}
 
 
+The headings are printed by default as \Lcs{textbf}. This can be changed in the config file 
+by setting the
+variable \texttt{idxnewletter}, for example: \verb|idxnewletter = "\\textit"|. If you need some
+more code here then define an own  macro for it, which can be seen in the following example. It has
+an own config file \Lfile{xindex-header.lua} which has the line
+
+\verb|idxnewletter = "\\idxnewletter"|
+
+In the documents preamble there is the definition:
+
+\verb|\newcommand\idxnewletter[1]{\textbf{\textit{#1}}}|
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={2},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-c header,
+  force,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\usepackage{filecontents}
+\begin{filecontents*}{xindex-header.lua}
+-----------------------------------------------------------------------
+--         FILE:  xindex-header.lua
+--  DESCRIPTION:  configuration file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-header'] = {
+      version = 0.14,
+      comment = "main configuration to xindex.lua",
+       author = "Herbert Voss",
+    copyright = "Herbert Voss",
+      license = "LPPL 1.3"
+}
+
+itemPageDelimiter = ","     -- Hello, 14
+compressPages     = true    -- something like 12--15, instaead of 12,13,14,15. the |( ... |) syntax is still valid
+fCompress	  = true    -- 3f -> page 3, 4 and 3ff -> page 3, 4, 5
+minCompress       = 3       -- 14--17 or 
+rangeSymbol       = "--"
+numericPage       = true    -- for non numerical pagenumbers, like "VI-17"
+sublabels         = {"", "-\\,", "--\\,", "---\\,"} -- for the (sub(sub(sub-items  first one is for item
+pageNoPrefixDel   = ""     -- a delimiter for page numbers like "VI-17"  -- not used !!!
+indexOpening      = ""     -- commands after \begin{theindex}
+idxnewletter      = "\\idxnewletter"
+
+--[[
+    Each character's position in this array-like table determines its 'priority'.
+    Several characters in the same slot have the same 'priority'.
+]]
+alphabet_lower = { --   for sorting
+    { ' ' },  -- only for internal tests
+    { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+    { 'b' },
+    { 'c', 'ç' },
+    { 'd' },
+    { 'e', 'é', 'è', 'ë' },
+    { 'f' },
+    { 'g' },
+    { 'h' },
+    { 'i', 'í', 'ì', 'ï' },
+    { 'j' },
+    { 'k' },
+    { 'l' },
+    { 'm' },
+    { 'n', 'ñ' },
+    { 'o', 'ó', 'ò', 'ö', 'ø', 'œ'},
+    { 'p' },
+    { 'q' },
+    { 'r' },
+    { 's', 'š', 'ß' },
+    { 't' },
+    { 'u', 'ú', 'ù', 'ü' , 'û'},
+    { 'v' },
+    { 'w' },
+    { 'x' },
+    { 'y', 'ý', 'ÿ' },
+    { 'z', 'ž' }
+}
+alphabet_upper = { -- for sorting
+    { ' ' },
+    { 'A', 'Á', 'À', 'Ä', 'Å', 'Æ'},
+    { 'B' },
+    { 'C', 'Ç' },
+    { 'D' },
+    { 'E', 'È', 'È', 'Ë' },
+    { 'F' },
+    { 'G' },
+    { 'H' },
+    { 'I', 'Í', 'Ì', 'Ï' },
+    { 'J' },
+    { 'K' },
+    { 'L' },
+    { 'M' },
+    { 'N', 'Ñ' },
+    { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ' },
+    { 'P' },
+    { 'Q' },
+    { 'R' },
+    { 'S', 'Š' },
+    { 'T' },
+    { 'U', 'Ú', 'Ù', 'Ü' },
+    { 'V' },
+    { 'W' },
+    { 'X' },
+    { 'Y', 'Ý', 'Ÿ' },
+    { 'Z', 'Ž' }
+}
+
+\end{filecontents*}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\newcommand\idxnewletter[1]{\textbf{\textit{#1}}}
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\section{Escaping characters}
+\begin{itemize}
+\item Exclamation mark ! \index{exclaim ("!)}
+\item Vertical bar| \index{Vertical bar ("|)}
+\item Doublequote \verb|"| \index{""}
+\item Double doublequote \verb|""| \index{""""}
+\item At character @ \index{At ("@)}
+\end{itemize}
+run \verb|xindex -c header <file.idx>|
+\index{<file.idx>@\texttt{<file.idx>}}
+\index{123}
+\newpage
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+
 \section{Case sensitive index entries}
 By default \textsf{foo} and \textsf{Foo} are two different entries and will handled differently
 by \Lprog{xindex}: \textsf{Foo} will be as an own entry \emph{before} \textsf{foo}. Let's see 

Modified: trunk/Master/texmf-dist/scripts/xindex/xindex.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/xindex/xindex.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/scripts/xindex/xindex.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -8,7 +8,7 @@
 -----------------------------------------------------------------------
 
         xindex = xindex or { }
- local version = 0.13
+ local version = 0.14
 xindex.version = version
 --xindex.self = "xindex"
 
@@ -159,10 +159,12 @@
 local esc_char = args.escapechar
 writeLog(2,"Escapechar = "..esc_char.."\n",1)
 escape_chars = { -- by default " is the escape char
-  {esc_char..'"', '//escapedquote//', '\\"{}' },
-  {esc_char..'@', '//escapedat//',    '@'    },
-  {esc_char..'|', '//escapedvert//',  "|"    },
-  {esc_char..'!', '//scapedexcl//',  '!'    }
+  {esc_char..'"', '//escapedquote//',     '\\"{}' },
+  {esc_char..'@', '//escapedat//',        '@'    },
+  {esc_char..'|', '//escapedvert//',      '|'    },
+  {esc_char..'!', '//scapedexcl//',       '!'    },
+  {esc_char..'(', '//escapedparenleft//', '('    },
+  {esc_char..')', '//escapedparenright//',')'    }
 }
 
 language = string.lower(args["language"])

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -101,3 +101,15 @@
     { 'Z', 'Ž' }
 }
 
+,
+    { 'S', 'Š' },
+    { 'T' },
+    { 'U', 'Ú', 'Ù' },
+    { 'UE', 'Ü' },
+    { 'V' },
+    { 'W' },
+    { 'X' },
+    { 'Y', 'Ý', 'Ÿ' },
+    { 'Z', 'Ž' }
+}
+

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -315,3 +315,12 @@
 end
 
 
+end
+    end
+    return pageNo
+  else
+    return ""
+  end
+end
+
+

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -241,3 +241,5 @@
 
 writeLog(2,"\ndone! closing program\n",0)
 
+losing program\n",0)
+

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -88,3 +88,10 @@
     { 'Z', 'Ž' }
 }
 
+,
+    { 'W' },
+    { 'X' },
+    { 'Y', 'Ý', 'Ÿ' },
+    { 'Z', 'Ž' }
+}
+

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua	2019-09-20 21:32:47 UTC (rev 52133)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -978,3 +978,7 @@
 end
 
 
+ str:gsub("^%s*(.-)%s*$", "%1")
+end
+
+

Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua	2019-09-20 21:33:07 UTC (rev 52134)
@@ -0,0 +1,260 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-yannis.lua
+--  DESCRIPTION:  configuration file for xindex.lua 
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-yannis'] = {
+      version = 0.14,
+      comment = "main configuration to xindex.lua",
+       author = "Herbert Voss",
+    copyright = "Herbert Voss",
+      license = "LPPL 1.3"
+}
+
+itemPageDelimiter = ","     -- Hello, 14
+compressPages     = true    -- something like 12--15, instaead of 12,13,14,15. the |( ... |) syntax is still valid
+fCompress	  = false    -- 3f -> page 3, 4 and 3ff -> page 3, 4, 5
+minCompress       = 2       -- 14--17 or 
+rangeSymbol       = "-"     -- 14-17 instead of -- 
+numericPage       = true    -- for non numerical pagenumbers, like "VI-17"
+sublabels         = {"", "-\\,", "--\\,", "---\\,"} -- for the (sub(sub(sub-items  first one is for item
+pageNoPrefixDel   = ""     -- a delimiter for page numbers like "VI-17"  -- not used !!!
+indexOpening      = ""     -- commands after \begin{theindex}
+idxnewletter      = "\\textbf"  -- Only valid if -n is not set
+
+
+--[[
+    Each character's position in this array-like table determines its 'priority'.
+    Several characters in the same slot have the same 'priority'.
+]]
+alphabet_lower = { --   for sorting
+    { 'α', 'ά', 'ὰ', 'ᾶ', 'ἀ', 'ἄ', 'ἂ', 'ἆ', 'ἁ', 'ἅ', 'ἃ', 'ἇ', 'ᾳ', 'ᾴ', 'ᾲ', 'ᾷ', 'ᾀ', 'ᾄ', 'ᾂ', 'ᾆ', 'ᾁ', 'ᾅ', 'ᾃ', 'ᾇ' },
+    { 'β', 'ϐ' },
+    { 'γ' },
+    { 'δ' },
+    { 'ε', 'έ', 'ὲ', 'ἐ', 'ἔ', 'ἒ', 'ἑ', 'ἕ', 'ἓ' },
+    { 'ζ' },
+    { 'η', 'ή', 'ὴ', 'ῆ', 'ἠ', 'ἤ', 'ἢ', 'ἦ', 'ἡ', 'ἥ', 'ἣ', 'ἧ', 'ῃ', 'ῄ', 'ῂ', 'ῇ', 'ᾐ', 'ᾔ', 'ᾒ', 'ᾖ', 'ᾑ', 'ᾕ', 'ᾓ', 'ᾗ' },
+    { 'θ' },
+    { 'ι', 'ί', 'ὶ', 'ῖ', 'ἰ', 'ἴ', 'ἲ', 'ἶ', 'ἱ', 'ἵ', 'ἳ', 'ἷ', 'ϊ', 'ΐ', 'ῒ', 'ῗ' },
+    { 'κ' },
+    { 'λ' },
+    { 'μ' },
+    { 'ν' },
+    { 'ξ' },
+    { 'ο', 'ό', 'ὸ', 'ὀ', 'ὄ', 'ὂ', 'ὁ', 'ὅ', 'ὃ' },
+    { 'π' },
+    { 'ρ' },
+    { 'σ', 'ς' },
+    { 'τ' },
+    { 'υ', 'ύ', 'ὺ', 'ῦ', 'ὐ', 'ὔ', 'ὒ', 'ὖ', 'ὑ', 'ὕ', 'ὓ', 'ὗ', 'ϋ', 'ΰ', 'ῢ', 'ῧ' },
+    { 'φ' },
+    { 'χ' },
+    { 'ψ' },
+    { 'ω', 'ώ', 'ὼ', 'ῶ', 'ὠ', 'ὤ', 'ὢ', 'ὦ', 'ὡ', 'ὥ', 'ὣ', 'ὧ', 'ῳ', 'ῴ', 'ῲ', 'ῷ', 'ᾠ', 'ᾤ', 'ᾢ', 'ᾦ', 'ᾡ', 'ᾥ', 'ᾣ', 'ᾧ' },
+    { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+    { 'b' },
+    { 'c', 'ç' },
+    { 'd' },
+    { 'e', 'é', 'è', 'ë' },
+    { 'f' },
+    { 'g' },
+    { 'h' },
+    { 'i', 'í', 'ì', 'ï' },
+    { 'j' },
+    { 'k' },
+    { 'l' },
+    { 'm' },
+    { 'n', 'ñ' },
+    { 'o', 'ó', 'ò', 'ö', 'ø', 'œ'},
+    { 'p' },
+    { 'q' },
+    { 'r' },
+    { 's', 'š', 'ß' },
+    { 't' },
+    { 'u', 'ú', 'ù', 'ü' },
+    { 'v' },
+    { 'w' },
+    { 'x' },
+    { 'y', 'ý', 'ÿ' },
+    { 'z', 'ž' },
+    { 'а' },
+    { 'б' },
+    { 'в' },
+    { 'г', 'ѓ' },
+    { 'д' },
+    { 'е', 'ё' },
+    { 'ж' },
+    { 'з' },
+    { 'и', 'і' },
+    { 'й' },
+    { 'к' },
+    { 'л' },
+    { 'м' },
+    { 'н' },
+    { 'о' },
+    { 'п' },
+    { 'р' },
+    { 'с' },
+    { 'т' },
+    { 'у' },
+    { 'ф' },
+    { 'х' },
+    { 'ц' },
+    { 'ч' },
+    { 'ш' },
+    { 'щ' },
+    { 'ъ' },
+    { 'ы' },
+    { 'ь' },
+    { 'э' },
+    { 'ю' },
+    { 'я' },
+}
+alphabet_upper = { -- for sorting
+    { 'Α', 'Ά', 'Ἀ', 'Ἄ', 'Ἂ', 'Ἆ', 'Ἁ', 'Ἅ', 'Ἃ', 'Ἇ', 'ᾼ', 'ᾈ', 'ᾌ', 'ᾊ', 'ᾎ', 'ᾉ', 'ᾍ', 'ᾋ', 'ᾏ' },
+    { 'Β' },
+    { 'Γ' },
+    { 'Δ' },
+    { 'Ε', 'Έ', 'Ἐ', 'Ἔ', 'Ἒ', 'Ἑ', 'Ἕ', 'Ἓ' },
+    { 'Ζ' },
+    { 'Η', 'Ή', 'Ἠ', 'Ἤ', 'Ἢ', 'Ἦ', 'Ἡ', 'Ἥ', 'Ἣ', 'Ἧ', 'ῌ', 'ᾘ', 'ᾜ', 'ᾚ', 'ᾞ', 'ᾙ', 'ᾝ', 'ᾟ' },
+    { 'Θ' },
+    { 'Ι', 'Ί', 'Ἰ', 'Ἴ', 'Ἲ', 'Ἶ', 'Ἱ', 'Ἵ', 'Ἳ', 'Ἷ', 'Ϊ' },
+    { 'Κ' },
+    { 'Λ' },
+    { 'Μ' },
+    { 'Ν' },
+    { 'Ξ' },
+    { 'Ο', 'Ό', 'Ὀ', 'Ὄ', 'Ὂ', 'Ὁ', 'Ὅ', 'Ὃ' },
+    { 'Π' },
+    { 'Ρ' },
+    { 'Σ' },
+    { 'Τ' },
+    { 'Υ', 'Ύ', 'Ὑ', 'Ὕ', 'Ὓ', 'Ὗ', 'Ϋ' },
+    { 'Φ' },
+    { 'Χ' },
+    { 'Ψ' },
+    { 'Ω', 'Ώ', 'Ὠ', 'Ὤ', 'Ὢ', 'Ὦ', 'Ὡ', 'Ὥ', 'Ὣ', 'Ὧ', 'ῼ', 'ᾩ', 'ᾭ', 'ᾫ', 'ᾯ', 'ᾨ', 'ᾬ', 'ᾪ', 'ᾮ' },
+    { 'A', 'Á', 'À', 'Ä', 'Å', 'Æ'},
+    { 'B' },
+    { 'C', 'Ç' },
+    { 'D' },
+    { 'E', 'È', 'È', 'Ë' },
+    { 'F' },
+    { 'G' },
+    { 'H' },
+    { 'I', 'Í', 'Ì', 'Ï' },
+    { 'J' },
+    { 'K' },
+    { 'L' },
+    { 'M' },
+    { 'N', 'Ñ' },
+    { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ' },
+    { 'P' },
+    { 'Q' },
+    { 'R' },
+    { 'S', 'Š' },
+    { 'T' },
+    { 'U', 'Ú', 'Ù', 'Ü' },
+    { 'V' },
+    { 'W' },
+    { 'X' },
+    { 'Y', 'Ý', 'Ÿ' },
+    { 'Z', 'Ž' },
+    { 'А' },
+    { 'Б' },
+    { 'В' },
+    { 'Г', 'Ѓ' },
+    { 'Д' },
+    { 'Е', 'Ё' },
+    { 'Ж' },
+    { 'З' },
+    { 'И', 'І' },
+    { 'Й' },
+    { 'К' },
+    { 'Л' },
+    { 'М' },
+    { 'Н' },
+    { 'О' },
+    { 'П' },
+    { 'Р' },
+    { 'С' },
+    { 'Т' },
+    { 'У' },
+    { 'Ф' },
+    { 'Х' },
+    { 'Ц' },
+    { 'Ч' },
+    { 'Ш' },
+    { 'Щ' },
+    { 'Ъ' },
+    { 'Ы' },
+    { 'Ь' },
+    { 'Э' },
+    { 'Ю' },
+    { 'Я' },
+}
+
+
+function SORTendhook(list)
+  print ("We have "..#list.." total list entries")
+  local greek = {}
+  local latin = {}
+  local cyrillic = {}
+  local symbols = {}
+  local numbers = {}
+  local others = {}
+  local firstChar, charType
+  local firstCharNumber
+  local v
+  for i=1,#list do
+    v = list[i]
+    firstChar = NormalizedUppercase(utf.sub(v["sortChar"],1,1))
+    v["sortChar"] = firstChar -- to be sure it is an uppercase unicode char
+    firstCharNumber = string.utfvalue(firstChar)
+    charType = getCharType(firstChar)
+--    print (utf.sub(v["sortChar"],1,1).."->"..firstChar.." ("..firstCharNumber..") ".." ("..charType..")")
+    if charType == 0 then 
+      symbols[#symbols+1] = v
+    elseif charType == 1 then 
+      numbers[#numbers+1] = v
+    elseif firstCharNumber > 0x052F then  -- 0x052F is last cyrillic character
+      others[#others+1] = v
+    elseif firstCharNumber >= 0x0400 then -- 0x0400-0x052F cyrillic characters
+      cyrillic[#cyrillic+1] = v
+    elseif firstCharNumber <= 0x03FF then -- 0x03FF is last greek character
+      if firstCharNumber >= 0x0370 then
+        greek[#greek+1] = v               -- 0x0370-0x03FF greek characters
+      elseif firstCharNumber <= 0x024F then
+        if firstCharNumber >= 0x041 then  -- 0x041-0x024F latin character
+          latin[#latin+1] = v
+        else
+          others[#others+1] = v           -- everything else
+        end
+      end
+    end
+  end
+  print ("We have "..#greek.." Greek entries")
+  print ("We have "..#latin.." Latin entries")
+  print ("We have "..#cyrillic.." Cyrillic entries")
+  print ("We have "..#symbols.." Symbol entries")
+  print ("We have "..#numbers.." Number entries")
+  print ("We have "..#others.." other entries")
+  list = {}
+  for i = 1,#greek do list[#list+1] = greek[i] end
+  list[#list]["Macro"] = "\\vspace{1cm}"
+  for i = 1,#latin do list[#list+1] = latin[i] end
+  list[#list]["Macro"] = "\\vspace{1cm}"
+  for i = 1,#cyrillic do list[#list+1] = cyrillic[i] end
+  list[#list]["Macro"] = "\\vspace{1cm}"
+  for i = 1,#symbols do list[#list+1] = symbols[i] end
+  for i = 1,#numbers do list[#list+1] = numbers[i] end
+  for i = 1,#others do list[#list+1] = others[i] end
+  print ("Sorted "..#list.." entries")
+  return list
+end
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


More information about the tex-live-commits mailing list