texlive[52551] trunk: xindex (28oct19)

commits+karl at tug.org commits+karl at tug.org
Mon Oct 28 21:55:52 CET 2019


Revision: 52551
          http://tug.org/svn/texlive?view=revision&revision=52551
Author:   karl
Date:     2019-10-28 21:55:51 +0100 (Mon, 28 Oct 2019)
Log Message:
-----------
xindex (28oct19)

Modified Paths:
--------------
    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/tests/HADW.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh
    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-common.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind

Modified: trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -8,7 +8,7 @@
 -----------------------------------------------------------------------
 
         xindex = xindex or { }
- local version = 0.16
+ local version = 0.18
 xindex.version = version
 --xindex.self = "xindex"
 
@@ -29,6 +29,8 @@
 
 kpse.set_program_name("luatex")
 
+local f = kpse.find_file("lualibs.lua")
+print ("Dateiname "..f)
 require("lualibs")  -- all part of LuaTeX
 require('unicode')
 require('string')
@@ -156,6 +158,11 @@
 cfg = require(Config_File)
 writeLog(2," ... done\n",0)
 
+-- Create the character list maps for faster sorting
+
+alphabet_lower_map = CreateCharListMap(alphabet_lower)
+alphabet_upper_map = CreateCharListMap(alphabet_upper)
+
 local esc_char = args.escapechar
 writeLog(2,"Escapechar = "..esc_char.."\n",1)
 escape_chars = { -- by default " is the escape char

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG	2019-10-28 20:55:51 UTC (rev 52551)
@@ -1,3 +1,5 @@
+0.18  2019-10-27 - speed up sorting by modifying the code
+0.17  2019-10-15 - fixes in cfg file for missing circum
 0.16  2019-10-02 - fixes in the documentation
 0.15  2019-09-21 - fixed the corrupt file xindex-lib.lua
 0.14  2019-09-01 - added variable idxnewletter

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -2,37 +2,37 @@
 \begin{theindex}
 
 \indexspace
-\textbf{A}
+\textbf{A}\label{L-xindex-A}
 \nopagebreak[4]
-  \item Aachen, Johannes von, {VII/1 215}
-  \item Aarones, {VII/2/1 1003}, {1012}
-  \item Abrahamson, {VII/2/1 864}, {991}, {1048}, {1067}, {1156}
-  \item Adamson, {VII/2/1 1223}, {IX/1 1228}
+  \item Aachen, Johannes von \dotfill  {\colorbox{black!15}{VII/1}:~215}
+  \item Aarones \dotfill  {\colorbox{black!15}{VII/2/1}:~1003}, {1012}
+  \item Abrahamson \dotfill  {\colorbox{black!15}{VII/2/1}:~864}, {991}, {1048}, {1067}, {1156}
+  \item Adamson \dotfill  {\colorbox{black!15}{VII/2/1}:~1223}, {\colorbox{black!15}{IX/1}:~1228}
   \item Adrian
-    \subitem -\,Hauster, {VII/1 514}, {XI/1 515}
+    \subitem -\,Hauster \dotfill  {\colorbox{black!15}{VII/1}:~514}, {\colorbox{black!15}{XI/1}:~515}
   \item Alting
-    \subitem -\,Mensa, {VII/1 426}, {434}, {453}, {455}, {466f}
+    \subitem -\,Mensa \dotfill  {\colorbox{black!15}{VII/1}:~426}, {434}, {453}, {455}, {466f.}
 
 \indexspace
-\textbf{B}
+\textbf{B}\label{L-xindex-B}
 \nopagebreak[4]
   \item Bremen
-    \subitem -\,Heinz von, Erzbischof, \see{Sachsen-Lauenburg}{}
+    \subitem -\,Heinz von, Erzbischof \dotfill  \see{Sachsen-Lauenburg}{ }
 
 \indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
 \nopagebreak[4]
   \item Osnabrück
-    \subitem -\,Heinz  von, Bischof, \see{Sachsen-Lauenburg}{}
+    \subitem -\,Heinz  von, Bischof \dotfill  \see{Sachsen-Lauenburg}{ }
 
 \indexspace
-\textbf{S}
+\textbf{S}\label{L-xindex-S}
 \nopagebreak[4]
   \item Schleswig-Holstein
-    \subitem -\,Rudolf von, Herzog, {VII/2/1 758--761}, {765}
+    \subitem -\,Rudolf von, Herzog \dotfill  {\colorbox{black!15}{VII/2/1}:~758--761}, {765}
 
 \indexspace
-\textbf{Z}
+\textbf{Z}\label{L-xindex-Z}
 \nopagebreak[4]
-  \item Zwingl, Haldrich, {IX 479}, {692}
+  \item Zwingl, Haldrich \dotfill  {\colorbox{black!15}{IX}:~479}, {692}
 \end{theindex}

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

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex	2019-10-28 20:55:51 UTC (rev 52551)
@@ -5,6 +5,7 @@
 \usepackage{babel}
 \usepackage{makeidx}
 \usepackage{dtk-logos}
+\usepackage[table]{xcolor}
 \makeatletter
 \def\theindex{%    only for demonstration
   \section*{\indexname}
@@ -13,7 +14,7 @@
 \makeatother
 
 \begin{document}
-Run with \verb|xindex --config HAdW|
+Run with \verb|xindex --config HAdW-eKO|
 
 \printindex
 \end{document}

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -2,13 +2,13 @@
 \begin{theindex}
 
 \indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
 \nopagebreak[4]
   \item Fluss
     \subitem -\,Oder, {479}
 
 \indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
 \nopagebreak[4]
   \item Göbel, {58}
   \item Goethe, {58}
@@ -17,7 +17,7 @@
   \item Götz, {58}
 
 \indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
 \nopagebreak[4]
   \item Ober, {4}, {6}
   \item Oberin, {5f}

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

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -2,13 +2,13 @@
 \begin{theindex}
 
 \indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
 \nopagebreak[4]
   \item Fluss
     \subitem -\,Oder, {479}
 
 \indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
 \nopagebreak[4]
   \item Göbel, {58}
   \item Goethe, {58}
@@ -17,18 +17,18 @@
   \item Goldmann, {58}
 
 \indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
 \nopagebreak[4]
+  \item Ödem, {4}
+  \item Öl, {8}
+  \item ölen, {9}
+  \item Öresund, {2}, {4}
+  \item Österreich, {1f}
   \item Ober, {4}, {6}
   \item Oberin, {5f}
   \item Obstler, {7}
   \item oder, {8}
   \item Oder, \seealso{Fluss}{33}, {58}
-  \item Ödem, {4}
-  \item Öl, {8}
-  \item ölen, {9}
-  \item Öresund, {2}, {4}
-  \item Österreich, {1f}
   \item Oligarch, {28}
   \item Ostern, {3f}
 \end{theindex}

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

Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -0,0 +1,553 @@
+
+\begin{theindex}
+\par\textbf{Symbols}\label{L-xindex-Symbols}
+\nopagebreak[4]
+  \item \texttt{\"{}\"{}}, {79}
+  \item \texttt{\"{}=}, {79}
+  \item \texttt{\"{}\textasciitilde}, {79}
+  \item  \euro {}, {67}
+  \item  \textacutedbl , {78}
+
+\indexspace
+\textbf{Numbers}\label{L-xindex-Numbers}
+\nopagebreak[4]
+  \item 3D, {752}
+  \item 4:3, {621}
+
+\indexspace
+\textbf{A}\label{L-xindex-A}
+\nopagebreak[4]
+  \item AMS, {376}
+  \item ANSI, {67}
+  \item AUC\TeX , {29}
+  \item Abbildung, {309}
+  \item Abbildungsverzeichnis, {310}, {475}
+  \item Absatz, {7}, {381}
+  \item Absatzabstand, {62}
+  \item Absatzbox, {174}
+  \item Absatzeinzug, {62}
+  \item Abschnittsnummer, {433}
+  \item Abstand, {414}
+  \item Achse, {439}
+  \item Adobe Reader, {22}, {55}, {380}, {639}
+  \item Akzent, {73}, {406}, {433}, {447}
+  \item Albanisch, {67}
+  \item American Mathematical Society (AMS), {415}
+  \item Anführungszeichen, {81}
+  \item Anhang, {62}
+  \item Atom, {400f}
+  \item Autor, {54}
+  \item Autor-Stil, {586}
+  \item Autor(=Jahr(=Schema, {544}
+
+\indexspace
+\textbf{B}\label{L-xindex-B}
+\nopagebreak[4]
+  \item Backslash, {65}, {394}
+  \item Bad math, {869}
+  \item Baseline, {224}, {264}
+  \item Basislinie, {224}, {397}
+  \item Batchmode, {39}, {883}
+  \item Batchmodus, {34}
+  \item Beamer-Template
+    \subitem -\,\texttt {logo}, {659}
+    \subitem -\,\texttt {navigation symbols}, {659}
+  \item Befehlssyntax, {6}
+  \item Begrenzer, {430}, {450}, {455}
+  \item Benutzerwörterbuch, {35}
+  \item Beschriftung, {324}
+  \item Betriebswirtschaftslehre, {571}
+  \item Bezeichner, {324}
+  \item Bézierkurve, {715}, {721}
+  \item Bibliografie, {32}, {537--592}
+  \item Bildschirm, {619}
+  \item Bildschirmausgabe, {31}
+  \item Bildunterschrift, {62}
+  \item Bindekorrektur, {61f}, {103}
+  \item Binom, {429}, {431}
+  \item Bitmap, {70}
+  \item Bitmapschrift, {71}
+  \item Blocksatz, {271}
+  \item bookauthor, {557}
+  \item Bookmark, {189}
+  \item Bounding Box, {165f}, {730}, {825}
+  \item bp, {859}
+  \item Briefklasse, {61}
+  \item Bruch, {378}, {404}, {429f}
+
+\indexspace
+\textbf{C}\label{L-xindex-C}
+\nopagebreak[4]
+  \item CMYK, {671}
+  \item cc, {859}
+  \item class option, {386}
+  \item Clipping, {247}
+  \item Clippingpfad, {771}
+  \item Clown, {256}
+  \item Cluster, {248}
+  \item cm, {859}
+  \item Con\TeX t, {879}
+  \item continued fraction, {430}
+  \item Cork-Kodierung, {72}
+  \item Corporate Design, {642}
+  \item Counter, {862}
+
+\indexspace
+\textbf{D}\label{L-xindex-D}
+\nopagebreak[4]
+  \item DIN\,5007, {512}
+  \item DIN~476, {91}
+  \item Dänisch, {67}, {76}
+  \item Dateilinks, {188}
+  \item Datum, {54}
+  \item Datumsformat, {77}
+  \item dd, {859}
+  \item Dehnungspunkte, {9}
+  \item delimiter, {229}
+  \item Delimiter, {394}
+  \item Determinante, {406}
+  \item Deutsch, {67}, {76}, {80}
+  \item Devnagari, {76}
+  \item Dezimalkomma, {247}
+  \item Dezimalpunkt, {247}
+  \item Dezimalstellen, {248}
+  \item Differentialquotient, {414}
+  \item dimen register, {860}
+  \item displaymath mode, {381}
+  \item Distribution, {13}
+  \item Divisior, {431}
+  \item \idxtextClasses 
+    \subitem -\,{\sffamily IEEEtran}, {185}
+    \subitem -\,{\sffamily amsart}, {415}
+    \subitem -\,{\sffamily amsbook}, {415}
+    \subitem -\,{\sffamily article}, {52f}, {59f}, {93}, {128}, {150}, {383}, {474}
+    \subitem -\,{\sffamily beamer}, {615}, {617f}, {622}, {660}
+    \subitem -\,{\sffamily book}, {59f}, {93}, {113}, {128}, {150}, {202}, {383f}, {434}, {474f}
+    \subitem -\,{\sffamily ctexart}, {572}
+    \subitem -\,{\sffamily europecv}, {827f}, {830}
+    \subitem -\,{\sffamily letter}, {59ff}
+    \subitem -\,{\sffamily memoir}, {59f}
+    \subitem -\,{\sffamily powerdot}, {615}
+    \subitem -\,{\sffamily report}, {59f}, {93}, {128}, {150}
+    \subitem -\,{\sffamily scrartcl}, {61}, {128f}, {834}
+    \subitem -\,{\sffamily scrbook}, {61}, {128f}
+    \subitem -\,{\sffamily scrlettr2}, {61}
+    \subitem -\,{\sffamily scrlttr2}, {837}
+    \subitem -\,{\sffamily scrreprt}, {61}, {128}
+  \item Dokumentenklasse, {9}, {59}, {386}, {405}
+  \item Dokumentenkörper, {53}
+  \item Dokumentenpräambel, {228}
+  \item Doppelpfeil, {444}
+  \item Doppelseite, {103}
+  \item Dots, {405}
+  \item Druckseiten, {62}
+  \item Durchschuss, {56}
+  \item Durchstreichen, {453}
+  \item dynamische Länge, {400}
+
+\indexspace
+\textbf{E}\label{L-xindex-E}
+\nopagebreak[4]
+  \item Eingabekodierung, {9}, {54}, {67}
+  \item Ellipse, {770}
+  \item em, {860}
+  \item Emacs, {29}
+  \item Encodingtabelle, {70}
+  \item Endlosschleife, {32}
+  \item Englisch, {67}, {76}, {80}
+  \item Entity-Relationship, {798}
+  \item Esperanto, {67}
+  \item Estländisch, {76}
+  \item Estnisch, {67}
+  \item e\TeX , {11}
+  \item Eurozeichen, {67f}
+  \item ex, {860}
+  \item Expansion, {868}
+  \item Exponent, {405}, {408f}
+
+\indexspace
+\textbf{F}\label{L-xindex-F}
+\nopagebreak[4]
+  \item FNDB, {872}
+  \item Fallunterscheidung, {392}, {425}
+  \item Farbe, {236}, {669}
+    \subitem -\,Modell, {680}
+    \subitem -\,konvertieren, {680}
+  \item Farbmodell, {236}, {669}
+    \subitem -\,CMYK, {673}
+    \subitem -\,HSB, {673}
+    \subitem -\,RGB, {673}
+  \item Farbserie, {672}, {680}
+  \item Farbwert, {680}
+  \item Faröisch, {67}
+  \item Fehlersuche, {29}, {33}, {39}
+  \item Feinjustierung, {270}
+  \item Fettschrift, {220}
+  \item Finnisch, {67}, {76}, {80}
+  \item Flattersatz, {142f}, {223}, {358}, {538f}, {640}
+  \item Float, {309}
+  \item float box, {337}
+  \item Folie, {621}
+  \item Folienübergänge, {639}
+  \item Fontfamilie, {661}
+  \item Fontserie, {661}
+  \item Fontshape, {661}
+  \item Format, {13}
+  \item fp\TeX , {13}
+  \item Französisch, {67}, {76}, {80}
+  \item Funktionsgraph, {244}
+  \item Fußlinie, {62}
+  \item Fußnote, {230}, {260}
+  \item Fußnotenzähler, {213}
+  \item Fußnotenzählung, {260}
+  \item Fußzeile, {119}
+
+\indexspace
+\textbf{G}\label{L-xindex-G}
+\nopagebreak[4]
+  \item GUI, {9}, {29}
+  \item Galizisch, {67}
+  \item Gaußscher Algorithmus, {448}
+  \item GenericError, {869}
+  \item Gleichungsnummer, {383}, {389}, {433f}
+  \item Gleichungsnummerierung, {384}, {435}
+  \item Gleitumgebung, {200}, {240}, {309}, {634}, {885}
+  \item Gliederungsebene, {128}
+  \item global, {864}
+  \item Glossar, {32}, {523}
+  \item glue, {400}
+  \item Glyph, {70}, {87}
+  \item Gnome, {36}
+  \item Grenzen, {438}
+  \item Griechisch, {76}, {80}
+  \item Grundlinie, {224}, {264}
+  \item Gruppe, {252}, {864}
+  \item Guillemets, {82}
+
+\indexspace
+\textbf{H}\label{L-xindex-H}
+\nopagebreak[4]
+  \item Hebräisch, {76}
+  \item Hintergrundfarbe, {389}, {658}, {679}
+  \item Hochformat, {96}
+  \item Homograph, {529}
+  \item Hurenkind, {102}
+
+\indexspace
+\textbf{I}\label{L-xindex-I}
+\nopagebreak[4]
+  \item IDE, {29}
+  \item IPA, {72}
+  \item ISO 8859-1, {67}
+  \item ISO 8859-15, {67}
+  \item ISO 8859-2, {67}
+  \item ISO 8859-3, {67}
+  \item ISO 8859-4, {67}
+  \item ISO-Image, {14}
+  \item ISO~216, {91}
+  \item IUPAC, {814}
+  \item in, {859}
+  \item indent, {476}
+  \item Index, {32}, {405}, {408f}, {432}, {699}
+  \item Inhaltsverzeichnis, {32}, {63}, {76}, {128}
+  \item inline mode, {404}
+  \item Inlinemodus, {221}
+  \item Integral, {438}
+  \item Integralsymbol, {448}
+  \item Integrationsvariable, {414}
+  \item interline spacing, {405}
+  \item Internetadresse, {84}
+  \item Irisch, {67}
+  \item Isländisch, {67}, {76}
+  \item italic, {86}
+  \item Italic-Korrektur, {88}
+  \item Italienisch, {76}, {80}
+  \item Items, {413}
+
+\indexspace
+\textbf{K}\label{L-xindex-K}
+\nopagebreak[4]
+  \item \KOMAScript , {59ff}, {93}
+  \item Kapitel, {62}, {76}
+  \item Kapitelanfang, {62}
+  \item Katalanisch, {67}
+  \item Kettenbruch, {430}
+  \item Kile, {36}
+  \item Klammer, {394}
+  \item Klammerhöhe, {452}
+  \item Klammerpaar, {427}
+  \item Klammersymbole, {394}
+  \item Knoten, {775}
+  \item Kochsche Schneeflocke, {778}
+  \item Kodierung, {38}, {67}
+    \subitem -\,ascii, {67}
+  \item Kolumnentitel, {121}, {126}
+  \item Komma, {248}
+  \item Kommutative Diagramme, {448}
+  \item Konventionen, {213}
+  \item Kopf\/linie, {62}
+  \item Kopfzeile, {62}, {119}, {222}
+  \item kritische Edition, {208}
+  \item Kroatisch, {67}, {76}, {80}
+  \item Kursivkorrektur, {88}
+
+\indexspace
+\textbf{L}\label{L-xindex-L}
+\nopagebreak[4]
+  \item LR-Box, {173}
+  \item \LaTeX -Editor, {29}
+  \item Label, {181}, {245}, {387}, {626}
+  \item largesymbols, {396}
+  \item Latin-1, {68}
+  \item Laufweite, {596}
+  \item Layout, {9}, {377}, {618}
+  \item Leerzeichen, {866}
+  \item Legende, {350}
+  \item Leibniz Universität Hannover, {583}
+  \item Lettisch, {67}
+  \item Liedtexte, {145}
+  \item Ligaturen, {89}
+  \item Linie, {219}, {230}
+    \subitem -\,farbig, {217}
+    \subitem -\,horizontal, {216}, {230}
+    \subitem -\,vertikal, {216}, {223}, {230}
+  \item Linksbündig, {223}
+  \item Linux, {13}
+  \item list of tables, {256}
+  \item Litauisch, {67}
+  \item Logdatei, {59}, {880}
+  \item Logfile, {883}
+  \item lokal, {864}
+  \item \nxLPack {longtable}
+    \subitem -\,Tabellenüberschrift, {259}
+    \subitem -\,Tabellenunterschrift, {259}
+  \item lot, {256}
+
+\indexspace
+\textbf{M}\label{L-xindex-M}
+\nopagebreak[4]
+  \item MLA, {586}
+  \item Mac OS~X, {13}, {67}
+  \item Mac\TeX , {13}
+  \item Makefile, {9}
+  \item Makro, {848}
+  \item Makronamen, {414}
+  \item Maltesisch, {67}
+  \item Marginalie, {157}
+  \item Marke, {387}
+  \item Maßeinheit, {711}, {859f}
+  \item Maßzahl, {859}
+  \item math shift, {869}
+  \item Mathematikmodus, {411}
+  \item Mathematiksatz, {85}
+  \item Mathopen-Symbol, {396}
+  \item Matrix, {227}, {383}, {405f}, {426}, {449}
+  \item Mediävalziffern, {595}
+  \item Metronyme, {564}
+  \item MiK\TeX , {13}, {21}, {23}
+    \subitem -\,Paketmanager, {21}
+  \item Mikrotypografie, {7}
+  \item Minimalbeispiel, {888}
+  \item Minuskelziffern, {595}
+  \item mm, {859}
+  \item Modulo, {433}
+  \item Monospaceschrift, {64}
+  \item moving argument, {321}
+  \item \texttt {mu}, {399}
+  \item mu, {432}, {444}, {860}
+  \item multiply defined labels, {258}
+  \item \nxLenv {multirow}-Zelle, {268}
+
+\indexspace
+\textbf{N}\label{L-xindex-N}
+\nopagebreak[4]
+  \item NEJM, {585}
+  \item Navigationsleiste, {33}, {616}, {619}
+  \item Navigator, {33}
+  \item Neunerteilung, {103}
+  \item Niederländisch, {67}, {76}, {80}
+  \item Niedersorbisch, {76}
+  \item Norwegisch, {67}, {76}
+  \item Null, {247}
+  \item Nummerierung, {63}
+  \item numwidth, {476}
+
+\indexspace
+\textbf{O}\label{L-xindex-O}
+\nopagebreak[4]
+  \item Onlinequelle, {561}
+  \item OpenOffice, {35}
+  \item OpenType, {12}, {72}, {601}
+  \item Operator, {378}, {400}, {408}, {414}, {449}
+  \item Operator-Symbol, {408}
+  \item Operatorname, {408}
+  \item option clash, {871}
+  \item optischer Randausgleich, {163}
+  \item Overfull box, {883}
+  \item Overlay, {621}
+  \item Overlays, {631}
+  \item Overlayspezifikation, {627}
+
+\indexspace
+\textbf{P}\label{L-xindex-P}
+\nopagebreak[4]
+  \item \protect \nxLnotation {p}-Spalte, {271}
+  \item p-Spalte, {268}
+  \item PDF/A, {189}
+  \item Page Coded Language, {750}
+  \item Paginierung, {115}
+  \item Papierbreite, {96}
+  \item Papierformat, {62}, {91}, {96}
+  \item Papiergröße, {96}
+  \item Papierhöhe, {96}
+  \item Parabel, {770}
+  \item Patronyme, {564}
+  \item pc, {860}
+  \item pdf\TeX , {11}, {13}
+  \item pdfe\TeX , {11}
+  \item Pfade, {31}
+  \item Pfeil, {443}
+  \item Phantom, {389}
+  \item Polnisch, {67}, {76}, {80}
+  \item Portugiesisch, {67}, {76}, {80}
+  \item PostScript, {750}
+  \item Präambel, {51}, {53f}, {210}, {871}
+  \item pro\TeX t, {22}
+  \item Produkt, {393}, {438}
+  \item programmiert, {6}
+  \item Projekt, {32}, {38}, {210}
+  \item pt, {860}
+  \item Punkt, {248}
+  \item Punkte, {405}, {428}
+  \item px, {860}
+
+\indexspace
+\textbf{Q}\label{L-xindex-Q}
+\nopagebreak[4]
+  \item Quadratwurzel, {393}
+  \item Querformat, {96}
+  \item Querverweis, {212}
+
+\indexspace
+\textbf{R}\label{L-xindex-R}
+\nopagebreak[4]
+  \item \protect \nxLnotation {r}-Spalte, {271}
+  \item RGB, {674}
+  \item Radikand, {432}
+  \item Rahmenfarbe, {389}
+  \item Randbemerkung, {157}
+  \item Rechtsbündig, {223}
+  \item Rechtschreibprüfung, {35}, {40}, {47}
+  \item Referenz, {387}, {437}
+  \item Referenzieren, {245}
+  \item Rekursion, {865}
+  \item Relationssymbol, {380}
+  \item robust, {377f}
+  \item Roman-Zeichensatz, {399}
+  \item root, {14}
+  \item rubber length, {860}
+  \item Rücksetzbefehl, {385}
+  \item Rücksetzschalter, {385}
+  \item Rumänisch, {67}, {76}
+  \item Russisch, {76}, {80}
+
+\indexspace
+\textbf{S}\label{L-xindex-S}
+\nopagebreak[4]
+  \item SQL-Datenbank, {247}
+  \item Satzprogramm, {6}
+  \item Satzspiegel, {91}, {94}, {103}
+  \item Satzspiegelberechnung, {103}
+  \item Schmutztitel, {115}
+  \item Schneidemarken, {60}
+  \item Schnittmarken, {110}
+  \item Schnittpunkt, {722}
+  \item Schreibmaschinenschrift, {64}
+  \item Schrift
+    \subitem -\,Breite, {64}
+    \subitem -\,Gewicht, {87}
+    \subitem -\,Größe, {412}
+    \subitem -\,Höhe, {64}
+    \subitem -\,Laufweite, {87}
+    \subitem -\,Serifen, {85}
+    \subitem -\,Stil, {378}
+    \subitem -\,Tiefe, {64}
+    \subitem -\,Warnung, {883}
+  \item Schriftattribut, {660}
+  \item Schrifteinbindung, {9}
+  \item Schriftfamilie, {85}, {442}, {595}
+  \item Schrift
+    \subitem -\,fett, {411}, {451}
+  \item Schriftgröße, {63}, {87}, {404}
+  \item Schriftkodierung, {9}, {54}, {70}
+  \item Schriftstärke, {87}
+  \item Schriftstil, {404}
+  \item Schrittweite, {428}
+  \item Schusterjunge, {103}
+  \item Schwedisch, {67}, {76}, {80}
+  \item scriptwriting, {459}
+  \item Seitenbeschreibungssprache, {750}
+  \item Seitenstil, {117}, {122}
+  \item Seitenumbruch, {252}
+  \item Seitenverhältnis, {621}
+  \item Seitenvorschub, {62}
+  \item Serbisch, {76}, {80}
+  \item Serienattribut, {596}
+  \item Serifenschrift, {85}
+  \item shape, {86}
+  \item shorthand, {78}
+  \item sidebar, {619}
+  \item Sigel, {561}
+  \item Silbentrennung, {149}
+  \item skip, {58}, {860}
+  \item skip register, {860f}
+  \item Skriptsprache, {13}
+  \item slanted, {86}
+  \item Slowakisch, {67}, {80}
+  \item Slowenisch, {67}, {80}
+  \item Solaris, {13}
+  \item Sortierung, {247}, {489}
+  \item sp, {860}
+  \item Spalten, {62}, {428}
+  \item Spaltenabstand, {215}, {274}
+  \item Spaltenanzahl, {428}
+  \item Spaltenbreite, {290}
+  \item Spaltendefinition, {214}, {217}, {222}, {228}
+  \item Spaltendeklaration, {224}
+  \item Spaltenfarbe, {236}
+  \item Spaltentyp, {222}, {229}, {268}, {274}, {290}
+  \item Spaltenzwischenraum, {290}
+  \item Spanisch, {67}, {76}, {80}
+  \item Sprachauswahl, {9}
+  \item Standardsprache, {76}
+  \item Sternversion, {215}
+  \item Subscript, {378}, {393}, {409}
+  \item Sumatra-PDF, {23}
+  \item Summe, {393}, {438}
+  \item Superscript, {378}, {409}
+  \item Symbol, {400}
+    \subitem -\,gestockt, {411}
+  \item Syntax, {214}
+  \item Systemadministrator, {14}
+  \item Systemmeldung, {883}
+
+\indexspace
+\textbf{T}\label{L-xindex-T}
+\nopagebreak[4]
+  \item TDS, {172}, {872}
+  \item TOC, {128}
+  \item Tabelle, {309f}
+    \subitem -\,Breite, {214}, {289}
+    \subitem -\,Farbe, {273}
+    \subitem -\,Kopf, {222}
+    \subitem -\,gerahmt, {224}
+    \subitem -\,geschachtelt, {268}
+  \item Tabellenbeschriftung, {62}
+  \item Tabellenbreite, {215}
+  \item Tabellenkalkulation, {282}
+  \item Tabellenüberschrift
+    \subitem -\,\nxLPack {longtable}, {259}
+  \item Tabellenunterschrift
+  \item Tabellenverzeichnis, {310}, {475}
+  \item {\ttfamily tabular} Env.,  \idxbf{0--218}
+\end{theindex}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -2,7 +2,7 @@
 \begin{theindex}
 
 \indexspace
-\textbf{A}
+\textbf{A}\label{L-xindex-A}
 \nopagebreak[4]
   \item aber, \hyperpage{13}
   \item Ägäis, \hyperpage{17--20}
@@ -21,7 +21,7 @@
   \item Auto, \hyperindexformat{\textbf}{1}
 
 \indexspace
-\textbf{B}
+\textbf{B}\label{L-xindex-B}
 \nopagebreak[4]
   \item Beobachtern, \hyperpage{30}
   \item braunen, \hyperpage{46}
@@ -28,7 +28,7 @@
   \item Bündnis, \hyperpage{25}
 
 \indexspace
-\textbf{D}
+\textbf{D}\label{L-xindex-D}
 \nopagebreak[4]
   \item dabei, \hyperpage{36}
   \item das, \hyperpage{15}, \hyperpage{25}
@@ -36,7 +36,7 @@
   \item demnach, \hyperpage{35}, \hyperpage{38}
   \item Demonstration, \hyperpage{29}, \hyperpage{35}
   \item den, \hyperpage{46}
-  \item der, \hyperpage{9--31}, \hyperpage{15}, \hyperpage{18\nohyperpage{f}}, \hyperpage{28\nohyperpage{f}}, \hyperpage{34}, \hyperpage{37}, \hyperpage{41}
+  \item der, \hyperpage{9--31}, \hyperpage{34}, \hyperpage{37}, \hyperpage{41}
   \item Deshalb, \hyperpage{14}
   \item Deutschland, \hyperpage{8}, \hyperpage{27}
   \item die, \hyperpage{21}, \hyperpage{39}, \hyperpage{41}
@@ -45,7 +45,7 @@
   \item durch, \hyperpage{31}
 
 \indexspace
-\textbf{E}
+\textbf{E}\label{L-xindex-E}
 \nopagebreak[4]
   \item ein, \hyperpage{36}
   \item einer, \hyperpage{22}
@@ -61,7 +61,7 @@
   \item Europaplatz., \hyperpage{25}
 
 \indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
 \nopagebreak[4]
   \item Feindbild, \hyperpage{7}
   \item Festakt, \hyperpage{19}
@@ -70,7 +70,7 @@
   \item für, \hyperpage{10}, \hyperpage{26}
 
 \indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
 \nopagebreak[4]
   \item gaben, \hyperpage{30}
   \item gehabt, \hyperpage{36}
@@ -82,7 +82,7 @@
   \item gut, \hyperpage{9}
 
 \indexspace
-\textbf{H}
+\textbf{H}\label{L-xindex-H}
 \nopagebreak[4]
   \item haben, \hyperpage{32}, \hyperpage{35}, \hyperpage{42}
   \item haben., \hyperpage{35}
@@ -90,7 +90,7 @@
   \item Hilfe, \hyperpage{10}
 
 \indexspace
-\textbf{I}
+\textbf{I}\label{L-xindex-I}
 \nopagebreak[4]
   \item illegalen, \hyperpage{36}
   \item Im, \hyperpage{43}
@@ -98,13 +98,13 @@
   \item ist, \hyperpage{43}
 
 \indexspace
-\textbf{J}
+\textbf{J}\label{L-xindex-J}
 \nopagebreak[4]
   \item jedoch, \hyperpage{36}
   \item jungen, \hyperpage{40}
 
 \indexspace
-\textbf{K}
+\textbf{K}\label{L-xindex-K}
 \nopagebreak[4]
   \item keine, \hyperpage{36}
   \item Kilometer, \hyperpage{23}
@@ -111,13 +111,13 @@
   \item Kundgebung, \hyperpage{23}, \hyperpage{42}
 
 \indexspace
-\textbf{L}
+\textbf{L}\label{L-xindex-L}
 \nopagebreak[4]
   \item leben., \hyperpage{14}
   \item lernen, \hyperpage{14}
 
 \indexspace
-\textbf{M}
+\textbf{M}\label{L-xindex-M}
 \nopagebreak[4]
   \item machen., \hyperpage{8}
   \item mahnte, \hyperpage{2}
@@ -134,7 +134,7 @@
   \item müsse, \hyperpage{14}
 
 \indexspace
-\textbf{N}
+\textbf{N}\label{L-xindex-N}
 \nopagebreak[4]
   \item N, \hyperpage{31}
   \item nach, \hyperpage{19}
@@ -146,7 +146,7 @@
   \item Nicht-Perfekten, \hyperpage{14}
 
 \indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
 \nopagebreak[4]
   \item Obwohl, \hyperpage{8}
   \item Osten, \hyperpage{46}
@@ -153,7 +153,7 @@
   \item Östereich, \hyperpage{1}
 
 \indexspace
-\textbf{P}
+\textbf{P}\label{L-xindex-P}
 \nopagebreak[4]
   \item Perfekte, \hyperpage{15}
   \item Pessimismus., \hyperpage{10}
@@ -161,13 +161,13 @@
   \item Polizei, \hyperpage{32}, \hyperpage{38}
 
 \indexspace
-\textbf{R}
+\textbf{R}\label{L-xindex-R}
 \nopagebreak[4]
   \item rechten, \hyperpage{23}
   \item richtig, \hyperpage{13}
 
 \indexspace
-\textbf{S}
+\textbf{S}\label{L-xindex-S}
 \nopagebreak[4]
   \item sagte, \hyperpage{36}
   \item sei, \hyperpage{12}, \hyperpage{38}
@@ -182,7 +182,7 @@
   \item Szenecodes, \hyperpage{31}
 
 \indexspace
-\textbf{T}
+\textbf{T}\label{L-xindex-T}
 \nopagebreak[4]
   \item Tag, \hyperpage{29}
   \item tausend, \hyperpage{33}
@@ -190,7 +190,7 @@
   \item Teilnehmer, \hyperpage{21}, \hyperpage{30}
 
 \indexspace
-\textbf{U}
+\textbf{U}\label{L-xindex-U}
 \nopagebreak[4]
   \item über, \hyperpage{45}
   \item Überholmanöver, \hyperpage{17}
@@ -200,7 +200,7 @@
   \item unklar., \hyperpage{43}
 
 \indexspace
-\textbf{V}
+\textbf{V}\label{L-xindex-V}
 \nopagebreak[4]
   \item versammelten, \hyperpage{21}
   \item verwendet, \hyperpage{36}
@@ -207,7 +207,7 @@
   \item Volksvertreter, \hyperpage{6}
 
 \indexspace
-\textbf{W}
+\textbf{W}\label{L-xindex-W}
 \nopagebreak[4]
   \item Während, \hyperpage{17}
   \item warnte, \hyperpage{4}
@@ -221,7 +221,7 @@
   \item Woher, \hyperpage{38}
 
 \indexspace
-\textbf{Z}
+\textbf{Z}\label{L-xindex-Z}
 \nopagebreak[4]
   \item zahlreiche, \hyperpage{30}
   \item zeitgleich, \hyperpage{21}

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

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -1,16 +1,16 @@
 
 \begin{theindex}
-\textbf{Symbole}
+\par\textbf{Symbole}\label{L-xindex-Symbole}
 \nopagebreak[4]
   \item  \textbackslash , {1}
 
 \indexspace
-\textbf{Zahlen}
+\textbf{Zahlen}\label{L-xindex-Zahlen}
 \nopagebreak[4]
   \item 4711, {1}
 
 \indexspace
-\textbf{A}
+\textbf{A}\label{L-xindex-A}
 \nopagebreak[4]
   \item aber, {13}
   \item Ägäis, {17}, \seealso{Griechenland}{18}, {19f}
@@ -33,7 +33,7 @@
   \item Automobil, \fbox{1}
 
 \indexspace
-\textbf{B}
+\textbf{B}\label{L-xindex-B}
 \nopagebreak[4]
   \item Beobachtern, {30}
   \item braunen, {46}
@@ -40,7 +40,7 @@
   \item Bündnis, {25}
 
 \indexspace
-\textbf{D}
+\textbf{D}\label{L-xindex-D}
 \nopagebreak[4]
   \item dabei, {36}
   \item das, {15}, {25}
@@ -48,7 +48,7 @@
   \item demnach, {35}, {38}
   \item Demonstration, {29}, {35}
   \item den, {46}
-  \item der, {9--31}, {15}, {18f}, {28f}, {34}, {37}, {41}
+  \item der, {9--31}, {34}, {37}, {41}
   \item Deshalb, {14}
   \item Deutschland, {8}, {27}
   \item die, {21}, {39}, {41}
@@ -63,7 +63,7 @@
   \item durch, {31}
 
 \indexspace
-\textbf{E}
+\textbf{E}\label{L-xindex-E}
 \nopagebreak[4]
   \item ein, {36}
   \item einer, {22}
@@ -79,7 +79,7 @@
   \item Europaplatz., {25}
 
 \indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
 \nopagebreak[4]
   \item Feindbild, {7}
   \item Festakt, {19}
@@ -89,7 +89,7 @@
   \item für, {10}, {26}
 
 \indexspace
-\textbf{G}
+\textbf{G}\label{L-xindex-G}
 \nopagebreak[4]
   \item gaben, {30}
   \item gehabt, {36}
@@ -101,7 +101,7 @@
   \item gut, {9}
 
 \indexspace
-\textbf{H}
+\textbf{H}\label{L-xindex-H}
 \nopagebreak[4]
   \item haben, {32}, {35}, {42}
   \item haben., {35}
@@ -109,7 +109,7 @@
   \item Hilfe, {10}
 
 \indexspace
-\textbf{I}
+\textbf{I}\label{L-xindex-I}
 \nopagebreak[4]
   \item illegalen, {36}
   \item Im, {43}
@@ -117,13 +117,13 @@
   \item ist, {43}
 
 \indexspace
-\textbf{J}
+\textbf{J}\label{L-xindex-J}
 \nopagebreak[4]
   \item jedoch, {36}
   \item jungen, {40}
 
 \indexspace
-\textbf{K}
+\textbf{K}\label{L-xindex-K}
 \nopagebreak[4]
   \item keine, {36}
   \item Kilometer, {23}
@@ -130,13 +130,13 @@
   \item Kundgebung, {23}, {42}
 
 \indexspace
-\textbf{L}
+\textbf{L}\label{L-xindex-L}
 \nopagebreak[4]
   \item leben., {14}
   \item lernen, {14}
 
 \indexspace
-\textbf{M}
+\textbf{M}\label{L-xindex-M}
 \nopagebreak[4]
   \item machen., {8}
   \item mahnte, {2}
@@ -153,7 +153,7 @@
   \item müsse, {14}
 
 \indexspace
-\textbf{N}
+\textbf{N}\label{L-xindex-N}
 \nopagebreak[4]
   \item nach, {19}
   \item Nach, {31}
@@ -165,7 +165,7 @@
   \item Nicht-Perfekten, {14}
 
 \indexspace
-\textbf{O}
+\textbf{O}\label{L-xindex-O}
 \nopagebreak[4]
   \item Obwohl, {8}
   \item Osten, {46}
@@ -172,7 +172,7 @@
   \item Österreich,  \textbf{1--38}
 
 \indexspace
-\textbf{P}
+\textbf{P}\label{L-xindex-P}
 \nopagebreak[4]
   \item Perfekte, {15}
   \item Pessimismus., {10}
@@ -180,13 +180,13 @@
   \item Polizei, {32}, {38}
 
 \indexspace
-\textbf{R}
+\textbf{R}\label{L-xindex-R}
 \nopagebreak[4]
   \item rechten, {23}
   \item richtig, {13}
 
 \indexspace
-\textbf{S}
+\textbf{S}\label{L-xindex-S}
 \nopagebreak[4]
   \item sagte, {36}
   \item sei, {12}, {38}
@@ -201,7 +201,7 @@
   \item Szenecodes, {31}
 
 \indexspace
-\textbf{T}
+\textbf{T}\label{L-xindex-T}
 \nopagebreak[4]
   \item Tag, {29}
   \item tausend, {33}
@@ -209,7 +209,7 @@
   \item Teilnehmer, {21}, {30}
 
 \indexspace
-\textbf{U}
+\textbf{U}\label{L-xindex-U}
 \nopagebreak[4]
   \item über, {45}
   \item Überholmanöver, {17}
@@ -221,7 +221,7 @@
   \item unklar., {43}
 
 \indexspace
-\textbf{V}
+\textbf{V}\label{L-xindex-V}
 \nopagebreak[4]
   \item versammelten, {21}
   \item verwendet, {36}
@@ -228,7 +228,7 @@
   \item Volksvertreter, {6}
 
 \indexspace
-\textbf{W}
+\textbf{W}\label{L-xindex-W}
 \nopagebreak[4]
   \item Während, \see{Was\_auch\_immmer}{17}
   \item warnte, {4}
@@ -242,7 +242,7 @@
   \item Woher, {38}
 
 \indexspace
-\textbf{Z}
+\textbf{Z}\label{L-xindex-Z}
 \nopagebreak[4]
   \item zahlreiche, {30}
   \item zeitgleich, {21}

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

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -2,7 +2,7 @@
 \begin{theindex}
 
 \indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
 \nopagebreak[4]
   \item foo, {1}, \textit{1}, \see{bar}{2}, {3}, \textbf{3}
 \end{theindex}

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind	2019-10-28 20:55:51 UTC (rev 52551)
@@ -2,7 +2,7 @@
 \begin{theindex}
 
 \indexspace
-\textbf{F}
+\textbf{F}\label{L-xindex-F}
 \nopagebreak[4]
   \item foo, {1f}, \textit{2}, \textbf{3}, {4}
 \end{theindex}

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

Modified: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh	2019-10-28 20:55:51 UTC (rev 52551)
@@ -21,7 +21,7 @@
 lualatex demo-hyperref > /dev/null
 
 echo "HADW"
-xindex -l de -c HAdW HADW > /dev/null
+xindex -l de -c HAdW-eKO HADW > /dev/null
 lualatex HADW > /dev/null
 
 echo "Umlaute"

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-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex	2019-10-28 20:55:51 UTC (rev 52551)
@@ -4,6 +4,7 @@
 \documentclass[paper=a4,fontsize=11pt,DIV=13,parskip=half-,
                captions=tableabove,twoside=on]{scrartcl}
 \usepackage{fontspec}
+%\usepackage{libertinus-otf}
 \setmainfont{AccanthisADFStdNo3}[
   UprightFont   =*-Regular,
   BoldFont      =*-Bold,
@@ -79,14 +80,21 @@
 \def\setVersion#1{\setVVersion#1!!}
 \def\setVVersion#1=#2!!{\def\xIndexVersion{#2}} 
 
-\setVersion{version = 0.16}%  can be autimatically changed by perl
+\setVersion{version = 0.18}%  can be autimatically changed by perl
 
+\setkeys{dtk}{cleanup=true,force=false}
+
+
 \title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
-\author{Herbert Voß\thanks{hvoss at tug.org}}
+\author{\shortstack{Herbert Voß\\\small \href{mailto:hvoss at tug.org}{hvoss at tug.org}}}
 \begin{document}
 \maketitle
 \tableofcontents
 
+\vfill
+Thanks to: \\
+Mark Baudin;
+Heiko Oberdiek
 
 \clearpage
 
@@ -194,7 +202,7 @@
   compiler=lualatex,
   crop,
   xindex,
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -255,7 +263,7 @@
   crop,
   xindex,
   xindexOptions=-e ">",
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -294,16 +302,16 @@
 it will be customizable.
 The predefined language is »en« and currently the following languages are possible:
 
-
-{\Japanese\small
-indexheader = \{ \\
-\quad  de = \{\"{}Symbole\"{}, \"{}Zahlen\"{}\},\\
-\quad  en = \{\"{}Symbols\"{}, \"{}Numbers\"{}\},\\
-\quad  fr = \{\"{}Symboles\"{},\"{}Chiffre\"{}\},\\
-\quad  jp = \{\"{}シンボル\"{},\"{}番号\"{}\},\\
-\}
-%\end{verbatim}
+{\Japanese
+\begin{Verbatim}[fontfamily=helvetica,commandchars=\\<>]
+indexheader = { 
+  de = {"Symbole", "Zahlen"},
+  en = {"Symbols", "Numbers"},
+  fr = {"Symboles","Chiffre"},
+\Japanese  jp = {"シンボル","番号"},
 }
+\end{Verbatim}
+}
 
 The following example was run with \verb|xindex -l de <file>.idx|:
 
@@ -315,7 +323,7 @@
   crop,
   xindex,
   xindexOptions=-l de -e ">",
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -354,27 +362,27 @@
 \begin{verbatim}
 alphabet_lower = { --   for sorting
     { ' ' },  -- only for internal tests
-    { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+    { 'a', 'á', 'à', 'ä', 'â', 'å', 'æ', },
     { 'b' },
     { 'c', 'ç' },
     { 'd' },
-    { 'e', 'é', 'è', 'ë' },
+    { 'e', 'é', 'è', 'ë', 'ê' },
     { 'f' },
     { 'g' },
     { 'h' },
-    { 'i', 'í', 'ì', 'ï' },
+    { 'i', 'í', 'ì', 'î', 'ï' },
     { 'j' },
     { 'k' },
     { 'l' },
     { 'm' },
     { 'n', 'ñ' },
-    { 'o', 'ó', 'ò', 'ö', 'ø', 'œ'},
+    { 'o', 'ó', 'ò', 'ö', 'ô', 'ø', 'œ', 'ø'},
     { 'p' },
     { 'q' },
     { 'r' },
     { 's', 'š', 'ß' },
     { 't' },
-    { 'u', 'ú', 'ù', 'ü' },
+    { 'u', 'ú', 'ù', 'ü' , 'û'},
     { 'v' },
     { 'w' },
     { 'x' },
@@ -381,6 +389,7 @@
     { 'y', 'ý', 'ÿ' },
     { 'z', 'ž' }
 }
+
 \end{verbatim}
 
 There is also a table for the uppercase letters. If it should be edited or extended then copy first the
@@ -393,12 +402,11 @@
 \begin{verbatim}
 alphabet_upper = { -- for sorting
     { ' ' },
-    { 'A', 'Á', 'À', 'Å', 'Æ'},
-    { 'AE', 'Ä'},
+    { 'A', 'Á', 'À', 'Ä', 'Å', 'Æ'},
     { 'B' },
     { 'C', 'Ç' },
     { 'D' },
-    { 'E', 'È', 'È', 'Ë' },
+    { 'E', 'È', 'É', 'Ë' },
     { 'F' },
     { 'G' },
     { 'H' },
@@ -408,15 +416,13 @@
     { 'L' },
     { 'M' },
     { 'N', 'Ñ' },
-    { 'O', 'Ó', 'Ò', 'Ø','Œ' },
-    { 'OE', 'Ö' },
+    { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ', 'Ø' },
     { 'P' },
     { 'Q' },
     { 'R' },
     { 'S', 'Š' },
     { 'T' },
-    { 'U', 'Ú', 'Ù' },
-    { 'UE', 'Ü' },
+    { 'U', 'Ú', 'Ù', 'Ü' },
     { 'V' },
     { 'W' },
     { 'X' },
@@ -436,7 +442,7 @@
   crop,
   xindex,
   xindexOptions=-l de,
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -494,7 +500,7 @@
   crop,
   xindex,
   xindexOptions=-c DIN2 -l DE,
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -574,7 +580,7 @@
   crop,
   xindex,
   xindexOptions=-l jp,
-  force=true,
+  force=false,
   runs=2,
   code=false,
   docType=latex,
@@ -653,7 +659,7 @@
   crop,
   xindex,
   xindexOptions=-l fr,
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -760,7 +766,7 @@
   crop,
   xindex,
   xindexOptions=-l de,
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -1070,7 +1076,7 @@
   crop,
   xindex,
 %  xindexOptions=,
-  force=true,
+  force=false,
   runs=2,code,docType=latex,
   showFilename,
   align=\centering,
@@ -1260,7 +1266,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-header'] = {
-      version = 0.14,
+      version = 0.18,
       comment = "main configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",
@@ -1284,21 +1290,21 @@
 ]]
 alphabet_lower = { --   for sorting
     { ' ' },  -- only for internal tests
-    { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+    { 'a', 'á', 'à', 'ä', 'â', 'å', 'æ', },
     { 'b' },
     { 'c', 'ç' },
     { 'd' },
-    { 'e', 'é', 'è', 'ë' },
+    { 'e', 'é', 'è', 'ë', 'ê' },
     { 'f' },
     { 'g' },
     { 'h' },
-    { 'i', 'í', 'ì', 'ï' },
+    { 'i', 'í', 'ì', 'î', 'ï' },
     { 'j' },
     { 'k' },
     { 'l' },
     { 'm' },
     { 'n', 'ñ' },
-    { 'o', 'ó', 'ò', 'ö', 'ø', 'œ'},
+    { 'o', 'ó', 'ò', 'ö', 'ô', 'ø', 'œ', 'ø'},
     { 'p' },
     { 'q' },
     { 'r' },
@@ -1317,7 +1323,7 @@
     { 'B' },
     { 'C', 'Ç' },
     { 'D' },
-    { 'E', 'È', 'È', 'Ë' },
+    { 'E', 'È', 'É', 'Ë' },
     { 'F' },
     { 'G' },
     { 'H' },
@@ -1327,7 +1333,7 @@
     { 'L' },
     { 'M' },
     { 'N', 'Ñ' },
-    { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ' },
+    { 'O', 'Ó', 'Ò', 'Ö', 'Ø','Œ', 'Ø' },
     { 'P' },
     { 'Q' },
     { 'R' },
@@ -1340,7 +1346,6 @@
     { 'Y', 'Ý', 'Ÿ' },
     { 'Z', 'Ž' }
 }
-
 \end{filecontents*}
 \makeatletter
 \def\theindex{%    only for demonstration

Modified: trunk/Master/texmf-dist/scripts/xindex/xindex.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/xindex/xindex.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/scripts/xindex/xindex.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -8,7 +8,7 @@
 -----------------------------------------------------------------------
 
         xindex = xindex or { }
- local version = 0.16
+ local version = 0.18
 xindex.version = version
 --xindex.self = "xindex"
 
@@ -29,6 +29,8 @@
 
 kpse.set_program_name("luatex")
 
+local f = kpse.find_file("lualibs.lua")
+print ("Dateiname "..f)
 require("lualibs")  -- all part of LuaTeX
 require('unicode')
 require('string')
@@ -156,6 +158,11 @@
 cfg = require(Config_File)
 writeLog(2," ... done\n",0)
 
+-- Create the character list maps for faster sorting
+
+alphabet_lower_map = CreateCharListMap(alphabet_lower)
+alphabet_upper_map = CreateCharListMap(alphabet_upper)
+
 local esc_char = args.escapechar
 writeLog(2,"Escapechar = "..esc_char.."\n",1)
 escape_chars = { -- by default " is the escape char

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -7,7 +7,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-cfg'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",
@@ -39,6 +39,8 @@
     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', 'á', 'à', 'å', 'æ', },
@@ -46,17 +48,17 @@
     { 'b' },
     { 'c', 'ç' },
     { 'd' },
-    { 'e', 'é', 'è', 'ë' },
+    { 'e', 'é', 'è', 'ë', 'ê' },
     { 'f' },
     { 'g' },
     { 'h' },
-    { 'i', 'í', 'ì', 'ï' },
+    { 'i', 'í', 'ì', 'î', 'ï' },
     { 'j' },
     { 'k' },
     { 'l' },
     { 'm' },
     { 'n', 'ñ' },
-    { 'o', 'ó', 'ò', 'ø', 'œ'},
+    { 'o', 'ó', 'ò', 'ô', 'ø', 'œ', 'ø'},
     { 'oe', 'ö' },
     { 'p' },
     { 'q' },
@@ -63,7 +65,7 @@
     { 'r' },
     { 's', 'š', 'ß' },
     { 't' },
-    { 'u', 'ú', 'ù' },
+    { 'u', 'ú', 'ù', 'û'},
     { 'ue', 'ü' },
     { 'v' },
     { 'w' },
@@ -78,7 +80,7 @@
     { 'B' },
     { 'C', 'Ç' },
     { 'D' },
-    { 'E', 'È', 'È', 'Ë' },
+    { 'E', 'È', 'É', 'Ë' },
     { 'F' },
     { 'G' },
     { 'H' },
@@ -88,7 +90,7 @@
     { 'L' },
     { 'M' },
     { 'N', 'Ñ' },
-    { 'O', 'Ó', 'Ò', 'Ø','Œ' },
+    { 'O', 'Ó', 'Ò', 'Ø','Œ', 'Ø' },
     { 'OE', 'Ö' },
     { 'P' },
     { 'Q' },

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW-eKO.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -9,7 +9,7 @@
 -- configuration for index files of the Heidelberger Akademie der Wissenschaften
 
 if not modules then modules = { } end modules ['xindex-HAdW-eKO'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",
@@ -31,6 +31,13 @@
 
 case_sensitive    = false  -- speeds up running
 
+folium = { 
+  de = {"f.", "ff."},
+  en = {"f.", "ff."},
+  fr = {"\\,sq","\\,sqq"},
+}
+
+
 --[[
     Each character's position in this array-like table determines its 'priority'.
     Several characters in the same slot have the same 'priority'.
@@ -55,7 +62,7 @@
     { 'p' },
     { 'q' },
     { 'r' },
-    { 's' },
+    { 's', 'ß' },
     { 't' },
     { 'u', 'ú', 'ù', 'ü' },
     { 'v' },
@@ -94,6 +101,8 @@
     { 'Z' }
 }
 
+--alphabet_lower_map = CreateCharListMap(alphabet_lower)-- jetzt in xindex.lua
+--alphabet_upper_map = CreateCharListMap(alphabet_upper)
 
 --\indexentry{Ackers, Carolus}{VII/1-715}
 --\indexentry{Bremen!Adalbert I. von, Erzbischof}{VII/2/1-948}
@@ -215,7 +224,7 @@
 function replaceRomanB(r)
   local i = romanToNumber(r)
   if i then return "!//"..string.format("%05d",i).."//."
-       else return r
+       else return ("!"..r..".")   -- to catch something Neuneburg!a.d. Weichsel
   end
 end
 
@@ -315,4 +324,3 @@
   end
 end
 
-

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -6,7 +6,7 @@
 --      LICENSE:  LPPL1.3
 -----------------------------------------------------------------------
 
-local info = { version = 0.16 } 
+local info = { version = 0.18 } 
 
 -- check config
 if pageNoPrefixDel ~= "" then 
@@ -58,10 +58,25 @@
 writeLog(1,"\n------------------ end list after getEntryAndPage() ------------------------\n",2)
 writeLog(2,"Sorting entries: for LARGE idx files it can take some minutes ... \n",0)
 
-if SORTprehook then Index = SORTprehook(Index) end
+if SORTprehook then
+  writeLog(2, "PreHook begin\n", 0)
+  Index = SORTprehook(Index)
+  writeLog(2, "PreHook end\n", 0)
+end
+
+writeLog(2, "GenerateSortKeys begin\n", 0)
+GenerateSortKeys(Index)
+writeLog(2, "GenerateSortKeys end\n", 0)
+
 k = 0
+writeLog(2, "Sort begin\n", 0)
 table.sort(Index,UTFCompare)
-if SORTposthook then Index = SORTposthook(Index) end
+writeLog(2, "Sort end\n", 0)
+if SORTposthook then
+  writeLog(2, "PostHook begin\n", 0)
+  Index = SORTposthook(Index)
+  writeLog(2, "PostHook end\n", 0)
+end
 
 writeLog(1,"\n------------------ Start list after table.sort(Index,UTFCompare)------------\n",2)
 printList(Index,2)
@@ -85,7 +100,6 @@
 writeLog(2,"done\n",0)
 
 
-
 writeLog(2,"Replace @-operator ...\n",0)
 writeLog(1,"------------------ Start list before compressEntryList(Index)------------\n",1)
 writeLog(1,require 'xindex-pretty'.dump(Index),3)   -- only for internal dump

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -7,7 +7,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-cfg-common'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",
@@ -115,3 +115,14 @@
     { 'ю', 'Ю' },
     { 'я', 'Я' }
 }
+
+local function create_map(char_list)
+  local map = {}
+  for i, pair in ipairs(char_list) do
+    map[pair[1]] = pair[2]
+  end
+  return map
+end
+
+alphabet_uppercase_map = create_map(alphabet_uppercase)
+

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -7,7 +7,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-cfg'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "main configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",
@@ -31,21 +31,21 @@
 ]]
 alphabet_lower = { --   for sorting
     { ' ' },  -- only for internal tests
-    { 'a', 'á', 'à', 'ä', 'å', 'æ', },
+    { 'a', 'á', 'à', 'ä', 'â', 'å', 'æ', },
     { 'b' },
     { 'c', 'ç' },
     { 'd' },
-    { 'e', 'é', 'è', 'ë' },
+    { 'e', 'é', 'è', 'ë', 'ê' },
     { 'f' },
     { 'g' },
     { 'h' },
-    { 'i', 'í', 'ì', 'ï' },
+    { 'i', 'í', 'ì', 'î', 'ï' },
     { 'j' },
     { 'k' },
     { 'l' },
     { 'm' },
     { 'n', 'ñ' },
-    { 'o', 'ó', 'ò', 'ö', 'ø', 'œ', 'ø'},
+    { 'o', 'ó', 'ò', 'ö', 'ô', 'ø', 'œ', 'ø'},
     { 'p' },
     { 'q' },
     { 'r' },
@@ -64,7 +64,7 @@
     { 'B' },
     { 'C', 'Ç' },
     { 'D' },
-    { 'E', 'È', 'È', 'Ë' },
+    { 'E', 'È', 'É', 'Ë' },
     { 'F' },
     { 'G' },
     { 'H' },

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -7,7 +7,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-cfg'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "DTK configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -28,7 +28,7 @@
 --~ n       2
 --------------------------------
 if not modules then modules = { } end modules ['xindex-lapp'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "read parameter for xindex.lua",
        author = "Steve Donovan",
     copyright = "Steve Donovan",

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -7,7 +7,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-lib'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "main library  to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",
@@ -19,18 +19,26 @@
 local Letters = "ÄÖÜäöüabcdefghijklmnopqrstuvwxyzßABCDEFGHIJKLMNOPQRSTUVWXYZ"
 local Digits = "0123456789"
 
--- Looks up the character `character´ in the alphabet and returns its 'normalization' for sorting
-local function get_normalized_char( CharList, character )
+function CreateCharListMap(CharList)
+  local map = {}
   for i, alphabet_entry in ipairs(CharList) do
-    for _, alphabet_char in ipairs(alphabet_entry) do
-      if character == alphabet_char then
-        return alphabet_entry[1]
+    local first_char
+    for j, alphabet_char in ipairs(alphabet_entry) do
+      if j == 1 then
+        first_char = alphabet_char
+      else
+        map[alphabet_char] = first_char
       end
     end
   end
-  return character
+  return map
 end
 
+-- Looks up the character `character´ in the alphabet and returns its 'normalization' for sorting
+local function get_normalized_char( CharListMap, character )
+  return CharListMap[character] or character
+end
+
 function Lower(strOrig)   -- return UTF string.lower
   local str = ""
   for i=1, utf.len(strOrig) do
@@ -47,7 +55,7 @@
 function NormalizedLower(strOrig)  -- return normalized UTF string.lower (ä -> a)
   local str = ""
   for i=1, utf.len(strOrig) do
-    local c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
+    local c = get_normalized_char(alphabet_lower_map,utf.sub(strOrig,i,i))
     str = str..string.lower(c)
   end
   return str
@@ -54,50 +62,53 @@
 end
 
 function NormalizedUpper(strOrig)  -- return normalized UTF string.upper (ä -> A)
-  local str = ""
+  local str = {}
   local c
   for i=1, utf.len(strOrig) do
-    c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
---    str = str..string.upper(c)
-    str = str..c 
+    c = get_normalized_char(alphabet_lower_map,utf.sub(strOrig,i,i))
+    str[#str + 1] = c
   end
-  strOrig = str
-  str=""
+  strOrig = table.concat(str)
+  str = {}
   for i=1, utf.len(strOrig) do
-    c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
+    c = get_normalized_char(alphabet_upper_map,utf.sub(strOrig,i,i))
     c = NormalizedUppercase(c)
-    str = str..c
+    str[#str + 1] = c
   end
-  return str
+  return table.concat(str)
 end
 
 function NormalizedUppercase(chr)  -- return normalized UTF uppercase letter
-  for i, alphabet_entry in ipairs(alphabet_uppercase) do
-    if chr == alphabet_entry[1] then
-      return alphabet_entry[2]
-    end
-  end
-  return chr
+  return alphabet_uppercase_map[chr] or chr
 end
 
 function NormalizedChars(strOrig)  -- return normalized UTF string (ä -> a) with first as upper case
-  local c = string.upper(get_normalized_char(alphabet_lower,utf.sub(strOrig,1,1)))
-  local str = c
-  for i=2, utf.len(strOrig) do
-    c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
-    str = str..c
+  local c = get_normalized_char(alphabet_lower_map,utf.sub(strOrig,1,1))
+  c = get_normalized_char(alphabet_upper_map, c)
+  c = string.upper(c)
+  local str = { c }
+  for ch in string.utfcharacters(utf.sub(strOrig, 2)) do
+    c = get_normalized_char(alphabet_lower_map, ch)
+    c = get_normalized_char(alphabet_upper_map, c)
+    str[#str + 1] = c
   end
-  local strOrigTrue = strOrig
-  strOrig = str
-  c = string.upper(get_normalized_char(alphabet_upper,utf.sub(strOrig,1,1)))
-  str = c
-  for i=2, utf.len(strOrig) do
-    c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
-    str = str..c
-  end
+  return table.concat(str)
+end
+  
+--  local strOrigTrue = strOrig
+--  strOrig = table.concat(str)
+--  c = string.upper(get_normalized_char(alphabet_upper,utf.sub(strOrig,1,1)))
+--  str = { c }
+--  for i=2, utf.len(strOrig) do
+--    c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
+--    str[#str + 1] = c
+--  end
+--  for ch in string.utfcharacters(strOrig, 2) do
+--    str[#str + 1] = get_normalized_char(alphabet_upper, ch)
+--  end
 --  print(strOrigTrue.." -> "..str)
-  return str
-end
+--  return table.concat(str)
+--end
 
 function checkVert(str) -- get the | part
   local vert = string.find(str,"|",1,true)
@@ -524,12 +535,8 @@
 -- str = "\indexentry {foo}{bar}"
 -- first, second = str:match('{([^}]*)}%s*{([^}]*)}')  -> foo, bar
 
-function UTFCompare(a,b)  
--- a, b are something like \indexentry{foo}{bar}
---  writeLog(1,"UTFCompare:  "..a["Entry"]..", "..a["pages"][1]["number"].." - "..b["Entry"]..", "..b["pages"][1]["number"].."\n",2)
---  k = k + 1
---  if (k % 50) == 0 then writeLog(1,".",1) end
-  local A,B,Apage,Bpage
+function GenerateSortKey(a)
+  local A, Apage
   if numericPage then
     if tonumber(a["pages"][1]["number"]) then
       Apage = string.format("%09d",a["pages"][1]["number"])
@@ -536,22 +543,34 @@
     else
       Apage = string.format("%09d",romanToNumber(a["pages"][1]["number"]))
     end
-    if tonumber(b["pages"][1]["number"]) then
-      Bpage = string.format("%09d",b["pages"][1]["number"])
-    else
-      Bpage = string.format("%09d",romanToNumber(b["pages"][1]["number"]))
-    end
   else
     Apage = string.format("%09s",a["pages"][1]["number"])
-    Bpage = string.format("%09s",b["pages"][1]["number"])
   end
   if no_caseSensitive then
     A = NormalizedUpper(getSortString(a["Entry"].." "..Apage..a["pages"][1]["special"]):gsub('!','')) -- replace! by empty
-    B = NormalizedUpper(getSortString(b["Entry"].." "..Bpage..b["pages"][1]["special"]):gsub('!',''))
+    a["SortKey"] = A
   else  
     A = NormalizedChars(getSortString(a["Entry"].." "..Apage..a["pages"][1]["special"]):gsub('!','')) -- replace! by empty
-    B = NormalizedChars(getSortString(b["Entry"].." "..Bpage..b["pages"][1]["special"]):gsub('!',''))
+    a["SortKey"] = A
   end
+  -- return A
+end
+
+function GenerateSortKeys(Index)
+  for _, entry in ipairs(Index) do
+    GenerateSortKey(entry)
+  end
+end
+
+function UTFCompare(a,b)  
+-- a, b are something like \indexentry{foo}{bar}
+--  writeLog(1,"UTFCompare:  "..a["Entry"]..", "..a["pages"][1]["number"].." - "..b["Entry"]..", "..b["pages"][1]["number"].."\n",2)
+--  k = k + 1
+--  if (k % 50) == 0 then writeLog(1,".",1) end
+
+  local A = a["SortKey"]
+  local B = b["SortKey"]
+  
   writeLog(1,"UTFCompare: A--B "..A.."--"..B.."\n",2)
 -- print(A,B)
 --[[ 
@@ -907,7 +926,13 @@
   return Ct(idx):match(expr)
 end
 
+local SortStringCache = {}
 function getSortString(Entry)
+  local sortString = SortStringCache[Entry]
+  if sortString ~= nil then
+    return sortString
+  end
+
   local t = match(Entry)
 --  require 'xindex-pretty'.dump(t)   -- only for internal dump
   local data = t[1]
@@ -920,6 +945,7 @@
       data = data..t[i]
     end
   end
+  SortStringCache[Entry] = data
   return data
 end
 

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -5,7 +5,7 @@
 --
 
 if not modules then modules = { } end modules ['xindex-pretty'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "dump a Lua table for debugging",
        author = "Steve Donovan",
     copyright = "Steve Donovan",

Modified: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua	2019-10-28 20:55:19 UTC (rev 52550)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-yannis.lua	2019-10-28 20:55:51 UTC (rev 52551)
@@ -7,7 +7,7 @@
 -----------------------------------------------------------------------
 
 if not modules then modules = { } end modules ['xindex-yannis'] = {
-      version = 0.16,
+      version = 0.18,
       comment = "main configuration to xindex.lua",
        author = "Herbert Voss",
     copyright = "Herbert Voss",



More information about the tex-live-commits mailing list