texlive[49312] trunk: xindex (2dec18)

commits+karl at tug.org commits+karl at tug.org
Mon Dec 3 23:49:28 CET 2018


Revision: 49312
          http://tug.org/svn/texlive?view=revision&revision=49312
Author:   karl
Date:     2018-12-03 23:49:28 +0100 (Mon, 03 Dec 2018)
Log Message:
-----------
xindex (2dec18)

Modified Paths:
--------------
    trunk/Build/source/texk/texlive/linked_scripts/Makefile.am
    trunk/Build/source/texk/texlive/linked_scripts/Makefile.in
    trunk/Build/source/texk/texlive/linked_scripts/scripts.lst
    trunk/Master/tlpkg/bin/tlpkg-ctan-check
    trunk/Master/tlpkg/libexec/ctan2tds
    trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc

Added Paths:
-----------
    trunk/Build/source/texk/texlive/linked_scripts/xindex/
    trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua
    trunk/Master/bin/aarch64-linux/xindex
    trunk/Master/bin/amd64-freebsd/xindex
    trunk/Master/bin/amd64-netbsd/xindex
    trunk/Master/bin/armhf-linux/xindex
    trunk/Master/bin/i386-cygwin/xindex
    trunk/Master/bin/i386-freebsd/xindex
    trunk/Master/bin/i386-linux/xindex
    trunk/Master/bin/i386-netbsd/xindex
    trunk/Master/bin/i386-solaris/xindex
    trunk/Master/bin/sparc-solaris/xindex
    trunk/Master/bin/win32/xindex.exe
    trunk/Master/bin/x86_64-cygwin/xindex
    trunk/Master/bin/x86_64-darwin/xindex
    trunk/Master/bin/x86_64-darwinlegacy/xindex
    trunk/Master/bin/x86_64-linux/xindex
    trunk/Master/bin/x86_64-linuxmusl/xindex
    trunk/Master/bin/x86_64-solaris/xindex
    trunk/Master/texmf-dist/doc/lualatex/xindex/
    trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-1.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-10.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-11.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-12.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-13.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-14.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-2.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-3.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-4.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-5.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-6.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-7.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-8.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-9.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/Makefile
    trunk/Master/texmf-dist/doc/lualatex/xindex/README.md
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.idx
    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/HADW2.idx
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.idx
    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/Umlaute.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.idx
    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/Umlaute2.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.idx
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.idx
    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-hyperref.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.idx
    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/demo.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.idx
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.idx
    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/demo3.tex
    trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh
    trunk/Master/texmf-dist/doc/lualatex/xindex/unicode-category.lua
    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/
    trunk/Master/texmf-dist/scripts/xindex/xindex.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua
    trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW.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.sty
    trunk/Master/tlpkg/tlpsrc/xindex.tlpsrc

Modified: trunk/Build/source/texk/texlive/linked_scripts/Makefile.am
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/Makefile.am	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Build/source/texk/texlive/linked_scripts/Makefile.am	2018-12-03 22:49:28 UTC (rev 49312)
@@ -215,6 +215,7 @@
 	ulqda/ulqda.pl \
 	urlbst/urlbst \
 	vpe/vpe.pl \
+	xindex/xindex.lua \
 	yplan/yplan
 texmf_context_scripts = \
 	context/stubs/unix/context \

Modified: trunk/Build/source/texk/texlive/linked_scripts/Makefile.in
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/Makefile.in	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Build/source/texk/texlive/linked_scripts/Makefile.in	2018-12-03 22:49:28 UTC (rev 49312)
@@ -429,6 +429,7 @@
 	ulqda/ulqda.pl \
 	urlbst/urlbst \
 	vpe/vpe.pl \
+	xindex/xindex.lua \
 	yplan/yplan
 
 texmf_context_scripts = \

Modified: trunk/Build/source/texk/texlive/linked_scripts/scripts.lst
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/scripts.lst	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Build/source/texk/texlive/linked_scripts/scripts.lst	2018-12-03 22:49:28 UTC (rev 49312)
@@ -159,6 +159,7 @@
 ulqda/ulqda.pl
 urlbst/urlbst
 vpe/vpe.pl
+xindex/xindex.lua
 yplan/yplan
 context/stubs/unix/context
 context/stubs/unix/contextjit

Added: trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua
===================================================================
--- trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua	                        (rev 0)
+++ trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,176 @@
+#!/usr/bin/env texlua
+-----------------------------------------------------------------------
+--         FILE:  xindex.lua
+--  DESCRIPTION:  create an index
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL 1.3
+-----------------------------------------------------------------------
+
+        xindex = xindex or { }
+ local version = 0.05
+xindex.version = version
+--xindex.self = "xindex"
+
+--[[doc--
+
+xindex(1)
+
+This file is provided under the terms of the LPPL v1.3 or
+later as printed in full text in the manual (xindex.pdf).
+
+\url{https://ctan.org/license/lppl1.3}.
+
+Report bugs to
+
+    \url{https://gitlab.com/hvoss49/xindex/issues}.
+
+--doc]]--
+
+kpse.set_program_name("luatex")
+
+require("lualibs")  -- all part of LuaTeX
+require('unicode')
+require('string')
+require("lpeg")
+
+
+local args = require ('xindex-lapp') [[
+  parameter handling
+    -q,--quiet
+    -h,--help
+    -v...          Verbosity level; can be -v, -vv, -vvv
+    -c,--config (default cfg)
+    -e,--escapechar (default ")
+    -n,--noheadings 
+    -o,--output (default "")
+    -l,--language (default en)
+    <input> (string)
+]]
+
+
+--[[
+    No -v flag, v is just { false }. not args.v[1] is true, so vlevel becomes 0.
+    One -v flags, v is { true }
+    Two -v flags, v is { true, true }
+    Three -v flags, v is { true, true, true } 
+]]
+
+vlevel = not args.v[1] and 0 or #args.v
+not_quiet = not args["quiet"]
+
+--[[
+if args.h then
+print(
+Syntax: xinput [options] <file>
+By default the Lua program "xindex" creates a so-called
+.ind file, which has the same main filename as the input file
+unless you are using the option "-o <output file>"  There will 
+be no log file created. 
+)
+end
+]]
+
+
+--[[
+if not args["input"] then 
+  io.write ("Filename: ")
+  inFile = io.read()
+else
+  inFile = args["input"]
+end
+]]
+
+require('xindex-lib')
+
+inFile = args["input"]
+if not file_exists(inFile) then
+  if file_exists(inFile..".idx") then
+    inFile = inFile..".idx"
+  else
+    writeLog(2,"Inputfile "..inFile.." or "..inFile..".idx not found!\n",0)
+    os.exit()
+  end
+end  
+
+local filename
+local logfilename
+if args["output"] == '""' then
+  if inFile:sub(inFile:len()-3,inFile:len()) == ".idx" then 
+    filename = inFile:sub(1,inFile:len()-3).."ind"
+    logfilename = inFile:sub(1,inFile:len()-3).."ilg"
+  else
+    filename = inFile..".ind"
+    logfilename = inFile..".ilg"
+  end
+else
+  filename = args.output
+  logfilename = filename:gsub('%p...','')..".ilg"
+end
+
+logFile = io.open(logfilename,"w+")
+writeLog(2,"xindex v."..version.." (c) Herbert Voß\n",-1)
+writeLog(1,"Verbose level = "..vlevel.."\n",1)
+
+writeLog(2,"Open outputfile "..filename,0)
+outFile = io.open(filename,"w+")
+writeLog(2," ... done\n",0)
+
+if vlevel > 0 then
+  writeLog(1,"---------- parameter ----------\n",1)
+  for k,v in pairs(args) do
+    writeLog(1,tostring(k)..", "..tostring(v).."\n",1)
+  end
+  for k=1,#args.v do 
+    writeLog(1,"v["..k.."]= "..tostring(args.v[k]).."\n",1) 
+  end
+  writeLog(1,"---------- parameter ----------\n",1)
+end
+
+writeLog(2,"Using input file: "..inFile.."\n",0)
+
+writeLog(2,"Loading common config file ".."xindex-cfg-common\n",1)
+Config_File_Common = kpse.find_file("xindex-cfg-common.lua") 
+cfg_common = require(Config_File_Common)
+
+local config_file = "xindex-"..args.config..".lua"
+writeLog(2,"Loading local config file "..config_file,0)
+Config_File = kpse.find_file(config_file) 
+cfg = require(Config_File)
+writeLog(2," ... done\n",0)
+
+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//',  '!'    }
+}
+
+language = string.lower(args["language"])
+writeLog(2,"Language = "..language.."\n",1) 
+index_header = indexheader[language]
+if vlevel > 0 then for i=1,#index_header do writeLog(2,index_header[i].."\n",1) end end
+page_folium = folium[language]
+
+
+no_headings = args["noheadings"]
+if no_headings then
+  writeLog(1,"Output with NO headings between different first letter\n",1)
+else
+  writeLog(1,"Output with headings between different first letter\n",1)
+end
+
+writeLog(2,"Open outputfile "..filename,0)
+outFile = io.open(filename,"w+")
+writeLog(2,"... done\n",0)
+
+
+writeLog(1,"Starting base file ... \n",2)
+BaseRunFile = kpse.find_file("xindex-base.lua") 
+dofile(BaseRunFile)
+
+logFile:close()
+
+


Property changes on: trunk/Build/source/texk/texlive/linked_scripts/xindex/xindex.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/aarch64-linux/xindex
===================================================================
--- trunk/Master/bin/aarch64-linux/xindex	                        (rev 0)
+++ trunk/Master/bin/aarch64-linux/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/aarch64-linux/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/amd64-freebsd/xindex
===================================================================
--- trunk/Master/bin/amd64-freebsd/xindex	                        (rev 0)
+++ trunk/Master/bin/amd64-freebsd/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/amd64-freebsd/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/amd64-netbsd/xindex
===================================================================
--- trunk/Master/bin/amd64-netbsd/xindex	                        (rev 0)
+++ trunk/Master/bin/amd64-netbsd/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/amd64-netbsd/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/armhf-linux/xindex
===================================================================
--- trunk/Master/bin/armhf-linux/xindex	                        (rev 0)
+++ trunk/Master/bin/armhf-linux/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/armhf-linux/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-cygwin/xindex
===================================================================
--- trunk/Master/bin/i386-cygwin/xindex	                        (rev 0)
+++ trunk/Master/bin/i386-cygwin/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-cygwin/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-freebsd/xindex
===================================================================
--- trunk/Master/bin/i386-freebsd/xindex	                        (rev 0)
+++ trunk/Master/bin/i386-freebsd/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-freebsd/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-linux/xindex
===================================================================
--- trunk/Master/bin/i386-linux/xindex	                        (rev 0)
+++ trunk/Master/bin/i386-linux/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-linux/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-netbsd/xindex
===================================================================
--- trunk/Master/bin/i386-netbsd/xindex	                        (rev 0)
+++ trunk/Master/bin/i386-netbsd/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-netbsd/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/i386-solaris/xindex
===================================================================
--- trunk/Master/bin/i386-solaris/xindex	                        (rev 0)
+++ trunk/Master/bin/i386-solaris/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/i386-solaris/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/sparc-solaris/xindex
===================================================================
--- trunk/Master/bin/sparc-solaris/xindex	                        (rev 0)
+++ trunk/Master/bin/sparc-solaris/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/sparc-solaris/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/win32/xindex.exe
===================================================================
(Binary files differ)

Index: trunk/Master/bin/win32/xindex.exe
===================================================================
--- trunk/Master/bin/win32/xindex.exe	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/bin/win32/xindex.exe	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/bin/win32/xindex.exe
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/bin/x86_64-cygwin/xindex
===================================================================
--- trunk/Master/bin/x86_64-cygwin/xindex	                        (rev 0)
+++ trunk/Master/bin/x86_64-cygwin/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-cygwin/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-darwin/xindex
===================================================================
--- trunk/Master/bin/x86_64-darwin/xindex	                        (rev 0)
+++ trunk/Master/bin/x86_64-darwin/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-darwin/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-darwinlegacy/xindex
===================================================================
--- trunk/Master/bin/x86_64-darwinlegacy/xindex	                        (rev 0)
+++ trunk/Master/bin/x86_64-darwinlegacy/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-darwinlegacy/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-linux/xindex
===================================================================
--- trunk/Master/bin/x86_64-linux/xindex	                        (rev 0)
+++ trunk/Master/bin/x86_64-linux/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-linux/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-linuxmusl/xindex
===================================================================
--- trunk/Master/bin/x86_64-linuxmusl/xindex	                        (rev 0)
+++ trunk/Master/bin/x86_64-linuxmusl/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-linuxmusl/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/bin/x86_64-solaris/xindex
===================================================================
--- trunk/Master/bin/x86_64-solaris/xindex	                        (rev 0)
+++ trunk/Master/bin/x86_64-solaris/xindex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+link ../../texmf-dist/scripts/xindex/xindex.lua
\ No newline at end of file


Property changes on: trunk/Master/bin/x86_64-solaris/xindex
___________________________________________________________________
Added: svn:special
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/CHANGELOG	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,4 @@
+0.05 2018-12-01 - modified HAdW config
+0.04 2018-10-29 - added an own pretty printer function for tables
+0.03 2018-10-27 -fix for same pagenumber but different special
+0.02 2018-10-27 -Updated documention

Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-1.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-1.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-1.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,25 @@
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%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 \texttt{xindex <file.idx>}\index{<file.idx>}\index{123}
+\newpage
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-1.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-10.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-10.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-10.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,51 @@
+\RequirePackage{filecontents}
+\begin{filecontents*}{\jobname.idx}
+\indexentry{VoßHerbert at Herbert Voß!Wasgenstraße 121\protect \\10127 Berlin\protect \\\Email {herbert"@xyz.de}}{3}
+\indexentry{SieversMartin at Martin Sievers!siehe Seite~\protect \pageref  {president}}{4}
+\indexentry{VoßHerbert at Herbert Voß!Wasgenstraße 121\protect \\10127 Berlin\protect \\\Email {herbert"@xyz.de}}{5}
+\indexentry{ZiegenhagenUwe at Uwe Ziegenhagen!Lokostr. 19 \protect \\ 20713 Köln \protect \\\Email {ziegenhagen"@mail.com}}{9}
+\indexentry{BehrendtDoris at Doris Behrendt!\Email {doris"@xyz.de}}{14}
+\indexentry{JacekJonas Jared at Jonas Jared Jazek!\Email {mail"@jones.net}}{20}
+\indexentry{KohmMarkus at Marcus Tohm!Freiherr-von-Stein-Straße~16\protect \\ 15525~Edingen-Neckarhausen\protect \\ \Email {komascript"@xyz.info}}{24}
+\indexentry{KohmMarkus at Marcus Tohm!Freiherr-von-Stein-Straße~16\protect \\ 15525~Edingen-Neckarhausen\protect \\ \Email {komascript"@xyz.info}}{31}
+\indexentry{SchubertElke at Elke Schubert!Hausstraße~15\protect \\ 36396~Stutense\protect \\ \Email {elke.schubert"@kabelxyz.de}}{40}
+\indexentry{FennJürgen at Jürgen Fennt!Friedrichallee 74\protect \\13233 Neu-Isenburg\protect \\\Email {juergen.fennt"@gmxnet.de}}{48}
+\end{filecontents*}
+\documentclass{article}
+\usepackage{url}
+\DeclareUrlCommand\Email{%
+  \def\UrlLeft{}%
+  \def\UrlRight{}%
+  \def\UrlLinkPrefix{mailto:}%
+  \def\UrlType{email}%
+}
+\usepackage{multicol}
+\makeatletter
+\def\DTK at scan@item#1\subitem#2\relax#3\@nil{%
+  \def\DTK at tempa{#1}\def\DTK at tempb{#2}\def\DTK at tempc{#3}%
+}
+\def\theindex{%    only for demonstration
+  \columnseprule=\z@ \columnsep=10\p@
+  \begin{multicols}{2}[\noindent\textbf{\large Autorenliste}]%
+    \makeatletter
+    \def\indexspace{}%
+    \parindent\z@
+    \setlength{\parskip}{\z@ \@plus .3\p@}%
+    \setlength{\parfillskip}{\z@ \@plus 1fil}%
+    \raggedright
+    \def\item##1\@nil{\DTK at scan@item##1\@nil
+      \par\parbox{\columnwidth}{%
+        \textbf{\DTK at tempa}\hfill[\DTK at tempc]\par\DTK at tempb
+      }%
+      \par\bigskip
+    }%
+}
+\def\endtheindex{\end{multicols}}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\mbox{}\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-10.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-11.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-11.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-11.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,24 @@
+\documentclass{article}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\makeatletter
+\g at addto@macro{\theindex}{%
+  \pagestyle{empty}%
+  \def\subsubsubitem{\@idxitem\hspace*{35\p@}}
+  \def\subsubsubsubitem{\@idxitem\hspace*{40\p@}}
+}
+\makeatother
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\begin{document}
+foo\index{foo} bar\index{foo!bar}
+baz\index{foo!bar!baz} foobar%
+\index{foo!bar!baz!foobar} Kuba
+\index{foo!bar!baz!foobar!Kuba}
+\newpage \printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-11.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-12.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-12.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-12.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,16 @@
+\documentclass{scrartcl}
+\usepackage{libertinus-otf}
+%StartVisiblePreamble
+\usepackage{xindex}
+\makeindex
+%StopVisiblePreamble
+\makeatletter
+\let\ps at plain\ps at empty
+\makeatother
+\begin{document}
+\index{foo}foo and
+\writeidx{\item\protect\hrulefill}
+\index{bar}bar
+\index{gex}gex
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-12.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-13.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-13.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-13.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,22 @@
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Ein foo\index{foo}\index{bar|(}
+ \newpage und \index{foo}
+ein foo\index{foo|textit} \newpage
+und foo\index{foo|textbf} \newpage
+und foo\index{foo|fbox}
+\index{bar|)}
+\newpage
+\verb|xindex -n <file>|
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-13.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-14.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-14.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-14.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,42 @@
+\documentclass{scrartcl}
+\usepackage{libertinus-otf}
+\makeatletter
+\let\ps at plain\ps at empty
+\makeatother
+%StartVisiblePreamble
+\usepackage[imakeidx]{xindex}
+\makeindex[name=persons,title=Index of names,
+   columns=1,options=--noheadings]
+\def\ThanhVN{Hàn Thê\protect\llap{%
+  \raise 0.5ex\hbox{\'{}}}}
+%StopVisiblePreamble
+\pagestyle{empty}\renewcommand\thepage{}
+\begin{document}
+foo\index[persons]{Niepraschk,~ Rolf}
+foo\index[persons]{Lamport,~ Leslie}
+foo\index[persons]{Knuth,~ Donald}
+foo\index[persons]{Knuth,~ Donald}
+\newpage
+foo\index[persons]{Lamport,~ Leslie}
+foo\index[persons]{Thành,~ \ThanhVN}
+foo\index[persons]{Kew,~ Jonathan}
+foo\index[persons]{Kohm,~ Markus}
+foo\index[persons]{Preining,~ Norbert}
+\newpage
+foo\index[persons]{Schenk,~ Christian}
+foo\index[persons]{Feuerstack,~ Thomas}
+foo\index[persons]{Tobin,~ Geoffrey}
+foo\index[persons]{Wilson,~ Peter}
+\newpage
+foo\index[persons]{Kohm,~ Markus}
+foo\index[persons]{Theiling,~ Henrik}
+foo\index[persons]{Pégourié-Gonnard,~ Manuel}
+foo\index[persons]{Roux,~ Élie}
+\newpage
+foo\index[persons]{Mittelbach,~ Frank}
+foo\index[persons]{Fairbairns,~ Robin}
+foo\index[persons]{Lemberg,~ Werner}
+foo\index[persons]{Volovich,~ Vladimir}
+
+\printindex[persons]
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-14.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-2.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-2.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,24 @@
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\section{Escaping characters with >}
+\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 \texttt{xindex} with \texttt{xindex -e ">"}\index{<file.idx>}\index{123}
+\newpage
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-2.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-3.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-3.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,24 @@
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\section{Escaping characters with >}
+\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 \texttt{xindex} with \texttt{xindex -l de -e ">"}\index{123}
+\newpage
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-3.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-4.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-4.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-4.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,36 @@
+\documentclass[paper=a5]{scrartcl}
+\usepackage[ngerman]{babel}
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\newcommand\Index[1]{\index{#1}#1}
+%StopVisiblePreamble
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \newpage
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+\pagestyle{empty}
+\begin{document}
+Sorted with \verb|-l DE|
+
+\Index{Österreich} \Index{Öresund}
+\Index{Ostern} \Index{Ober}
+\Index{Oberin} \Index{Österreich}
+\Index{Öresund} \Index{Ostern}
+\Index{Ober} \Index{Oberin}
+\Index{Obstler} \Index{Öl}
+\Index{ölen} \Index{Ödem}
+\Index{Oligarch} \Index{Oder}
+\Index{oder} \index{Fluss!Oder}
+\index{Oder|seealso{Fluss}}
+\Index{Göbel} \Index{Goethe}
+\Index{Göthe} \Index{Götz}
+\Index{Goldmann}
+
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-4.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-5.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-5.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-5.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,37 @@
+\documentclass[paper=a5]{scrartcl}
+\usepackage[ngerman]{babel}
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\newcommand\Index[1]{\index{#1}#1}
+%StopVisiblePreamble
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \newpage
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+\pagestyle{empty}
+\begin{document}
+Sorted with
+\verb|--config DIN2 -l DE|
+
+\Index{Österreich} \Index{Öresund}
+\Index{Ostern} \Index{Ober}
+\Index{Oberin} \Index{Österreich}
+\Index{Öresund} \Index{Ostern}
+\Index{Ober} \Index{Oberin}
+\Index{Obstler} \Index{Öl}
+\Index{ölen} \Index{Ödem}
+\Index{Oligarch} \Index{Oder}
+\Index{oder} \index{Fluss!Oder}
+\index{Oder|seealso{Fluss}}
+\Index{Göbel} \Index{Goethe}
+\Index{Göthe} \Index{Götz}
+\Index{Goldmann}
+
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-5.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-6.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-6.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-6.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,32 @@
+\documentclass[a5paper]{article}
+%StartVisiblePreamble
+\usepackage{fontspec}
+\setmainfont{SourceHanSans}
+\usepackage[japanese]{babel}
+\addto\captionsjapanese{%
+  \def\indexname{指数}}
+\usepackage{hvindex}% for \Index
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+\pagestyle{empty}
+\begin{document}
+\Index{車} \Index{車道}
+日本\index{日本|fbox}
+\Index{病院} \Index{コンピュータ}
+\Index{プリンタ} \Index{印刷}
+\Index{スイミングプール} \Index{天王}
+\Index{広島} \Index{ドイツ}
+\Index{日本} \Index{ワープロ}
+\Index{foo} und \Index{bar}
+\Index{//} \Index{4711}
+\newpage\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-6.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-7.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-7.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-7.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,23 @@
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Sorted with \verb|-l fr|
+
+foobar\index{foobar|(}
+foo\index{foo}\index{bar}\index{baz}\newpage
+foo\index{foo}\index{bar}\index{baz}\newpage
+foo\index{bar}\index{baz}\newpage
+foo\index{baz}\newpage
+foo\index{foo}foobar\index{foobar|)}
+\newpage
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-7.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-8.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-8.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-8.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,30 @@
+\documentclass[paper=a6]{scrartcl}
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\usepackage{hvindex}% for \Index
+\usepackage[colorlinks]{hyperref}
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Sorted with \verb|-l DE|
+\Index{Österreich} \Index{Öresund}
+\Index{Ostern} \Index{Ober} \Index{Oberin}
+\Index{Österreich} \index{Öresund|textbf}
+\Index{Ostern} \Index{Ober} \Index{Oberin}
+\Index{Obstler} \Index{Öl} \Index{ölen}
+\Index{Ödem} \Index{Oligarch} \Index{Oder}
+\Index{oder} \index{Fluss!Oder|textit}
+\Index{Oder|seealso{Fluss}} \Index{Göbel}
+\Index{Goethe} \Index{Göthe} \Index{Götz}
+\newpage\Index{Goldmann} \Index{Goethe}
+\newpage \printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-8.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-9.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-9.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-9.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,20 @@
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Ein foo\index{foo} \newpage und \index{foo}
+ein foo\index{foo|textit} \newpage
+und foo\index{foo|textbf} \newpage
+und foo\index{foo|fbox}
+
+\newpage
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Examples/xindex-9.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/Makefile
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/Makefile	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/Makefile	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,52 @@
+# `Makefile' for `pst-grad.pdf', hv, 2008/08/11
+
+.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
+
+PACKAGE = xhfill
+
+MAIN = xindex-doc
+
+LATEX = lualatex
+
+ARCHNAME = $(MAIN)-$(shell date +%y%m%d)
+
+ARCHFILES = $(PACKAGE).sty $(PACKAGE).tex $(PACKAGE).pro $(MAIN).tex README Changes Makefile
+
+#TDS = ~/PSTricks/PSTricks-TDS
+
+all : doc clean
+# clean
+doc: 	
+	$(LATEX) --shell-escape $(MAIN)
+#	if ! test -f $(MAIN).glo ; then touch $(MAIN).glo; fi
+	if ! test -f $(MAIN).idx ; then touch $(MAIN).idx; fi
+#	makeindex -s gglo.ist -t $(MAIN).glg -o $(MAIN).gls $(MAIN).glo
+	xindex $(MAIN).idx
+#	bibtex $(MAIN)
+	$(LATEX) --shell-escape $(MAIN)
+#	$(LATEX) --shell-escape $(MAIN)
+
+clean : 
+	$(RM) *.dvi *.aux *.log  *.xml xindex-?.tex xindex-??.tex *.ind *.idx *.toc *.out *.ilg
+
+veryclean : clean
+	$(RM) *.pdf 
+
+arch :
+	zip $(ARCHNAME).zip $(ARCHFILES)
+
+tds:
+	cp -u Changes     $(TDS)/doc/latex/$(PACKAGE)/
+	cp -u README      $(TDS)/doc/latex/$(PACKAGE)/
+	cp -u $(MAIN).pdf $(TDS)/doc/latex/$(PACKAGE)/
+#
+	cp -u Changes        $(TDS)/tex/latex/$(PACKAGE)/
+	cp -u $(PACKAGE).sty $(TDS)/tex/latex/$(PACKAGE)/
+#
+	cp -u Changes     $(TDS)/source/$(PACKAGE)/
+	cp -u $(MAIN).tex $(TDS)/source/$(PACKAGE)/
+	cp -u $(MAIN).bib $(TDS)/source/$(PACKAGE)/
+	cp -u Makefile    $(TDS)/source/$(PACKAGE)/
+
+
+# EOF


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/README.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/README.md	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,49 @@
+# xindex
+
+Unicode compatible index programm for LaTeX. It needs Lua 5.3 which
+will be included in at least LuaTeX 1.09
+
+
+* xindex.lua            -- main file
+* xindex-cfg.lua        -- config module
+* xindex-cfg-common.lua -- main config module
+* xindex-base.lua       -- base file
+* xindex-lib.lua        -- functions module
+* xindex-lapp.lua       -- read parameter
+* unicode-category.lua  -- list of Unicode categories
+
+The syntax of `index`
+
+     index [options] <inputfile>[.idx]
+
+possible options are (short,long):
+
+    -q,--quiet
+    -h,--help
+    -v
+    -c,--config (default cfg)
+    -e,--escapechar (default ")
+    -n,--noheadings 
+    -o,--output (default "")
+    -l,--language (default en)
+    <input> (string)
+
+Testfiles:
+
+demo.tex:  run
+
+    lualatex demo
+    ./xindex.lua demo.idx
+    lualatex demo
+
+
+buch.tex:  run
+
+    ./xindex.lua buch.idx
+    lualatex buch
+
+
+after installing the files into the TeXLive distro you 
+can run `xindex` instead of `./xindex.lua`. 
+
+LICENSE:  LPPL 1.3


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/README.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,27 @@
+\indexentry{Aachen, Johannes von}{VII/1-215}
+\indexentry{Aarones}{VII/2/1-1003}
+\indexentry{Aarones}{VII/2/1-1012}
+\indexentry{Abrahamson}{VII/2/1-864}
+\indexentry{Abrahamson}{VII/2/1-991}
+\indexentry{Abrahamson}{VII/2/1-1048}
+\indexentry{Abrahamson}{VII/2/1-1067}
+\indexentry{Abrahamson}{VII/2/1-1156}
+\indexentry{Adamson}{VII/2/1-1223}
+\indexentry{Adamson}{IX/1-1228}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-758}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-759}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-760}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-761}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-765}
+\indexentry{Adrian!Hauster}{VII/1-514}
+\indexentry{Adrian!Hauster}{XI/1-515}
+\indexentry{Alting!Mensa}{VII/1-426}
+\indexentry{Alting!Mensa}{VII/1-434}
+\indexentry{Alting!Mensa}{VII/1-453}
+\indexentry{Alting!Mensa}{VII/1-455}
+\indexentry{Alting!Mensa}{VII/1-466}
+\indexentry{Alting!Mensa}{VII/1-467}
+\indexentry{Bremen!Heinz von, Erzbischof|see{Sachsen-Lauenburg}}{}
+\indexentry{Osnabrück!Heinz  von, Bischof|see{Sachsen-Lauenburg}}{}
+\indexentry{Zwingl, Haldrich}{IX-479}
+\indexentry{Zwingl, Haldrich}{IX-692}
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,38 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{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 Adrian
+    \subitem -\,Hauster, {VII/1 514}, {XI/1 515}
+  \item Alting
+    \subitem -\,Mensa, {VII/1 426}, {434}, {453}, {455}, {466f}
+
+\indexspace
+\textbf{B}
+\nopagebreak[4]
+  \item Bremen
+    \subitem -\,Heinz von, Erzbischof, \see{Sachsen-Lauenburg}{}
+
+\indexspace
+\textbf{O}
+\nopagebreak[4]
+  \item Osnabrück
+    \subitem -\,Heinz  von, Bischof, \see{Sachsen-Lauenburg}{}
+
+\indexspace
+\textbf{S}
+\nopagebreak[4]
+  \item Schleswig-Holstein
+    \subitem -\,Rudolf von, Herzog, {VII/2/1 758--761}, {765}
+
+\indexspace
+\textbf{Z}
+\nopagebreak[4]
+  \item Zwingl, Haldrich, {IX 479}, {692}
+\end{theindex}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,19 @@
+\documentclass[paper=a4,parskip=half-,ngerman,DIV=13]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage{makeidx}
+\usepackage{dtk-logos}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+
+\begin{document}
+Run with \verb|xindex --config HAdW|
+
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,47 @@
+\indexentry{Aachen, Johannes von}{VII/1-215}
+\indexentry{Aarones}{VII/2/1-1003}
+\indexentry{Aarones}{VII/2/1-1012}
+\indexentry{Abrahamson}{VII/2/1-864}
+\indexentry{Abrahamson}{VII/2/1-991}
+\indexentry{Abrahamson}{VII/2/1-1048}
+\indexentry{Abrahamson}{VII/2/1-1067}
+\indexentry{Abrahamson}{VII/2/1-1156}
+\indexentry{Adamson}{VII/2/1-1223}
+\indexentry{Adamson}{IX/1-1228}
+\indexentry{Karl V}{VII/1-34}
+\indexentry{Karl II}{VII/1-147}
+\indexentry{Karl III}{VII/1-149}
+\indexentry{Karl VI}{VII/1-296}
+\indexentry{Karl IV}{VII/1-34}
+\indexentry{Karl IV}{VII/1-147}
+\indexentry{Karl X}{VII/1-149}
+\indexentry{Karl IX}{VII/1-296}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-758}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-759}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-760}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-761}
+\indexentry{Schleswig-Holstein!Rudolf von, Herzog}{VII/2/1-765}
+\indexentry{Adrian!Hauster}{VII/1-514}
+\indexentry{Adrian!Hauster}{XI/1-515}
+\indexentry{Alting!Mensa}{VII/1-426}
+\indexentry{Alting!Mensa}{VII/1-434}
+\indexentry{Alting!Mensa}{VII/1-453}
+\indexentry{Alting!Mensa}{VII/1-455}
+\indexentry{Alting!Mensa}{VII/1-466}
+\indexentry{Alting!Mensa}{VII/1-467}
+\indexentry{Bremen!Heinz von, Erzbischof|see{Sachsen-Lauenburg}}{}
+\indexentry{Osnabrück!Heinz  von, Bischof|see{Sachsen-Lauenburg}}{}
+\indexentry{Zwingl, Haldrich}{IX-479}
+\indexentry{Zwingl, Haldrich}{IX-692}
+\indexentry{Julian!Apostata, römischer Kaiser}{VII/2/1-904}
+\indexentry{Justinian I., byzantinischer Kaiser}{VII/1-326}
+\indexentry{Justinian I., byzantinischer Kaiser}{VII/1-734}
+\indexentry{Justinian I., byzantinischer Kaiser}{VII/2/1-1011}
+\indexentry{Karl!V., Kaiser}{VII/1-34}
+\indexentry{Karl!II., Kaiser}{VII/1-147}
+\indexentry{Karl!III., Kaiser}{VII/1-149}
+\indexentry{Karl!VI., Kaiser}{VII/1-296}
+\indexentry{Karl!IV., Kaiser}{VII/1-34}
+\indexentry{Karl!IV., Kaiser}{VII/1-147}
+\indexentry{Karl!X., Kaiser}{VII/1-149}
+\indexentry{Karl!IX., Kaiser}{VII/1-296}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,68 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{K}
+\nopagebreak[4]
+  \item  Karl II, {VII/1 147}
+  \item  Karl III, {VII/1 149}
+  \item  Karl IV, {VII/1 147}, {34}
+  \item  Karl V, {VII/1 34}
+  \item  Karl VI, {VII/1 296}
+  \item  Karl IX, {VII/1 296}
+  \item  Karl X, {VII/1 149}
+
+\indexspace
+\textbf{A}
+\nopagebreak[4]
+  \item Aachen, Johannes von, {VII/1 215}
+  \item Aarones, {VII/2/1 1003}, {1012}
+  \item Abrahamson, {VII/2/1 1048}, {1067}, {1156}, {864}, {991}
+  \item Adamson, {VII/2/1 1223}, {IX/1 1228}
+  \item Adrian
+    \subitem -\,Hauster, {VII/1 514}, {XI/1 515}
+  \item Alting
+    \subitem -\,Mensa, {VII/1 426}, {434}, {453}, {455}, {466f}
+
+\indexspace
+\textbf{B}
+\nopagebreak[4]
+  \item Bremen
+    \subitem -\,Heinz von, Erzbischof, \see{Sachsen-Lauenburg}{}
+
+\indexspace
+\textbf{J}
+\nopagebreak[4]
+  \item Julian
+    \subitem -\,Apostata, römischer Kaiser, {VII/2/1 904}
+  \item Justinian I., byzantinischer Kaiser, {VII/1 326}, {734}, {VII/2/1 1011}
+
+\indexspace
+\textbf{K}
+\nopagebreak[4]
+  \item Karl
+    \subitem -\,II., Kaiser, {VII/1 147}
+    \subitem -\,III., Kaiser, {VII/1 149}
+    \subitem -\,IV., Kaiser, {VII/1 147}, {34}
+    \subitem -\,IX., Kaiser, {VII/1 296}
+    \subitem -\,V., Kaiser, {VII/1 34}
+    \subitem -\,VI., Kaiser, {VII/1 296}
+    \subitem -\,X., Kaiser, {VII/1 149}
+
+\indexspace
+\textbf{O}
+\nopagebreak[4]
+  \item Osnabrück
+    \subitem -\,Heinz  von, Bischof, \see{Sachsen-Lauenburg}{}
+
+\indexspace
+\textbf{S}
+\nopagebreak[4]
+  \item Schleswig-Holstein
+    \subitem -\,Rudolf von, Herzog, {VII/2/1 758--761}, {765}
+
+\indexspace
+\textbf{Z}
+\nopagebreak[4]
+  \item Zwingl, Haldrich, {IX 479}, {692}
+\end{theindex}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/HADW2.ind
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,24 @@
+\indexentry{Österreich}{1}
+\indexentry{Öresund}{2}
+\indexentry{Ostern}{3}
+\indexentry{Ober}{4}
+\indexentry{Oberin}{5}
+\indexentry{Österreich}{2}
+\indexentry{Öresund}{4}
+\indexentry{Ostern}{4}
+\indexentry{Ober}{6}
+\indexentry{Oberin}{6}
+\indexentry{Obstler}{7}
+\indexentry{Öl}{8}
+\indexentry{ölen}{9}
+\indexentry{Ödem}{4}
+\indexentry{Oligarch}{28}
+\indexentry{Oder}{58}
+\indexentry{oder}{8}
+\indexentry{Fluss!Oder}{479}
+\indexentry{Oder|seealso{Fluss}}{33}
+\indexentry{Göbel}{58}
+\indexentry{Goethe}{58}
+\indexentry{Göthe}{58}
+\indexentry{Götz}{58}
+\indexentry{Goldmann}{58}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,34 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{F}
+\nopagebreak[4]
+  \item Fluss
+    \subitem -\,Oder, {479}
+
+\indexspace
+\textbf{G}
+\nopagebreak[4]
+  \item Göbel, {58}
+  \item Goethe, {58}
+  \item Goldmann, {58}
+  \item Göthe, {58}
+  \item Götz, {58}
+
+\indexspace
+\textbf{O}
+\nopagebreak[4]
+  \item Ober, {4}, {6}
+  \item Oberin, {5f}
+  \item Obstler, {7}
+  \item Ödem, {4}
+  \item oder, {8}
+  \item Oder, \seealso{Fluss}{33}, {58}
+  \item Öl, {8}
+  \item ölen, {9}
+  \item Oligarch, {28}
+  \item Öresund, {2}, {4}
+  \item Ostern, {3f}
+  \item Österreich, {1f}
+\end{theindex}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,23 @@
+\documentclass[paper=a4,parskip=half-,ngerman]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage{hvindex}
+\usepackage{makeidx}
+
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+
+%\makeindex
+\begin{document}
+\def\indexname{Sortierung nach DIN Variante 1: Ö$\rightarrow$O}
+
+\printindex
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,24 @@
+\indexentry{Österreich}{1}
+\indexentry{Öresund}{2}
+\indexentry{Ostern}{3}
+\indexentry{Ober}{4}
+\indexentry{Oberin}{5}
+\indexentry{Österreich}{2}
+\indexentry{Öresund}{4}
+\indexentry{Ostern}{4}
+\indexentry{Ober}{6}
+\indexentry{Oberin}{6}
+\indexentry{Obstler}{7}
+\indexentry{Öl}{8}
+\indexentry{ölen}{9}
+\indexentry{Ödem}{4}
+\indexentry{Oligarch}{28}
+\indexentry{Oder}{58}
+\indexentry{oder}{8}
+\indexentry{Fluss!Oder}{479}
+\indexentry{Oder|seealso{Fluss}}{33}
+\indexentry{Göbel}{58}
+\indexentry{Goethe}{58}
+\indexentry{Göthe}{58}
+\indexentry{Götz}{58}
+\indexentry{Goldmann}{58}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,34 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{F}
+\nopagebreak[4]
+  \item Fluss
+    \subitem -\,Oder, {479}
+
+\indexspace
+\textbf{G}
+\nopagebreak[4]
+  \item Göbel, {58}
+  \item Goethe, {58}
+  \item Göthe, {58}
+  \item Götz, {58}
+  \item Goldmann, {58}
+
+\indexspace
+\textbf{O}
+\nopagebreak[4]
+  \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}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/Umlaute2.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,25 @@
+\documentclass[paper=a4,parskip=half-,ngerman]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage{hvindex}
+\usepackage{makeidx}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+
+
+%\makeindex
+\begin{document}
+
+\def\indexname{Sortierung nach DIN Variante 2: Ö$\rightarrow$Oe}%
+\verb|xindex -l de -c DIN2 Umlaute2 |
+
+\printindex
+
+
+\end{document}


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


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,678 @@
+
+\begin{theindex}
+\textbf{Symbols}
+\nopagebreak[4]
+  \item \texttt{\"{}\"{}}, {79}
+  \item \texttt{\"{}=}, {79}
+  \item \texttt{\"{}\textasciitilde}, {79}
+  \item  \euro {}, {67}
+  \item  \textacutedbl , {78}
+
+\indexspace
+\textbf{Numbers}
+\nopagebreak[4]
+  \item 3D, {752}
+  \item 4:3, {621}
+
+\indexspace
+\textbf{A}
+\nopagebreak[4]
+  \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 AMS, {376}
+  \item Anführungszeichen, {81}
+  \item Anhang, {62}
+  \item ANSI, {67}
+  \item Atom, {400f}
+  \item AUC\TeX , {29}
+  \item Autor, {54}
+  \item Autor"=Jahr"=Schema, {544}
+  \item Autor-Stil, {586}
+
+\indexspace
+\textbf{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}
+\nopagebreak[4]
+  \item cc, {859}
+  \item class option, {386}
+  \item Clipping, {247}
+  \item Clippingpfad, {771}
+  \item Clown, {256}
+  \item Cluster, {248}
+  \item cm, {859}
+  \item CMYK, {671}
+  \item continued fraction, {430}
+  \item Con\TeX t, {879}
+  \item Cork-Kodierung, {72}
+  \item Corporate Design, {642}
+  \item Counter, {862}
+
+\indexspace
+\textbf{D}
+\nopagebreak[4]
+  \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 DIN\,5007, {512}
+  \item DIN~476, {91}
+  \item displaymath mode, {381}
+  \item Distribution, {13}
+  \item Divisior, {431}
+  \item \idxtextClasses 
+    \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 IEEEtran}, {185}
+    \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}
+\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}
+\nopagebreak[4]
+  \item Fallunterscheidung, {392}, {425}
+  \item Farbe, {236}, {669}
+  \item Farbe
+    \subitem -\,konvertieren, {680}
+    \subitem -\,Modell, {680}
+  \item Farbmodell, {236}, {669}
+  \item Farbmodell
+    \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 FNDB, {872}
+  \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}
+\nopagebreak[4]
+  \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 GUI, {9}, {29}
+  \item Guillemets, {82}
+
+\indexspace
+\textbf{H}
+\nopagebreak[4]
+  \item Hebräisch, {76}
+  \item Hintergrundfarbe, {389}, {658}, {679}
+  \item Hochformat, {96}
+  \item Homograph, {529}
+  \item Hurenkind, {102}
+
+\indexspace
+\textbf{I}
+\nopagebreak[4]
+  \item IDE, {29}
+  \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 IPA, {72}
+  \item Irisch, {67}
+  \item Isländisch, {67}, {76}
+  \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 italic, {86}
+  \item Italic-Korrektur, {88}
+  \item Italienisch, {76}, {80}
+  \item Items, {413}
+  \item IUPAC, {814}
+
+\indexspace
+\textbf{K}
+\nopagebreak[4]
+  \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}
+  \item Kodierung
+    \subitem -\,ascii, {67}
+  \item Kolumnentitel, {121}, {126}
+  \item \KOMAScript , {59ff}, {93}
+  \item Komma, {248}
+  \item Kommutative Diagramme, {448}
+  \item Konventionen, {213}
+  \item Kopfzeile, {62}, {119}, {222}
+  \item Kopf\/linie, {62}
+  \item kritische Edition, {208}
+  \item Kroatisch, {67}, {76}, {80}
+  \item Kursivkorrektur, {88}
+
+\indexspace
+\textbf{L}
+\nopagebreak[4]
+  \item Label, {181}, {245}, {387}, {626}
+  \item largesymbols, {396}
+  \item \LaTeX -Editor, {29}
+  \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}
+  \item Linie
+    \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}
+  \item LR-Box, {173}
+
+\indexspace
+\textbf{M}
+\nopagebreak[4]
+  \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 math shift, {869}
+  \item Mathematikmodus, {411}
+  \item Mathematiksatz, {85}
+  \item Mathopen-Symbol, {396}
+  \item Matrix, {227}, {383}, {405f}, {426}, {449}
+  \item Maßeinheit, {711}, {859f}
+  \item Maßzahl, {859}
+  \item Mediävalziffern, {595}
+  \item Metronyme, {564}
+  \item Mikrotypografie, {7}
+  \item MiK\TeX , {13}, {21}, {23}
+  \item MiK\TeX 
+    \subitem -\,Paketmanager, {21}
+  \item Minimalbeispiel, {888}
+  \item Minuskelziffern, {595}
+  \item MLA, {586}
+  \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}
+\nopagebreak[4]
+  \item Navigationsleiste, {33}, {616}, {619}
+  \item Navigator, {33}
+  \item NEJM, {585}
+  \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}
+\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}
+\nopagebreak[4]
+  \item \protect \nxLnotation {p}-Spalte, {271}
+  \item p-Spalte, {268}
+  \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/A, {189}
+  \item pdfe\TeX , {11}
+  \item pdf\TeX , {11}, {13}
+  \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 Produkt, {393}, {438}
+  \item programmiert, {6}
+  \item Projekt, {32}, {38}, {210}
+  \item pro\TeX t, {22}
+  \item pt, {860}
+  \item Punkt, {248}
+  \item Punkte, {405}, {428}
+  \item px, {860}
+
+\indexspace
+\textbf{Q}
+\nopagebreak[4]
+  \item Quadratwurzel, {393}
+  \item Querformat, {96}
+  \item Querverweis, {212}
+
+\indexspace
+\textbf{R}
+\nopagebreak[4]
+  \item \protect \nxLnotation {r}-Spalte, {271}
+  \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 RGB, {674}
+  \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}
+\nopagebreak[4]
+  \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 -\,fett, {411}, {451}
+    \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 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 SQL-Datenbank, {247}
+  \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}
+  \item Symbol
+    \subitem -\,gestockt, {411}
+  \item Syntax, {214}
+  \item Systemadministrator, {14}
+  \item Systemmeldung, {883}
+
+\indexspace
+\textbf{T}
+\nopagebreak[4]
+  \item Tabelle, {309f}
+  \item Tabelle
+    \subitem -\,Breite, {214}, {289}
+    \subitem -\,Farbe, {273}
+    \subitem -\,gerahmt, {224}
+    \subitem -\,geschachtelt, {268}
+    \subitem -\,Kopf, {222}
+  \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{214--218}
+  \item Tagebuchnotation, {561}
+  \item Tcheschisch, {80}
+  \item TDS, {172}, {872}
+  \item Teilungsverhältnis, {62}
+  \item Template, {657}
+  \item \TeX -Collection, {13}
+  \item \TeXLive, {3}, {13--21}, {23}, {25f}, {31}, {512}, {542}, {590}, {610}, {766}, {855}, {870}, {872ff}, {877ff}, {890}
+  \item \TeX maker, {29}
+  \item \TeX nicCenter, {31}, {35}, {38}
+  \item \TeX Shop, {23}
+  \item \TeX Studio, {23}
+  \item Text, {398}
+  \item Textanteil, {309}
+  \item Textkörper, {51}, {53}, {871}
+  \item Textmodus, {411}, {450}
+  \item Textschrift, {411}
+  \item Textverarbeitung, {6}
+  \item Textverarbeitungsprogramm, {7}
+  \item \TeX works, {23}
+  \item Titel, {54}, {413}
+  \item Titelkopf, {658}
+  \item TOC, {128}
+  \item Tortendiagramm, {244}, {746}
+  \item Transparenz, {631}
+  \item Trennalgorithmus, {75}
+  \item Trennlinie, {221}
+  \item Trennregeln, {77}
+  \item Trennung, {222}
+  \item Tridiagonalmatrix, {428}
+  \item TrueType, {12}, {72}, {601}
+  \item Tschechisch, {67}, {76}
+  \item Türkisch, {67}, {76}, {80}
+  \item Type"~1, {12}
+  \item Type-3, {70}
+  \item Typewriterschrift, {64}
+  \item Typografie, {213}
+
+\indexspace
+\textbf{U}
+\nopagebreak[4]
+  \item Überschriftenformat, {77}
+  \item Übersetzung, {207}
+  \item Ukrainisch, {76}, {80}
+  \item Umbruch, {7}
+  \item Umbruchmöglichkeit, {252}
+  \item Umgebung, {848}
+  \item Umgebungsvariable, {14}
+  \item Umkodierung, {38}
+  \item Ungarisch, {67}, {76}, {80}
+  \item Unicode, {11}
+  \item Unsichtbarkeit, {631}
+  \item Untergleichung, {437}, {454}
+  \item Unterstrich, {449}
+  \item Updatemanager, {18}
+  \item URL, {84}, {190}
+  \item USB-Stick, {879}
+  \item UTF-16, {189}
+  \item UTF-8, {38}, {67}
+
+\indexspace
+\textbf{V}
+\nopagebreak[4]
+  \item Variable, {414}
+  \item Vektor, {407}, {448}
+  \item Vektorschrift, {54}, {71}, {85}
+  \item Verbatim-Modus, {654}
+  \item vertikale Linien, {223}
+  \item Verzeichnisse, {63}
+  \item Viewer, {31f}
+  \item Vollbildmodus, {639}
+  \item Vordergrundfarbe, {658}
+
+\indexspace
+\textbf{W}
+\nopagebreak[4]
+  \item Waisenkind, {103}
+  \item Warnung, {883}
+  \item Wickelfalz, {832}
+  \item Wiederholungsfaktor, {215}
+  \item Windows, {13}, {21}
+  \item Windows 1250, {67}
+  \item Windows 1252, {67}
+  \item Windows 1257, {67}
+  \item Witwe, {102}
+  \item Wörterbuch, {40}
+  \item Worttrennung, {143}, {223}
+  \item Wortzwischenraum, {165}
+  \item Wurzel, {431}
+  \item Wurzelexponent, {432}
+
+\indexspace
+\textbf{X}
+\nopagebreak[4]
+  \item X-Spalte, {290}
+  \item Xem\TeX , {13}
+
+\indexspace
+\textbf{Z}
+\nopagebreak[4]
+  \item Zahlenkolonnen, {247}
+  \item Zähler, {383f}, {387}, {862}
+  \item Zählung, {267}
+  \item Zeichen (aktives), {408}
+  \item Zeichensatzbefehle, {87}
+  \item Zeile
+    \subitem -\,Abstand, {234}
+    \subitem -\,Breite, {289}
+    \subitem -\,Farbe, {236}
+    \subitem -\,Höhe, {219}
+    \subitem -\,Tiefe, {220}
+    \subitem -\,Vorschub, {269}
+    \subitem -\,Zähler, {230}
+  \item Zeilenabstand, {56}
+  \item Zeilenhöhe, {378}
+  \item Zeilenmodus, {376--380}, {391}, {404}
+  \item Zeilenumbruch, {380}
+  \item Zellenfarbe, {236}
+  \item Zentrieren, {141}
+  \item Zickzackfalz, {832}
+  \item Zufallszahlen, {448}
+  \item Zusammenfassung, {63}
+\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
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,19 @@
+\documentclass[paper=a4,parskip=half-,ngerman]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage{makeidx}
+\usepackage{dtk-logos}
+
+%\newcommand\doublequote{"{}}
+\let\nxLnotation\texttt
+\let\nxLPack\texttt
+\let\nxLenv\texttt
+\let\nxLkeyword\texttt
+\let\idxbf\textbf
+\def\idxtextClasses{Dokumentenklasse}
+\begin{document}
+
+\printindex
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/buch.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,187 @@
+\indexentry{Märtyrer|hyperpage}{1}
+\indexentry{erzählt|hyperpage}{1}
+\indexentry{Östereich|hyperpage}{1}
+\indexentry{Auto|hyperindexformat{\textbf}}{1}
+\indexentry{seiner|hyperpage}{1}
+\indexentry{Ansprache|hyperpage}{2}
+\indexentry{mahnte|hyperpage}{2}
+\indexentry{er|hyperpage}{2}
+\indexentry{zu|hyperpage}{3}
+\indexentry{mehr|hyperpage}{3}
+\indexentry{Gelassenheit|hyperpage}{4}
+\indexentry{Gleichzeitig|hyperpage}{4}
+\indexentry{warnte|hyperpage}{4}
+\indexentry{er|hyperindexformat{\seealso{foo}}}{4}
+\indexentry{Minderheiten|hyperpage}{5}
+\indexentry{und|hyperpage}{5}
+\indexentry{Volksvertreter|hyperpage}{6}
+\indexentry{zum|hyperpage}{7}
+\indexentry{Feindbild|hyperpage}{7}
+\indexentry{zu|hyperpage}{8}
+\indexentry{machen.|hyperpage}{8}
+\indexentry{Obwohl|hyperpage}{8}
+\indexentry{es|hyperpage}{8}
+\indexentry{Deutschland|hyperpage}{8}
+\indexentry{gut|hyperpage}{9}
+\indexentry{gehe|hyperpage}{9}
+\indexentry{dominiere|hyperpage}{9}
+\indexentry{der|(hyperpage}{9}
+\indexentry{Pessimismus.|hyperpage}{10}
+\indexentry{Hilfe|hyperpage}{10}
+\indexentry{für|hyperpage}{10}
+\indexentry{Flüchtlinge|hyperpage}{11}
+\indexentry{und|hyperpage}{11}
+\indexentry{andere|hyperpage}{12}
+\indexentry{Migranten|hyperpage}{12}
+\indexentry{sei|hyperpage}{12}
+\indexentry{wichtig|hyperpage}{12}
+\indexentry{und|hyperpage}{12}
+\indexentry{richtig|hyperpage}{13}
+\indexentry{aber|hyperpage}{13}
+\indexentry{nicht|hyperpage}{14}
+\indexentry{unbegrenzt|hyperpage}{14}
+\indexentry{möglich.|hyperpage}{14}
+\indexentry{Deshalb|hyperpage}{14}
+\indexentry{müsse|hyperpage}{14}
+\indexentry{man|hyperpage}{14}
+\indexentry{lernen|hyperpage}{14}
+\indexentry{mit|hyperpage}{14}
+\indexentry{dem|hyperpage}{14}
+\indexentry{Nicht-Perfekten|hyperpage}{14}
+\indexentry{zu|hyperpage}{14}
+\indexentry{leben.|hyperpage}{14}
+\indexentry{Wer|hyperpage}{14}
+\indexentry{das|hyperpage}{15}
+\indexentry{Perfekte|hyperpage}{15}
+\indexentry{anstrebt|hyperpage}{15}
+\indexentry{endet|hyperpage}{15}
+\indexentry{in|hyperpage}{15}
+\indexentry{der|hyperpage}{15}
+\indexentry{Diktatur|hyperpage}{16}
+\indexentry{Ägäis|hyperpage}{17}
+\indexentry{Überholmanöver|hyperpage}{17}
+\indexentry{Während|hyperpage}{17}
+\indexentry{Ägäis|hyperpage}{18}
+\indexentry{der|hyperpage}{18}
+\indexentry{Ägäis|hyperpage}{19}
+\indexentry{Festakt|hyperpage}{19}
+\indexentry{sich|hyperpage}{19}
+\indexentry{nach|hyperpage}{19}
+\indexentry{etwa|hyperpage}{19}
+\indexentry{anderthalb|hyperpage}{19}
+\indexentry{Stunden|hyperpage}{19}
+\indexentry{in|hyperpage}{19}
+\indexentry{der|hyperpage}{19}
+\indexentry{Ägäis|hyperpage}{20}
+\indexentry{Staatsoper|hyperpage}{20}
+\indexentry{dem|hyperpage}{21}
+\indexentry{Ende|hyperpage}{21}
+\indexentry{neigte|hyperpage}{21}
+\indexentry{versammelten|hyperpage}{21}
+\indexentry{sich|hyperpage}{21}
+\indexentry{etwa|hyperpage}{21}
+\indexentry{zeitgleich|hyperpage}{21}
+\indexentry{die|hyperpage}{21}
+\indexentry{ersten|hyperpage}{21}
+\indexentry{Teilnehmer|hyperpage}{21}
+\indexentry{einer|hyperpage}{22}
+\indexentry{rechten|hyperpage}{23}
+\indexentry{Kundgebung|hyperpage}{23}
+\indexentry{wenige|hyperpage}{23}
+\indexentry{Kilometer|hyperpage}{23}
+\indexentry{weiter|hyperpage}{24}
+\indexentry{am|hyperpage}{25}
+\indexentry{Europaplatz.|hyperpage}{25}
+\indexentry{Aufgerufen|hyperpage}{25}
+\indexentry{hatte|hyperpage}{25}
+\indexentry{das|hyperpage}{25}
+\indexentry{Bündnis|hyperpage}{25}
+\indexentry{Wir|hyperpage}{25}
+\indexentry{für|hyperpage}{26}
+\indexentry{Deutschland|hyperpage}{27}
+\indexentry{zu|hyperpage}{28}
+\indexentry{der|hyperpage}{28}
+\indexentry{Demonstration|hyperpage}{29}
+\indexentry{mit|hyperpage}{29}
+\indexentry{dem|hyperpage}{29}
+\indexentry{Motto|hyperpage}{29}
+\indexentry{Tag|hyperpage}{29}
+\indexentry{der|hyperpage}{29}
+\indexentry{Nation.|hyperpage}{30}
+\indexentry{Beobachtern|hyperpage}{30}
+\indexentry{zufolge|hyperpage}{30}
+\indexentry{gaben|hyperpage}{30}
+\indexentry{sich|hyperpage}{30}
+\indexentry{zahlreiche|hyperpage}{30}
+\indexentry{Teilnehmer|hyperpage}{30}
+\indexentry{durch|hyperpage}{31}
+\indexentry{einschlägige|hyperpage}{31}
+\indexentry{Szenecodes|hyperpage}{31}
+\indexentry{als|hyperpage}{31}
+\indexentry{Neonazis|hyperpage}{31}
+\indexentry{zu|hyperpage}{31}
+\indexentry{erkennen|hyperpage}{31}
+\indexentry{N|hyperpage}{31}
+\indexentry{Angaben|hyperpage}{31}
+\indexentry{der|)hyperpage}{31}
+\indexentry{Polizei|hyperpage}{32}
+\indexentry{haben|hyperpage}{32}
+\indexentry{sich|hyperpage}{32}
+\indexentry{mehr|hyperpage}{32}
+\indexentry{als|hyperpage}{33}
+\indexentry{tausend|hyperpage}{33}
+\indexentry{Menschen|hyperpage}{34}
+\indexentry{der|hyperpage}{34}
+\indexentry{Demonstration|hyperpage}{35}
+\indexentry{angeschlossen|hyperpage}{35}
+\indexentry{haben.|hyperpage}{35}
+\indexentry{Sie|hyperpage}{35}
+\indexentry{haben|hyperpage}{35}
+\indexentry{demnach|hyperpage}{35}
+\indexentry{Plakate|hyperpage}{35}
+\indexentry{und|hyperpage}{35}
+\indexentry{Flaggen|hyperpage}{36}
+\indexentry{dabei|hyperpage}{36}
+\indexentry{gehabt|hyperpage}{36}
+\indexentry{jedoch|hyperpage}{36}
+\indexentry{keine|hyperpage}{36}
+\indexentry{illegalen|hyperpage}{36}
+\indexentry{Symbole|hyperpage}{36}
+\indexentry{verwendet|hyperpage}{36}
+\indexentry{sagte|hyperpage}{36}
+\indexentry{ein|hyperpage}{36}
+\indexentry{Sprecher|hyperpage}{36}
+\indexentry{der|hyperpage}{37}
+\indexentry{Polizei|hyperpage}{38}
+\indexentry{Zwischenfällen|hyperpage}{38}
+\indexentry{sei|hyperpage}{38}
+\indexentry{es|hyperpage}{38}
+\indexentry{demnach|hyperpage}{38}
+\indexentry{zunächst|hyperpage}{38}
+\indexentry{nicht|hyperpage}{38}
+\indexentry{gekommen.|hyperpage}{38}
+\indexentry{Woher|hyperpage}{38}
+\indexentry{die|hyperpage}{39}
+\indexentry{überwiegend|hyperpage}{39}
+\indexentry{jungen|hyperpage}{40}
+\indexentry{Männer|hyperpage}{40}
+\indexentry{die|hyperpage}{41}
+\indexentry{an|hyperpage}{41}
+\indexentry{der|hyperpage}{41}
+\indexentry{Kundgebung|hyperpage}{42}
+\indexentry{teilgenommen|hyperpage}{42}
+\indexentry{haben|hyperpage}{42}
+\indexentry{angereist|hyperpage}{42}
+\indexentry{sind|hyperpage}{42}
+\indexentry{ist|hyperpage}{43}
+\indexentry{unklar.|hyperpage}{43}
+\indexentry{Im|hyperpage}{43}
+\indexentry{Netz|hyperpage}{43}
+\indexentry{wird|hyperpage}{43}
+\indexentry{allerdings|hyperpage}{44}
+\indexentry{wieder|hyperpage}{44}
+\indexentry{über|hyperpage}{45}
+\indexentry{den|hyperpage}{46}
+\indexentry{braunen|hyperpage}{46}
+\indexentry{Osten|hyperpage}{46}
+\indexentry{gelästert|hyperpage}{46}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,233 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{A}
+\nopagebreak[4]
+  \item aber, \hyperpage{13}
+  \item Ägäis, \hyperpage{17--20}
+  \item allerdings, \hyperpage{44}
+  \item als, \hyperpage{31}, \hyperpage{33}
+  \item am, \hyperpage{25}
+  \item an, \hyperpage{41}
+  \item andere, \hyperpage{12}
+  \item anderthalb, \hyperpage{19}
+  \item Angaben, \hyperpage{31}
+  \item angereist, \hyperpage{42}
+  \item angeschlossen, \hyperpage{35}
+  \item Ansprache, \hyperpage{2}
+  \item anstrebt, \hyperpage{15}
+  \item Aufgerufen, \hyperpage{25}
+  \item Auto, \hyperindexformat{\textbf}{1}
+
+\indexspace
+\textbf{B}
+\nopagebreak[4]
+  \item Beobachtern, \hyperpage{30}
+  \item braunen, \hyperpage{46}
+  \item Bündnis, \hyperpage{25}
+
+\indexspace
+\textbf{D}
+\nopagebreak[4]
+  \item dabei, \hyperpage{36}
+  \item das, \hyperpage{15}, \hyperpage{25}
+  \item dem, \hyperpage{14}, \hyperpage{21}, \hyperpage{29}
+  \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 Deshalb, \hyperpage{14}
+  \item Deutschland, \hyperpage{8}, \hyperpage{27}
+  \item die, \hyperpage{21}, \hyperpage{39}, \hyperpage{41}
+  \item Diktatur, \hyperpage{16}
+  \item dominiere, \hyperpage{9}
+  \item durch, \hyperpage{31}
+
+\indexspace
+\textbf{E}
+\nopagebreak[4]
+  \item ein, \hyperpage{36}
+  \item einer, \hyperpage{22}
+  \item einschlägige, \hyperpage{31}
+  \item Ende, \hyperpage{21}
+  \item endet, \hyperpage{15}
+  \item er, \hyperpage{2}, \hyperindexformat{\seealso{foo}}{4}
+  \item erkennen, \hyperpage{31}
+  \item ersten, \hyperpage{21}
+  \item erzählt, \hyperpage{1}
+  \item es, \hyperpage{8}, \hyperpage{38}
+  \item etwa, \hyperpage{19}, \hyperpage{21}
+  \item Europaplatz., \hyperpage{25}
+
+\indexspace
+\textbf{F}
+\nopagebreak[4]
+  \item Feindbild, \hyperpage{7}
+  \item Festakt, \hyperpage{19}
+  \item Flaggen, \hyperpage{36}
+  \item Flüchtlinge, \hyperpage{11}
+  \item für, \hyperpage{10}, \hyperpage{26}
+
+\indexspace
+\textbf{G}
+\nopagebreak[4]
+  \item gaben, \hyperpage{30}
+  \item gehabt, \hyperpage{36}
+  \item gehe, \hyperpage{9}
+  \item gekommen., \hyperpage{38}
+  \item Gelassenheit, \hyperpage{4}
+  \item gelästert, \hyperpage{46}
+  \item Gleichzeitig, \hyperpage{4}
+  \item gut, \hyperpage{9}
+
+\indexspace
+\textbf{H}
+\nopagebreak[4]
+  \item haben, \hyperpage{32}, \hyperpage{35}, \hyperpage{42}
+  \item haben., \hyperpage{35}
+  \item hatte, \hyperpage{25}
+  \item Hilfe, \hyperpage{10}
+
+\indexspace
+\textbf{I}
+\nopagebreak[4]
+  \item illegalen, \hyperpage{36}
+  \item Im, \hyperpage{43}
+  \item in, \hyperpage{15}, \hyperpage{19}
+  \item ist, \hyperpage{43}
+
+\indexspace
+\textbf{J}
+\nopagebreak[4]
+  \item jedoch, \hyperpage{36}
+  \item jungen, \hyperpage{40}
+
+\indexspace
+\textbf{K}
+\nopagebreak[4]
+  \item keine, \hyperpage{36}
+  \item Kilometer, \hyperpage{23}
+  \item Kundgebung, \hyperpage{23}, \hyperpage{42}
+
+\indexspace
+\textbf{L}
+\nopagebreak[4]
+  \item leben., \hyperpage{14}
+  \item lernen, \hyperpage{14}
+
+\indexspace
+\textbf{M}
+\nopagebreak[4]
+  \item machen., \hyperpage{8}
+  \item mahnte, \hyperpage{2}
+  \item man, \hyperpage{14}
+  \item Männer, \hyperpage{40}
+  \item Märtyrer, \hyperpage{1}
+  \item mehr, \hyperpage{3}, \hyperpage{32}
+  \item Menschen, \hyperpage{34}
+  \item Migranten, \hyperpage{12}
+  \item Minderheiten, \hyperpage{5}
+  \item mit, \hyperpage{14}, \hyperpage{29}
+  \item möglich., \hyperpage{14}
+  \item Motto, \hyperpage{29}
+  \item müsse, \hyperpage{14}
+
+\indexspace
+\textbf{N}
+\nopagebreak[4]
+  \item N, \hyperpage{31}
+  \item nach, \hyperpage{19}
+  \item Nation., \hyperpage{30}
+  \item neigte, \hyperpage{21}
+  \item Neonazis, \hyperpage{31}
+  \item Netz, \hyperpage{43}
+  \item nicht, \hyperpage{14}, \hyperpage{38}
+  \item Nicht-Perfekten, \hyperpage{14}
+
+\indexspace
+\textbf{O}
+\nopagebreak[4]
+  \item Obwohl, \hyperpage{8}
+  \item Osten, \hyperpage{46}
+  \item Östereich, \hyperpage{1}
+
+\indexspace
+\textbf{P}
+\nopagebreak[4]
+  \item Perfekte, \hyperpage{15}
+  \item Pessimismus., \hyperpage{10}
+  \item Plakate, \hyperpage{35}
+  \item Polizei, \hyperpage{32}, \hyperpage{38}
+
+\indexspace
+\textbf{R}
+\nopagebreak[4]
+  \item rechten, \hyperpage{23}
+  \item richtig, \hyperpage{13}
+
+\indexspace
+\textbf{S}
+\nopagebreak[4]
+  \item sagte, \hyperpage{36}
+  \item sei, \hyperpage{12}, \hyperpage{38}
+  \item seiner, \hyperpage{1}
+  \item sich, \hyperpage{19}, \hyperpage{21}, \hyperpage{30}, \hyperpage{32}
+  \item Sie, \hyperpage{35}
+  \item sind, \hyperpage{42}
+  \item Sprecher, \hyperpage{36}
+  \item Staatsoper, \hyperpage{20}
+  \item Stunden, \hyperpage{19}
+  \item Symbole, \hyperpage{36}
+  \item Szenecodes, \hyperpage{31}
+
+\indexspace
+\textbf{T}
+\nopagebreak[4]
+  \item Tag, \hyperpage{29}
+  \item tausend, \hyperpage{33}
+  \item teilgenommen, \hyperpage{42}
+  \item Teilnehmer, \hyperpage{21}, \hyperpage{30}
+
+\indexspace
+\textbf{U}
+\nopagebreak[4]
+  \item über, \hyperpage{45}
+  \item Überholmanöver, \hyperpage{17}
+  \item überwiegend, \hyperpage{39}
+  \item unbegrenzt, \hyperpage{14}
+  \item und, \hyperpage{5}, \hyperpage{11\nohyperpage{f}}, \hyperpage{35}
+  \item unklar., \hyperpage{43}
+
+\indexspace
+\textbf{V}
+\nopagebreak[4]
+  \item versammelten, \hyperpage{21}
+  \item verwendet, \hyperpage{36}
+  \item Volksvertreter, \hyperpage{6}
+
+\indexspace
+\textbf{W}
+\nopagebreak[4]
+  \item Während, \hyperpage{17}
+  \item warnte, \hyperpage{4}
+  \item weiter, \hyperpage{24}
+  \item wenige, \hyperpage{23}
+  \item Wer, \hyperpage{14}
+  \item wichtig, \hyperpage{12}
+  \item wieder, \hyperpage{44}
+  \item Wir, \hyperpage{25}
+  \item wird, \hyperpage{43}
+  \item Woher, \hyperpage{38}
+
+\indexspace
+\textbf{Z}
+\nopagebreak[4]
+  \item zahlreiche, \hyperpage{30}
+  \item zeitgleich, \hyperpage{21}
+  \item zu, \hyperpage{3}, \hyperpage{8}, \hyperpage{14}, \hyperpage{28}, \hyperpage{31}
+  \item zufolge, \hyperpage{30}
+  \item zum, \hyperpage{7}
+  \item zunächst, \hyperpage{38}
+  \item Zwischenfällen, \hyperpage{38}
+\end{theindex}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,13 @@
+\documentclass[paper=a4,parskip=half-,ngerman]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage[colorlinks]{hyperref}
+\usepackage{makeidx}
+
+\begin{document}
+
+\printindex
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo-hyperref.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,206 @@
+\indexentry{Märtyrer}{1}
+\indexentry{erzählt}{1}
+\indexentry{Österreich|(}{1}
+\indexentry{Auto|textbf}{1}
+\indexentry{Ärger}{1}
+\indexentry{Automobil|fbox}{1}
+\indexentry{4711}{1}
+\indexentry{\textbackslash }{1}
+\indexentry{seiner}{1}
+\indexentry{Ansprache}{2}
+\indexentry{mahnte}{2}
+\indexentry{er}{2}
+\indexentry{zu}{3}
+\indexentry{mehr}{3}
+\indexentry{Gelassenheit}{4}
+\indexentry{Gleichzeitig}{4}
+\indexentry{warnte}{4}
+\indexentry{er}{4}
+\indexentry{Minderheiten}{5}
+\indexentry{und}{5}
+\indexentry{Volksvertreter}{6}
+\indexentry{zum}{7}
+\indexentry{Feindbild}{7}
+\indexentry{zu}{8}
+\indexentry{machen.}{8}
+\indexentry{Obwohl}{8}
+\indexentry{es}{8}
+\indexentry{Deutschland}{8}
+\indexentry{gut}{9}
+\indexentry{gehe}{9}
+\indexentry{dominiere}{9}
+\indexentry{der|(}{9}
+\indexentry{Pessimismus.}{10}
+\indexentry{Hilfe}{10}
+\indexentry{für}{10}
+\indexentry{Flüchtlinge}{11}
+\indexentry{und}{11}
+\indexentry{andere}{12}
+\indexentry{Migranten}{12}
+\indexentry{sei}{12}
+\indexentry{wichtig}{12}
+\indexentry{und}{12}
+\indexentry{richtig}{13}
+\indexentry{aber}{13}
+\indexentry{nicht}{14}
+\indexentry{unbegrenzt}{14}
+\indexentry{möglich.}{14}
+\indexentry{Deshalb}{14}
+\indexentry{müsse}{14}
+\indexentry{man}{14}
+\indexentry{lernen}{14}
+\indexentry{mit}{14}
+\indexentry{dem}{14}
+\indexentry{Nicht-Perfekten}{14}
+\indexentry{zu}{14}
+\indexentry{leben.}{14}
+\indexentry{Wer}{14}
+\indexentry{das}{15}
+\indexentry{Perfekte}{15}
+\indexentry{anstrebt}{15}
+\indexentry{endet}{15}
+\indexentry{in}{15}
+\indexentry{der}{15}
+\indexentry{Diktatur!Afrika!Nigeria}{16}
+\indexentry{Frust}{17}
+\indexentry{Ärgerlich}{17}
+\indexentry{Diktatur!Afrika!Kongo}{17}
+\indexentry{Ägäis}{17}
+\indexentry{sich}{17}
+\indexentry{Überholmanöver}{17}
+\clearpage
+\indexentry{Während|see{Was\_auch\_immmer}}{17}
+\indexentry{sich}{18}
+\indexentry{Ägäis|seealso{Griechenland}}{18}
+\indexentry{der}{18}
+\indexentry{Ägäis}{19}
+\indexentry{Festakt}{19}
+\indexentry{sich}{19}
+\indexentry{nach}{19}
+\indexentry{etwa}{19}
+\indexentry{anderthalb}{19}
+\indexentry{Stunden}{19}
+\indexentry{in}{19}
+\indexentry{der}{19}
+\indexentry{Ägäis}{20}
+\indexentry{Staatsoper}{20}
+\indexentry{dem}{21}
+\indexentry{Ende}{21}
+\indexentry{neigte}{21}
+\indexentry{versammelten}{21}
+\indexentry{sich}{21}
+\indexentry{etwa}{21}
+\indexentry{zeitgleich}{21}
+\indexentry{die}{21}
+\indexentry{ersten}{21}
+\indexentry{Teilnehmer}{21}
+\indexentry{einer}{22}
+\indexentry{rechten}{23}
+\indexentry{Kundgebung}{23}
+\indexentry{wenige}{23}
+\indexentry{Kilometer}{23}
+\indexentry{weiter}{24}
+\indexentry{am}{25}
+\indexentry{Europaplatz.}{25}
+\indexentry{Aufgerufen}{25}
+\indexentry{hatte}{25}
+\indexentry{das}{25}
+\indexentry{Bündnis}{25}
+\indexentry{Wir}{25}
+\indexentry{für}{26}
+\indexentry{Deutschland}{27}
+\indexentry{zu}{28}
+\indexentry{der}{28}
+\indexentry{Demonstration}{29}
+\indexentry{mit}{29}
+\indexentry{dem}{29}
+\indexentry{Diktatur!Regierungsform}{29}
+\indexentry{Motto}{29}
+\indexentry{Tag}{29}
+\indexentry{der}{29}
+\indexentry{Nation.}{30}
+\indexentry{Beobachtern}{30}
+\indexentry{zufolge}{30}
+\indexentry{gaben}{30}
+\indexentry{sich}{30}
+\indexentry{zahlreiche}{30}
+\indexentry{Teilnehmer}{30}
+\indexentry{durch}{31}
+\indexentry{einschlägige}{31}
+\indexentry{Szenecodes}{31}
+\indexentry{als}{31}
+\indexentry{Neonazis}{31}
+\indexentry{zu}{31}
+\indexentry{erkennen}{31}
+\indexentry{wieder}{31}
+\indexentry{Nach}{31}
+\indexentry{Ärger}{31}
+\indexentry{Angaben}{31}
+\indexentry{der|)}{31}
+\indexentry{Polizei}{32}
+\indexentry{haben}{32}
+\indexentry{sich}{32}
+\indexentry{mehr}{32}
+\indexentry{als}{33}
+\indexentry{tausend}{33}
+\indexentry{Menschen}{34}
+\indexentry{der}{34}
+\indexentry{Demonstration}{35}
+\indexentry{angeschlossen}{35}
+\indexentry{haben.}{35}
+\indexentry{Sie}{35}
+\indexentry{haben}{35}
+\indexentry{demnach}{35}
+\indexentry{Plakate}{35}
+\indexentry{und}{35}
+\indexentry{Flaggen}{36}
+\indexentry{dabei}{36}
+\indexentry{gehabt}{36}
+\indexentry{jedoch}{36}
+\indexentry{keine}{36}
+\indexentry{illegalen}{36}
+\indexentry{Symbole}{36}
+\indexentry{verwendet}{36}
+\indexentry{sagte}{36}
+\indexentry{ein}{36}
+\indexentry{Sprecher}{36}
+\indexentry{der}{37}
+\indexentry{Polizei}{38}
+\indexentry{überholt}{38}
+\indexentry{Ärgernis}{38}
+\indexentry{Österreich|)textbf}{38}
+\indexentry{Diktatur!Asien!Nordvietnam}{38}
+\indexentry{Zwischenfällen}{38}
+\indexentry{sei}{38}
+\indexentry{es}{38}
+\indexentry{demnach}{38}
+\indexentry{zunächst}{38}
+\indexentry{nicht}{38}
+\indexentry{gekommen.}{38}
+\indexentry{Woher}{38}
+\indexentry{die}{39}
+\indexentry{überwiegend}{39}
+\indexentry{jungen}{40}
+\indexentry{Männer}{40}
+\indexentry{die}{41}
+\indexentry{an}{41}
+\indexentry{der}{41}
+\indexentry{Kundgebung}{42}
+\indexentry{teilgenommen}{42}
+\indexentry{haben}{42}
+\indexentry{angereist}{42}
+\indexentry{sind}{42}
+\indexentry{ist}{43}
+\indexentry{unklar.}{43}
+\indexentry{Im}{43}
+\indexentry{Netz}{43}
+\indexentry{wird}{43}
+\indexentry{allerdings}{44}
+\indexentry{wieder}{44}
+\indexentry{wieder}{45}
+\indexentry{über}{45}
+\indexentry{wieder}{46}
+\indexentry{den}{46}
+\indexentry{braunen}{46}
+\indexentry{Osten}{46}
+\indexentry{gelästert}{46}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,254 @@
+
+\begin{theindex}
+\textbf{Symbole}
+\nopagebreak[4]
+  \item  \textbackslash , {1}
+
+\indexspace
+\textbf{Zahlen}
+\nopagebreak[4]
+  \item 4711, {1}
+
+\indexspace
+\textbf{A}
+\nopagebreak[4]
+  \item aber, {13}
+  \item Ägäis, {17}, \seealso{Griechenland}{18}, {19f}
+  \item allerdings, {44}
+  \item als, {31}, {33}
+  \item am, {25}
+  \item an, {41}
+  \item andere, {12}
+  \item anderthalb, {19}
+  \item Angaben, {31}
+  \item angereist, {42}
+  \item angeschlossen, {35}
+  \item Ansprache, {2}
+  \item anstrebt, {15}
+  \item Ärger, {1}, {31}
+  \item Ärgerlich, {17}
+  \item Ärgernis, {38}
+  \item Aufgerufen, {25}
+  \item Auto, \textbf{1}
+  \item Automobil, \fbox{1}
+
+\indexspace
+\textbf{B}
+\nopagebreak[4]
+  \item Beobachtern, {30}
+  \item braunen, {46}
+  \item Bündnis, {25}
+
+\indexspace
+\textbf{D}
+\nopagebreak[4]
+  \item dabei, {36}
+  \item das, {15}, {25}
+  \item dem, {14}, {21}, {29}
+  \item demnach, {35}, {38}
+  \item Demonstration, {29}, {35}
+  \item den, {46}
+  \item der, {9--31}, {15}, {18f}, {28f}, {34}, {37}, {41}
+  \item Deshalb, {14}
+  \item Deutschland, {8}, {27}
+  \item die, {21}, {39}, {41}
+  \item Diktatur
+    \subitem -\,Afrika, {17}
+      \subsubitem --\,Kongo, {17}
+      \subsubitem --\,Nigeria, {16}
+    \subitem -\,Asien, {38}
+      \subsubitem --\,Nordvietnam, {38}
+    \subitem -\,Regierungsform, {29}
+  \item dominiere, {9}
+  \item durch, {31}
+
+\indexspace
+\textbf{E}
+\nopagebreak[4]
+  \item ein, {36}
+  \item einer, {22}
+  \item einschlägige, {31}
+  \item Ende, {21}
+  \item endet, {15}
+  \item er, {2}, {4}
+  \item erkennen, {31}
+  \item ersten, {21}
+  \item erzählt, {1}
+  \item es, {8}, {38}
+  \item etwa, {19}, {21}
+  \item Europaplatz., {25}
+
+\indexspace
+\textbf{F}
+\nopagebreak[4]
+  \item Feindbild, {7}
+  \item Festakt, {19}
+  \item Flaggen, {36}
+  \item Flüchtlinge, {11}
+  \item Frust, {17}
+  \item für, {10}, {26}
+
+\indexspace
+\textbf{G}
+\nopagebreak[4]
+  \item gaben, {30}
+  \item gehabt, {36}
+  \item gehe, {9}
+  \item gekommen., {38}
+  \item Gelassenheit, {4}
+  \item gelästert, {46}
+  \item Gleichzeitig, {4}
+  \item gut, {9}
+
+\indexspace
+\textbf{H}
+\nopagebreak[4]
+  \item haben, {32}, {35}, {42}
+  \item haben., {35}
+  \item hatte, {25}
+  \item Hilfe, {10}
+
+\indexspace
+\textbf{I}
+\nopagebreak[4]
+  \item illegalen, {36}
+  \item Im, {43}
+  \item in, {15}, {19}
+  \item ist, {43}
+
+\indexspace
+\textbf{J}
+\nopagebreak[4]
+  \item jedoch, {36}
+  \item jungen, {40}
+
+\indexspace
+\textbf{K}
+\nopagebreak[4]
+  \item keine, {36}
+  \item Kilometer, {23}
+  \item Kundgebung, {23}, {42}
+
+\indexspace
+\textbf{L}
+\nopagebreak[4]
+  \item leben., {14}
+  \item lernen, {14}
+
+\indexspace
+\textbf{M}
+\nopagebreak[4]
+  \item machen., {8}
+  \item mahnte, {2}
+  \item man, {14}
+  \item Männer, {40}
+  \item Märtyrer, {1}
+  \item mehr, {3}, {32}
+  \item Menschen, {34}
+  \item Migranten, {12}
+  \item Minderheiten, {5}
+  \item mit, {14}, {29}
+  \item möglich., {14}
+  \item Motto, {29}
+  \item müsse, {14}
+
+\indexspace
+\textbf{N}
+\nopagebreak[4]
+  \item nach, {19}
+  \item Nach, {31}
+  \item Nation., {30}
+  \item neigte, {21}
+  \item Neonazis, {31}
+  \item Netz, {43}
+  \item nicht, {14}, {38}
+  \item Nicht-Perfekten, {14}
+
+\indexspace
+\textbf{O}
+\nopagebreak[4]
+  \item Obwohl, {8}
+  \item Osten, {46}
+  \item Österreich,  \textbf{1--38}
+
+\indexspace
+\textbf{P}
+\nopagebreak[4]
+  \item Perfekte, {15}
+  \item Pessimismus., {10}
+  \item Plakate, {35}
+  \item Polizei, {32}, {38}
+
+\indexspace
+\textbf{R}
+\nopagebreak[4]
+  \item rechten, {23}
+  \item richtig, {13}
+
+\indexspace
+\textbf{S}
+\nopagebreak[4]
+  \item sagte, {36}
+  \item sei, {12}, {38}
+  \item seiner, {1}
+  \item sich, {17ff}, {21}, {30}, {32}
+  \item Sie, {35}
+  \item sind, {42}
+  \item Sprecher, {36}
+  \item Staatsoper, {20}
+  \item Stunden, {19}
+  \item Symbole, {36}
+  \item Szenecodes, {31}
+
+\indexspace
+\textbf{T}
+\nopagebreak[4]
+  \item Tag, {29}
+  \item tausend, {33}
+  \item teilgenommen, {42}
+  \item Teilnehmer, {21}, {30}
+
+\indexspace
+\textbf{U}
+\nopagebreak[4]
+  \item über, {45}
+  \item Überholmanöver, {17}
+ \clearpage
+  \item überholt, {38}
+  \item überwiegend, {39}
+  \item unbegrenzt, {14}
+  \item und, {5}, {11f}, {35}
+  \item unklar., {43}
+
+\indexspace
+\textbf{V}
+\nopagebreak[4]
+  \item versammelten, {21}
+  \item verwendet, {36}
+  \item Volksvertreter, {6}
+
+\indexspace
+\textbf{W}
+\nopagebreak[4]
+  \item Während, \see{Was\_auch\_immmer}{17}
+  \item warnte, {4}
+  \item weiter, {24}
+  \item wenige, {23}
+  \item Wer, {14}
+  \item wichtig, {12}
+  \item wieder, {31}, {44ff}
+  \item Wir, {25}
+  \item wird, {43}
+  \item Woher, {38}
+
+\indexspace
+\textbf{Z}
+\nopagebreak[4]
+  \item zahlreiche, {30}
+  \item zeitgleich, {21}
+  \item zu, {3}, {8}, {14}, {28}, {31}
+  \item zufolge, {30}
+  \item zum, {7}
+  \item zunächst, {38}
+  \item Zwischenfällen, {38}
+\end{theindex}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,56 @@
+\documentclass[paper=a4,parskip=half-,ngerman]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage{hvindex}
+\usepackage{makeidx}
+
+\let\idxtextClasses\texttt
+
+\makeindex
+\begin{document}
+Ein \Index{Märtyrer} \Index{erzählt} Österreich\index{Österreich|(}\index{Auto|textbf} \Index{Ärger} 
+
+\index{Automobil|fbox}
+\Index{4711} \Index{\textbackslash}
+In \Index{seiner}\newpage \Index{Ansprache} \Index{mahnte} \Index{er}\newpage \Index{zu} \Index{mehr}\newpage \Index{Gelassenheit}. 
+\Index{Gleichzeitig} \Index{warnte} \Index{er}\newpage, \Index{Minderheiten} \Index{und}\newpage \Index{Volksvertreter}\newpage \Index{zum} 
+\Index{Feindbild}\newpage \Index{zu} \Index{machen.} \Index{Obwohl} \Index{es} \Index{Deutschland}\newpage \Index{gut} \Index{gehe} 
+\Index{dominiere} \Index{der|(}\newpage \Index{Pessimismus.} \Index{Hilfe} \Index{für}\newpage \Index{Flüchtlinge} \Index{und}\newpage \Index{andere} 
+\Index{Migranten} \Index{sei} \Index{wichtig} \Index{und}\newpage \Index{richtig} \Index{aber}\newpage \Index{nicht} \Index{unbegrenzt} 
+\Index{möglich.} \Index{Deshalb} \Index{müsse} \Index{man} \Index{lernen} \Index{mit} \Index{dem} \Index{Nicht-Perfekten} 
+\Index{zu} \Index{leben.} \Index{Wer}\newpage \Index{das} \Index{Perfekte} \Index{anstrebt} \Index{endet} \Index{in} \Index{der}\newpage 
+\index{Diktatur!Afrika!Nigeria}.\newpage \Index{Ärger!Frust} \Index{Ärgerlich} \index{Diktatur!Afrika!Kongo}
+\Index{Ägäis} \Index{sich} \Index{Überholmanöver}
+\makeatletter
+\write\@indexfile{\string\clearpage}
+\makeatother
+
+\Index{Während|see{Was\_auch\_immmer}}\newpage\Index{sich} \Index{Ägäis|seealso{Griechenland}} \Index{der}\newpage \Index{Ägäis}\Index{Festakt} \Index{sich} 
+\Index{nach} \Index{etwa} \Index{anderthalb} \Index{Stunden} 
+\Index{in} \Index{der}\newpage \Index{Ägäis}\Index{Staatsoper}\newpage \Index{dem} \Index{Ende} \Index{neigte} \Index{versammelten} \Index{sich} 
+\Index{etwa} \Index{zeitgleich} \Index{die} \Index{ersten} \Index{Teilnehmer}\newpage \Index{einer}\newpage \Index{rechten} \Index{Kundgebung} 
+\Index{wenige} \Index{Kilometer}\newpage \Index{weiter}\newpage \Index{am} \Index{Europaplatz.} \Index{Aufgerufen} \Index{hatte} \Index{das} 
+\Index{Bündnis} \Index{Wir}\newpage \Index{für}\newpage \Index{Deutschland}\newpage \Index{zu} \Index{der}\newpage \Index{Demonstration} \Index{mit} 
+\Index{dem}\index{Diktatur!Regierungsform} \Index{Motto} \Index{Tag} \Index{der}\newpage \Index{Nation.} \Index{Beobachtern} \Index{zufolge} \Index{gaben} 
+\Index{sich} \Index{zahlreiche} \Index{Teilnehmer}\newpage \Index{durch} \Index{einschlägige} \Index{Szenecodes} \Index{als} 
+\Index{Neonazis} \Index{zu} \Index{erkennen}. \Index{wieder}
+\Index{Nach} \Index{Ärger} \Index{Angaben} \Index{der|)}\newpage \Index{Polizei} \Index{haben} \Index{sich} \Index{mehr}\newpage \Index{als} \Index{tausend}\newpage 
+\Index{Menschen} \Index{der}\newpage \Index{Demonstration} \Index{angeschlossen} \Index{haben.} \Index{Sie} \Index{haben} 
+\Index{demnach} \Index{Plakate} \Index{und}\newpage \Index{Flaggen} \Index{dabei} \Index{gehabt} \Index{jedoch} \Index{keine} 
+\Index{illegalen} \Index{Symbole} \Index{verwendet} \Index{sagte} \Index{ein} \Index{Sprecher}\newpage \Index{der}\newpage \Index{Polizei}.
+\Index{überholt}
+\Index{Ärgernis} Österreich\index{Österreich|)textbf}
+\index{Diktatur!Asien!Nordvietnam}Zu \Index{Zwischenfällen} \Index{sei} \Index{es} \Index{demnach} \Index{zunächst} \Index{nicht} \Index{gekommen.} \Index{Woher}\newpage 
+\Index{die} \Index{überwiegend}\newpage \Index{jungen} \Index{Männer}\newpage \Index{die} \Index{an} \Index{der}\newpage \Index{Kundgebung} 
+\Index{teilgenommen} \Index{haben} \Index{angereist} \Index{sind}\newpage \Index{ist} \Index{unklar.} \Index{Im} \Index{Netz} 
+\Index{wird}\newpage
+ \Index{allerdings} \Index{wieder}\newpage\Index{wieder} \Index{über}\newpage\Index{wieder} 
+\Index{den} \Index{braunen} \Index{Osten} \Index{gelästert}.
+
+
+\printindex
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,5 @@
+\indexentry{foo}{1}
+\indexentry{foo|see{bar}}{2}
+\indexentry{foo|textit}{1}
+\indexentry{foo|textbf}{3}
+\indexentry{foo}{3}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,8 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{F}
+\nopagebreak[4]
+  \item foo, {1}, \textit{1}, \see{bar}{2}, {3}, \textbf{3}
+\end{theindex}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo2.ind
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.idx
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.idx	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.idx	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,5 @@
+\indexentry{foo}{1}
+\indexentry{foo}{2}
+\indexentry{foo|textit}{2}
+\indexentry{foo|textbf}{3}
+\indexentry{foo}{4}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.idx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.ind	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,8 @@
+
+\begin{theindex}
+
+\indexspace
+\textbf{F}
+\nopagebreak[4]
+  \item foo, {1f}, \textit{2}, \textbf{3}, {4}
+\end{theindex}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,26 @@
+\documentclass[paper=a4,parskip=half-,ngerman]{scrartcl}
+\usepackage{eurosym}
+\usepackage[silent]{fontspec}
+\usepackage{libertinus-otf}
+\usepackage{babel}
+\usepackage{hvindex}
+\usepackage{makeidx}
+
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+
+
+\let\idxtextClasses\texttt
+
+\makeindex
+\begin{document}
+Ein foo\index{foo} \newpage und \index{foo} ein foo\index{foo|textit} \newpage und foo\index{foo|textbf} \newpage und foo\index{foo}
+ 
+\printindex
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/demo3.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,35 @@
+#!/bin/sh
+echo "buch"
+xindex buch > /dev/null
+lualatex buch > /dev/null
+
+echo "demo"
+lualatex demo > /dev/null
+xindex -l de demo > /dev/null
+lualatex demo > /dev/null
+
+echo "demo2"
+xindex demo2 > /dev/null
+
+echo "demo3"
+lualatex demo3 > /dev/null
+xindex -l de demo3 > /dev/null
+lualatex demo3 > /dev/null
+
+echo "demo-hyperref"
+xindex demo-hyperref > /dev/null
+lualatex demo-hyperref > /dev/null
+
+echo "HADW"
+xindex -l de -c HAdW HADW > /dev/null
+lualatex HADW > /dev/null
+
+echo "Umlaute"
+xindex -l de Umlaute  > /dev/null
+lualatex Umlaute > /dev/null
+
+echo "Umlaute2"
+xindex -l de -c DIN2 Umlaute2 > /dev/null
+lualatex Umlaute2 > /dev/null
+
+rm -fr *.aux *.log *.ilg *.out
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/tests/runTests.sh
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+LF
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/unicode-category.lua
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/unicode-category.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/unicode-category.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,3118 @@
+return {
+	singles = {
+		 [0x00020] = "Zs",
+		 [0x00024] = "Sc",
+		 [0x00028] = "Ps",
+		 [0x00029] = "Pe",
+		 [0x0002A] = "Po",
+		 [0x0002B] = "Sm",
+		 [0x0002C] = "Po",
+		 [0x0002D] = "Pd",
+		 [0x0005B] = "Ps",
+		 [0x0005C] = "Po",
+		 [0x0005D] = "Pe",
+		 [0x0005E] = "Sk",
+		 [0x0005F] = "Pc",
+		 [0x00060] = "Sk",
+		 [0x0007B] = "Ps",
+		 [0x0007C] = "Sm",
+		 [0x0007D] = "Pe",
+		 [0x0007E] = "Sm",
+		 [0x000A0] = "Zs",
+		 [0x000A1] = "Po",
+		 [0x000A6] = "So",
+		 [0x000A7] = "Po",
+		 [0x000A8] = "Sk",
+		 [0x000A9] = "So",
+		 [0x000AA] = "Lo",
+		 [0x000AB] = "Pi",
+		 [0x000AC] = "Sm",
+		 [0x000AD] = "Cf",
+		 [0x000AE] = "So",
+		 [0x000AF] = "Sk",
+		 [0x000B0] = "So",
+		 [0x000B1] = "Sm",
+		 [0x000B4] = "Sk",
+		 [0x000B5] = "Ll",
+		 [0x000B8] = "Sk",
+		 [0x000B9] = "No",
+		 [0x000BA] = "Lo",
+		 [0x000BB] = "Pf",
+		 [0x000BF] = "Po",
+		 [0x000D7] = "Sm",
+		 [0x000F7] = "Sm",
+		 [0x00100] = "Lu",
+		 [0x00101] = "Ll",
+		 [0x00102] = "Lu",
+		 [0x00103] = "Ll",
+		 [0x00104] = "Lu",
+		 [0x00105] = "Ll",
+		 [0x00106] = "Lu",
+		 [0x00107] = "Ll",
+		 [0x00108] = "Lu",
+		 [0x00109] = "Ll",
+		 [0x0010A] = "Lu",
+		 [0x0010B] = "Ll",
+		 [0x0010C] = "Lu",
+		 [0x0010D] = "Ll",
+		 [0x0010E] = "Lu",
+		 [0x0010F] = "Ll",
+		 [0x00110] = "Lu",
+		 [0x00111] = "Ll",
+		 [0x00112] = "Lu",
+		 [0x00113] = "Ll",
+		 [0x00114] = "Lu",
+		 [0x00115] = "Ll",
+		 [0x00116] = "Lu",
+		 [0x00117] = "Ll",
+		 [0x00118] = "Lu",
+		 [0x00119] = "Ll",
+		 [0x0011A] = "Lu",
+		 [0x0011B] = "Ll",
+		 [0x0011C] = "Lu",
+		 [0x0011D] = "Ll",
+		 [0x0011E] = "Lu",
+		 [0x0011F] = "Ll",
+		 [0x00120] = "Lu",
+		 [0x00121] = "Ll",
+		 [0x00122] = "Lu",
+		 [0x00123] = "Ll",
+		 [0x00124] = "Lu",
+		 [0x00125] = "Ll",
+		 [0x00126] = "Lu",
+		 [0x00127] = "Ll",
+		 [0x00128] = "Lu",
+		 [0x00129] = "Ll",
+		 [0x0012A] = "Lu",
+		 [0x0012B] = "Ll",
+		 [0x0012C] = "Lu",
+		 [0x0012D] = "Ll",
+		 [0x0012E] = "Lu",
+		 [0x0012F] = "Ll",
+		 [0x00130] = "Lu",
+		 [0x00131] = "Ll",
+		 [0x00132] = "Lu",
+		 [0x00133] = "Ll",
+		 [0x00134] = "Lu",
+		 [0x00135] = "Ll",
+		 [0x00136] = "Lu",
+		 [0x00139] = "Lu",
+		 [0x0013A] = "Ll",
+		 [0x0013B] = "Lu",
+		 [0x0013C] = "Ll",
+		 [0x0013D] = "Lu",
+		 [0x0013E] = "Ll",
+		 [0x0013F] = "Lu",
+		 [0x00140] = "Ll",
+		 [0x00141] = "Lu",
+		 [0x00142] = "Ll",
+		 [0x00143] = "Lu",
+		 [0x00144] = "Ll",
+		 [0x00145] = "Lu",
+		 [0x00146] = "Ll",
+		 [0x00147] = "Lu",
+		 [0x0014A] = "Lu",
+		 [0x0014B] = "Ll",
+		 [0x0014C] = "Lu",
+		 [0x0014D] = "Ll",
+		 [0x0014E] = "Lu",
+		 [0x0014F] = "Ll",
+		 [0x00150] = "Lu",
+		 [0x00151] = "Ll",
+		 [0x00152] = "Lu",
+		 [0x00153] = "Ll",
+		 [0x00154] = "Lu",
+		 [0x00155] = "Ll",
+		 [0x00156] = "Lu",
+		 [0x00157] = "Ll",
+		 [0x00158] = "Lu",
+		 [0x00159] = "Ll",
+		 [0x0015A] = "Lu",
+		 [0x0015B] = "Ll",
+		 [0x0015C] = "Lu",
+		 [0x0015D] = "Ll",
+		 [0x0015E] = "Lu",
+		 [0x0015F] = "Ll",
+		 [0x00160] = "Lu",
+		 [0x00161] = "Ll",
+		 [0x00162] = "Lu",
+		 [0x00163] = "Ll",
+		 [0x00164] = "Lu",
+		 [0x00165] = "Ll",
+		 [0x00166] = "Lu",
+		 [0x00167] = "Ll",
+		 [0x00168] = "Lu",
+		 [0x00169] = "Ll",
+		 [0x0016A] = "Lu",
+		 [0x0016B] = "Ll",
+		 [0x0016C] = "Lu",
+		 [0x0016D] = "Ll",
+		 [0x0016E] = "Lu",
+		 [0x0016F] = "Ll",
+		 [0x00170] = "Lu",
+		 [0x00171] = "Ll",
+		 [0x00172] = "Lu",
+		 [0x00173] = "Ll",
+		 [0x00174] = "Lu",
+		 [0x00175] = "Ll",
+		 [0x00176] = "Lu",
+		 [0x00177] = "Ll",
+		 [0x0017A] = "Ll",
+		 [0x0017B] = "Lu",
+		 [0x0017C] = "Ll",
+		 [0x0017D] = "Lu",
+		 [0x00183] = "Ll",
+		 [0x00184] = "Lu",
+		 [0x00185] = "Ll",
+		 [0x00188] = "Ll",
+		 [0x00192] = "Ll",
+		 [0x00195] = "Ll",
+		 [0x0019E] = "Ll",
+		 [0x001A1] = "Ll",
+		 [0x001A2] = "Lu",
+		 [0x001A3] = "Ll",
+		 [0x001A4] = "Lu",
+		 [0x001A5] = "Ll",
+		 [0x001A8] = "Ll",
+		 [0x001A9] = "Lu",
+		 [0x001AC] = "Lu",
+		 [0x001AD] = "Ll",
+		 [0x001B0] = "Ll",
+		 [0x001B4] = "Ll",
+		 [0x001B5] = "Lu",
+		 [0x001B6] = "Ll",
+		 [0x001BB] = "Lo",
+		 [0x001BC] = "Lu",
+		 [0x001C4] = "Lu",
+		 [0x001C5] = "Lt",
+		 [0x001C6] = "Ll",
+		 [0x001C7] = "Lu",
+		 [0x001C8] = "Lt",
+		 [0x001C9] = "Ll",
+		 [0x001CA] = "Lu",
+		 [0x001CB] = "Lt",
+		 [0x001CC] = "Ll",
+		 [0x001CD] = "Lu",
+		 [0x001CE] = "Ll",
+		 [0x001CF] = "Lu",
+		 [0x001D0] = "Ll",
+		 [0x001D1] = "Lu",
+		 [0x001D2] = "Ll",
+		 [0x001D3] = "Lu",
+		 [0x001D4] = "Ll",
+		 [0x001D5] = "Lu",
+		 [0x001D6] = "Ll",
+		 [0x001D7] = "Lu",
+		 [0x001D8] = "Ll",
+		 [0x001D9] = "Lu",
+		 [0x001DA] = "Ll",
+		 [0x001DB] = "Lu",
+		 [0x001DE] = "Lu",
+		 [0x001DF] = "Ll",
+		 [0x001E0] = "Lu",
+		 [0x001E1] = "Ll",
+		 [0x001E2] = "Lu",
+		 [0x001E3] = "Ll",
+		 [0x001E4] = "Lu",
+		 [0x001E5] = "Ll",
+		 [0x001E6] = "Lu",
+		 [0x001E7] = "Ll",
+		 [0x001E8] = "Lu",
+		 [0x001E9] = "Ll",
+		 [0x001EA] = "Lu",
+		 [0x001EB] = "Ll",
+		 [0x001EC] = "Lu",
+		 [0x001ED] = "Ll",
+		 [0x001EE] = "Lu",
+		 [0x001F1] = "Lu",
+		 [0x001F2] = "Lt",
+		 [0x001F3] = "Ll",
+		 [0x001F4] = "Lu",
+		 [0x001F5] = "Ll",
+		 [0x001F9] = "Ll",
+		 [0x001FA] = "Lu",
+		 [0x001FB] = "Ll",
+		 [0x001FC] = "Lu",
+		 [0x001FD] = "Ll",
+		 [0x001FE] = "Lu",
+		 [0x001FF] = "Ll",
+		 [0x00200] = "Lu",
+		 [0x00201] = "Ll",
+		 [0x00202] = "Lu",
+		 [0x00203] = "Ll",
+		 [0x00204] = "Lu",
+		 [0x00205] = "Ll",
+		 [0x00206] = "Lu",
+		 [0x00207] = "Ll",
+		 [0x00208] = "Lu",
+		 [0x00209] = "Ll",
+		 [0x0020A] = "Lu",
+		 [0x0020B] = "Ll",
+		 [0x0020C] = "Lu",
+		 [0x0020D] = "Ll",
+		 [0x0020E] = "Lu",
+		 [0x0020F] = "Ll",
+		 [0x00210] = "Lu",
+		 [0x00211] = "Ll",
+		 [0x00212] = "Lu",
+		 [0x00213] = "Ll",
+		 [0x00214] = "Lu",
+		 [0x00215] = "Ll",
+		 [0x00216] = "Lu",
+		 [0x00217] = "Ll",
+		 [0x00218] = "Lu",
+		 [0x00219] = "Ll",
+		 [0x0021A] = "Lu",
+		 [0x0021B] = "Ll",
+		 [0x0021C] = "Lu",
+		 [0x0021D] = "Ll",
+		 [0x0021E] = "Lu",
+		 [0x0021F] = "Ll",
+		 [0x00220] = "Lu",
+		 [0x00221] = "Ll",
+		 [0x00222] = "Lu",
+		 [0x00223] = "Ll",
+		 [0x00224] = "Lu",
+		 [0x00225] = "Ll",
+		 [0x00226] = "Lu",
+		 [0x00227] = "Ll",
+		 [0x00228] = "Lu",
+		 [0x00229] = "Ll",
+		 [0x0022A] = "Lu",
+		 [0x0022B] = "Ll",
+		 [0x0022C] = "Lu",
+		 [0x0022D] = "Ll",
+		 [0x0022E] = "Lu",
+		 [0x0022F] = "Ll",
+		 [0x00230] = "Lu",
+		 [0x00231] = "Ll",
+		 [0x00232] = "Lu",
+		 [0x0023C] = "Ll",
+		 [0x00241] = "Lu",
+		 [0x00242] = "Ll",
+		 [0x00247] = "Ll",
+		 [0x00248] = "Lu",
+		 [0x00249] = "Ll",
+		 [0x0024A] = "Lu",
+		 [0x0024B] = "Ll",
+		 [0x0024C] = "Lu",
+		 [0x0024D] = "Ll",
+		 [0x0024E] = "Lu",
+		 [0x00294] = "Lo",
+		 [0x002EC] = "Lm",
+		 [0x002ED] = "Sk",
+		 [0x002EE] = "Lm",
+		 [0x00370] = "Lu",
+		 [0x00371] = "Ll",
+		 [0x00372] = "Lu",
+		 [0x00373] = "Ll",
+		 [0x00374] = "Lm",
+		 [0x00375] = "Sk",
+		 [0x00376] = "Lu",
+		 [0x00377] = "Ll",
+		 [0x0037A] = "Lm",
+		 [0x0037E] = "Po",
+		 [0x0037F] = "Lu",
+		 [0x00386] = "Lu",
+		 [0x00387] = "Po",
+		 [0x0038C] = "Lu",
+		 [0x00390] = "Ll",
+		 [0x003CF] = "Lu",
+		 [0x003D8] = "Lu",
+		 [0x003D9] = "Ll",
+		 [0x003DA] = "Lu",
+		 [0x003DB] = "Ll",
+		 [0x003DC] = "Lu",
+		 [0x003DD] = "Ll",
+		 [0x003DE] = "Lu",
+		 [0x003DF] = "Ll",
+		 [0x003E0] = "Lu",
+		 [0x003E1] = "Ll",
+		 [0x003E2] = "Lu",
+		 [0x003E3] = "Ll",
+		 [0x003E4] = "Lu",
+		 [0x003E5] = "Ll",
+		 [0x003E6] = "Lu",
+		 [0x003E7] = "Ll",
+		 [0x003E8] = "Lu",
+		 [0x003E9] = "Ll",
+		 [0x003EA] = "Lu",
+		 [0x003EB] = "Ll",
+		 [0x003EC] = "Lu",
+		 [0x003ED] = "Ll",
+		 [0x003EE] = "Lu",
+		 [0x003F4] = "Lu",
+		 [0x003F5] = "Ll",
+		 [0x003F6] = "Sm",
+		 [0x003F7] = "Lu",
+		 [0x003F8] = "Ll",
+		 [0x00460] = "Lu",
+		 [0x00461] = "Ll",
+		 [0x00462] = "Lu",
+		 [0x00463] = "Ll",
+		 [0x00464] = "Lu",
+		 [0x00465] = "Ll",
+		 [0x00466] = "Lu",
+		 [0x00467] = "Ll",
+		 [0x00468] = "Lu",
+		 [0x00469] = "Ll",
+		 [0x0046A] = "Lu",
+		 [0x0046B] = "Ll",
+		 [0x0046C] = "Lu",
+		 [0x0046D] = "Ll",
+		 [0x0046E] = "Lu",
+		 [0x0046F] = "Ll",
+		 [0x00470] = "Lu",
+		 [0x00471] = "Ll",
+		 [0x00472] = "Lu",
+		 [0x00473] = "Ll",
+		 [0x00474] = "Lu",
+		 [0x00475] = "Ll",
+		 [0x00476] = "Lu",
+		 [0x00477] = "Ll",
+		 [0x00478] = "Lu",
+		 [0x00479] = "Ll",
+		 [0x0047A] = "Lu",
+		 [0x0047B] = "Ll",
+		 [0x0047C] = "Lu",
+		 [0x0047D] = "Ll",
+		 [0x0047E] = "Lu",
+		 [0x0047F] = "Ll",
+		 [0x00480] = "Lu",
+		 [0x00481] = "Ll",
+		 [0x00482] = "So",
+		 [0x0048A] = "Lu",
+		 [0x0048B] = "Ll",
+		 [0x0048C] = "Lu",
+		 [0x0048D] = "Ll",
+		 [0x0048E] = "Lu",
+		 [0x0048F] = "Ll",
+		 [0x00490] = "Lu",
+		 [0x00491] = "Ll",
+		 [0x00492] = "Lu",
+		 [0x00493] = "Ll",
+		 [0x00494] = "Lu",
+		 [0x00495] = "Ll",
+		 [0x00496] = "Lu",
+		 [0x00497] = "Ll",
+		 [0x00498] = "Lu",
+		 [0x00499] = "Ll",
+		 [0x0049A] = "Lu",
+		 [0x0049B] = "Ll",
+		 [0x0049C] = "Lu",
+		 [0x0049D] = "Ll",
+		 [0x0049E] = "Lu",
+		 [0x0049F] = "Ll",
+		 [0x004A0] = "Lu",
+		 [0x004A1] = "Ll",
+		 [0x004A2] = "Lu",
+		 [0x004A3] = "Ll",
+		 [0x004A4] = "Lu",
+		 [0x004A5] = "Ll",
+		 [0x004A6] = "Lu",
+		 [0x004A7] = "Ll",
+		 [0x004A8] = "Lu",
+		 [0x004A9] = "Ll",
+		 [0x004AA] = "Lu",
+		 [0x004AB] = "Ll",
+		 [0x004AC] = "Lu",
+		 [0x004AD] = "Ll",
+		 [0x004AE] = "Lu",
+		 [0x004AF] = "Ll",
+		 [0x004B0] = "Lu",
+		 [0x004B1] = "Ll",
+		 [0x004B2] = "Lu",
+		 [0x004B3] = "Ll",
+		 [0x004B4] = "Lu",
+		 [0x004B5] = "Ll",
+		 [0x004B6] = "Lu",
+		 [0x004B7] = "Ll",
+		 [0x004B8] = "Lu",
+		 [0x004B9] = "Ll",
+		 [0x004BA] = "Lu",
+		 [0x004BB] = "Ll",
+		 [0x004BC] = "Lu",
+		 [0x004BD] = "Ll",
+		 [0x004BE] = "Lu",
+		 [0x004BF] = "Ll",
+		 [0x004C2] = "Ll",
+		 [0x004C3] = "Lu",
+		 [0x004C4] = "Ll",
+		 [0x004C5] = "Lu",
+		 [0x004C6] = "Ll",
+		 [0x004C7] = "Lu",
+		 [0x004C8] = "Ll",
+		 [0x004C9] = "Lu",
+		 [0x004CA] = "Ll",
+		 [0x004CB] = "Lu",
+		 [0x004CC] = "Ll",
+		 [0x004CD] = "Lu",
+		 [0x004D0] = "Lu",
+		 [0x004D1] = "Ll",
+		 [0x004D2] = "Lu",
+		 [0x004D3] = "Ll",
+		 [0x004D4] = "Lu",
+		 [0x004D5] = "Ll",
+		 [0x004D6] = "Lu",
+		 [0x004D7] = "Ll",
+		 [0x004D8] = "Lu",
+		 [0x004D9] = "Ll",
+		 [0x004DA] = "Lu",
+		 [0x004DB] = "Ll",
+		 [0x004DC] = "Lu",
+		 [0x004DD] = "Ll",
+		 [0x004DE] = "Lu",
+		 [0x004DF] = "Ll",
+		 [0x004E0] = "Lu",
+		 [0x004E1] = "Ll",
+		 [0x004E2] = "Lu",
+		 [0x004E3] = "Ll",
+		 [0x004E4] = "Lu",
+		 [0x004E5] = "Ll",
+		 [0x004E6] = "Lu",
+		 [0x004E7] = "Ll",
+		 [0x004E8] = "Lu",
+		 [0x004E9] = "Ll",
+		 [0x004EA] = "Lu",
+		 [0x004EB] = "Ll",
+		 [0x004EC] = "Lu",
+		 [0x004ED] = "Ll",
+		 [0x004EE] = "Lu",
+		 [0x004EF] = "Ll",
+		 [0x004F0] = "Lu",
+		 [0x004F1] = "Ll",
+		 [0x004F2] = "Lu",
+		 [0x004F3] = "Ll",
+		 [0x004F4] = "Lu",
+		 [0x004F5] = "Ll",
+		 [0x004F6] = "Lu",
+		 [0x004F7] = "Ll",
+		 [0x004F8] = "Lu",
+		 [0x004F9] = "Ll",
+		 [0x004FA] = "Lu",
+		 [0x004FB] = "Ll",
+		 [0x004FC] = "Lu",
+		 [0x004FD] = "Ll",
+		 [0x004FE] = "Lu",
+		 [0x004FF] = "Ll",
+		 [0x00500] = "Lu",
+		 [0x00501] = "Ll",
+		 [0x00502] = "Lu",
+		 [0x00503] = "Ll",
+		 [0x00504] = "Lu",
+		 [0x00505] = "Ll",
+		 [0x00506] = "Lu",
+		 [0x00507] = "Ll",
+		 [0x00508] = "Lu",
+		 [0x00509] = "Ll",
+		 [0x0050A] = "Lu",
+		 [0x0050B] = "Ll",
+		 [0x0050C] = "Lu",
+		 [0x0050D] = "Ll",
+		 [0x0050E] = "Lu",
+		 [0x0050F] = "Ll",
+		 [0x00510] = "Lu",
+		 [0x00511] = "Ll",
+		 [0x00512] = "Lu",
+		 [0x00513] = "Ll",
+		 [0x00514] = "Lu",
+		 [0x00515] = "Ll",
+		 [0x00516] = "Lu",
+		 [0x00517] = "Ll",
+		 [0x00518] = "Lu",
+		 [0x00519] = "Ll",
+		 [0x0051A] = "Lu",
+		 [0x0051B] = "Ll",
+		 [0x0051C] = "Lu",
+		 [0x0051D] = "Ll",
+		 [0x0051E] = "Lu",
+		 [0x0051F] = "Ll",
+		 [0x00520] = "Lu",
+		 [0x00521] = "Ll",
+		 [0x00522] = "Lu",
+		 [0x00523] = "Ll",
+		 [0x00524] = "Lu",
+		 [0x00525] = "Ll",
+		 [0x00526] = "Lu",
+		 [0x00527] = "Ll",
+		 [0x00528] = "Lu",
+		 [0x00529] = "Ll",
+		 [0x0052A] = "Lu",
+		 [0x0052B] = "Ll",
+		 [0x0052C] = "Lu",
+		 [0x0052D] = "Ll",
+		 [0x0052E] = "Lu",
+		 [0x0052F] = "Ll",
+		 [0x00559] = "Lm",
+		 [0x00589] = "Po",
+		 [0x0058A] = "Pd",
+		 [0x0058F] = "Sc",
+		 [0x005BE] = "Pd",
+		 [0x005BF] = "Mn",
+		 [0x005C0] = "Po",
+		 [0x005C3] = "Po",
+		 [0x005C6] = "Po",
+		 [0x005C7] = "Mn",
+		 [0x0060B] = "Sc",
+		 [0x0061B] = "Po",
+		 [0x0061C] = "Cf",
+		 [0x00640] = "Lm",
+		 [0x00670] = "Mn",
+		 [0x006D4] = "Po",
+		 [0x006D5] = "Lo",
+		 [0x006DD] = "Cf",
+		 [0x006DE] = "So",
+		 [0x006E9] = "So",
+		 [0x006FF] = "Lo",
+		 [0x0070F] = "Cf",
+		 [0x00710] = "Lo",
+		 [0x00711] = "Mn",
+		 [0x007B1] = "Lo",
+		 [0x007F6] = "So",
+		 [0x007FA] = "Lm",
+		 [0x007FD] = "Mn",
+		 [0x0081A] = "Lm",
+		 [0x00824] = "Lm",
+		 [0x00828] = "Lm",
+		 [0x0085E] = "Po",
+		 [0x008E2] = "Cf",
+		 [0x00903] = "Mc",
+		 [0x0093A] = "Mn",
+		 [0x0093B] = "Mc",
+		 [0x0093C] = "Mn",
+		 [0x0093D] = "Lo",
+		 [0x0094D] = "Mn",
+		 [0x00950] = "Lo",
+		 [0x00970] = "Po",
+		 [0x00971] = "Lm",
+		 [0x00981] = "Mn",
+		 [0x009B2] = "Lo",
+		 [0x009BC] = "Mn",
+		 [0x009BD] = "Lo",
+		 [0x009CD] = "Mn",
+		 [0x009CE] = "Lo",
+		 [0x009D7] = "Mc",
+		 [0x009FA] = "So",
+		 [0x009FB] = "Sc",
+		 [0x009FC] = "Lo",
+		 [0x009FD] = "Po",
+		 [0x009FE] = "Mn",
+		 [0x00A03] = "Mc",
+		 [0x00A3C] = "Mn",
+		 [0x00A51] = "Mn",
+		 [0x00A5E] = "Lo",
+		 [0x00A75] = "Mn",
+		 [0x00A76] = "Po",
+		 [0x00A83] = "Mc",
+		 [0x00ABC] = "Mn",
+		 [0x00ABD] = "Lo",
+		 [0x00AC9] = "Mc",
+		 [0x00ACD] = "Mn",
+		 [0x00AD0] = "Lo",
+		 [0x00AF0] = "Po",
+		 [0x00AF1] = "Sc",
+		 [0x00AF9] = "Lo",
+		 [0x00B01] = "Mn",
+		 [0x00B3C] = "Mn",
+		 [0x00B3D] = "Lo",
+		 [0x00B3E] = "Mc",
+		 [0x00B3F] = "Mn",
+		 [0x00B40] = "Mc",
+		 [0x00B4D] = "Mn",
+		 [0x00B56] = "Mn",
+		 [0x00B57] = "Mc",
+		 [0x00B70] = "So",
+		 [0x00B71] = "Lo",
+		 [0x00B82] = "Mn",
+		 [0x00B83] = "Lo",
+		 [0x00B9C] = "Lo",
+		 [0x00BC0] = "Mn",
+		 [0x00BCD] = "Mn",
+		 [0x00BD0] = "Lo",
+		 [0x00BD7] = "Mc",
+		 [0x00BF9] = "Sc",
+		 [0x00BFA] = "So",
+		 [0x00C00] = "Mn",
+		 [0x00C04] = "Mn",
+		 [0x00C3D] = "Lo",
+		 [0x00C7F] = "So",
+		 [0x00C80] = "Lo",
+		 [0x00C81] = "Mn",
+		 [0x00C84] = "Po",
+		 [0x00CBC] = "Mn",
+		 [0x00CBD] = "Lo",
+		 [0x00CBE] = "Mc",
+		 [0x00CBF] = "Mn",
+		 [0x00CC6] = "Mn",
+		 [0x00CDE] = "Lo",
+		 [0x00D3D] = "Lo",
+		 [0x00D4D] = "Mn",
+		 [0x00D4E] = "Lo",
+		 [0x00D4F] = "So",
+		 [0x00D57] = "Mc",
+		 [0x00D79] = "So",
+		 [0x00DBD] = "Lo",
+		 [0x00DCA] = "Mn",
+		 [0x00DD6] = "Mn",
+		 [0x00DF4] = "Po",
+		 [0x00E31] = "Mn",
+		 [0x00E3F] = "Sc",
+		 [0x00E46] = "Lm",
+		 [0x00E4F] = "Po",
+		 [0x00E84] = "Lo",
+		 [0x00E8A] = "Lo",
+		 [0x00E8D] = "Lo",
+		 [0x00EA5] = "Lo",
+		 [0x00EA7] = "Lo",
+		 [0x00EB1] = "Mn",
+		 [0x00EBD] = "Lo",
+		 [0x00EC6] = "Lm",
+		 [0x00F00] = "Lo",
+		 [0x00F13] = "So",
+		 [0x00F14] = "Po",
+		 [0x00F34] = "So",
+		 [0x00F35] = "Mn",
+		 [0x00F36] = "So",
+		 [0x00F37] = "Mn",
+		 [0x00F38] = "So",
+		 [0x00F39] = "Mn",
+		 [0x00F3A] = "Ps",
+		 [0x00F3B] = "Pe",
+		 [0x00F3C] = "Ps",
+		 [0x00F3D] = "Pe",
+		 [0x00F7F] = "Mc",
+		 [0x00F85] = "Po",
+		 [0x00FC6] = "Mn",
+		 [0x01031] = "Mc",
+		 [0x01038] = "Mc",
+		 [0x0103F] = "Lo",
+		 [0x01061] = "Lo",
+		 [0x01082] = "Mn",
+		 [0x0108D] = "Mn",
+		 [0x0108E] = "Lo",
+		 [0x0108F] = "Mc",
+		 [0x0109D] = "Mn",
+		 [0x010C7] = "Lu",
+		 [0x010CD] = "Lu",
+		 [0x010FB] = "Po",
+		 [0x010FC] = "Lm",
+		 [0x01258] = "Lo",
+		 [0x012C0] = "Lo",
+		 [0x01400] = "Pd",
+		 [0x01680] = "Zs",
+		 [0x0169B] = "Ps",
+		 [0x0169C] = "Pe",
+		 [0x017B6] = "Mc",
+		 [0x017C6] = "Mn",
+		 [0x017D7] = "Lm",
+		 [0x017DB] = "Sc",
+		 [0x017DC] = "Lo",
+		 [0x017DD] = "Mn",
+		 [0x01806] = "Pd",
+		 [0x0180E] = "Cf",
+		 [0x01843] = "Lm",
+		 [0x018A9] = "Mn",
+		 [0x018AA] = "Lo",
+		 [0x01932] = "Mn",
+		 [0x01940] = "So",
+		 [0x019DA] = "No",
+		 [0x01A1B] = "Mn",
+		 [0x01A55] = "Mc",
+		 [0x01A56] = "Mn",
+		 [0x01A57] = "Mc",
+		 [0x01A60] = "Mn",
+		 [0x01A61] = "Mc",
+		 [0x01A62] = "Mn",
+		 [0x01A7F] = "Mn",
+		 [0x01AA7] = "Lm",
+		 [0x01ABE] = "Me",
+		 [0x01B04] = "Mc",
+		 [0x01B34] = "Mn",
+		 [0x01B35] = "Mc",
+		 [0x01B3B] = "Mc",
+		 [0x01B3C] = "Mn",
+		 [0x01B42] = "Mn",
+		 [0x01B82] = "Mc",
+		 [0x01BA1] = "Mc",
+		 [0x01BAA] = "Mc",
+		 [0x01BE6] = "Mn",
+		 [0x01BE7] = "Mc",
+		 [0x01BED] = "Mn",
+		 [0x01BEE] = "Mc",
+		 [0x01CD3] = "Po",
+		 [0x01CE1] = "Mc",
+		 [0x01CED] = "Mn",
+		 [0x01CF4] = "Mn",
+		 [0x01CF7] = "Mc",
+		 [0x01D78] = "Lm",
+		 [0x01E00] = "Lu",
+		 [0x01E01] = "Ll",
+		 [0x01E02] = "Lu",
+		 [0x01E03] = "Ll",
+		 [0x01E04] = "Lu",
+		 [0x01E05] = "Ll",
+		 [0x01E06] = "Lu",
+		 [0x01E07] = "Ll",
+		 [0x01E08] = "Lu",
+		 [0x01E09] = "Ll",
+		 [0x01E0A] = "Lu",
+		 [0x01E0B] = "Ll",
+		 [0x01E0C] = "Lu",
+		 [0x01E0D] = "Ll",
+		 [0x01E0E] = "Lu",
+		 [0x01E0F] = "Ll",
+		 [0x01E10] = "Lu",
+		 [0x01E11] = "Ll",
+		 [0x01E12] = "Lu",
+		 [0x01E13] = "Ll",
+		 [0x01E14] = "Lu",
+		 [0x01E15] = "Ll",
+		 [0x01E16] = "Lu",
+		 [0x01E17] = "Ll",
+		 [0x01E18] = "Lu",
+		 [0x01E19] = "Ll",
+		 [0x01E1A] = "Lu",
+		 [0x01E1B] = "Ll",
+		 [0x01E1C] = "Lu",
+		 [0x01E1D] = "Ll",
+		 [0x01E1E] = "Lu",
+		 [0x01E1F] = "Ll",
+		 [0x01E20] = "Lu",
+		 [0x01E21] = "Ll",
+		 [0x01E22] = "Lu",
+		 [0x01E23] = "Ll",
+		 [0x01E24] = "Lu",
+		 [0x01E25] = "Ll",
+		 [0x01E26] = "Lu",
+		 [0x01E27] = "Ll",
+		 [0x01E28] = "Lu",
+		 [0x01E29] = "Ll",
+		 [0x01E2A] = "Lu",
+		 [0x01E2B] = "Ll",
+		 [0x01E2C] = "Lu",
+		 [0x01E2D] = "Ll",
+		 [0x01E2E] = "Lu",
+		 [0x01E2F] = "Ll",
+		 [0x01E30] = "Lu",
+		 [0x01E31] = "Ll",
+		 [0x01E32] = "Lu",
+		 [0x01E33] = "Ll",
+		 [0x01E34] = "Lu",
+		 [0x01E35] = "Ll",
+		 [0x01E36] = "Lu",
+		 [0x01E37] = "Ll",
+		 [0x01E38] = "Lu",
+		 [0x01E39] = "Ll",
+		 [0x01E3A] = "Lu",
+		 [0x01E3B] = "Ll",
+		 [0x01E3C] = "Lu",
+		 [0x01E3D] = "Ll",
+		 [0x01E3E] = "Lu",
+		 [0x01E3F] = "Ll",
+		 [0x01E40] = "Lu",
+		 [0x01E41] = "Ll",
+		 [0x01E42] = "Lu",
+		 [0x01E43] = "Ll",
+		 [0x01E44] = "Lu",
+		 [0x01E45] = "Ll",
+		 [0x01E46] = "Lu",
+		 [0x01E47] = "Ll",
+		 [0x01E48] = "Lu",
+		 [0x01E49] = "Ll",
+		 [0x01E4A] = "Lu",
+		 [0x01E4B] = "Ll",
+		 [0x01E4C] = "Lu",
+		 [0x01E4D] = "Ll",
+		 [0x01E4E] = "Lu",
+		 [0x01E4F] = "Ll",
+		 [0x01E50] = "Lu",
+		 [0x01E51] = "Ll",
+		 [0x01E52] = "Lu",
+		 [0x01E53] = "Ll",
+		 [0x01E54] = "Lu",
+		 [0x01E55] = "Ll",
+		 [0x01E56] = "Lu",
+		 [0x01E57] = "Ll",
+		 [0x01E58] = "Lu",
+		 [0x01E59] = "Ll",
+		 [0x01E5A] = "Lu",
+		 [0x01E5B] = "Ll",
+		 [0x01E5C] = "Lu",
+		 [0x01E5D] = "Ll",
+		 [0x01E5E] = "Lu",
+		 [0x01E5F] = "Ll",
+		 [0x01E60] = "Lu",
+		 [0x01E61] = "Ll",
+		 [0x01E62] = "Lu",
+		 [0x01E63] = "Ll",
+		 [0x01E64] = "Lu",
+		 [0x01E65] = "Ll",
+		 [0x01E66] = "Lu",
+		 [0x01E67] = "Ll",
+		 [0x01E68] = "Lu",
+		 [0x01E69] = "Ll",
+		 [0x01E6A] = "Lu",
+		 [0x01E6B] = "Ll",
+		 [0x01E6C] = "Lu",
+		 [0x01E6D] = "Ll",
+		 [0x01E6E] = "Lu",
+		 [0x01E6F] = "Ll",
+		 [0x01E70] = "Lu",
+		 [0x01E71] = "Ll",
+		 [0x01E72] = "Lu",
+		 [0x01E73] = "Ll",
+		 [0x01E74] = "Lu",
+		 [0x01E75] = "Ll",
+		 [0x01E76] = "Lu",
+		 [0x01E77] = "Ll",
+		 [0x01E78] = "Lu",
+		 [0x01E79] = "Ll",
+		 [0x01E7A] = "Lu",
+		 [0x01E7B] = "Ll",
+		 [0x01E7C] = "Lu",
+		 [0x01E7D] = "Ll",
+		 [0x01E7E] = "Lu",
+		 [0x01E7F] = "Ll",
+		 [0x01E80] = "Lu",
+		 [0x01E81] = "Ll",
+		 [0x01E82] = "Lu",
+		 [0x01E83] = "Ll",
+		 [0x01E84] = "Lu",
+		 [0x01E85] = "Ll",
+		 [0x01E86] = "Lu",
+		 [0x01E87] = "Ll",
+		 [0x01E88] = "Lu",
+		 [0x01E89] = "Ll",
+		 [0x01E8A] = "Lu",
+		 [0x01E8B] = "Ll",
+		 [0x01E8C] = "Lu",
+		 [0x01E8D] = "Ll",
+		 [0x01E8E] = "Lu",
+		 [0x01E8F] = "Ll",
+		 [0x01E90] = "Lu",
+		 [0x01E91] = "Ll",
+		 [0x01E92] = "Lu",
+		 [0x01E93] = "Ll",
+		 [0x01E94] = "Lu",
+		 [0x01E9E] = "Lu",
+		 [0x01E9F] = "Ll",
+		 [0x01EA0] = "Lu",
+		 [0x01EA1] = "Ll",
+		 [0x01EA2] = "Lu",
+		 [0x01EA3] = "Ll",
+		 [0x01EA4] = "Lu",
+		 [0x01EA5] = "Ll",
+		 [0x01EA6] = "Lu",
+		 [0x01EA7] = "Ll",
+		 [0x01EA8] = "Lu",
+		 [0x01EA9] = "Ll",
+		 [0x01EAA] = "Lu",
+		 [0x01EAB] = "Ll",
+		 [0x01EAC] = "Lu",
+		 [0x01EAD] = "Ll",
+		 [0x01EAE] = "Lu",
+		 [0x01EAF] = "Ll",
+		 [0x01EB0] = "Lu",
+		 [0x01EB1] = "Ll",
+		 [0x01EB2] = "Lu",
+		 [0x01EB3] = "Ll",
+		 [0x01EB4] = "Lu",
+		 [0x01EB5] = "Ll",
+		 [0x01EB6] = "Lu",
+		 [0x01EB7] = "Ll",
+		 [0x01EB8] = "Lu",
+		 [0x01EB9] = "Ll",
+		 [0x01EBA] = "Lu",
+		 [0x01EBB] = "Ll",
+		 [0x01EBC] = "Lu",
+		 [0x01EBD] = "Ll",
+		 [0x01EBE] = "Lu",
+		 [0x01EBF] = "Ll",
+		 [0x01EC0] = "Lu",
+		 [0x01EC1] = "Ll",
+		 [0x01EC2] = "Lu",
+		 [0x01EC3] = "Ll",
+		 [0x01EC4] = "Lu",
+		 [0x01EC5] = "Ll",
+		 [0x01EC6] = "Lu",
+		 [0x01EC7] = "Ll",
+		 [0x01EC8] = "Lu",
+		 [0x01EC9] = "Ll",
+		 [0x01ECA] = "Lu",
+		 [0x01ECB] = "Ll",
+		 [0x01ECC] = "Lu",
+		 [0x01ECD] = "Ll",
+		 [0x01ECE] = "Lu",
+		 [0x01ECF] = "Ll",
+		 [0x01ED0] = "Lu",
+		 [0x01ED1] = "Ll",
+		 [0x01ED2] = "Lu",
+		 [0x01ED3] = "Ll",
+		 [0x01ED4] = "Lu",
+		 [0x01ED5] = "Ll",
+		 [0x01ED6] = "Lu",
+		 [0x01ED7] = "Ll",
+		 [0x01ED8] = "Lu",
+		 [0x01ED9] = "Ll",
+		 [0x01EDA] = "Lu",
+		 [0x01EDB] = "Ll",
+		 [0x01EDC] = "Lu",
+		 [0x01EDD] = "Ll",
+		 [0x01EDE] = "Lu",
+		 [0x01EDF] = "Ll",
+		 [0x01EE0] = "Lu",
+		 [0x01EE1] = "Ll",
+		 [0x01EE2] = "Lu",
+		 [0x01EE3] = "Ll",
+		 [0x01EE4] = "Lu",
+		 [0x01EE5] = "Ll",
+		 [0x01EE6] = "Lu",
+		 [0x01EE7] = "Ll",
+		 [0x01EE8] = "Lu",
+		 [0x01EE9] = "Ll",
+		 [0x01EEA] = "Lu",
+		 [0x01EEB] = "Ll",
+		 [0x01EEC] = "Lu",
+		 [0x01EED] = "Ll",
+		 [0x01EEE] = "Lu",
+		 [0x01EEF] = "Ll",
+		 [0x01EF0] = "Lu",
+		 [0x01EF1] = "Ll",
+		 [0x01EF2] = "Lu",
+		 [0x01EF3] = "Ll",
+		 [0x01EF4] = "Lu",
+		 [0x01EF5] = "Ll",
+		 [0x01EF6] = "Lu",
+		 [0x01EF7] = "Ll",
+		 [0x01EF8] = "Lu",
+		 [0x01EF9] = "Ll",
+		 [0x01EFA] = "Lu",
+		 [0x01EFB] = "Ll",
+		 [0x01EFC] = "Lu",
+		 [0x01EFD] = "Ll",
+		 [0x01EFE] = "Lu",
+		 [0x01F59] = "Lu",
+		 [0x01F5B] = "Lu",
+		 [0x01F5D] = "Lu",
+		 [0x01F5F] = "Lu",
+		 [0x01FBC] = "Lt",
+		 [0x01FBD] = "Sk",
+		 [0x01FBE] = "Ll",
+		 [0x01FCC] = "Lt",
+		 [0x01FFC] = "Lt",
+		 [0x02018] = "Pi",
+		 [0x02019] = "Pf",
+		 [0x0201A] = "Ps",
+		 [0x0201D] = "Pf",
+		 [0x0201E] = "Ps",
+		 [0x0201F] = "Pi",
+		 [0x02028] = "Zl",
+		 [0x02029] = "Zp",
+		 [0x0202F] = "Zs",
+		 [0x02039] = "Pi",
+		 [0x0203A] = "Pf",
+		 [0x02044] = "Sm",
+		 [0x02045] = "Ps",
+		 [0x02046] = "Pe",
+		 [0x02052] = "Sm",
+		 [0x02053] = "Po",
+		 [0x02054] = "Pc",
+		 [0x0205F] = "Zs",
+		 [0x02070] = "No",
+		 [0x02071] = "Lm",
+		 [0x0207D] = "Ps",
+		 [0x0207E] = "Pe",
+		 [0x0207F] = "Lm",
+		 [0x0208D] = "Ps",
+		 [0x0208E] = "Pe",
+		 [0x020E1] = "Mn",
+		 [0x02102] = "Lu",
+		 [0x02107] = "Lu",
+		 [0x0210A] = "Ll",
+		 [0x02113] = "Ll",
+		 [0x02114] = "So",
+		 [0x02115] = "Lu",
+		 [0x02118] = "Sm",
+		 [0x02124] = "Lu",
+		 [0x02125] = "So",
+		 [0x02126] = "Lu",
+		 [0x02127] = "So",
+		 [0x02128] = "Lu",
+		 [0x02129] = "So",
+		 [0x0212E] = "So",
+		 [0x0212F] = "Ll",
+		 [0x02134] = "Ll",
+		 [0x02139] = "Ll",
+		 [0x02145] = "Lu",
+		 [0x0214A] = "So",
+		 [0x0214B] = "Sm",
+		 [0x0214E] = "Ll",
+		 [0x0214F] = "So",
+		 [0x02183] = "Lu",
+		 [0x02184] = "Ll",
+		 [0x02189] = "No",
+		 [0x021A0] = "Sm",
+		 [0x021A3] = "Sm",
+		 [0x021A6] = "Sm",
+		 [0x021AE] = "Sm",
+		 [0x021D2] = "Sm",
+		 [0x021D3] = "So",
+		 [0x021D4] = "Sm",
+		 [0x02308] = "Ps",
+		 [0x02309] = "Pe",
+		 [0x0230A] = "Ps",
+		 [0x0230B] = "Pe",
+		 [0x02329] = "Ps",
+		 [0x0232A] = "Pe",
+		 [0x0237C] = "Sm",
+		 [0x025B7] = "Sm",
+		 [0x025C1] = "Sm",
+		 [0x0266F] = "Sm",
+		 [0x02768] = "Ps",
+		 [0x02769] = "Pe",
+		 [0x0276A] = "Ps",
+		 [0x0276B] = "Pe",
+		 [0x0276C] = "Ps",
+		 [0x0276D] = "Pe",
+		 [0x0276E] = "Ps",
+		 [0x0276F] = "Pe",
+		 [0x02770] = "Ps",
+		 [0x02771] = "Pe",
+		 [0x02772] = "Ps",
+		 [0x02773] = "Pe",
+		 [0x02774] = "Ps",
+		 [0x02775] = "Pe",
+		 [0x027C5] = "Ps",
+		 [0x027C6] = "Pe",
+		 [0x027E6] = "Ps",
+		 [0x027E7] = "Pe",
+		 [0x027E8] = "Ps",
+		 [0x027E9] = "Pe",
+		 [0x027EA] = "Ps",
+		 [0x027EB] = "Pe",
+		 [0x027EC] = "Ps",
+		 [0x027ED] = "Pe",
+		 [0x027EE] = "Ps",
+		 [0x027EF] = "Pe",
+		 [0x02983] = "Ps",
+		 [0x02984] = "Pe",
+		 [0x02985] = "Ps",
+		 [0x02986] = "Pe",
+		 [0x02987] = "Ps",
+		 [0x02988] = "Pe",
+		 [0x02989] = "Ps",
+		 [0x0298A] = "Pe",
+		 [0x0298B] = "Ps",
+		 [0x0298C] = "Pe",
+		 [0x0298D] = "Ps",
+		 [0x0298E] = "Pe",
+		 [0x0298F] = "Ps",
+		 [0x02990] = "Pe",
+		 [0x02991] = "Ps",
+		 [0x02992] = "Pe",
+		 [0x02993] = "Ps",
+		 [0x02994] = "Pe",
+		 [0x02995] = "Ps",
+		 [0x02996] = "Pe",
+		 [0x02997] = "Ps",
+		 [0x02998] = "Pe",
+		 [0x029D8] = "Ps",
+		 [0x029D9] = "Pe",
+		 [0x029DA] = "Ps",
+		 [0x029DB] = "Pe",
+		 [0x029FC] = "Ps",
+		 [0x029FD] = "Pe",
+		 [0x02C60] = "Lu",
+		 [0x02C61] = "Ll",
+		 [0x02C67] = "Lu",
+		 [0x02C68] = "Ll",
+		 [0x02C69] = "Lu",
+		 [0x02C6A] = "Ll",
+		 [0x02C6B] = "Lu",
+		 [0x02C6C] = "Ll",
+		 [0x02C71] = "Ll",
+		 [0x02C72] = "Lu",
+		 [0x02C75] = "Lu",
+		 [0x02C81] = "Ll",
+		 [0x02C82] = "Lu",
+		 [0x02C83] = "Ll",
+		 [0x02C84] = "Lu",
+		 [0x02C85] = "Ll",
+		 [0x02C86] = "Lu",
+		 [0x02C87] = "Ll",
+		 [0x02C88] = "Lu",
+		 [0x02C89] = "Ll",
+		 [0x02C8A] = "Lu",
+		 [0x02C8B] = "Ll",
+		 [0x02C8C] = "Lu",
+		 [0x02C8D] = "Ll",
+		 [0x02C8E] = "Lu",
+		 [0x02C8F] = "Ll",
+		 [0x02C90] = "Lu",
+		 [0x02C91] = "Ll",
+		 [0x02C92] = "Lu",
+		 [0x02C93] = "Ll",
+		 [0x02C94] = "Lu",
+		 [0x02C95] = "Ll",
+		 [0x02C96] = "Lu",
+		 [0x02C97] = "Ll",
+		 [0x02C98] = "Lu",
+		 [0x02C99] = "Ll",
+		 [0x02C9A] = "Lu",
+		 [0x02C9B] = "Ll",
+		 [0x02C9C] = "Lu",
+		 [0x02C9D] = "Ll",
+		 [0x02C9E] = "Lu",
+		 [0x02C9F] = "Ll",
+		 [0x02CA0] = "Lu",
+		 [0x02CA1] = "Ll",
+		 [0x02CA2] = "Lu",
+		 [0x02CA3] = "Ll",
+		 [0x02CA4] = "Lu",
+		 [0x02CA5] = "Ll",
+		 [0x02CA6] = "Lu",
+		 [0x02CA7] = "Ll",
+		 [0x02CA8] = "Lu",
+		 [0x02CA9] = "Ll",
+		 [0x02CAA] = "Lu",
+		 [0x02CAB] = "Ll",
+		 [0x02CAC] = "Lu",
+		 [0x02CAD] = "Ll",
+		 [0x02CAE] = "Lu",
+		 [0x02CAF] = "Ll",
+		 [0x02CB0] = "Lu",
+		 [0x02CB1] = "Ll",
+		 [0x02CB2] = "Lu",
+		 [0x02CB3] = "Ll",
+		 [0x02CB4] = "Lu",
+		 [0x02CB5] = "Ll",
+		 [0x02CB6] = "Lu",
+		 [0x02CB7] = "Ll",
+		 [0x02CB8] = "Lu",
+		 [0x02CB9] = "Ll",
+		 [0x02CBA] = "Lu",
+		 [0x02CBB] = "Ll",
+		 [0x02CBC] = "Lu",
+		 [0x02CBD] = "Ll",
+		 [0x02CBE] = "Lu",
+		 [0x02CBF] = "Ll",
+		 [0x02CC0] = "Lu",
+		 [0x02CC1] = "Ll",
+		 [0x02CC2] = "Lu",
+		 [0x02CC3] = "Ll",
+		 [0x02CC4] = "Lu",
+		 [0x02CC5] = "Ll",
+		 [0x02CC6] = "Lu",
+		 [0x02CC7] = "Ll",
+		 [0x02CC8] = "Lu",
+		 [0x02CC9] = "Ll",
+		 [0x02CCA] = "Lu",
+		 [0x02CCB] = "Ll",
+		 [0x02CCC] = "Lu",
+		 [0x02CCD] = "Ll",
+		 [0x02CCE] = "Lu",
+		 [0x02CCF] = "Ll",
+		 [0x02CD0] = "Lu",
+		 [0x02CD1] = "Ll",
+		 [0x02CD2] = "Lu",
+		 [0x02CD3] = "Ll",
+		 [0x02CD4] = "Lu",
+		 [0x02CD5] = "Ll",
+		 [0x02CD6] = "Lu",
+		 [0x02CD7] = "Ll",
+		 [0x02CD8] = "Lu",
+		 [0x02CD9] = "Ll",
+		 [0x02CDA] = "Lu",
+		 [0x02CDB] = "Ll",
+		 [0x02CDC] = "Lu",
+		 [0x02CDD] = "Ll",
+		 [0x02CDE] = "Lu",
+		 [0x02CDF] = "Ll",
+		 [0x02CE0] = "Lu",
+		 [0x02CE1] = "Ll",
+		 [0x02CE2] = "Lu",
+		 [0x02CEB] = "Lu",
+		 [0x02CEC] = "Ll",
+		 [0x02CED] = "Lu",
+		 [0x02CEE] = "Ll",
+		 [0x02CF2] = "Lu",
+		 [0x02CF3] = "Ll",
+		 [0x02CFD] = "No",
+		 [0x02D27] = "Ll",
+		 [0x02D2D] = "Ll",
+		 [0x02D6F] = "Lm",
+		 [0x02D70] = "Po",
+		 [0x02D7F] = "Mn",
+		 [0x02E02] = "Pi",
+		 [0x02E03] = "Pf",
+		 [0x02E04] = "Pi",
+		 [0x02E05] = "Pf",
+		 [0x02E09] = "Pi",
+		 [0x02E0A] = "Pf",
+		 [0x02E0B] = "Po",
+		 [0x02E0C] = "Pi",
+		 [0x02E0D] = "Pf",
+		 [0x02E17] = "Pd",
+		 [0x02E1A] = "Pd",
+		 [0x02E1B] = "Po",
+		 [0x02E1C] = "Pi",
+		 [0x02E1D] = "Pf",
+		 [0x02E20] = "Pi",
+		 [0x02E21] = "Pf",
+		 [0x02E22] = "Ps",
+		 [0x02E23] = "Pe",
+		 [0x02E24] = "Ps",
+		 [0x02E25] = "Pe",
+		 [0x02E26] = "Ps",
+		 [0x02E27] = "Pe",
+		 [0x02E28] = "Ps",
+		 [0x02E29] = "Pe",
+		 [0x02E2F] = "Lm",
+		 [0x02E40] = "Pd",
+		 [0x02E41] = "Po",
+		 [0x02E42] = "Ps",
+		 [0x03000] = "Zs",
+		 [0x03004] = "So",
+		 [0x03005] = "Lm",
+		 [0x03006] = "Lo",
+		 [0x03007] = "Nl",
+		 [0x03008] = "Ps",
+		 [0x03009] = "Pe",
+		 [0x0300A] = "Ps",
+		 [0x0300B] = "Pe",
+		 [0x0300C] = "Ps",
+		 [0x0300D] = "Pe",
+		 [0x0300E] = "Ps",
+		 [0x0300F] = "Pe",
+		 [0x03010] = "Ps",
+		 [0x03011] = "Pe",
+		 [0x03014] = "Ps",
+		 [0x03015] = "Pe",
+		 [0x03016] = "Ps",
+		 [0x03017] = "Pe",
+		 [0x03018] = "Ps",
+		 [0x03019] = "Pe",
+		 [0x0301A] = "Ps",
+		 [0x0301B] = "Pe",
+		 [0x0301C] = "Pd",
+		 [0x0301D] = "Ps",
+		 [0x03020] = "So",
+		 [0x03030] = "Pd",
+		 [0x0303B] = "Lm",
+		 [0x0303C] = "Lo",
+		 [0x0303D] = "Po",
+		 [0x0309F] = "Lo",
+		 [0x030A0] = "Pd",
+		 [0x030FB] = "Po",
+		 [0x030FF] = "Lo",
+		 [0x03250] = "So",
+		 [0x0A015] = "Lm",
+		 [0x0A60C] = "Lm",
+		 [0x0A640] = "Lu",
+		 [0x0A641] = "Ll",
+		 [0x0A642] = "Lu",
+		 [0x0A643] = "Ll",
+		 [0x0A644] = "Lu",
+		 [0x0A645] = "Ll",
+		 [0x0A646] = "Lu",
+		 [0x0A647] = "Ll",
+		 [0x0A648] = "Lu",
+		 [0x0A649] = "Ll",
+		 [0x0A64A] = "Lu",
+		 [0x0A64B] = "Ll",
+		 [0x0A64C] = "Lu",
+		 [0x0A64D] = "Ll",
+		 [0x0A64E] = "Lu",
+		 [0x0A64F] = "Ll",
+		 [0x0A650] = "Lu",
+		 [0x0A651] = "Ll",
+		 [0x0A652] = "Lu",
+		 [0x0A653] = "Ll",
+		 [0x0A654] = "Lu",
+		 [0x0A655] = "Ll",
+		 [0x0A656] = "Lu",
+		 [0x0A657] = "Ll",
+		 [0x0A658] = "Lu",
+		 [0x0A659] = "Ll",
+		 [0x0A65A] = "Lu",
+		 [0x0A65B] = "Ll",
+		 [0x0A65C] = "Lu",
+		 [0x0A65D] = "Ll",
+		 [0x0A65E] = "Lu",
+		 [0x0A65F] = "Ll",
+		 [0x0A660] = "Lu",
+		 [0x0A661] = "Ll",
+		 [0x0A662] = "Lu",
+		 [0x0A663] = "Ll",
+		 [0x0A664] = "Lu",
+		 [0x0A665] = "Ll",
+		 [0x0A666] = "Lu",
+		 [0x0A667] = "Ll",
+		 [0x0A668] = "Lu",
+		 [0x0A669] = "Ll",
+		 [0x0A66A] = "Lu",
+		 [0x0A66B] = "Ll",
+		 [0x0A66C] = "Lu",
+		 [0x0A66D] = "Ll",
+		 [0x0A66E] = "Lo",
+		 [0x0A66F] = "Mn",
+		 [0x0A673] = "Po",
+		 [0x0A67E] = "Po",
+		 [0x0A67F] = "Lm",
+		 [0x0A680] = "Lu",
+		 [0x0A681] = "Ll",
+		 [0x0A682] = "Lu",
+		 [0x0A683] = "Ll",
+		 [0x0A684] = "Lu",
+		 [0x0A685] = "Ll",
+		 [0x0A686] = "Lu",
+		 [0x0A687] = "Ll",
+		 [0x0A688] = "Lu",
+		 [0x0A689] = "Ll",
+		 [0x0A68A] = "Lu",
+		 [0x0A68B] = "Ll",
+		 [0x0A68C] = "Lu",
+		 [0x0A68D] = "Ll",
+		 [0x0A68E] = "Lu",
+		 [0x0A68F] = "Ll",
+		 [0x0A690] = "Lu",
+		 [0x0A691] = "Ll",
+		 [0x0A692] = "Lu",
+		 [0x0A693] = "Ll",
+		 [0x0A694] = "Lu",
+		 [0x0A695] = "Ll",
+		 [0x0A696] = "Lu",
+		 [0x0A697] = "Ll",
+		 [0x0A698] = "Lu",
+		 [0x0A699] = "Ll",
+		 [0x0A69A] = "Lu",
+		 [0x0A69B] = "Ll",
+		 [0x0A722] = "Lu",
+		 [0x0A723] = "Ll",
+		 [0x0A724] = "Lu",
+		 [0x0A725] = "Ll",
+		 [0x0A726] = "Lu",
+		 [0x0A727] = "Ll",
+		 [0x0A728] = "Lu",
+		 [0x0A729] = "Ll",
+		 [0x0A72A] = "Lu",
+		 [0x0A72B] = "Ll",
+		 [0x0A72C] = "Lu",
+		 [0x0A72D] = "Ll",
+		 [0x0A72E] = "Lu",
+		 [0x0A732] = "Lu",
+		 [0x0A733] = "Ll",
+		 [0x0A734] = "Lu",
+		 [0x0A735] = "Ll",
+		 [0x0A736] = "Lu",
+		 [0x0A737] = "Ll",
+		 [0x0A738] = "Lu",
+		 [0x0A739] = "Ll",
+		 [0x0A73A] = "Lu",
+		 [0x0A73B] = "Ll",
+		 [0x0A73C] = "Lu",
+		 [0x0A73D] = "Ll",
+		 [0x0A73E] = "Lu",
+		 [0x0A73F] = "Ll",
+		 [0x0A740] = "Lu",
+		 [0x0A741] = "Ll",
+		 [0x0A742] = "Lu",
+		 [0x0A743] = "Ll",
+		 [0x0A744] = "Lu",
+		 [0x0A745] = "Ll",
+		 [0x0A746] = "Lu",
+		 [0x0A747] = "Ll",
+		 [0x0A748] = "Lu",
+		 [0x0A749] = "Ll",
+		 [0x0A74A] = "Lu",
+		 [0x0A74B] = "Ll",
+		 [0x0A74C] = "Lu",
+		 [0x0A74D] = "Ll",
+		 [0x0A74E] = "Lu",
+		 [0x0A74F] = "Ll",
+		 [0x0A750] = "Lu",
+		 [0x0A751] = "Ll",
+		 [0x0A752] = "Lu",
+		 [0x0A753] = "Ll",
+		 [0x0A754] = "Lu",
+		 [0x0A755] = "Ll",
+		 [0x0A756] = "Lu",
+		 [0x0A757] = "Ll",
+		 [0x0A758] = "Lu",
+		 [0x0A759] = "Ll",
+		 [0x0A75A] = "Lu",
+		 [0x0A75B] = "Ll",
+		 [0x0A75C] = "Lu",
+		 [0x0A75D] = "Ll",
+		 [0x0A75E] = "Lu",
+		 [0x0A75F] = "Ll",
+		 [0x0A760] = "Lu",
+		 [0x0A761] = "Ll",
+		 [0x0A762] = "Lu",
+		 [0x0A763] = "Ll",
+		 [0x0A764] = "Lu",
+		 [0x0A765] = "Ll",
+		 [0x0A766] = "Lu",
+		 [0x0A767] = "Ll",
+		 [0x0A768] = "Lu",
+		 [0x0A769] = "Ll",
+		 [0x0A76A] = "Lu",
+		 [0x0A76B] = "Ll",
+		 [0x0A76C] = "Lu",
+		 [0x0A76D] = "Ll",
+		 [0x0A76E] = "Lu",
+		 [0x0A76F] = "Ll",
+		 [0x0A770] = "Lm",
+		 [0x0A779] = "Lu",
+		 [0x0A77A] = "Ll",
+		 [0x0A77B] = "Lu",
+		 [0x0A77C] = "Ll",
+		 [0x0A77F] = "Ll",
+		 [0x0A780] = "Lu",
+		 [0x0A781] = "Ll",
+		 [0x0A782] = "Lu",
+		 [0x0A783] = "Ll",
+		 [0x0A784] = "Lu",
+		 [0x0A785] = "Ll",
+		 [0x0A786] = "Lu",
+		 [0x0A787] = "Ll",
+		 [0x0A788] = "Lm",
+		 [0x0A78B] = "Lu",
+		 [0x0A78C] = "Ll",
+		 [0x0A78D] = "Lu",
+		 [0x0A78E] = "Ll",
+		 [0x0A78F] = "Lo",
+		 [0x0A790] = "Lu",
+		 [0x0A791] = "Ll",
+		 [0x0A792] = "Lu",
+		 [0x0A796] = "Lu",
+		 [0x0A797] = "Ll",
+		 [0x0A798] = "Lu",
+		 [0x0A799] = "Ll",
+		 [0x0A79A] = "Lu",
+		 [0x0A79B] = "Ll",
+		 [0x0A79C] = "Lu",
+		 [0x0A79D] = "Ll",
+		 [0x0A79E] = "Lu",
+		 [0x0A79F] = "Ll",
+		 [0x0A7A0] = "Lu",
+		 [0x0A7A1] = "Ll",
+		 [0x0A7A2] = "Lu",
+		 [0x0A7A3] = "Ll",
+		 [0x0A7A4] = "Lu",
+		 [0x0A7A5] = "Ll",
+		 [0x0A7A6] = "Lu",
+		 [0x0A7A7] = "Ll",
+		 [0x0A7A8] = "Lu",
+		 [0x0A7A9] = "Ll",
+		 [0x0A7AF] = "Ll",
+		 [0x0A7B5] = "Ll",
+		 [0x0A7B6] = "Lu",
+		 [0x0A7B7] = "Ll",
+		 [0x0A7B8] = "Lu",
+		 [0x0A7B9] = "Ll",
+		 [0x0A7F7] = "Lo",
+		 [0x0A7FA] = "Ll",
+		 [0x0A802] = "Mn",
+		 [0x0A806] = "Mn",
+		 [0x0A80B] = "Mn",
+		 [0x0A827] = "Mc",
+		 [0x0A838] = "Sc",
+		 [0x0A839] = "So",
+		 [0x0A8FB] = "Lo",
+		 [0x0A8FC] = "Po",
+		 [0x0A8FF] = "Mn",
+		 [0x0A95F] = "Po",
+		 [0x0A983] = "Mc",
+		 [0x0A9B3] = "Mn",
+		 [0x0A9BC] = "Mn",
+		 [0x0A9CF] = "Lm",
+		 [0x0A9E5] = "Mn",
+		 [0x0A9E6] = "Lm",
+		 [0x0AA43] = "Mn",
+		 [0x0AA4C] = "Mn",
+		 [0x0AA4D] = "Mc",
+		 [0x0AA70] = "Lm",
+		 [0x0AA7A] = "Lo",
+		 [0x0AA7B] = "Mc",
+		 [0x0AA7C] = "Mn",
+		 [0x0AA7D] = "Mc",
+		 [0x0AAB0] = "Mn",
+		 [0x0AAB1] = "Lo",
+		 [0x0AAC0] = "Lo",
+		 [0x0AAC1] = "Mn",
+		 [0x0AAC2] = "Lo",
+		 [0x0AADD] = "Lm",
+		 [0x0AAEB] = "Mc",
+		 [0x0AAF2] = "Lo",
+		 [0x0AAF5] = "Mc",
+		 [0x0AAF6] = "Mn",
+		 [0x0AB5B] = "Sk",
+		 [0x0ABE5] = "Mn",
+		 [0x0ABE8] = "Mn",
+		 [0x0ABEB] = "Po",
+		 [0x0ABEC] = "Mc",
+		 [0x0ABED] = "Mn",
+		 [0x0FB1D] = "Lo",
+		 [0x0FB1E] = "Mn",
+		 [0x0FB29] = "Sm",
+		 [0x0FB3E] = "Lo",
+		 [0x0FD3E] = "Pe",
+		 [0x0FD3F] = "Ps",
+		 [0x0FDFC] = "Sc",
+		 [0x0FDFD] = "So",
+		 [0x0FE17] = "Ps",
+		 [0x0FE18] = "Pe",
+		 [0x0FE19] = "Po",
+		 [0x0FE30] = "Po",
+		 [0x0FE35] = "Ps",
+		 [0x0FE36] = "Pe",
+		 [0x0FE37] = "Ps",
+		 [0x0FE38] = "Pe",
+		 [0x0FE39] = "Ps",
+		 [0x0FE3A] = "Pe",
+		 [0x0FE3B] = "Ps",
+		 [0x0FE3C] = "Pe",
+		 [0x0FE3D] = "Ps",
+		 [0x0FE3E] = "Pe",
+		 [0x0FE3F] = "Ps",
+		 [0x0FE40] = "Pe",
+		 [0x0FE41] = "Ps",
+		 [0x0FE42] = "Pe",
+		 [0x0FE43] = "Ps",
+		 [0x0FE44] = "Pe",
+		 [0x0FE47] = "Ps",
+		 [0x0FE48] = "Pe",
+		 [0x0FE58] = "Pd",
+		 [0x0FE59] = "Ps",
+		 [0x0FE5A] = "Pe",
+		 [0x0FE5B] = "Ps",
+		 [0x0FE5C] = "Pe",
+		 [0x0FE5D] = "Ps",
+		 [0x0FE5E] = "Pe",
+		 [0x0FE62] = "Sm",
+		 [0x0FE63] = "Pd",
+		 [0x0FE68] = "Po",
+		 [0x0FE69] = "Sc",
+		 [0x0FEFF] = "Cf",
+		 [0x0FF04] = "Sc",
+		 [0x0FF08] = "Ps",
+		 [0x0FF09] = "Pe",
+		 [0x0FF0A] = "Po",
+		 [0x0FF0B] = "Sm",
+		 [0x0FF0C] = "Po",
+		 [0x0FF0D] = "Pd",
+		 [0x0FF3B] = "Ps",
+		 [0x0FF3C] = "Po",
+		 [0x0FF3D] = "Pe",
+		 [0x0FF3E] = "Sk",
+		 [0x0FF3F] = "Pc",
+		 [0x0FF40] = "Sk",
+		 [0x0FF5B] = "Ps",
+		 [0x0FF5C] = "Sm",
+		 [0x0FF5D] = "Pe",
+		 [0x0FF5E] = "Sm",
+		 [0x0FF5F] = "Ps",
+		 [0x0FF60] = "Pe",
+		 [0x0FF61] = "Po",
+		 [0x0FF62] = "Ps",
+		 [0x0FF63] = "Pe",
+		 [0x0FF70] = "Lm",
+		 [0x0FFE2] = "Sm",
+		 [0x0FFE3] = "Sk",
+		 [0x0FFE4] = "So",
+		 [0x0FFE8] = "So",
+		 [0x101A0] = "So",
+		 [0x101FD] = "Mn",
+		 [0x102E0] = "Mn",
+		 [0x10341] = "Nl",
+		 [0x1034A] = "Nl",
+		 [0x1039F] = "Po",
+		 [0x103D0] = "Po",
+		 [0x1056F] = "Po",
+		 [0x10808] = "Lo",
+		 [0x1083C] = "Lo",
+		 [0x10857] = "Po",
+		 [0x1091F] = "Po",
+		 [0x1093F] = "Po",
+		 [0x10A00] = "Lo",
+		 [0x10A3F] = "Mn",
+		 [0x10A7F] = "Po",
+		 [0x10AC8] = "So",
+		 [0x10F27] = "Lo",
+		 [0x11000] = "Mc",
+		 [0x11001] = "Mn",
+		 [0x11002] = "Mc",
+		 [0x11082] = "Mc",
+		 [0x110BD] = "Cf",
+		 [0x110CD] = "Cf",
+		 [0x1112C] = "Mc",
+		 [0x11144] = "Lo",
+		 [0x11173] = "Mn",
+		 [0x11176] = "Lo",
+		 [0x11182] = "Mc",
+		 [0x111CD] = "Po",
+		 [0x111DA] = "Lo",
+		 [0x111DB] = "Po",
+		 [0x111DC] = "Lo",
+		 [0x11234] = "Mn",
+		 [0x11235] = "Mc",
+		 [0x1123E] = "Mn",
+		 [0x11288] = "Lo",
+		 [0x112A9] = "Po",
+		 [0x112DF] = "Mn",
+		 [0x1133D] = "Lo",
+		 [0x11340] = "Mn",
+		 [0x11350] = "Lo",
+		 [0x11357] = "Mc",
+		 [0x11445] = "Mc",
+		 [0x11446] = "Mn",
+		 [0x1145B] = "Po",
+		 [0x1145D] = "Po",
+		 [0x1145E] = "Mn",
+		 [0x114B9] = "Mc",
+		 [0x114BA] = "Mn",
+		 [0x114C1] = "Mc",
+		 [0x114C6] = "Po",
+		 [0x114C7] = "Lo",
+		 [0x115BE] = "Mc",
+		 [0x1163D] = "Mn",
+		 [0x1163E] = "Mc",
+		 [0x11644] = "Lo",
+		 [0x116AB] = "Mn",
+		 [0x116AC] = "Mc",
+		 [0x116AD] = "Mn",
+		 [0x116B6] = "Mc",
+		 [0x116B7] = "Mn",
+		 [0x11726] = "Mc",
+		 [0x1173F] = "So",
+		 [0x11838] = "Mc",
+		 [0x1183B] = "Po",
+		 [0x118FF] = "Lo",
+		 [0x11A00] = "Lo",
+		 [0x11A39] = "Mc",
+		 [0x11A3A] = "Lo",
+		 [0x11A47] = "Mn",
+		 [0x11A50] = "Lo",
+		 [0x11A97] = "Mc",
+		 [0x11A9D] = "Lo",
+		 [0x11C2F] = "Mc",
+		 [0x11C3E] = "Mc",
+		 [0x11C3F] = "Mn",
+		 [0x11C40] = "Lo",
+		 [0x11CA9] = "Mc",
+		 [0x11CB1] = "Mc",
+		 [0x11CB4] = "Mc",
+		 [0x11D3A] = "Mn",
+		 [0x11D46] = "Lo",
+		 [0x11D47] = "Mn",
+		 [0x11D95] = "Mn",
+		 [0x11D96] = "Mc",
+		 [0x11D97] = "Mn",
+		 [0x11D98] = "Lo",
+		 [0x16AF5] = "Po",
+		 [0x16B44] = "Po",
+		 [0x16B45] = "So",
+		 [0x16F50] = "Lo",
+		 [0x1BC9C] = "So",
+		 [0x1BC9F] = "Po",
+		 [0x1D245] = "So",
+		 [0x1D49C] = "Lu",
+		 [0x1D4A2] = "Lu",
+		 [0x1D4BB] = "Ll",
+		 [0x1D546] = "Lu",
+		 [0x1D6C1] = "Sm",
+		 [0x1D6DB] = "Sm",
+		 [0x1D6FB] = "Sm",
+		 [0x1D715] = "Sm",
+		 [0x1D735] = "Sm",
+		 [0x1D74F] = "Sm",
+		 [0x1D76F] = "Sm",
+		 [0x1D789] = "Sm",
+		 [0x1D7A9] = "Sm",
+		 [0x1D7C3] = "Sm",
+		 [0x1D7CA] = "Lu",
+		 [0x1D7CB] = "Ll",
+		 [0x1DA75] = "Mn",
+		 [0x1DA84] = "Mn",
+		 [0x1ECAC] = "So",
+		 [0x1ECB0] = "Sc",
+		 [0x1EE24] = "Lo",
+		 [0x1EE27] = "Lo",
+		 [0x1EE39] = "Lo",
+		 [0x1EE3B] = "Lo",
+		 [0x1EE42] = "Lo",
+		 [0x1EE47] = "Lo",
+		 [0x1EE49] = "Lo",
+		 [0x1EE4B] = "Lo",
+		 [0x1EE54] = "Lo",
+		 [0x1EE57] = "Lo",
+		 [0x1EE59] = "Lo",
+		 [0x1EE5B] = "Lo",
+		 [0x1EE5D] = "Lo",
+		 [0x1EE5F] = "Lo",
+		 [0x1EE64] = "Lo",
+		 [0x1EE7E] = "Lo",
+		 [0x1F97A] = "So",
+		 [0xE0001] = "Cf",
+	},
+	ranges = {
+		{ 0x000000, 0x00001F, "Cc" },
+		{ 0x000021, 0x000023, "Po" },
+		{ 0x000025, 0x000027, "Po" },
+		{ 0x00002E, 0x00002F, "Po" },
+		{ 0x000030, 0x000039, "Nd" },
+		{ 0x00003A, 0x00003B, "Po" },
+		{ 0x00003C, 0x00003E, "Sm" },
+		{ 0x00003F, 0x000040, "Po" },
+		{ 0x000041, 0x00005A, "Lu" },
+		{ 0x000061, 0x00007A, "Ll" },
+		{ 0x00007F, 0x00009F, "Cc" },
+		{ 0x0000A2, 0x0000A5, "Sc" },
+		{ 0x0000B2, 0x0000B3, "No" },
+		{ 0x0000B6, 0x0000B7, "Po" },
+		{ 0x0000BC, 0x0000BE, "No" },
+		{ 0x0000C0, 0x0000D6, "Lu" },
+		{ 0x0000D8, 0x0000DE, "Lu" },
+		{ 0x0000DF, 0x0000F6, "Ll" },
+		{ 0x0000F8, 0x0000FF, "Ll" },
+		{ 0x000137, 0x000138, "Ll" },
+		{ 0x000148, 0x000149, "Ll" },
+		{ 0x000178, 0x000179, "Lu" },
+		{ 0x00017E, 0x000180, "Ll" },
+		{ 0x000181, 0x000182, "Lu" },
+		{ 0x000186, 0x000187, "Lu" },
+		{ 0x000189, 0x00018B, "Lu" },
+		{ 0x00018C, 0x00018D, "Ll" },
+		{ 0x00018E, 0x000191, "Lu" },
+		{ 0x000193, 0x000194, "Lu" },
+		{ 0x000196, 0x000198, "Lu" },
+		{ 0x000199, 0x00019B, "Ll" },
+		{ 0x00019C, 0x00019D, "Lu" },
+		{ 0x00019F, 0x0001A0, "Lu" },
+		{ 0x0001A6, 0x0001A7, "Lu" },
+		{ 0x0001AA, 0x0001AB, "Ll" },
+		{ 0x0001AE, 0x0001AF, "Lu" },
+		{ 0x0001B1, 0x0001B3, "Lu" },
+		{ 0x0001B7, 0x0001B8, "Lu" },
+		{ 0x0001B9, 0x0001BA, "Ll" },
+		{ 0x0001BD, 0x0001BF, "Ll" },
+		{ 0x0001C0, 0x0001C3, "Lo" },
+		{ 0x0001DC, 0x0001DD, "Ll" },
+		{ 0x0001EF, 0x0001F0, "Ll" },
+		{ 0x0001F6, 0x0001F8, "Lu" },
+		{ 0x000233, 0x000239, "Ll" },
+		{ 0x00023A, 0x00023B, "Lu" },
+		{ 0x00023D, 0x00023E, "Lu" },
+		{ 0x00023F, 0x000240, "Ll" },
+		{ 0x000243, 0x000246, "Lu" },
+		{ 0x00024F, 0x000293, "Ll" },
+		{ 0x000295, 0x0002AF, "Ll" },
+		{ 0x0002B0, 0x0002C1, "Lm" },
+		{ 0x0002C2, 0x0002C5, "Sk" },
+		{ 0x0002C6, 0x0002D1, "Lm" },
+		{ 0x0002D2, 0x0002DF, "Sk" },
+		{ 0x0002E0, 0x0002E4, "Lm" },
+		{ 0x0002E5, 0x0002EB, "Sk" },
+		{ 0x0002EF, 0x0002FF, "Sk" },
+		{ 0x000300, 0x00036F, "Mn" },
+		{ 0x00037B, 0x00037D, "Ll" },
+		{ 0x000384, 0x000385, "Sk" },
+		{ 0x000388, 0x00038A, "Lu" },
+		{ 0x00038E, 0x00038F, "Lu" },
+		{ 0x000391, 0x0003A1, "Lu" },
+		{ 0x0003A3, 0x0003AB, "Lu" },
+		{ 0x0003AC, 0x0003CE, "Ll" },
+		{ 0x0003D0, 0x0003D1, "Ll" },
+		{ 0x0003D2, 0x0003D4, "Lu" },
+		{ 0x0003D5, 0x0003D7, "Ll" },
+		{ 0x0003EF, 0x0003F3, "Ll" },
+		{ 0x0003F9, 0x0003FA, "Lu" },
+		{ 0x0003FB, 0x0003FC, "Ll" },
+		{ 0x0003FD, 0x00042F, "Lu" },
+		{ 0x000430, 0x00045F, "Ll" },
+		{ 0x000483, 0x000487, "Mn" },
+		{ 0x000488, 0x000489, "Me" },
+		{ 0x0004C0, 0x0004C1, "Lu" },
+		{ 0x0004CE, 0x0004CF, "Ll" },
+		{ 0x000531, 0x000556, "Lu" },
+		{ 0x00055A, 0x00055F, "Po" },
+		{ 0x000560, 0x000588, "Ll" },
+		{ 0x00058D, 0x00058E, "So" },
+		{ 0x000591, 0x0005BD, "Mn" },
+		{ 0x0005C1, 0x0005C2, "Mn" },
+		{ 0x0005C4, 0x0005C5, "Mn" },
+		{ 0x0005D0, 0x0005EA, "Lo" },
+		{ 0x0005EF, 0x0005F2, "Lo" },
+		{ 0x0005F3, 0x0005F4, "Po" },
+		{ 0x000600, 0x000605, "Cf" },
+		{ 0x000606, 0x000608, "Sm" },
+		{ 0x000609, 0x00060A, "Po" },
+		{ 0x00060C, 0x00060D, "Po" },
+		{ 0x00060E, 0x00060F, "So" },
+		{ 0x000610, 0x00061A, "Mn" },
+		{ 0x00061E, 0x00061F, "Po" },
+		{ 0x000620, 0x00063F, "Lo" },
+		{ 0x000641, 0x00064A, "Lo" },
+		{ 0x00064B, 0x00065F, "Mn" },
+		{ 0x000660, 0x000669, "Nd" },
+		{ 0x00066A, 0x00066D, "Po" },
+		{ 0x00066E, 0x00066F, "Lo" },
+		{ 0x000671, 0x0006D3, "Lo" },
+		{ 0x0006D6, 0x0006DC, "Mn" },
+		{ 0x0006DF, 0x0006E4, "Mn" },
+		{ 0x0006E5, 0x0006E6, "Lm" },
+		{ 0x0006E7, 0x0006E8, "Mn" },
+		{ 0x0006EA, 0x0006ED, "Mn" },
+		{ 0x0006EE, 0x0006EF, "Lo" },
+		{ 0x0006F0, 0x0006F9, "Nd" },
+		{ 0x0006FA, 0x0006FC, "Lo" },
+		{ 0x0006FD, 0x0006FE, "So" },
+		{ 0x000700, 0x00070D, "Po" },
+		{ 0x000712, 0x00072F, "Lo" },
+		{ 0x000730, 0x00074A, "Mn" },
+		{ 0x00074D, 0x0007A5, "Lo" },
+		{ 0x0007A6, 0x0007B0, "Mn" },
+		{ 0x0007C0, 0x0007C9, "Nd" },
+		{ 0x0007CA, 0x0007EA, "Lo" },
+		{ 0x0007EB, 0x0007F3, "Mn" },
+		{ 0x0007F4, 0x0007F5, "Lm" },
+		{ 0x0007F7, 0x0007F9, "Po" },
+		{ 0x0007FE, 0x0007FF, "Sc" },
+		{ 0x000800, 0x000815, "Lo" },
+		{ 0x000816, 0x000819, "Mn" },
+		{ 0x00081B, 0x000823, "Mn" },
+		{ 0x000825, 0x000827, "Mn" },
+		{ 0x000829, 0x00082D, "Mn" },
+		{ 0x000830, 0x00083E, "Po" },
+		{ 0x000840, 0x000858, "Lo" },
+		{ 0x000859, 0x00085B, "Mn" },
+		{ 0x000860, 0x00086A, "Lo" },
+		{ 0x0008A0, 0x0008B4, "Lo" },
+		{ 0x0008B6, 0x0008BD, "Lo" },
+		{ 0x0008D3, 0x0008E1, "Mn" },
+		{ 0x0008E3, 0x000902, "Mn" },
+		{ 0x000904, 0x000939, "Lo" },
+		{ 0x00093E, 0x000940, "Mc" },
+		{ 0x000941, 0x000948, "Mn" },
+		{ 0x000949, 0x00094C, "Mc" },
+		{ 0x00094E, 0x00094F, "Mc" },
+		{ 0x000951, 0x000957, "Mn" },
+		{ 0x000958, 0x000961, "Lo" },
+		{ 0x000962, 0x000963, "Mn" },
+		{ 0x000964, 0x000965, "Po" },
+		{ 0x000966, 0x00096F, "Nd" },
+		{ 0x000972, 0x000980, "Lo" },
+		{ 0x000982, 0x000983, "Mc" },
+		{ 0x000985, 0x00098C, "Lo" },
+		{ 0x00098F, 0x000990, "Lo" },
+		{ 0x000993, 0x0009A8, "Lo" },
+		{ 0x0009AA, 0x0009B0, "Lo" },
+		{ 0x0009B6, 0x0009B9, "Lo" },
+		{ 0x0009BE, 0x0009C0, "Mc" },
+		{ 0x0009C1, 0x0009C4, "Mn" },
+		{ 0x0009C7, 0x0009C8, "Mc" },
+		{ 0x0009CB, 0x0009CC, "Mc" },
+		{ 0x0009DC, 0x0009DD, "Lo" },
+		{ 0x0009DF, 0x0009E1, "Lo" },
+		{ 0x0009E2, 0x0009E3, "Mn" },
+		{ 0x0009E6, 0x0009EF, "Nd" },
+		{ 0x0009F0, 0x0009F1, "Lo" },
+		{ 0x0009F2, 0x0009F3, "Sc" },
+		{ 0x0009F4, 0x0009F9, "No" },
+		{ 0x000A01, 0x000A02, "Mn" },
+		{ 0x000A05, 0x000A0A, "Lo" },
+		{ 0x000A0F, 0x000A10, "Lo" },
+		{ 0x000A13, 0x000A28, "Lo" },
+		{ 0x000A2A, 0x000A30, "Lo" },
+		{ 0x000A32, 0x000A33, "Lo" },
+		{ 0x000A35, 0x000A36, "Lo" },
+		{ 0x000A38, 0x000A39, "Lo" },
+		{ 0x000A3E, 0x000A40, "Mc" },
+		{ 0x000A41, 0x000A42, "Mn" },
+		{ 0x000A47, 0x000A48, "Mn" },
+		{ 0x000A4B, 0x000A4D, "Mn" },
+		{ 0x000A59, 0x000A5C, "Lo" },
+		{ 0x000A66, 0x000A6F, "Nd" },
+		{ 0x000A70, 0x000A71, "Mn" },
+		{ 0x000A72, 0x000A74, "Lo" },
+		{ 0x000A81, 0x000A82, "Mn" },
+		{ 0x000A85, 0x000A8D, "Lo" },
+		{ 0x000A8F, 0x000A91, "Lo" },
+		{ 0x000A93, 0x000AA8, "Lo" },
+		{ 0x000AAA, 0x000AB0, "Lo" },
+		{ 0x000AB2, 0x000AB3, "Lo" },
+		{ 0x000AB5, 0x000AB9, "Lo" },
+		{ 0x000ABE, 0x000AC0, "Mc" },
+		{ 0x000AC1, 0x000AC5, "Mn" },
+		{ 0x000AC7, 0x000AC8, "Mn" },
+		{ 0x000ACB, 0x000ACC, "Mc" },
+		{ 0x000AE0, 0x000AE1, "Lo" },
+		{ 0x000AE2, 0x000AE3, "Mn" },
+		{ 0x000AE6, 0x000AEF, "Nd" },
+		{ 0x000AFA, 0x000AFF, "Mn" },
+		{ 0x000B02, 0x000B03, "Mc" },
+		{ 0x000B05, 0x000B0C, "Lo" },
+		{ 0x000B0F, 0x000B10, "Lo" },
+		{ 0x000B13, 0x000B28, "Lo" },
+		{ 0x000B2A, 0x000B30, "Lo" },
+		{ 0x000B32, 0x000B33, "Lo" },
+		{ 0x000B35, 0x000B39, "Lo" },
+		{ 0x000B41, 0x000B44, "Mn" },
+		{ 0x000B47, 0x000B48, "Mc" },
+		{ 0x000B4B, 0x000B4C, "Mc" },
+		{ 0x000B5C, 0x000B5D, "Lo" },
+		{ 0x000B5F, 0x000B61, "Lo" },
+		{ 0x000B62, 0x000B63, "Mn" },
+		{ 0x000B66, 0x000B6F, "Nd" },
+		{ 0x000B72, 0x000B77, "No" },
+		{ 0x000B85, 0x000B8A, "Lo" },
+		{ 0x000B8E, 0x000B90, "Lo" },
+		{ 0x000B92, 0x000B95, "Lo" },
+		{ 0x000B99, 0x000B9A, "Lo" },
+		{ 0x000B9E, 0x000B9F, "Lo" },
+		{ 0x000BA3, 0x000BA4, "Lo" },
+		{ 0x000BA8, 0x000BAA, "Lo" },
+		{ 0x000BAE, 0x000BB9, "Lo" },
+		{ 0x000BBE, 0x000BBF, "Mc" },
+		{ 0x000BC1, 0x000BC2, "Mc" },
+		{ 0x000BC6, 0x000BC8, "Mc" },
+		{ 0x000BCA, 0x000BCC, "Mc" },
+		{ 0x000BE6, 0x000BEF, "Nd" },
+		{ 0x000BF0, 0x000BF2, "No" },
+		{ 0x000BF3, 0x000BF8, "So" },
+		{ 0x000C01, 0x000C03, "Mc" },
+		{ 0x000C05, 0x000C0C, "Lo" },
+		{ 0x000C0E, 0x000C10, "Lo" },
+		{ 0x000C12, 0x000C28, "Lo" },
+		{ 0x000C2A, 0x000C39, "Lo" },
+		{ 0x000C3E, 0x000C40, "Mn" },
+		{ 0x000C41, 0x000C44, "Mc" },
+		{ 0x000C46, 0x000C48, "Mn" },
+		{ 0x000C4A, 0x000C4D, "Mn" },
+		{ 0x000C55, 0x000C56, "Mn" },
+		{ 0x000C58, 0x000C5A, "Lo" },
+		{ 0x000C60, 0x000C61, "Lo" },
+		{ 0x000C62, 0x000C63, "Mn" },
+		{ 0x000C66, 0x000C6F, "Nd" },
+		{ 0x000C78, 0x000C7E, "No" },
+		{ 0x000C82, 0x000C83, "Mc" },
+		{ 0x000C85, 0x000C8C, "Lo" },
+		{ 0x000C8E, 0x000C90, "Lo" },
+		{ 0x000C92, 0x000CA8, "Lo" },
+		{ 0x000CAA, 0x000CB3, "Lo" },
+		{ 0x000CB5, 0x000CB9, "Lo" },
+		{ 0x000CC0, 0x000CC4, "Mc" },
+		{ 0x000CC7, 0x000CC8, "Mc" },
+		{ 0x000CCA, 0x000CCB, "Mc" },
+		{ 0x000CCC, 0x000CCD, "Mn" },
+		{ 0x000CD5, 0x000CD6, "Mc" },
+		{ 0x000CE0, 0x000CE1, "Lo" },
+		{ 0x000CE2, 0x000CE3, "Mn" },
+		{ 0x000CE6, 0x000CEF, "Nd" },
+		{ 0x000CF1, 0x000CF2, "Lo" },
+		{ 0x000D00, 0x000D01, "Mn" },
+		{ 0x000D02, 0x000D03, "Mc" },
+		{ 0x000D05, 0x000D0C, "Lo" },
+		{ 0x000D0E, 0x000D10, "Lo" },
+		{ 0x000D12, 0x000D3A, "Lo" },
+		{ 0x000D3B, 0x000D3C, "Mn" },
+		{ 0x000D3E, 0x000D40, "Mc" },
+		{ 0x000D41, 0x000D44, "Mn" },
+		{ 0x000D46, 0x000D48, "Mc" },
+		{ 0x000D4A, 0x000D4C, "Mc" },
+		{ 0x000D54, 0x000D56, "Lo" },
+		{ 0x000D58, 0x000D5E, "No" },
+		{ 0x000D5F, 0x000D61, "Lo" },
+		{ 0x000D62, 0x000D63, "Mn" },
+		{ 0x000D66, 0x000D6F, "Nd" },
+		{ 0x000D70, 0x000D78, "No" },
+		{ 0x000D7A, 0x000D7F, "Lo" },
+		{ 0x000D82, 0x000D83, "Mc" },
+		{ 0x000D85, 0x000D96, "Lo" },
+		{ 0x000D9A, 0x000DB1, "Lo" },
+		{ 0x000DB3, 0x000DBB, "Lo" },
+		{ 0x000DC0, 0x000DC6, "Lo" },
+		{ 0x000DCF, 0x000DD1, "Mc" },
+		{ 0x000DD2, 0x000DD4, "Mn" },
+		{ 0x000DD8, 0x000DDF, "Mc" },
+		{ 0x000DE6, 0x000DEF, "Nd" },
+		{ 0x000DF2, 0x000DF3, "Mc" },
+		{ 0x000E01, 0x000E30, "Lo" },
+		{ 0x000E32, 0x000E33, "Lo" },
+		{ 0x000E34, 0x000E3A, "Mn" },
+		{ 0x000E40, 0x000E45, "Lo" },
+		{ 0x000E47, 0x000E4E, "Mn" },
+		{ 0x000E50, 0x000E59, "Nd" },
+		{ 0x000E5A, 0x000E5B, "Po" },
+		{ 0x000E81, 0x000E82, "Lo" },
+		{ 0x000E87, 0x000E88, "Lo" },
+		{ 0x000E94, 0x000E97, "Lo" },
+		{ 0x000E99, 0x000E9F, "Lo" },
+		{ 0x000EA1, 0x000EA3, "Lo" },
+		{ 0x000EAA, 0x000EAB, "Lo" },
+		{ 0x000EAD, 0x000EB0, "Lo" },
+		{ 0x000EB2, 0x000EB3, "Lo" },
+		{ 0x000EB4, 0x000EB9, "Mn" },
+		{ 0x000EBB, 0x000EBC, "Mn" },
+		{ 0x000EC0, 0x000EC4, "Lo" },
+		{ 0x000EC8, 0x000ECD, "Mn" },
+		{ 0x000ED0, 0x000ED9, "Nd" },
+		{ 0x000EDC, 0x000EDF, "Lo" },
+		{ 0x000F01, 0x000F03, "So" },
+		{ 0x000F04, 0x000F12, "Po" },
+		{ 0x000F15, 0x000F17, "So" },
+		{ 0x000F18, 0x000F19, "Mn" },
+		{ 0x000F1A, 0x000F1F, "So" },
+		{ 0x000F20, 0x000F29, "Nd" },
+		{ 0x000F2A, 0x000F33, "No" },
+		{ 0x000F3E, 0x000F3F, "Mc" },
+		{ 0x000F40, 0x000F47, "Lo" },
+		{ 0x000F49, 0x000F6C, "Lo" },
+		{ 0x000F71, 0x000F7E, "Mn" },
+		{ 0x000F80, 0x000F84, "Mn" },
+		{ 0x000F86, 0x000F87, "Mn" },
+		{ 0x000F88, 0x000F8C, "Lo" },
+		{ 0x000F8D, 0x000F97, "Mn" },
+		{ 0x000F99, 0x000FBC, "Mn" },
+		{ 0x000FBE, 0x000FC5, "So" },
+		{ 0x000FC7, 0x000FCC, "So" },
+		{ 0x000FCE, 0x000FCF, "So" },
+		{ 0x000FD0, 0x000FD4, "Po" },
+		{ 0x000FD5, 0x000FD8, "So" },
+		{ 0x000FD9, 0x000FDA, "Po" },
+		{ 0x001000, 0x00102A, "Lo" },
+		{ 0x00102B, 0x00102C, "Mc" },
+		{ 0x00102D, 0x001030, "Mn" },
+		{ 0x001032, 0x001037, "Mn" },
+		{ 0x001039, 0x00103A, "Mn" },
+		{ 0x00103B, 0x00103C, "Mc" },
+		{ 0x00103D, 0x00103E, "Mn" },
+		{ 0x001040, 0x001049, "Nd" },
+		{ 0x00104A, 0x00104F, "Po" },
+		{ 0x001050, 0x001055, "Lo" },
+		{ 0x001056, 0x001057, "Mc" },
+		{ 0x001058, 0x001059, "Mn" },
+		{ 0x00105A, 0x00105D, "Lo" },
+		{ 0x00105E, 0x001060, "Mn" },
+		{ 0x001062, 0x001064, "Mc" },
+		{ 0x001065, 0x001066, "Lo" },
+		{ 0x001067, 0x00106D, "Mc" },
+		{ 0x00106E, 0x001070, "Lo" },
+		{ 0x001071, 0x001074, "Mn" },
+		{ 0x001075, 0x001081, "Lo" },
+		{ 0x001083, 0x001084, "Mc" },
+		{ 0x001085, 0x001086, "Mn" },
+		{ 0x001087, 0x00108C, "Mc" },
+		{ 0x001090, 0x001099, "Nd" },
+		{ 0x00109A, 0x00109C, "Mc" },
+		{ 0x00109E, 0x00109F, "So" },
+		{ 0x0010A0, 0x0010C5, "Lu" },
+		{ 0x0010D0, 0x0010FA, "Ll" },
+		{ 0x0010FD, 0x0010FF, "Ll" },
+		{ 0x001100, 0x001248, "Lo" },
+		{ 0x00124A, 0x00124D, "Lo" },
+		{ 0x001250, 0x001256, "Lo" },
+		{ 0x00125A, 0x00125D, "Lo" },
+		{ 0x001260, 0x001288, "Lo" },
+		{ 0x00128A, 0x00128D, "Lo" },
+		{ 0x001290, 0x0012B0, "Lo" },
+		{ 0x0012B2, 0x0012B5, "Lo" },
+		{ 0x0012B8, 0x0012BE, "Lo" },
+		{ 0x0012C2, 0x0012C5, "Lo" },
+		{ 0x0012C8, 0x0012D6, "Lo" },
+		{ 0x0012D8, 0x001310, "Lo" },
+		{ 0x001312, 0x001315, "Lo" },
+		{ 0x001318, 0x00135A, "Lo" },
+		{ 0x00135D, 0x00135F, "Mn" },
+		{ 0x001360, 0x001368, "Po" },
+		{ 0x001369, 0x00137C, "No" },
+		{ 0x001380, 0x00138F, "Lo" },
+		{ 0x001390, 0x001399, "So" },
+		{ 0x0013A0, 0x0013F5, "Lu" },
+		{ 0x0013F8, 0x0013FD, "Ll" },
+		{ 0x001401, 0x00166C, "Lo" },
+		{ 0x00166D, 0x00166E, "Po" },
+		{ 0x00166F, 0x00167F, "Lo" },
+		{ 0x001681, 0x00169A, "Lo" },
+		{ 0x0016A0, 0x0016EA, "Lo" },
+		{ 0x0016EB, 0x0016ED, "Po" },
+		{ 0x0016EE, 0x0016F0, "Nl" },
+		{ 0x0016F1, 0x0016F8, "Lo" },
+		{ 0x001700, 0x00170C, "Lo" },
+		{ 0x00170E, 0x001711, "Lo" },
+		{ 0x001712, 0x001714, "Mn" },
+		{ 0x001720, 0x001731, "Lo" },
+		{ 0x001732, 0x001734, "Mn" },
+		{ 0x001735, 0x001736, "Po" },
+		{ 0x001740, 0x001751, "Lo" },
+		{ 0x001752, 0x001753, "Mn" },
+		{ 0x001760, 0x00176C, "Lo" },
+		{ 0x00176E, 0x001770, "Lo" },
+		{ 0x001772, 0x001773, "Mn" },
+		{ 0x001780, 0x0017B3, "Lo" },
+		{ 0x0017B4, 0x0017B5, "Mn" },
+		{ 0x0017B7, 0x0017BD, "Mn" },
+		{ 0x0017BE, 0x0017C5, "Mc" },
+		{ 0x0017C7, 0x0017C8, "Mc" },
+		{ 0x0017C9, 0x0017D3, "Mn" },
+		{ 0x0017D4, 0x0017D6, "Po" },
+		{ 0x0017D8, 0x0017DA, "Po" },
+		{ 0x0017E0, 0x0017E9, "Nd" },
+		{ 0x0017F0, 0x0017F9, "No" },
+		{ 0x001800, 0x001805, "Po" },
+		{ 0x001807, 0x00180A, "Po" },
+		{ 0x00180B, 0x00180D, "Mn" },
+		{ 0x001810, 0x001819, "Nd" },
+		{ 0x001820, 0x001842, "Lo" },
+		{ 0x001844, 0x001878, "Lo" },
+		{ 0x001880, 0x001884, "Lo" },
+		{ 0x001885, 0x001886, "Mn" },
+		{ 0x001887, 0x0018A8, "Lo" },
+		{ 0x0018B0, 0x0018F5, "Lo" },
+		{ 0x001900, 0x00191E, "Lo" },
+		{ 0x001920, 0x001922, "Mn" },
+		{ 0x001923, 0x001926, "Mc" },
+		{ 0x001927, 0x001928, "Mn" },
+		{ 0x001929, 0x00192B, "Mc" },
+		{ 0x001930, 0x001931, "Mc" },
+		{ 0x001933, 0x001938, "Mc" },
+		{ 0x001939, 0x00193B, "Mn" },
+		{ 0x001944, 0x001945, "Po" },
+		{ 0x001946, 0x00194F, "Nd" },
+		{ 0x001950, 0x00196D, "Lo" },
+		{ 0x001970, 0x001974, "Lo" },
+		{ 0x001980, 0x0019AB, "Lo" },
+		{ 0x0019B0, 0x0019C9, "Lo" },
+		{ 0x0019D0, 0x0019D9, "Nd" },
+		{ 0x0019DE, 0x0019FF, "So" },
+		{ 0x001A00, 0x001A16, "Lo" },
+		{ 0x001A17, 0x001A18, "Mn" },
+		{ 0x001A19, 0x001A1A, "Mc" },
+		{ 0x001A1E, 0x001A1F, "Po" },
+		{ 0x001A20, 0x001A54, "Lo" },
+		{ 0x001A58, 0x001A5E, "Mn" },
+		{ 0x001A63, 0x001A64, "Mc" },
+		{ 0x001A65, 0x001A6C, "Mn" },
+		{ 0x001A6D, 0x001A72, "Mc" },
+		{ 0x001A73, 0x001A7C, "Mn" },
+		{ 0x001A80, 0x001A89, "Nd" },
+		{ 0x001A90, 0x001A99, "Nd" },
+		{ 0x001AA0, 0x001AA6, "Po" },
+		{ 0x001AA8, 0x001AAD, "Po" },
+		{ 0x001AB0, 0x001ABD, "Mn" },
+		{ 0x001B00, 0x001B03, "Mn" },
+		{ 0x001B05, 0x001B33, "Lo" },
+		{ 0x001B36, 0x001B3A, "Mn" },
+		{ 0x001B3D, 0x001B41, "Mc" },
+		{ 0x001B43, 0x001B44, "Mc" },
+		{ 0x001B45, 0x001B4B, "Lo" },
+		{ 0x001B50, 0x001B59, "Nd" },
+		{ 0x001B5A, 0x001B60, "Po" },
+		{ 0x001B61, 0x001B6A, "So" },
+		{ 0x001B6B, 0x001B73, "Mn" },
+		{ 0x001B74, 0x001B7C, "So" },
+		{ 0x001B80, 0x001B81, "Mn" },
+		{ 0x001B83, 0x001BA0, "Lo" },
+		{ 0x001BA2, 0x001BA5, "Mn" },
+		{ 0x001BA6, 0x001BA7, "Mc" },
+		{ 0x001BA8, 0x001BA9, "Mn" },
+		{ 0x001BAB, 0x001BAD, "Mn" },
+		{ 0x001BAE, 0x001BAF, "Lo" },
+		{ 0x001BB0, 0x001BB9, "Nd" },
+		{ 0x001BBA, 0x001BE5, "Lo" },
+		{ 0x001BE8, 0x001BE9, "Mn" },
+		{ 0x001BEA, 0x001BEC, "Mc" },
+		{ 0x001BEF, 0x001BF1, "Mn" },
+		{ 0x001BF2, 0x001BF3, "Mc" },
+		{ 0x001BFC, 0x001BFF, "Po" },
+		{ 0x001C00, 0x001C23, "Lo" },
+		{ 0x001C24, 0x001C2B, "Mc" },
+		{ 0x001C2C, 0x001C33, "Mn" },
+		{ 0x001C34, 0x001C35, "Mc" },
+		{ 0x001C36, 0x001C37, "Mn" },
+		{ 0x001C3B, 0x001C3F, "Po" },
+		{ 0x001C40, 0x001C49, "Nd" },
+		{ 0x001C4D, 0x001C4F, "Lo" },
+		{ 0x001C50, 0x001C59, "Nd" },
+		{ 0x001C5A, 0x001C77, "Lo" },
+		{ 0x001C78, 0x001C7D, "Lm" },
+		{ 0x001C7E, 0x001C7F, "Po" },
+		{ 0x001C80, 0x001C88, "Ll" },
+		{ 0x001C90, 0x001CBA, "Lu" },
+		{ 0x001CBD, 0x001CBF, "Lu" },
+		{ 0x001CC0, 0x001CC7, "Po" },
+		{ 0x001CD0, 0x001CD2, "Mn" },
+		{ 0x001CD4, 0x001CE0, "Mn" },
+		{ 0x001CE2, 0x001CE8, "Mn" },
+		{ 0x001CE9, 0x001CEC, "Lo" },
+		{ 0x001CEE, 0x001CF1, "Lo" },
+		{ 0x001CF2, 0x001CF3, "Mc" },
+		{ 0x001CF5, 0x001CF6, "Lo" },
+		{ 0x001CF8, 0x001CF9, "Mn" },
+		{ 0x001D00, 0x001D2B, "Ll" },
+		{ 0x001D2C, 0x001D6A, "Lm" },
+		{ 0x001D6B, 0x001D77, "Ll" },
+		{ 0x001D79, 0x001D9A, "Ll" },
+		{ 0x001D9B, 0x001DBF, "Lm" },
+		{ 0x001DC0, 0x001DF9, "Mn" },
+		{ 0x001DFB, 0x001DFF, "Mn" },
+		{ 0x001E95, 0x001E9D, "Ll" },
+		{ 0x001EFF, 0x001F07, "Ll" },
+		{ 0x001F08, 0x001F0F, "Lu" },
+		{ 0x001F10, 0x001F15, "Ll" },
+		{ 0x001F18, 0x001F1D, "Lu" },
+		{ 0x001F20, 0x001F27, "Ll" },
+		{ 0x001F28, 0x001F2F, "Lu" },
+		{ 0x001F30, 0x001F37, "Ll" },
+		{ 0x001F38, 0x001F3F, "Lu" },
+		{ 0x001F40, 0x001F45, "Ll" },
+		{ 0x001F48, 0x001F4D, "Lu" },
+		{ 0x001F50, 0x001F57, "Ll" },
+		{ 0x001F60, 0x001F67, "Ll" },
+		{ 0x001F68, 0x001F6F, "Lu" },
+		{ 0x001F70, 0x001F7D, "Ll" },
+		{ 0x001F80, 0x001F87, "Ll" },
+		{ 0x001F88, 0x001F8F, "Lt" },
+		{ 0x001F90, 0x001F97, "Ll" },
+		{ 0x001F98, 0x001F9F, "Lt" },
+		{ 0x001FA0, 0x001FA7, "Ll" },
+		{ 0x001FA8, 0x001FAF, "Lt" },
+		{ 0x001FB0, 0x001FB4, "Ll" },
+		{ 0x001FB6, 0x001FB7, "Ll" },
+		{ 0x001FB8, 0x001FBB, "Lu" },
+		{ 0x001FBF, 0x001FC1, "Sk" },
+		{ 0x001FC2, 0x001FC4, "Ll" },
+		{ 0x001FC6, 0x001FC7, "Ll" },
+		{ 0x001FC8, 0x001FCB, "Lu" },
+		{ 0x001FCD, 0x001FCF, "Sk" },
+		{ 0x001FD0, 0x001FD3, "Ll" },
+		{ 0x001FD6, 0x001FD7, "Ll" },
+		{ 0x001FD8, 0x001FDB, "Lu" },
+		{ 0x001FDD, 0x001FDF, "Sk" },
+		{ 0x001FE0, 0x001FE7, "Ll" },
+		{ 0x001FE8, 0x001FEC, "Lu" },
+		{ 0x001FED, 0x001FEF, "Sk" },
+		{ 0x001FF2, 0x001FF4, "Ll" },
+		{ 0x001FF6, 0x001FF7, "Ll" },
+		{ 0x001FF8, 0x001FFB, "Lu" },
+		{ 0x001FFD, 0x001FFE, "Sk" },
+		{ 0x002000, 0x00200A, "Zs" },
+		{ 0x00200B, 0x00200F, "Cf" },
+		{ 0x002010, 0x002015, "Pd" },
+		{ 0x002016, 0x002017, "Po" },
+		{ 0x00201B, 0x00201C, "Pi" },
+		{ 0x002020, 0x002027, "Po" },
+		{ 0x00202A, 0x00202E, "Cf" },
+		{ 0x002030, 0x002038, "Po" },
+		{ 0x00203B, 0x00203E, "Po" },
+		{ 0x00203F, 0x002040, "Pc" },
+		{ 0x002041, 0x002043, "Po" },
+		{ 0x002047, 0x002051, "Po" },
+		{ 0x002055, 0x00205E, "Po" },
+		{ 0x002060, 0x002064, "Cf" },
+		{ 0x002066, 0x00206F, "Cf" },
+		{ 0x002074, 0x002079, "No" },
+		{ 0x00207A, 0x00207C, "Sm" },
+		{ 0x002080, 0x002089, "No" },
+		{ 0x00208A, 0x00208C, "Sm" },
+		{ 0x002090, 0x00209C, "Lm" },
+		{ 0x0020A0, 0x0020BF, "Sc" },
+		{ 0x0020D0, 0x0020DC, "Mn" },
+		{ 0x0020DD, 0x0020E0, "Me" },
+		{ 0x0020E2, 0x0020E4, "Me" },
+		{ 0x0020E5, 0x0020F0, "Mn" },
+		{ 0x002100, 0x002101, "So" },
+		{ 0x002103, 0x002106, "So" },
+		{ 0x002108, 0x002109, "So" },
+		{ 0x00210B, 0x00210D, "Lu" },
+		{ 0x00210E, 0x00210F, "Ll" },
+		{ 0x002110, 0x002112, "Lu" },
+		{ 0x002116, 0x002117, "So" },
+		{ 0x002119, 0x00211D, "Lu" },
+		{ 0x00211E, 0x002123, "So" },
+		{ 0x00212A, 0x00212D, "Lu" },
+		{ 0x002130, 0x002133, "Lu" },
+		{ 0x002135, 0x002138, "Lo" },
+		{ 0x00213A, 0x00213B, "So" },
+		{ 0x00213C, 0x00213D, "Ll" },
+		{ 0x00213E, 0x00213F, "Lu" },
+		{ 0x002140, 0x002144, "Sm" },
+		{ 0x002146, 0x002149, "Ll" },
+		{ 0x00214C, 0x00214D, "So" },
+		{ 0x002150, 0x00215F, "No" },
+		{ 0x002160, 0x002182, "Nl" },
+		{ 0x002185, 0x002188, "Nl" },
+		{ 0x00218A, 0x00218B, "So" },
+		{ 0x002190, 0x002194, "Sm" },
+		{ 0x002195, 0x002199, "So" },
+		{ 0x00219A, 0x00219B, "Sm" },
+		{ 0x00219C, 0x00219F, "So" },
+		{ 0x0021A1, 0x0021A2, "So" },
+		{ 0x0021A4, 0x0021A5, "So" },
+		{ 0x0021A7, 0x0021AD, "So" },
+		{ 0x0021AF, 0x0021CD, "So" },
+		{ 0x0021CE, 0x0021CF, "Sm" },
+		{ 0x0021D0, 0x0021D1, "So" },
+		{ 0x0021D5, 0x0021F3, "So" },
+		{ 0x0021F4, 0x0022FF, "Sm" },
+		{ 0x002300, 0x002307, "So" },
+		{ 0x00230C, 0x00231F, "So" },
+		{ 0x002320, 0x002321, "Sm" },
+		{ 0x002322, 0x002328, "So" },
+		{ 0x00232B, 0x00237B, "So" },
+		{ 0x00237D, 0x00239A, "So" },
+		{ 0x00239B, 0x0023B3, "Sm" },
+		{ 0x0023B4, 0x0023DB, "So" },
+		{ 0x0023DC, 0x0023E1, "Sm" },
+		{ 0x0023E2, 0x002426, "So" },
+		{ 0x002440, 0x00244A, "So" },
+		{ 0x002460, 0x00249B, "No" },
+		{ 0x00249C, 0x0024E9, "So" },
+		{ 0x0024EA, 0x0024FF, "No" },
+		{ 0x002500, 0x0025B6, "So" },
+		{ 0x0025B8, 0x0025C0, "So" },
+		{ 0x0025C2, 0x0025F7, "So" },
+		{ 0x0025F8, 0x0025FF, "Sm" },
+		{ 0x002600, 0x00266E, "So" },
+		{ 0x002670, 0x002767, "So" },
+		{ 0x002776, 0x002793, "No" },
+		{ 0x002794, 0x0027BF, "So" },
+		{ 0x0027C0, 0x0027C4, "Sm" },
+		{ 0x0027C7, 0x0027E5, "Sm" },
+		{ 0x0027F0, 0x0027FF, "Sm" },
+		{ 0x002800, 0x0028FF, "So" },
+		{ 0x002900, 0x002982, "Sm" },
+		{ 0x002999, 0x0029D7, "Sm" },
+		{ 0x0029DC, 0x0029FB, "Sm" },
+		{ 0x0029FE, 0x002AFF, "Sm" },
+		{ 0x002B00, 0x002B2F, "So" },
+		{ 0x002B30, 0x002B44, "Sm" },
+		{ 0x002B45, 0x002B46, "So" },
+		{ 0x002B47, 0x002B4C, "Sm" },
+		{ 0x002B4D, 0x002B73, "So" },
+		{ 0x002B76, 0x002B95, "So" },
+		{ 0x002B98, 0x002BC8, "So" },
+		{ 0x002BCA, 0x002BFE, "So" },
+		{ 0x002C00, 0x002C2E, "Lu" },
+		{ 0x002C30, 0x002C5E, "Ll" },
+		{ 0x002C62, 0x002C64, "Lu" },
+		{ 0x002C65, 0x002C66, "Ll" },
+		{ 0x002C6D, 0x002C70, "Lu" },
+		{ 0x002C73, 0x002C74, "Ll" },
+		{ 0x002C76, 0x002C7B, "Ll" },
+		{ 0x002C7C, 0x002C7D, "Lm" },
+		{ 0x002C7E, 0x002C80, "Lu" },
+		{ 0x002CE3, 0x002CE4, "Ll" },
+		{ 0x002CE5, 0x002CEA, "So" },
+		{ 0x002CEF, 0x002CF1, "Mn" },
+		{ 0x002CF9, 0x002CFC, "Po" },
+		{ 0x002CFE, 0x002CFF, "Po" },
+		{ 0x002D00, 0x002D25, "Ll" },
+		{ 0x002D30, 0x002D67, "Lo" },
+		{ 0x002D80, 0x002D96, "Lo" },
+		{ 0x002DA0, 0x002DA6, "Lo" },
+		{ 0x002DA8, 0x002DAE, "Lo" },
+		{ 0x002DB0, 0x002DB6, "Lo" },
+		{ 0x002DB8, 0x002DBE, "Lo" },
+		{ 0x002DC0, 0x002DC6, "Lo" },
+		{ 0x002DC8, 0x002DCE, "Lo" },
+		{ 0x002DD0, 0x002DD6, "Lo" },
+		{ 0x002DD8, 0x002DDE, "Lo" },
+		{ 0x002DE0, 0x002DFF, "Mn" },
+		{ 0x002E00, 0x002E01, "Po" },
+		{ 0x002E06, 0x002E08, "Po" },
+		{ 0x002E0E, 0x002E16, "Po" },
+		{ 0x002E18, 0x002E19, "Po" },
+		{ 0x002E1E, 0x002E1F, "Po" },
+		{ 0x002E2A, 0x002E2E, "Po" },
+		{ 0x002E30, 0x002E39, "Po" },
+		{ 0x002E3A, 0x002E3B, "Pd" },
+		{ 0x002E3C, 0x002E3F, "Po" },
+		{ 0x002E43, 0x002E4E, "Po" },
+		{ 0x002E80, 0x002E99, "So" },
+		{ 0x002E9B, 0x002EF3, "So" },
+		{ 0x002F00, 0x002FD5, "So" },
+		{ 0x002FF0, 0x002FFB, "So" },
+		{ 0x003001, 0x003003, "Po" },
+		{ 0x003012, 0x003013, "So" },
+		{ 0x00301E, 0x00301F, "Pe" },
+		{ 0x003021, 0x003029, "Nl" },
+		{ 0x00302A, 0x00302D, "Mn" },
+		{ 0x00302E, 0x00302F, "Mc" },
+		{ 0x003031, 0x003035, "Lm" },
+		{ 0x003036, 0x003037, "So" },
+		{ 0x003038, 0x00303A, "Nl" },
+		{ 0x00303E, 0x00303F, "So" },
+		{ 0x003041, 0x003096, "Lo" },
+		{ 0x003099, 0x00309A, "Mn" },
+		{ 0x00309B, 0x00309C, "Sk" },
+		{ 0x00309D, 0x00309E, "Lm" },
+		{ 0x0030A1, 0x0030FA, "Lo" },
+		{ 0x0030FC, 0x0030FE, "Lm" },
+		{ 0x003105, 0x00312F, "Lo" },
+		{ 0x003131, 0x00318E, "Lo" },
+		{ 0x003190, 0x003191, "So" },
+		{ 0x003192, 0x003195, "No" },
+		{ 0x003196, 0x00319F, "So" },
+		{ 0x0031A0, 0x0031BA, "Lo" },
+		{ 0x0031C0, 0x0031E3, "So" },
+		{ 0x0031F0, 0x0031FF, "Lo" },
+		{ 0x003200, 0x00321E, "So" },
+		{ 0x003220, 0x003229, "No" },
+		{ 0x00322A, 0x003247, "So" },
+		{ 0x003248, 0x00324F, "No" },
+		{ 0x003251, 0x00325F, "No" },
+		{ 0x003260, 0x00327F, "So" },
+		{ 0x003280, 0x003289, "No" },
+		{ 0x00328A, 0x0032B0, "So" },
+		{ 0x0032B1, 0x0032BF, "No" },
+		{ 0x0032C0, 0x0032FE, "So" },
+		{ 0x003300, 0x0033FF, "So" },
+		{ 0x003400, 0x004DB5, "Lo" },
+		{ 0x004DC0, 0x004DFF, "So" },
+		{ 0x004E00, 0x009FEF, "Lo" },
+		{ 0x00A000, 0x00A014, "Lo" },
+		{ 0x00A016, 0x00A48C, "Lo" },
+		{ 0x00A490, 0x00A4C6, "So" },
+		{ 0x00A4D0, 0x00A4F7, "Lo" },
+		{ 0x00A4F8, 0x00A4FD, "Lm" },
+		{ 0x00A4FE, 0x00A4FF, "Po" },
+		{ 0x00A500, 0x00A60B, "Lo" },
+		{ 0x00A60D, 0x00A60F, "Po" },
+		{ 0x00A610, 0x00A61F, "Lo" },
+		{ 0x00A620, 0x00A629, "Nd" },
+		{ 0x00A62A, 0x00A62B, "Lo" },
+		{ 0x00A670, 0x00A672, "Me" },
+		{ 0x00A674, 0x00A67D, "Mn" },
+		{ 0x00A69C, 0x00A69D, "Lm" },
+		{ 0x00A69E, 0x00A69F, "Mn" },
+		{ 0x00A6A0, 0x00A6E5, "Lo" },
+		{ 0x00A6E6, 0x00A6EF, "Nl" },
+		{ 0x00A6F0, 0x00A6F1, "Mn" },
+		{ 0x00A6F2, 0x00A6F7, "Po" },
+		{ 0x00A700, 0x00A716, "Sk" },
+		{ 0x00A717, 0x00A71F, "Lm" },
+		{ 0x00A720, 0x00A721, "Sk" },
+		{ 0x00A72F, 0x00A731, "Ll" },
+		{ 0x00A771, 0x00A778, "Ll" },
+		{ 0x00A77D, 0x00A77E, "Lu" },
+		{ 0x00A789, 0x00A78A, "Sk" },
+		{ 0x00A793, 0x00A795, "Ll" },
+		{ 0x00A7AA, 0x00A7AE, "Lu" },
+		{ 0x00A7B0, 0x00A7B4, "Lu" },
+		{ 0x00A7F8, 0x00A7F9, "Lm" },
+		{ 0x00A7FB, 0x00A801, "Lo" },
+		{ 0x00A803, 0x00A805, "Lo" },
+		{ 0x00A807, 0x00A80A, "Lo" },
+		{ 0x00A80C, 0x00A822, "Lo" },
+		{ 0x00A823, 0x00A824, "Mc" },
+		{ 0x00A825, 0x00A826, "Mn" },
+		{ 0x00A828, 0x00A82B, "So" },
+		{ 0x00A830, 0x00A835, "No" },
+		{ 0x00A836, 0x00A837, "So" },
+		{ 0x00A840, 0x00A873, "Lo" },
+		{ 0x00A874, 0x00A877, "Po" },
+		{ 0x00A880, 0x00A881, "Mc" },
+		{ 0x00A882, 0x00A8B3, "Lo" },
+		{ 0x00A8B4, 0x00A8C3, "Mc" },
+		{ 0x00A8C4, 0x00A8C5, "Mn" },
+		{ 0x00A8CE, 0x00A8CF, "Po" },
+		{ 0x00A8D0, 0x00A8D9, "Nd" },
+		{ 0x00A8E0, 0x00A8F1, "Mn" },
+		{ 0x00A8F2, 0x00A8F7, "Lo" },
+		{ 0x00A8F8, 0x00A8FA, "Po" },
+		{ 0x00A8FD, 0x00A8FE, "Lo" },
+		{ 0x00A900, 0x00A909, "Nd" },
+		{ 0x00A90A, 0x00A925, "Lo" },
+		{ 0x00A926, 0x00A92D, "Mn" },
+		{ 0x00A92E, 0x00A92F, "Po" },
+		{ 0x00A930, 0x00A946, "Lo" },
+		{ 0x00A947, 0x00A951, "Mn" },
+		{ 0x00A952, 0x00A953, "Mc" },
+		{ 0x00A960, 0x00A97C, "Lo" },
+		{ 0x00A980, 0x00A982, "Mn" },
+		{ 0x00A984, 0x00A9B2, "Lo" },
+		{ 0x00A9B4, 0x00A9B5, "Mc" },
+		{ 0x00A9B6, 0x00A9B9, "Mn" },
+		{ 0x00A9BA, 0x00A9BB, "Mc" },
+		{ 0x00A9BD, 0x00A9C0, "Mc" },
+		{ 0x00A9C1, 0x00A9CD, "Po" },
+		{ 0x00A9D0, 0x00A9D9, "Nd" },
+		{ 0x00A9DE, 0x00A9DF, "Po" },
+		{ 0x00A9E0, 0x00A9E4, "Lo" },
+		{ 0x00A9E7, 0x00A9EF, "Lo" },
+		{ 0x00A9F0, 0x00A9F9, "Nd" },
+		{ 0x00A9FA, 0x00A9FE, "Lo" },
+		{ 0x00AA00, 0x00AA28, "Lo" },
+		{ 0x00AA29, 0x00AA2E, "Mn" },
+		{ 0x00AA2F, 0x00AA30, "Mc" },
+		{ 0x00AA31, 0x00AA32, "Mn" },
+		{ 0x00AA33, 0x00AA34, "Mc" },
+		{ 0x00AA35, 0x00AA36, "Mn" },
+		{ 0x00AA40, 0x00AA42, "Lo" },
+		{ 0x00AA44, 0x00AA4B, "Lo" },
+		{ 0x00AA50, 0x00AA59, "Nd" },
+		{ 0x00AA5C, 0x00AA5F, "Po" },
+		{ 0x00AA60, 0x00AA6F, "Lo" },
+		{ 0x00AA71, 0x00AA76, "Lo" },
+		{ 0x00AA77, 0x00AA79, "So" },
+		{ 0x00AA7E, 0x00AAAF, "Lo" },
+		{ 0x00AAB2, 0x00AAB4, "Mn" },
+		{ 0x00AAB5, 0x00AAB6, "Lo" },
+		{ 0x00AAB7, 0x00AAB8, "Mn" },
+		{ 0x00AAB9, 0x00AABD, "Lo" },
+		{ 0x00AABE, 0x00AABF, "Mn" },
+		{ 0x00AADB, 0x00AADC, "Lo" },
+		{ 0x00AADE, 0x00AADF, "Po" },
+		{ 0x00AAE0, 0x00AAEA, "Lo" },
+		{ 0x00AAEC, 0x00AAED, "Mn" },
+		{ 0x00AAEE, 0x00AAEF, "Mc" },
+		{ 0x00AAF0, 0x00AAF1, "Po" },
+		{ 0x00AAF3, 0x00AAF4, "Lm" },
+		{ 0x00AB01, 0x00AB06, "Lo" },
+		{ 0x00AB09, 0x00AB0E, "Lo" },
+		{ 0x00AB11, 0x00AB16, "Lo" },
+		{ 0x00AB20, 0x00AB26, "Lo" },
+		{ 0x00AB28, 0x00AB2E, "Lo" },
+		{ 0x00AB30, 0x00AB5A, "Ll" },
+		{ 0x00AB5C, 0x00AB5F, "Lm" },
+		{ 0x00AB60, 0x00AB65, "Ll" },
+		{ 0x00AB70, 0x00ABBF, "Ll" },
+		{ 0x00ABC0, 0x00ABE2, "Lo" },
+		{ 0x00ABE3, 0x00ABE4, "Mc" },
+		{ 0x00ABE6, 0x00ABE7, "Mc" },
+		{ 0x00ABE9, 0x00ABEA, "Mc" },
+		{ 0x00ABF0, 0x00ABF9, "Nd" },
+		{ 0x00AC00, 0x00D7A3, "Lo" },
+		{ 0x00D7B0, 0x00D7C6, "Lo" },
+		{ 0x00D7CB, 0x00D7FB, "Lo" },
+		{ 0x00D800, 0x00DFFF, "Cs" },
+		{ 0x00E000, 0x00F8FF, "Co" },
+		{ 0x00F900, 0x00FA6D, "Lo" },
+		{ 0x00FA70, 0x00FAD9, "Lo" },
+		{ 0x00FB00, 0x00FB06, "Ll" },
+		{ 0x00FB13, 0x00FB17, "Ll" },
+		{ 0x00FB1F, 0x00FB28, "Lo" },
+		{ 0x00FB2A, 0x00FB36, "Lo" },
+		{ 0x00FB38, 0x00FB3C, "Lo" },
+		{ 0x00FB40, 0x00FB41, "Lo" },
+		{ 0x00FB43, 0x00FB44, "Lo" },
+		{ 0x00FB46, 0x00FBB1, "Lo" },
+		{ 0x00FBB2, 0x00FBC1, "Sk" },
+		{ 0x00FBD3, 0x00FD3D, "Lo" },
+		{ 0x00FD50, 0x00FD8F, "Lo" },
+		{ 0x00FD92, 0x00FDC7, "Lo" },
+		{ 0x00FDF0, 0x00FDFB, "Lo" },
+		{ 0x00FE00, 0x00FE0F, "Mn" },
+		{ 0x00FE10, 0x00FE16, "Po" },
+		{ 0x00FE20, 0x00FE2F, "Mn" },
+		{ 0x00FE31, 0x00FE32, "Pd" },
+		{ 0x00FE33, 0x00FE34, "Pc" },
+		{ 0x00FE45, 0x00FE46, "Po" },
+		{ 0x00FE49, 0x00FE4C, "Po" },
+		{ 0x00FE4D, 0x00FE4F, "Pc" },
+		{ 0x00FE50, 0x00FE52, "Po" },
+		{ 0x00FE54, 0x00FE57, "Po" },
+		{ 0x00FE5F, 0x00FE61, "Po" },
+		{ 0x00FE64, 0x00FE66, "Sm" },
+		{ 0x00FE6A, 0x00FE6B, "Po" },
+		{ 0x00FE70, 0x00FE74, "Lo" },
+		{ 0x00FE76, 0x00FEFC, "Lo" },
+		{ 0x00FF01, 0x00FF03, "Po" },
+		{ 0x00FF05, 0x00FF07, "Po" },
+		{ 0x00FF0E, 0x00FF0F, "Po" },
+		{ 0x00FF10, 0x00FF19, "Nd" },
+		{ 0x00FF1A, 0x00FF1B, "Po" },
+		{ 0x00FF1C, 0x00FF1E, "Sm" },
+		{ 0x00FF1F, 0x00FF20, "Po" },
+		{ 0x00FF21, 0x00FF3A, "Lu" },
+		{ 0x00FF41, 0x00FF5A, "Ll" },
+		{ 0x00FF64, 0x00FF65, "Po" },
+		{ 0x00FF66, 0x00FF6F, "Lo" },
+		{ 0x00FF71, 0x00FF9D, "Lo" },
+		{ 0x00FF9E, 0x00FF9F, "Lm" },
+		{ 0x00FFA0, 0x00FFBE, "Lo" },
+		{ 0x00FFC2, 0x00FFC7, "Lo" },
+		{ 0x00FFCA, 0x00FFCF, "Lo" },
+		{ 0x00FFD2, 0x00FFD7, "Lo" },
+		{ 0x00FFDA, 0x00FFDC, "Lo" },
+		{ 0x00FFE0, 0x00FFE1, "Sc" },
+		{ 0x00FFE5, 0x00FFE6, "Sc" },
+		{ 0x00FFE9, 0x00FFEC, "Sm" },
+		{ 0x00FFED, 0x00FFEE, "So" },
+		{ 0x00FFF9, 0x00FFFB, "Cf" },
+		{ 0x00FFFC, 0x00FFFD, "So" },
+		{ 0x010000, 0x01000B, "Lo" },
+		{ 0x01000D, 0x010026, "Lo" },
+		{ 0x010028, 0x01003A, "Lo" },
+		{ 0x01003C, 0x01003D, "Lo" },
+		{ 0x01003F, 0x01004D, "Lo" },
+		{ 0x010050, 0x01005D, "Lo" },
+		{ 0x010080, 0x0100FA, "Lo" },
+		{ 0x010100, 0x010102, "Po" },
+		{ 0x010107, 0x010133, "No" },
+		{ 0x010137, 0x01013F, "So" },
+		{ 0x010140, 0x010174, "Nl" },
+		{ 0x010175, 0x010178, "No" },
+		{ 0x010179, 0x010189, "So" },
+		{ 0x01018A, 0x01018B, "No" },
+		{ 0x01018C, 0x01018E, "So" },
+		{ 0x010190, 0x01019B, "So" },
+		{ 0x0101D0, 0x0101FC, "So" },
+		{ 0x010280, 0x01029C, "Lo" },
+		{ 0x0102A0, 0x0102D0, "Lo" },
+		{ 0x0102E1, 0x0102FB, "No" },
+		{ 0x010300, 0x01031F, "Lo" },
+		{ 0x010320, 0x010323, "No" },
+		{ 0x01032D, 0x010340, "Lo" },
+		{ 0x010342, 0x010349, "Lo" },
+		{ 0x010350, 0x010375, "Lo" },
+		{ 0x010376, 0x01037A, "Mn" },
+		{ 0x010380, 0x01039D, "Lo" },
+		{ 0x0103A0, 0x0103C3, "Lo" },
+		{ 0x0103C8, 0x0103CF, "Lo" },
+		{ 0x0103D1, 0x0103D5, "Nl" },
+		{ 0x010400, 0x010427, "Lu" },
+		{ 0x010428, 0x01044F, "Ll" },
+		{ 0x010450, 0x01049D, "Lo" },
+		{ 0x0104A0, 0x0104A9, "Nd" },
+		{ 0x0104B0, 0x0104D3, "Lu" },
+		{ 0x0104D8, 0x0104FB, "Ll" },
+		{ 0x010500, 0x010527, "Lo" },
+		{ 0x010530, 0x010563, "Lo" },
+		{ 0x010600, 0x010736, "Lo" },
+		{ 0x010740, 0x010755, "Lo" },
+		{ 0x010760, 0x010767, "Lo" },
+		{ 0x010800, 0x010805, "Lo" },
+		{ 0x01080A, 0x010835, "Lo" },
+		{ 0x010837, 0x010838, "Lo" },
+		{ 0x01083F, 0x010855, "Lo" },
+		{ 0x010858, 0x01085F, "No" },
+		{ 0x010860, 0x010876, "Lo" },
+		{ 0x010877, 0x010878, "So" },
+		{ 0x010879, 0x01087F, "No" },
+		{ 0x010880, 0x01089E, "Lo" },
+		{ 0x0108A7, 0x0108AF, "No" },
+		{ 0x0108E0, 0x0108F2, "Lo" },
+		{ 0x0108F4, 0x0108F5, "Lo" },
+		{ 0x0108FB, 0x0108FF, "No" },
+		{ 0x010900, 0x010915, "Lo" },
+		{ 0x010916, 0x01091B, "No" },
+		{ 0x010920, 0x010939, "Lo" },
+		{ 0x010980, 0x0109B7, "Lo" },
+		{ 0x0109BC, 0x0109BD, "No" },
+		{ 0x0109BE, 0x0109BF, "Lo" },
+		{ 0x0109C0, 0x0109CF, "No" },
+		{ 0x0109D2, 0x0109FF, "No" },
+		{ 0x010A01, 0x010A03, "Mn" },
+		{ 0x010A05, 0x010A06, "Mn" },
+		{ 0x010A0C, 0x010A0F, "Mn" },
+		{ 0x010A10, 0x010A13, "Lo" },
+		{ 0x010A15, 0x010A17, "Lo" },
+		{ 0x010A19, 0x010A35, "Lo" },
+		{ 0x010A38, 0x010A3A, "Mn" },
+		{ 0x010A40, 0x010A48, "No" },
+		{ 0x010A50, 0x010A58, "Po" },
+		{ 0x010A60, 0x010A7C, "Lo" },
+		{ 0x010A7D, 0x010A7E, "No" },
+		{ 0x010A80, 0x010A9C, "Lo" },
+		{ 0x010A9D, 0x010A9F, "No" },
+		{ 0x010AC0, 0x010AC7, "Lo" },
+		{ 0x010AC9, 0x010AE4, "Lo" },
+		{ 0x010AE5, 0x010AE6, "Mn" },
+		{ 0x010AEB, 0x010AEF, "No" },
+		{ 0x010AF0, 0x010AF6, "Po" },
+		{ 0x010B00, 0x010B35, "Lo" },
+		{ 0x010B39, 0x010B3F, "Po" },
+		{ 0x010B40, 0x010B55, "Lo" },
+		{ 0x010B58, 0x010B5F, "No" },
+		{ 0x010B60, 0x010B72, "Lo" },
+		{ 0x010B78, 0x010B7F, "No" },
+		{ 0x010B80, 0x010B91, "Lo" },
+		{ 0x010B99, 0x010B9C, "Po" },
+		{ 0x010BA9, 0x010BAF, "No" },
+		{ 0x010C00, 0x010C48, "Lo" },
+		{ 0x010C80, 0x010CB2, "Lu" },
+		{ 0x010CC0, 0x010CF2, "Ll" },
+		{ 0x010CFA, 0x010CFF, "No" },
+		{ 0x010D00, 0x010D23, "Lo" },
+		{ 0x010D24, 0x010D27, "Mn" },
+		{ 0x010D30, 0x010D39, "Nd" },
+		{ 0x010E60, 0x010E7E, "No" },
+		{ 0x010F00, 0x010F1C, "Lo" },
+		{ 0x010F1D, 0x010F26, "No" },
+		{ 0x010F30, 0x010F45, "Lo" },
+		{ 0x010F46, 0x010F50, "Mn" },
+		{ 0x010F51, 0x010F54, "No" },
+		{ 0x010F55, 0x010F59, "Po" },
+		{ 0x011003, 0x011037, "Lo" },
+		{ 0x011038, 0x011046, "Mn" },
+		{ 0x011047, 0x01104D, "Po" },
+		{ 0x011052, 0x011065, "No" },
+		{ 0x011066, 0x01106F, "Nd" },
+		{ 0x01107F, 0x011081, "Mn" },
+		{ 0x011083, 0x0110AF, "Lo" },
+		{ 0x0110B0, 0x0110B2, "Mc" },
+		{ 0x0110B3, 0x0110B6, "Mn" },
+		{ 0x0110B7, 0x0110B8, "Mc" },
+		{ 0x0110B9, 0x0110BA, "Mn" },
+		{ 0x0110BB, 0x0110BC, "Po" },
+		{ 0x0110BE, 0x0110C1, "Po" },
+		{ 0x0110D0, 0x0110E8, "Lo" },
+		{ 0x0110F0, 0x0110F9, "Nd" },
+		{ 0x011100, 0x011102, "Mn" },
+		{ 0x011103, 0x011126, "Lo" },
+		{ 0x011127, 0x01112B, "Mn" },
+		{ 0x01112D, 0x011134, "Mn" },
+		{ 0x011136, 0x01113F, "Nd" },
+		{ 0x011140, 0x011143, "Po" },
+		{ 0x011145, 0x011146, "Mc" },
+		{ 0x011150, 0x011172, "Lo" },
+		{ 0x011174, 0x011175, "Po" },
+		{ 0x011180, 0x011181, "Mn" },
+		{ 0x011183, 0x0111B2, "Lo" },
+		{ 0x0111B3, 0x0111B5, "Mc" },
+		{ 0x0111B6, 0x0111BE, "Mn" },
+		{ 0x0111BF, 0x0111C0, "Mc" },
+		{ 0x0111C1, 0x0111C4, "Lo" },
+		{ 0x0111C5, 0x0111C8, "Po" },
+		{ 0x0111C9, 0x0111CC, "Mn" },
+		{ 0x0111D0, 0x0111D9, "Nd" },
+		{ 0x0111DD, 0x0111DF, "Po" },
+		{ 0x0111E1, 0x0111F4, "No" },
+		{ 0x011200, 0x011211, "Lo" },
+		{ 0x011213, 0x01122B, "Lo" },
+		{ 0x01122C, 0x01122E, "Mc" },
+		{ 0x01122F, 0x011231, "Mn" },
+		{ 0x011232, 0x011233, "Mc" },
+		{ 0x011236, 0x011237, "Mn" },
+		{ 0x011238, 0x01123D, "Po" },
+		{ 0x011280, 0x011286, "Lo" },
+		{ 0x01128A, 0x01128D, "Lo" },
+		{ 0x01128F, 0x01129D, "Lo" },
+		{ 0x01129F, 0x0112A8, "Lo" },
+		{ 0x0112B0, 0x0112DE, "Lo" },
+		{ 0x0112E0, 0x0112E2, "Mc" },
+		{ 0x0112E3, 0x0112EA, "Mn" },
+		{ 0x0112F0, 0x0112F9, "Nd" },
+		{ 0x011300, 0x011301, "Mn" },
+		{ 0x011302, 0x011303, "Mc" },
+		{ 0x011305, 0x01130C, "Lo" },
+		{ 0x01130F, 0x011310, "Lo" },
+		{ 0x011313, 0x011328, "Lo" },
+		{ 0x01132A, 0x011330, "Lo" },
+		{ 0x011332, 0x011333, "Lo" },
+		{ 0x011335, 0x011339, "Lo" },
+		{ 0x01133B, 0x01133C, "Mn" },
+		{ 0x01133E, 0x01133F, "Mc" },
+		{ 0x011341, 0x011344, "Mc" },
+		{ 0x011347, 0x011348, "Mc" },
+		{ 0x01134B, 0x01134D, "Mc" },
+		{ 0x01135D, 0x011361, "Lo" },
+		{ 0x011362, 0x011363, "Mc" },
+		{ 0x011366, 0x01136C, "Mn" },
+		{ 0x011370, 0x011374, "Mn" },
+		{ 0x011400, 0x011434, "Lo" },
+		{ 0x011435, 0x011437, "Mc" },
+		{ 0x011438, 0x01143F, "Mn" },
+		{ 0x011440, 0x011441, "Mc" },
+		{ 0x011442, 0x011444, "Mn" },
+		{ 0x011447, 0x01144A, "Lo" },
+		{ 0x01144B, 0x01144F, "Po" },
+		{ 0x011450, 0x011459, "Nd" },
+		{ 0x011480, 0x0114AF, "Lo" },
+		{ 0x0114B0, 0x0114B2, "Mc" },
+		{ 0x0114B3, 0x0114B8, "Mn" },
+		{ 0x0114BB, 0x0114BE, "Mc" },
+		{ 0x0114BF, 0x0114C0, "Mn" },
+		{ 0x0114C2, 0x0114C3, "Mn" },
+		{ 0x0114C4, 0x0114C5, "Lo" },
+		{ 0x0114D0, 0x0114D9, "Nd" },
+		{ 0x011580, 0x0115AE, "Lo" },
+		{ 0x0115AF, 0x0115B1, "Mc" },
+		{ 0x0115B2, 0x0115B5, "Mn" },
+		{ 0x0115B8, 0x0115BB, "Mc" },
+		{ 0x0115BC, 0x0115BD, "Mn" },
+		{ 0x0115BF, 0x0115C0, "Mn" },
+		{ 0x0115C1, 0x0115D7, "Po" },
+		{ 0x0115D8, 0x0115DB, "Lo" },
+		{ 0x0115DC, 0x0115DD, "Mn" },
+		{ 0x011600, 0x01162F, "Lo" },
+		{ 0x011630, 0x011632, "Mc" },
+		{ 0x011633, 0x01163A, "Mn" },
+		{ 0x01163B, 0x01163C, "Mc" },
+		{ 0x01163F, 0x011640, "Mn" },
+		{ 0x011641, 0x011643, "Po" },
+		{ 0x011650, 0x011659, "Nd" },
+		{ 0x011660, 0x01166C, "Po" },
+		{ 0x011680, 0x0116AA, "Lo" },
+		{ 0x0116AE, 0x0116AF, "Mc" },
+		{ 0x0116B0, 0x0116B5, "Mn" },
+		{ 0x0116C0, 0x0116C9, "Nd" },
+		{ 0x011700, 0x01171A, "Lo" },
+		{ 0x01171D, 0x01171F, "Mn" },
+		{ 0x011720, 0x011721, "Mc" },
+		{ 0x011722, 0x011725, "Mn" },
+		{ 0x011727, 0x01172B, "Mn" },
+		{ 0x011730, 0x011739, "Nd" },
+		{ 0x01173A, 0x01173B, "No" },
+		{ 0x01173C, 0x01173E, "Po" },
+		{ 0x011800, 0x01182B, "Lo" },
+		{ 0x01182C, 0x01182E, "Mc" },
+		{ 0x01182F, 0x011837, "Mn" },
+		{ 0x011839, 0x01183A, "Mn" },
+		{ 0x0118A0, 0x0118BF, "Lu" },
+		{ 0x0118C0, 0x0118DF, "Ll" },
+		{ 0x0118E0, 0x0118E9, "Nd" },
+		{ 0x0118EA, 0x0118F2, "No" },
+		{ 0x011A01, 0x011A0A, "Mn" },
+		{ 0x011A0B, 0x011A32, "Lo" },
+		{ 0x011A33, 0x011A38, "Mn" },
+		{ 0x011A3B, 0x011A3E, "Mn" },
+		{ 0x011A3F, 0x011A46, "Po" },
+		{ 0x011A51, 0x011A56, "Mn" },
+		{ 0x011A57, 0x011A58, "Mc" },
+		{ 0x011A59, 0x011A5B, "Mn" },
+		{ 0x011A5C, 0x011A83, "Lo" },
+		{ 0x011A86, 0x011A89, "Lo" },
+		{ 0x011A8A, 0x011A96, "Mn" },
+		{ 0x011A98, 0x011A99, "Mn" },
+		{ 0x011A9A, 0x011A9C, "Po" },
+		{ 0x011A9E, 0x011AA2, "Po" },
+		{ 0x011AC0, 0x011AF8, "Lo" },
+		{ 0x011C00, 0x011C08, "Lo" },
+		{ 0x011C0A, 0x011C2E, "Lo" },
+		{ 0x011C30, 0x011C36, "Mn" },
+		{ 0x011C38, 0x011C3D, "Mn" },
+		{ 0x011C41, 0x011C45, "Po" },
+		{ 0x011C50, 0x011C59, "Nd" },
+		{ 0x011C5A, 0x011C6C, "No" },
+		{ 0x011C70, 0x011C71, "Po" },
+		{ 0x011C72, 0x011C8F, "Lo" },
+		{ 0x011C92, 0x011CA7, "Mn" },
+		{ 0x011CAA, 0x011CB0, "Mn" },
+		{ 0x011CB2, 0x011CB3, "Mn" },
+		{ 0x011CB5, 0x011CB6, "Mn" },
+		{ 0x011D00, 0x011D06, "Lo" },
+		{ 0x011D08, 0x011D09, "Lo" },
+		{ 0x011D0B, 0x011D30, "Lo" },
+		{ 0x011D31, 0x011D36, "Mn" },
+		{ 0x011D3C, 0x011D3D, "Mn" },
+		{ 0x011D3F, 0x011D45, "Mn" },
+		{ 0x011D50, 0x011D59, "Nd" },
+		{ 0x011D60, 0x011D65, "Lo" },
+		{ 0x011D67, 0x011D68, "Lo" },
+		{ 0x011D6A, 0x011D89, "Lo" },
+		{ 0x011D8A, 0x011D8E, "Mc" },
+		{ 0x011D90, 0x011D91, "Mn" },
+		{ 0x011D93, 0x011D94, "Mc" },
+		{ 0x011DA0, 0x011DA9, "Nd" },
+		{ 0x011EE0, 0x011EF2, "Lo" },
+		{ 0x011EF3, 0x011EF4, "Mn" },
+		{ 0x011EF5, 0x011EF6, "Mc" },
+		{ 0x011EF7, 0x011EF8, "Po" },
+		{ 0x012000, 0x012399, "Lo" },
+		{ 0x012400, 0x01246E, "Nl" },
+		{ 0x012470, 0x012474, "Po" },
+		{ 0x012480, 0x012543, "Lo" },
+		{ 0x013000, 0x01342E, "Lo" },
+		{ 0x014400, 0x014646, "Lo" },
+		{ 0x016800, 0x016A38, "Lo" },
+		{ 0x016A40, 0x016A5E, "Lo" },
+		{ 0x016A60, 0x016A69, "Nd" },
+		{ 0x016A6E, 0x016A6F, "Po" },
+		{ 0x016AD0, 0x016AED, "Lo" },
+		{ 0x016AF0, 0x016AF4, "Mn" },
+		{ 0x016B00, 0x016B2F, "Lo" },
+		{ 0x016B30, 0x016B36, "Mn" },
+		{ 0x016B37, 0x016B3B, "Po" },
+		{ 0x016B3C, 0x016B3F, "So" },
+		{ 0x016B40, 0x016B43, "Lm" },
+		{ 0x016B50, 0x016B59, "Nd" },
+		{ 0x016B5B, 0x016B61, "No" },
+		{ 0x016B63, 0x016B77, "Lo" },
+		{ 0x016B7D, 0x016B8F, "Lo" },
+		{ 0x016E40, 0x016E5F, "Lu" },
+		{ 0x016E60, 0x016E7F, "Ll" },
+		{ 0x016E80, 0x016E96, "No" },
+		{ 0x016E97, 0x016E9A, "Po" },
+		{ 0x016F00, 0x016F44, "Lo" },
+		{ 0x016F51, 0x016F7E, "Mc" },
+		{ 0x016F8F, 0x016F92, "Mn" },
+		{ 0x016F93, 0x016F9F, "Lm" },
+		{ 0x016FE0, 0x016FE1, "Lm" },
+		{ 0x017000, 0x0187F1, "Lo" },
+		{ 0x018800, 0x018AF2, "Lo" },
+		{ 0x01B000, 0x01B11E, "Lo" },
+		{ 0x01B170, 0x01B2FB, "Lo" },
+		{ 0x01BC00, 0x01BC6A, "Lo" },
+		{ 0x01BC70, 0x01BC7C, "Lo" },
+		{ 0x01BC80, 0x01BC88, "Lo" },
+		{ 0x01BC90, 0x01BC99, "Lo" },
+		{ 0x01BC9D, 0x01BC9E, "Mn" },
+		{ 0x01BCA0, 0x01BCA3, "Cf" },
+		{ 0x01D000, 0x01D0F5, "So" },
+		{ 0x01D100, 0x01D126, "So" },
+		{ 0x01D129, 0x01D164, "So" },
+		{ 0x01D165, 0x01D166, "Mc" },
+		{ 0x01D167, 0x01D169, "Mn" },
+		{ 0x01D16A, 0x01D16C, "So" },
+		{ 0x01D16D, 0x01D172, "Mc" },
+		{ 0x01D173, 0x01D17A, "Cf" },
+		{ 0x01D17B, 0x01D182, "Mn" },
+		{ 0x01D183, 0x01D184, "So" },
+		{ 0x01D185, 0x01D18B, "Mn" },
+		{ 0x01D18C, 0x01D1A9, "So" },
+		{ 0x01D1AA, 0x01D1AD, "Mn" },
+		{ 0x01D1AE, 0x01D1E8, "So" },
+		{ 0x01D200, 0x01D241, "So" },
+		{ 0x01D242, 0x01D244, "Mn" },
+		{ 0x01D2E0, 0x01D2F3, "No" },
+		{ 0x01D300, 0x01D356, "So" },
+		{ 0x01D360, 0x01D378, "No" },
+		{ 0x01D400, 0x01D419, "Lu" },
+		{ 0x01D41A, 0x01D433, "Ll" },
+		{ 0x01D434, 0x01D44D, "Lu" },
+		{ 0x01D44E, 0x01D454, "Ll" },
+		{ 0x01D456, 0x01D467, "Ll" },
+		{ 0x01D468, 0x01D481, "Lu" },
+		{ 0x01D482, 0x01D49B, "Ll" },
+		{ 0x01D49E, 0x01D49F, "Lu" },
+		{ 0x01D4A5, 0x01D4A6, "Lu" },
+		{ 0x01D4A9, 0x01D4AC, "Lu" },
+		{ 0x01D4AE, 0x01D4B5, "Lu" },
+		{ 0x01D4B6, 0x01D4B9, "Ll" },
+		{ 0x01D4BD, 0x01D4C3, "Ll" },
+		{ 0x01D4C5, 0x01D4CF, "Ll" },
+		{ 0x01D4D0, 0x01D4E9, "Lu" },
+		{ 0x01D4EA, 0x01D503, "Ll" },
+		{ 0x01D504, 0x01D505, "Lu" },
+		{ 0x01D507, 0x01D50A, "Lu" },
+		{ 0x01D50D, 0x01D514, "Lu" },
+		{ 0x01D516, 0x01D51C, "Lu" },
+		{ 0x01D51E, 0x01D537, "Ll" },
+		{ 0x01D538, 0x01D539, "Lu" },
+		{ 0x01D53B, 0x01D53E, "Lu" },
+		{ 0x01D540, 0x01D544, "Lu" },
+		{ 0x01D54A, 0x01D550, "Lu" },
+		{ 0x01D552, 0x01D56B, "Ll" },
+		{ 0x01D56C, 0x01D585, "Lu" },
+		{ 0x01D586, 0x01D59F, "Ll" },
+		{ 0x01D5A0, 0x01D5B9, "Lu" },
+		{ 0x01D5BA, 0x01D5D3, "Ll" },
+		{ 0x01D5D4, 0x01D5ED, "Lu" },
+		{ 0x01D5EE, 0x01D607, "Ll" },
+		{ 0x01D608, 0x01D621, "Lu" },
+		{ 0x01D622, 0x01D63B, "Ll" },
+		{ 0x01D63C, 0x01D655, "Lu" },
+		{ 0x01D656, 0x01D66F, "Ll" },
+		{ 0x01D670, 0x01D689, "Lu" },
+		{ 0x01D68A, 0x01D6A5, "Ll" },
+		{ 0x01D6A8, 0x01D6C0, "Lu" },
+		{ 0x01D6C2, 0x01D6DA, "Ll" },
+		{ 0x01D6DC, 0x01D6E1, "Ll" },
+		{ 0x01D6E2, 0x01D6FA, "Lu" },
+		{ 0x01D6FC, 0x01D714, "Ll" },
+		{ 0x01D716, 0x01D71B, "Ll" },
+		{ 0x01D71C, 0x01D734, "Lu" },
+		{ 0x01D736, 0x01D74E, "Ll" },
+		{ 0x01D750, 0x01D755, "Ll" },
+		{ 0x01D756, 0x01D76E, "Lu" },
+		{ 0x01D770, 0x01D788, "Ll" },
+		{ 0x01D78A, 0x01D78F, "Ll" },
+		{ 0x01D790, 0x01D7A8, "Lu" },
+		{ 0x01D7AA, 0x01D7C2, "Ll" },
+		{ 0x01D7C4, 0x01D7C9, "Ll" },
+		{ 0x01D7CE, 0x01D7FF, "Nd" },
+		{ 0x01D800, 0x01D9FF, "So" },
+		{ 0x01DA00, 0x01DA36, "Mn" },
+		{ 0x01DA37, 0x01DA3A, "So" },
+		{ 0x01DA3B, 0x01DA6C, "Mn" },
+		{ 0x01DA6D, 0x01DA74, "So" },
+		{ 0x01DA76, 0x01DA83, "So" },
+		{ 0x01DA85, 0x01DA86, "So" },
+		{ 0x01DA87, 0x01DA8B, "Po" },
+		{ 0x01DA9B, 0x01DA9F, "Mn" },
+		{ 0x01DAA1, 0x01DAAF, "Mn" },
+		{ 0x01E000, 0x01E006, "Mn" },
+		{ 0x01E008, 0x01E018, "Mn" },
+		{ 0x01E01B, 0x01E021, "Mn" },
+		{ 0x01E023, 0x01E024, "Mn" },
+		{ 0x01E026, 0x01E02A, "Mn" },
+		{ 0x01E800, 0x01E8C4, "Lo" },
+		{ 0x01E8C7, 0x01E8CF, "No" },
+		{ 0x01E8D0, 0x01E8D6, "Mn" },
+		{ 0x01E900, 0x01E921, "Lu" },
+		{ 0x01E922, 0x01E943, "Ll" },
+		{ 0x01E944, 0x01E94A, "Mn" },
+		{ 0x01E950, 0x01E959, "Nd" },
+		{ 0x01E95E, 0x01E95F, "Po" },
+		{ 0x01EC71, 0x01ECAB, "No" },
+		{ 0x01ECAD, 0x01ECAF, "No" },
+		{ 0x01ECB1, 0x01ECB4, "No" },
+		{ 0x01EE00, 0x01EE03, "Lo" },
+		{ 0x01EE05, 0x01EE1F, "Lo" },
+		{ 0x01EE21, 0x01EE22, "Lo" },
+		{ 0x01EE29, 0x01EE32, "Lo" },
+		{ 0x01EE34, 0x01EE37, "Lo" },
+		{ 0x01EE4D, 0x01EE4F, "Lo" },
+		{ 0x01EE51, 0x01EE52, "Lo" },
+		{ 0x01EE61, 0x01EE62, "Lo" },
+		{ 0x01EE67, 0x01EE6A, "Lo" },
+		{ 0x01EE6C, 0x01EE72, "Lo" },
+		{ 0x01EE74, 0x01EE77, "Lo" },
+		{ 0x01EE79, 0x01EE7C, "Lo" },
+		{ 0x01EE80, 0x01EE89, "Lo" },
+		{ 0x01EE8B, 0x01EE9B, "Lo" },
+		{ 0x01EEA1, 0x01EEA3, "Lo" },
+		{ 0x01EEA5, 0x01EEA9, "Lo" },
+		{ 0x01EEAB, 0x01EEBB, "Lo" },
+		{ 0x01EEF0, 0x01EEF1, "Sm" },
+		{ 0x01F000, 0x01F02B, "So" },
+		{ 0x01F030, 0x01F093, "So" },
+		{ 0x01F0A0, 0x01F0AE, "So" },
+		{ 0x01F0B1, 0x01F0BF, "So" },
+		{ 0x01F0C1, 0x01F0CF, "So" },
+		{ 0x01F0D1, 0x01F0F5, "So" },
+		{ 0x01F100, 0x01F10C, "No" },
+		{ 0x01F110, 0x01F16B, "So" },
+		{ 0x01F170, 0x01F1AC, "So" },
+		{ 0x01F1E6, 0x01F202, "So" },
+		{ 0x01F210, 0x01F23B, "So" },
+		{ 0x01F240, 0x01F248, "So" },
+		{ 0x01F250, 0x01F251, "So" },
+		{ 0x01F260, 0x01F265, "So" },
+		{ 0x01F300, 0x01F3FA, "So" },
+		{ 0x01F3FB, 0x01F3FF, "Sk" },
+		{ 0x01F400, 0x01F6D4, "So" },
+		{ 0x01F6E0, 0x01F6EC, "So" },
+		{ 0x01F6F0, 0x01F6F9, "So" },
+		{ 0x01F700, 0x01F773, "So" },
+		{ 0x01F780, 0x01F7D8, "So" },
+		{ 0x01F800, 0x01F80B, "So" },
+		{ 0x01F810, 0x01F847, "So" },
+		{ 0x01F850, 0x01F859, "So" },
+		{ 0x01F860, 0x01F887, "So" },
+		{ 0x01F890, 0x01F8AD, "So" },
+		{ 0x01F900, 0x01F90B, "So" },
+		{ 0x01F910, 0x01F93E, "So" },
+		{ 0x01F940, 0x01F970, "So" },
+		{ 0x01F973, 0x01F976, "So" },
+		{ 0x01F97C, 0x01F9A2, "So" },
+		{ 0x01F9B0, 0x01F9B9, "So" },
+		{ 0x01F9C0, 0x01F9C2, "So" },
+		{ 0x01F9D0, 0x01F9FF, "So" },
+		{ 0x01FA60, 0x01FA6D, "So" },
+		{ 0x020000, 0x02A6D6, "Lo" },
+		{ 0x02A700, 0x02B734, "Lo" },
+		{ 0x02B740, 0x02B81D, "Lo" },
+		{ 0x02B820, 0x02CEA1, "Lo" },
+		{ 0x02CEB0, 0x02EBE0, "Lo" },
+		{ 0x02F800, 0x02FA1D, "Lo" },
+		{ 0x0E0020, 0x0E007F, "Cf" },
+		{ 0x0E0100, 0x0E01EF, "Mn" },
+		{ 0x0F0000, 0x0FFFFD, "Co" },
+		{ 0x100000, 0x10FFFD, "Co" },
+	},
+}


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

Index: trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf	2018-12-03 22:49:28 UTC (rev 49312)

Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
===================================================================
--- trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,1191 @@
+%% $Id: xltabular-doc.tex 635 2017-10-24 18:22:59Z herbert $
+%
+\listfiles\setcounter{errorcontextlines}{100}
+\documentclass[paper=a4,fontsize=11pt,DIV=13,parskip=half-,
+               captions=tableabove,twoside=on]{scrartcl}
+\usepackage{fontspec}
+\setmainfont{AccanthisADFStdNo3}[
+  UprightFont   =*-Regular,
+  BoldFont      =*-Bold,
+  ItalicFont    =*-Italic,
+  BoldItalicFont=*-BoldItalic,
+  RawFeature    = -rlig,
+]
+\setsansfont{GilliusADF}[
+  UprightFont   =*-Regular,
+  BoldFont      =*-Bold,
+  ItalicFont    =*-Italic,
+  BoldItalicFont=*-BoldItalic,
+  RawFeature    = -rlig,
+]
+\setmonofont{Anonymous Pro}[Scale=MatchLowercase,FakeStretch=0.9]
+
+\newfontfamily\Japanese[Scale=MatchUppercase]{SourceHanSans}
+\newfontfamily\CODE{CODE2000}
+
+\usepackage[english]{babel}
+\usepackage{scrlayer-scrpage}
+\automark[section]{section}
+\automark*[subsection]{}
+\pagestyle{scrheadings}
+
+{\catcode`\%=12 
+ \gdef\perCent{%}
+ \gdef\DoubleperCent{%%}
+}
+
+
+\usepackage{xcolor,fancyvrb,varioref}
+\usepackage{xltabular}
+\usepackage{dtk-logos} % for Wikipedia W
+\usepackage{listings}
+\usepackage{dtk-extern} % for Wikipedia W
+\lstset{basicstyle=\ttfamily\small,language=[LaTeX]TeX}
+\usepackage{ragged2e}
+\usepackage{makeidx}\makeindex
+\usepackage{hvindex}
+\def\Lfile#1{\texttt{#1}\index{#1 file@\texttt{#1} file}}
+\def\Lext#1{\texttt{.#1}\index{#1 file extension@\texttt{.#1} file extension}}
+\def\Lcs#1{\texttt{\textbackslash#1}\index{#1@\texttt{\textbackslash#1}}}
+\def\Lenv#1{\texttt{#1}\index{#1 environment@\texttt{#1} environment}}
+\def\Lpack#1{\texttt{#1}\index{#1 package@\texttt{#1} package}}
+\def\Lprog#1{\texttt{#1}\index{#1 program@\texttt{#1} program}}
+\def\Loption#1{\texttt{#1}\index{#1@\texttt{#1} package option}}
+
+%\usepackage[bibstyle=dtk]{biblatex}
+%\addbibresource{\jobname.bib}
+
+\raggedbottom
+\usepackage{url}
+\usepackage[colorlinks,linktocpage]{hyperref}
+
+\makeatletter% from: doc.sty
+\newcommand*\GetFileInfo[1]{%
+  \def\filename{#1}%
+  \def\@tempb##1 ##2 ##3\relax##4\relax{%
+    \def\filedate{##1}%
+    \def\fileversion{##2}%
+    \def\fileinfo{##3}}%
+  \edef\@tempa{\csname ver@#1\endcsname}%
+  \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+\makeatother
+
+%\GetFileInfo{xltabular.sty}
+\usepackage{xspace}
+
+\newcommand\XI{\texttt{xindex}\xspace}
+
+\def\setVersion#1{\setVVersion#1!!}
+\def\setVVersion#1=#2!!{\def\xIndexVersion{#2}} 
+
+\setVersion{version = 0.05}%  can be autimatically changed by perl
+
+\title{Program and package \texttt{xindex} \\--\\ \normalsize \xIndexVersion\ (\today)}
+\author{Herbert Voß\thanks{hvoss at tug.org}}
+\begin{document}
+\maketitle
+\tableofcontents
+
+
+\clearpage
+
+\section{Introduction}
+The Lua program
+\XI is a  \Index{unicode} aware program for creating an index file from an \Lext{idx} source
+file. It is completely compatible to the current \Lprog{makeindex} program, but can handle
+\Index{UTF-8}, 16, 32, and 64. The \LaTeX\ package \Lpack{xindex} is a package which provides
+a \LaTeX\ command which writes additional text into the index file. This text (comments and/or macros)
+will be accepted by the program \XI.
+
+The general structure of a \Index{data element} in the Lua table is:
+
+\begin{verbatim}
+data = { Entry = <text>,  -- like the input line without command \indexentry
+         pages = {
+                    { number  = <roman/arabic number or text>,
+                      special = <macro> },  -- the part after | in the input
+                    [...]
+                    { number  = <roman/arabic number or text>,
+                      special = <macro> }
+                  },
+          sortChar = <unicode codepoint>, -- of the first character of Entry
+          Macro    = <TeX macro>  -- only useful with LaTeX package \Lpack{xindex}
+        }
+\end{verbatim}
+
+After reading the input file the table \texttt{pages} has only one element for the number\index{page number}
+and the so-called special command. When the pages are compressed the table will collect all pages which
+refer to the same \Index{entry name}.
+ 
+
+\iffalse
+EntryList[2] = { 
+      Entry   = "Johann",   -- the index item  foo at bar 
+      pages   = {           -- the page number(s) and the part after |
+        { number  = 111,
+          special = '\\emph'  },
+        { number  = 11,
+          special = "\\textit"}
+      },  
+      sortChar= 80, -- Initial for later output
+      Macro   = ""
+}
+
+\fi
+
+
+
+\subsection{Syntax}
+
+The \Index{syntax} is \verb|xindex [...] <file>| where \verb|[...]|  are optional \Index{argument}s, either in short or
+long form which, of course, can be mixed:
+
+\begin{verbatim}
+xindex
+    [-q,--quiet ]
+    [-h,--help ]
+    [-v ]                                 verbose
+    [-c,--config ]                        default is cfg
+    [-e,--escapechar ]                    default is " 
+    [-n,--noheadings ]                    
+    [-o,--output ]                        default is <input>.ind
+    [-l,--language ]                      default is en 
+    <input file> 
+\end{verbatim}
+
+
+
+The \Index{language} has to be chosen as an international abbreviation in lower- or uppercase letters, see 
+\url{https://en.wikipedia.org/wiki/ISO_3166-2}
+
+
+\subsection{How it works}
+\XI creates by default an \Index{output} file \texttt{<input>.ind} which can be read
+by the \LaTeX\ document with the default command \Lcs{printindex}. One can use another
+output filename, which makes only sense if one doesn't use the \Lcs{printindex} command
+for typesetting the index.
+The default \Index{sorting}
+is given by the configuration file, which defines replacements for \Index{accented characters},
+like \texttt{ö}$\rightarrow$\texttt{o}. 
+
+\subsection{The \texttt{.idx} file}
+There are four characters which must be escaped if used in the command \Lcs{index}:
+\verb=!=, \verb=@=, \verb="=, or \verb=|=. These charactzers have a special meaning for 
+the index.\index{"!}\index{"@}\index{"|}
+The default \Index{escape character} is the double quote \verb|"|:
+
+\iffalse
+To put a !\index{"!}, @\index{"@}, or |\index{"|} character in an index entry, quote it by preceding the
+character with a quote ". More precisely, any character is said to be quoted if it
+follows an unquoted " that is not part of a \" command. A quoted !, @, or
+| character is treated like an ordinary character rather than having its usual
+meaning. The " preceding a quoted character is deleted before the entries
+are alphabetized.
+\fi
+
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  pages={1,2},
+  frame,
+  compiler=lualatex,
+  crop,
+  xindex,
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%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 \texttt{xindex <file.idx>}\index{<file.idx>}\index{123}
+\newpage
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+For the german language the double quote is an active character and it makes live easier
+if one chooses another character.
+The escape character can be changed easily by the optional argument \verb|-e "<char>"| or 
+\verb|--escapechar "<char">|. The following example shows how
+it works for the \Index{escape character} > (greater). Internally the escape sequences are
+now defined as:
+
+\begin{verbatim}
+escape_chars = { -- by default " is the escape char
+  {esc_char..'"', '//escapedquote//', '\\"{}' },
+  {esc_char..'@', '//escapedat//',    '@'    },
+  {esc_char..'|', '//escapedvert//',  "|"    },
+  {esc_char..'!', '//scapedexcl//',  '!'    }
+}
+\end{verbatim}
+
+which is, of course, not of interest for the user. With the beginning the escaped chars
+are converted into the internal strings and later back to the origin meaning.
+
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  pages={1,2},
+  frame,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-e ">",
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\section{Escaping characters with >}
+\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 \texttt{xindex} with \texttt{xindex -e ">"}\index{<file.idx>}\index{123}
+\newpage
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+\section{Language}\label{language}
+
+The \Index{language} is only important for the first two headers in the output of the index data.
+They are by default \emph{Symbols} followed by \emph{Numbers}. In a new version of \Lprog{xindex}
+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}
+}
+
+The following example was run with \verb|xindex -l de <file>.idx|:
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  pages={1,2},
+  frame,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-l de -e ">",
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\section{Escaping characters with >}
+\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 \texttt{xindex} with \texttt{xindex -l de -e ">"}\index{123}
+\newpage
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+\section{Sorting}
+
+The default sorting is unicode aware and uses a translation table for accented characters:
+
+\begin{verbatim}
+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', 'ž' }
+}
+\end{verbatim}
+
+There is also a table for the uppercase letters. If it should be edited or extended then copy first the
+base configuration file \Lfile{xindex-cfg.lua} and modify that new file. It can be used by \XI
+with the optional argument \texttt{-c newfile} if it is named as \Lfile{xindex-newfile.lua}. 
+For german there already exists a configuration
+file \Lfile{xindex-DIN2.lua} which uses the so-called »Telefonbuchsortierung« which converts 
+the umlauts like ö$\rightarrow$oe:
+
+\begin{verbatim}
+alphabet_upper = { -- for sorting
+    { ' ' },
+    { 'A', 'Á', 'À', 'Å', 'Æ'},
+    { 'AE', 'Ä'},
+    { 'B' },
+    { 'C', 'Ç' },
+    { 'D' },
+    { 'E', 'È', 'È', 'Ë' },
+    { 'F' },
+    { 'G' },
+    { 'H' },
+    { 'I', 'Í', 'Ì', 'Ï' },
+    { 'J' },
+    { 'K' },
+    { 'L' },
+    { 'M' },
+    { 'N', 'Ñ' },
+    { 'O', 'Ó', 'Ò', 'Ø','Œ' },
+    { 'OE', 'Ö' },
+    { 'P' },
+    { 'Q' },
+    { 'R' },
+    { 'S', 'Š' },
+    { 'T' },
+    { 'U', 'Ú', 'Ù' },
+    { 'UE', 'Ü' },
+    { 'V' },
+    { 'W' },
+    { 'X' },
+    { 'Y', 'Ý', 'Ÿ' },
+    { 'Z', 'Ž' }
+}
+\end{verbatim}
+
+
+
+\begin{externalDocument}[
+  grfOptions={scale=0.9},%width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.4\linewidth,
+  pages={2},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-l de,
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass[paper=a5]{scrartcl}
+\usepackage[ngerman]{babel}
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\newcommand\Index[1]{\index{#1}#1}
+%StopVisiblePreamble
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \newpage
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+\pagestyle{empty}
+\begin{document}
+Sorted with \verb|-l DE|
+
+\Index{Österreich} \Index{Öresund} 
+\Index{Ostern} \Index{Ober} 
+\Index{Oberin} \Index{Österreich} 
+\Index{Öresund} \Index{Ostern} 
+\Index{Ober} \Index{Oberin} 
+\Index{Obstler} \Index{Öl} 
+\Index{ölen} \Index{Ödem} 
+\Index{Oligarch} \Index{Oder} 
+\Index{oder} \index{Fluss!Oder} 
+\index{Oder|seealso{Fluss}} 
+\Index{Göbel} \Index{Goethe} 
+\Index{Göthe} \Index{Götz} 
+\Index{Goldmann}
+
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+
+The same sorted with the german DIN variant 2 with \verb|--config DIN2|, which
+is part of the \TeX\ distribution. In this case a letter Ö is converted to Oe before sorting
+the word beginninjg with the letter Ö:
+
+\noindent
+\begin{externalDocument}[
+  grfOptions={scale=0.9},%width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.4\linewidth,
+  pages={2},
+  frame=false,compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-c DIN2 -l DE,
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass[paper=a5]{scrartcl}
+\usepackage[ngerman]{babel}
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\newcommand\Index[1]{\index{#1}#1}
+%StopVisiblePreamble
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \newpage
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+\pagestyle{empty}
+\begin{document}
+Sorted with 
+\verb|--config DIN2 -l DE|
+
+\Index{Österreich} \Index{Öresund} 
+\Index{Ostern} \Index{Ober} 
+\Index{Oberin} \Index{Österreich} 
+\Index{Öresund} \Index{Ostern} 
+\Index{Ober} \Index{Oberin} 
+\Index{Obstler} \Index{Öl} 
+\Index{ölen} \Index{Ödem} 
+\Index{Oligarch} \Index{Oder} 
+\Index{oder} \index{Fluss!Oder} 
+\index{Oder|seealso{Fluss}} 
+\Index{Göbel} \Index{Goethe} 
+\Index{Göthe} \Index{Götz} 
+\Index{Goldmann}
+
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+
+The following runs with \verb|xindex -l jp <file>|:
+
+%  {begin\string{document\string}}%       #2
+%  {end\string{document\string}}%         #3
+%  {\perCent StartVisiblePreamble}% #4
+%  {\perCent StopVisiblePreamble}%  #5
+
+\noindent
+\begin{minipage}[t]{0.45\linewidth}
+\vspace{0pt}
+\setsansfont{SourceHanSans}\sffamily
+\edef\FancyVerbStartString{\perCent StartVisiblePreamble}
+\edef\FancyVerbStopString{\perCent StopVisiblePreamble}
+\colorbox{black!20}{\parbox{\linewidth}{%
+\VerbatimInput[fontfamily=helvetica]{Examples/xindex-6.tex}
+}}
+
+\edef\FancyVerbStartString{\string\begin\string{document\string}}
+\edef\FancyVerbStopString{\string\end\string{document\string}}
+\colorbox{black!10}{\parbox{\linewidth}{%
+\VerbatimInput[fontfamily=helvetica]{Examples/xindex-6.tex}
+}}
+\end{minipage}\hfill
+\begin{minipage}[t]{0.54\linewidth}
+\vspace{0pt}
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+%  mpwidth=0.5\linewidth,
+  pages={2},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-l jp,
+  force=false,
+  runs=2,
+  code=false,
+  docType=latex,
+  showFilename,
+  align=\centering,
+%  usefancyvrb,
+  lstOptions={fontfamily=helvetica}]{xindex}
+\documentclass[a5paper]{article}
+%StartVisiblePreamble
+\usepackage{fontspec}
+\setmainfont{SourceHanSans}
+\usepackage[japanese]{babel}
+\addto\captionsjapanese{%
+  \def\indexname{指数}}
+\usepackage{hvindex}% for \Index
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}  
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+\pagestyle{empty}
+\begin{document}
+\Index{車} \Index{車道} 
+日本\index{日本|fbox} 
+\Index{病院} \Index{コンピュータ} 
+\Index{プリンタ} \Index{印刷} 
+\Index{スイミングプール} \Index{天王} 
+\Index{広島} \Index{ドイツ} 
+\Index{日本} \Index{ワープロ} 
+\Index{foo} und \Index{bar}
+\Index{//} \Index{4711}
+\newpage\printindex
+\end{document}
+\end{externalDocument}
+\end{minipage}
+
+
+
+%\clearpage
+
+\section{Compressing pagenumbers}\label{Compressing}
+By default page sequences of an entry are compressed to 
+\begin{description}
+\item[8f] page 8 and 9
+\item[8ff] page 8, 9, and 10
+\item[8-12] page 8, 9, \ldots, 12
+\end{description}
+
+The so-called folio abbreviation is language dependent and defined in the
+file \Lfile{xindex-cfg-common.cfg}:
+
+{\setsansfont[Scale=MatchUppercase]{SourceHanSans}
+\small
+\begin{Verbatim}[fontfamily=helvetica]
+folium = { 
+  de = {"f", "ff"},
+  en = {"f", "ff"},
+  fr = {"\,sq","\,sqq"},
+  jp = {"シンボル","番号"},
+}
+\end{Verbatim}
+}
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={6},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-l fr,
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Sorted with \verb|-l fr|
+
+foobar\index{foobar|(}
+foo\index{foo}\index{bar}\index{baz}\newpage
+foo\index{foo}\index{bar}\index{baz}\newpage
+foo\index{bar}\index{baz}\newpage
+foo\index{baz}\newpage
+foo\index{foo}foobar\index{foobar|)}
+\newpage
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+
+\section{\texttt{hyperref}}
+
+Using the package \Lpack{hyperref} is no problem:
+
+\enlargethispage{2.5\normalbaselineskip}
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={3},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-l de,
+  force,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass[paper=a6]{scrartcl}
+\usepackage{multicol}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \begin{multicols}{2}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\def\endtheindex{\end{multicols}}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+\usepackage{hvindex}% for \Index
+\usepackage[colorlinks]{hyperref}
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Sorted with \verb|-l DE|
+\Index{Österreich} \Index{Öresund} 
+\Index{Ostern} \Index{Ober} \Index{Oberin} 
+\Index{Österreich} \index{Öresund|textbf} 
+\Index{Ostern} \Index{Ober} \Index{Oberin} 
+\Index{Obstler} \Index{Öl} \Index{ölen} 
+\Index{Ödem} \Index{Oligarch} \Index{Oder} 
+\Index{oder} \index{Fluss!Oder|textit} 
+\Index{Oder|seealso{Fluss}} \Index{Göbel} 
+\Index{Goethe} \Index{Göthe} \Index{Götz} 
+\newpage\Index{Goldmann} \Index{Goethe}
+\newpage \printindex
+\end{document}
+\end{externalDocument}
+
+
+\section{Page argument}
+Every page can be combined with an additional macro, like \verb=\index{foo|fbox}=, the page number
+will be set into a framebox. If we have on the same page the two commands:
+
+\begin{verbatim}
+foo\index{foo} and foo\index{foo|bar}
+\end{verbatim}
+
+then we have two \emph{different} index entries which will not be compressed to one entry.
+In the follwoing example we have four different entries for \emph{foo} which is the reason
+that we do not get an output like \texttt{foo, 1--4}. Only the first two entries are
+of the same type, so we get \texttt{1f} in the output.
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={5},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-l de,
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Ein foo\index{foo} \newpage und \index{foo} 
+ein foo\index{foo|textit} \newpage 
+und foo\index{foo|textbf} \newpage 
+und foo\index{foo|fbox}
+
+\newpage
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+
+\section{The config file}
+
+The main config file is \Lfile{xindex-cfg.lua} is used by default and loading it by the 
+optional parameter -c makes no sense. A new config file must have the prefix \texttt{xindex-}
+and the file extension \Lext{lua}, for example: \Lfile{xindex-HAdW.lua} which can be used
+with \verb|--config HAdW|. The file must be saved in the documents directory or in
+one which is known to \Lprog{kpsewhich}, for example\footnote{The directory \texttt{xindex} must be created
+before saving the file.} \verb|$TEXMFLOCAL/tex/lualatex/xindex/| %$
+Don not forgot to update the filename database.
+
+A new config file must declare at least the variables which are part of the
+default config file: the translation tables and
+
+\begin{verbatim}
+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 
+numericPage       = true    -- for non numerical pagenumbers, like "VI-17"
+sublabels         = {"", "-\\-", "--\\-", "---\\-"} 
+   -- for the sub(sub(sub-items, first one is empty
+pageNoPrefixDel   = ""     -- a delimiter for page numbers like "VI-17"  -- not used !!!
+indexOpening      = ""     -- commands/text after \begin{theindex}
+\end{verbatim}
+
+The new config file can define own functions for compressing the pagelist
+for a given entry and for the formatting of the output. They must be called 
+\verb|specialCompressPageList| and  \verb|specialGetPageList|.
+%needs
+%the unmodified list of pages for one entry. 
+
+For example:
+
+\begin{verbatim}
+function specialCompressPageList(pages)
+  if (#pages <= 1) or (pages[1] == "") then return pages end  -- only one pageno
+--[[ 
+modify pagelist
+sortPages = {{ origin = { number = VII/1-715, special = \textbf },
+               sort   = 07/1-00715 },
+             {...}
+            }
+]]
+  local sortPages = {}
+
+[...]
+
+return pages
+end
+\end{verbatim}
+
+is a special function which can handle \Index{page number}s like VII-17, VIII/2/1-186.
+Internally exists a function \verb|compressPageList| which is used if no
+\verb|specialCompressPageList| is defined.
+
+The \Index{config file} \Lfile{xindex-dtk.lua} defines a special page output:
+
+\begin{verbatim}
+function specialGetPageList(v,hyperpage)  -- Entry table, boolean
+  local Pages = {}
+[..]
+      if (Pages[1]["special"] == nil) or (Pages[1]["number"] == nil) then return ""  end 
+      if #Pages == 1 then
+        return "\\relax"..Pages[1]["number"].."\\@nil"
+      else        
+        pageNo = "\\relax"..Pages[1]["number"] 
+        for i=2,#Pages do
+          if Pages[i]["number"] then
+            pageNo = pageNo..", "..Pages[i]["number"].."\\@nil"
+            Pages[i] = {}
+          end
+        end
+[..]
+end
+\end{verbatim}
+
+
+The following example runs \verb|xindex -c dtk -l de -n <input>|
+
+\begin{externalDocument}[
+  grfOptions={scale=0.9},% width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.25\linewidth,
+  pages={1},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-c dtk -n -l de,
+  force,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\RequirePackage{filecontents}
+\begin{filecontents*}{\jobname.idx}
+\indexentry{VoßHerbert at Herbert Voß!Wasgenstraße 121\protect \\10127 Berlin\protect \\\Email {herbert"@xyz.de}}{3}
+\indexentry{SieversMartin at Martin Sievers!siehe Seite~\protect \pageref  {president}}{4}
+\indexentry{VoßHerbert at Herbert Voß!Wasgenstraße 121\protect \\10127 Berlin\protect \\\Email {herbert"@xyz.de}}{5}
+\indexentry{ZiegenhagenUwe at Uwe Ziegenhagen!Lokostr. 19 \protect \\ 20713 Köln \protect \\\Email {ziegenhagen"@mail.com}}{9}
+\indexentry{BehrendtDoris at Doris Behrendt!\Email {doris"@xyz.de}}{14}
+\indexentry{JacekJonas Jared at Jonas Jared Jazek!\Email {mail"@jones.net}}{20}
+\indexentry{KohmMarkus at Marcus Tohm!Freiherr-von-Stein-Straße~16\protect \\ 15525~Edingen-Neckarhausen\protect \\ \Email {komascript"@xyz.info}}{24}
+\indexentry{KohmMarkus at Marcus Tohm!Freiherr-von-Stein-Straße~16\protect \\ 15525~Edingen-Neckarhausen\protect \\ \Email {komascript"@xyz.info}}{31}
+\indexentry{SchubertElke at Elke Schubert!Hausstraße~15\protect \\ 36396~Stutense\protect \\ \Email {elke.schubert"@kabelxyz.de}}{40}
+\indexentry{FennJürgen at Jürgen Fennt!Friedrichallee 74\protect \\13233 Neu-Isenburg\protect \\\Email {juergen.fennt"@gmxnet.de}}{48}
+\end{filecontents*}
+\documentclass{article}
+\usepackage{url}
+\DeclareUrlCommand\Email{%
+  \def\UrlLeft{}%
+  \def\UrlRight{}%
+  \def\UrlLinkPrefix{mailto:}%
+  \def\UrlType{email}%
+}
+\usepackage{multicol}
+\makeatletter
+\def\DTK at scan@item#1\subitem#2\relax#3\@nil{%
+  \def\DTK at tempa{#1}\def\DTK at tempb{#2}\def\DTK at tempc{#3}%
+}
+\def\theindex{%    only for demonstration
+  \columnseprule=\z@ \columnsep=10\p@
+  \begin{multicols}{2}[\noindent\textbf{\large Autorenliste}]%
+    \makeatletter
+    \def\indexspace{}%
+    \parindent\z@
+    \setlength{\parskip}{\z@ \@plus .3\p@}%
+    \setlength{\parfillskip}{\z@ \@plus 1fil}%
+    \raggedright
+    \def\item##1\@nil{\DTK at scan@item##1\@nil
+      \par\parbox{\columnwidth}{%
+        \textbf{\DTK at tempa}\hfill[\DTK at tempc]\par\DTK at tempb
+      }%
+      \par\bigskip
+    }%
+}
+\def\endtheindex{\end{multicols}}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+\mbox{}\printindex
+\end{document}
+\end{externalDocument}
+
+
+\subsection{Sublabels}
+There are three predefined sublabels for \Lcs{subitems}. The program itself can handle more, there is
+no limit for \Lprog{xindex}.
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={2},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+%  xindexOptions=,
+  force=false,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{article}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\makeatletter
+\g at addto@macro{\theindex}{%
+  \pagestyle{empty}%
+  \def\subsubsubitem{\@idxitem\hspace*{35\p@}}
+  \def\subsubsubsubitem{\@idxitem\hspace*{40\p@}}
+}
+\makeatother
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\begin{document}
+foo\index{foo} bar\index{foo!bar}
+baz\index{foo!bar!baz} foobar%
+\index{foo!bar!baz!foobar} Kuba 
+\index{foo!bar!baz!foobar!Kuba}
+\newpage \printindex
+\end{document}
+\end{externalDocument}
+
+
+
+
+
+
+
+
+\section{Including \LaTeX\ commands into the \Lext{idx} file}
+The command \Lcs{addtocontents} doesn't work for the index file. With the \LaTeX\ package
+\Lpack{xindex} (same name as the Lua program \Lprog{xindex}) defines a macro \Lcs{writeidx}
+which writes its argument into the \Lext{idx} file. This can be usefull to insert a 
+\Index{pagebreak}/""\Index{columnbreak}
+before a new letter in the output of the index file:
+
+
+\begin{verbatim}
+\documentclass{article}
+\usepackage{makeidx}
+\makeindex
+\usepackage{xindex}
+\begin{document}
+
+\index{foo}foo and
+\writeidx{\clearpage}
+\index{bar}bar
+
+\printindex
+\end{document} 
+\end{verbatim}
+
+
+Such commands are then taken into account by the program \Lprog{xindex}. With the often used program \Lprog{makeindex}
+such commands are ignored. In the following example we put an horizontal line after the first entry:
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={2},
+  frame=false,
+  compiler=lualatex --shell-escape, 
+  crop,
+  xindex,
+  xindexOptions=-l de,
+  force,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\usepackage{libertinus-otf}
+%StartVisiblePreamble
+\usepackage{xindex}
+\makeindex
+%StopVisiblePreamble
+\makeatletter
+\let\ps at plain\ps at empty
+\makeatother
+\begin{document}
+\index{foo}foo and
+\writeidx{\item\protect\hrulefill}
+\index{bar}bar
+\index{gex}gex
+\printindex
+\end{document}
+\end{externalDocument}
+
+
+\section{Headings}
+By default the output uses the english headings: \textit{Symbols}, \textit{Numbers}, and \textit{A} \ldots
+There are three predefined languages \texttt{en}, \texttt{de}, and \texttt{fr}. The definition is in the file
+\Lfile{xindex-cfg-common.lua} (see also section \vref{language}).
+%
+It can easily be extended for other \Index{language}s. Sometimes the headers are not needed, for example in a name
+list. With the optional argument \verb=-n= or \verb=--noheadings= the created \Lext{ind} file has only
+the vertical space between different first letters:
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={5},
+  frame=false,
+  compiler=lualatex,
+  crop,
+  xindex,
+  xindexOptions=-n,
+  force,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\makeatletter
+\def\theindex{%    only for demonstration
+  \section*{\indexname}
+  \parskip\z@ \@plus .3\p@\relax \parindent\z@
+  \let\item\@idxitem}
+\makeatother
+%StartVisiblePreamble
+\usepackage{makeidx}\makeindex
+%StopVisiblePreamble
+\pagestyle{empty}
+\begin{document}
+Ein foo\index{foo}\index{bar|(}
+ \newpage und \index{foo} 
+ein foo\index{foo|textit} \newpage 
+und foo\index{foo|textbf} \newpage 
+und foo\index{foo|fbox}
+\index{bar|)}
+\newpage
+\verb|xindex -n <file>|
+\printindex
+\end{document}
+\end{externalDocument}
+
+\section{Automatic index creation}
+With package \Lpack{xindex} one can define several different index files, e.\,g.
+an \Index{index of names}. With the optional argument \Loption{imakeidx} the package itself loads  \Lpack{imakeidx}
+and adds the program \Lprog{xindex} as the default program to  \Lpack{imakeidx}. 
+
+\begin{externalDocument}[
+%  grfOptions={width=\dimexpr\linewidth-2\fboxsep-2\fboxrule},
+  mpwidth=0.55\linewidth,
+  pages={6},
+  frame=false,
+  compiler=lualatex --shell-escape, 
+  crop,
+  xindex,
+  xindexOptions=-l de,
+  force,
+  runs=2,code,docType=latex,
+  showFilename,
+  align=\centering,
+  lstOptions={columns=fixed}]{xindex}
+\documentclass{scrartcl}
+\usepackage{libertinus-otf}
+\makeatletter
+\let\ps at plain\ps at empty
+\makeatother
+%StartVisiblePreamble
+\usepackage[imakeidx]{xindex}
+\makeindex[name=persons,title=Index of names,
+   columns=1,options=--noheadings]
+\def\ThanhVN{Hàn Thê\protect\llap{%
+  \raise 0.5ex\hbox{\'{}}}}
+%StopVisiblePreamble
+\pagestyle{empty}\renewcommand\thepage{}
+\begin{document}
+foo\index[persons]{Niepraschk,~ Rolf}
+foo\index[persons]{Lamport,~ Leslie}
+foo\index[persons]{Knuth,~ Donald}
+foo\index[persons]{Knuth,~ Donald}
+\newpage
+foo\index[persons]{Lamport,~ Leslie}
+foo\index[persons]{Thành,~ \ThanhVN}
+foo\index[persons]{Kew,~ Jonathan}
+foo\index[persons]{Kohm,~ Markus}
+foo\index[persons]{Preining,~ Norbert}
+\newpage
+foo\index[persons]{Schenk,~ Christian}
+foo\index[persons]{Feuerstack,~ Thomas}
+foo\index[persons]{Tobin,~ Geoffrey}
+foo\index[persons]{Wilson,~ Peter}
+\newpage
+foo\index[persons]{Kohm,~ Markus}
+foo\index[persons]{Theiling,~ Henrik}
+foo\index[persons]{Pégourié-Gonnard,~ Manuel}
+foo\index[persons]{Roux,~ Élie}
+\newpage
+foo\index[persons]{Mittelbach,~ Frank}
+foo\index[persons]{Fairbairns,~ Robin}
+foo\index[persons]{Lemberg,~ Werner}
+foo\index[persons]{Volovich,~ Vladimir}
+
+\printindex[persons]
+\end{document}
+\end{externalDocument}
+
+
+You have to run \LaTeX\  with the \verb|--shell-escape|\index{Shell escape} option to run \Lprog{xindex}
+from within the \LaTeX\ document.
+
+\section{Demerits}
+\begin{itemize}
+\item For more than 5000 entries in the \Lext{idx} file the internal Lua function
+for \Index{sorting} may take some time.
+\item The \Lext{idx} file is not checked for \LaTeX\  errors\index{LaTeX\ errors@\LaTeX\  errors} 
+in the argument of \Lcs{indexentry}.
+\end{itemize}
+
+
+
+
+
+%\nocite{*}
+%\printbibliography
+
+
+\printindex
+
+\end{document}
+
+
+
+folium = { 
+  de = {"f", "ff"},
+  en = {"f", "ff"},
+  fr = {"sq","sqq"},
+}


Property changes on: trunk/Master/texmf-dist/doc/lualatex/xindex/xindex-doc.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/scripts/xindex/xindex.lua
===================================================================
--- trunk/Master/texmf-dist/scripts/xindex/xindex.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/scripts/xindex/xindex.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,176 @@
+#!/usr/bin/env texlua
+-----------------------------------------------------------------------
+--         FILE:  xindex.lua
+--  DESCRIPTION:  create an index
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL 1.3
+-----------------------------------------------------------------------
+
+        xindex = xindex or { }
+ local version = 0.05
+xindex.version = version
+--xindex.self = "xindex"
+
+--[[doc--
+
+xindex(1)
+
+This file is provided under the terms of the LPPL v1.3 or
+later as printed in full text in the manual (xindex.pdf).
+
+\url{https://ctan.org/license/lppl1.3}.
+
+Report bugs to
+
+    \url{https://gitlab.com/hvoss49/xindex/issues}.
+
+--doc]]--
+
+kpse.set_program_name("luatex")
+
+require("lualibs")  -- all part of LuaTeX
+require('unicode')
+require('string')
+require("lpeg")
+
+
+local args = require ('xindex-lapp') [[
+  parameter handling
+    -q,--quiet
+    -h,--help
+    -v...          Verbosity level; can be -v, -vv, -vvv
+    -c,--config (default cfg)
+    -e,--escapechar (default ")
+    -n,--noheadings 
+    -o,--output (default "")
+    -l,--language (default en)
+    <input> (string)
+]]
+
+
+--[[
+    No -v flag, v is just { false }. not args.v[1] is true, so vlevel becomes 0.
+    One -v flags, v is { true }
+    Two -v flags, v is { true, true }
+    Three -v flags, v is { true, true, true } 
+]]
+
+vlevel = not args.v[1] and 0 or #args.v
+not_quiet = not args["quiet"]
+
+--[[
+if args.h then
+print(
+Syntax: xinput [options] <file>
+By default the Lua program "xindex" creates a so-called
+.ind file, which has the same main filename as the input file
+unless you are using the option "-o <output file>"  There will 
+be no log file created. 
+)
+end
+]]
+
+
+--[[
+if not args["input"] then 
+  io.write ("Filename: ")
+  inFile = io.read()
+else
+  inFile = args["input"]
+end
+]]
+
+require('xindex-lib')
+
+inFile = args["input"]
+if not file_exists(inFile) then
+  if file_exists(inFile..".idx") then
+    inFile = inFile..".idx"
+  else
+    writeLog(2,"Inputfile "..inFile.." or "..inFile..".idx not found!\n",0)
+    os.exit()
+  end
+end  
+
+local filename
+local logfilename
+if args["output"] == '""' then
+  if inFile:sub(inFile:len()-3,inFile:len()) == ".idx" then 
+    filename = inFile:sub(1,inFile:len()-3).."ind"
+    logfilename = inFile:sub(1,inFile:len()-3).."ilg"
+  else
+    filename = inFile..".ind"
+    logfilename = inFile..".ilg"
+  end
+else
+  filename = args.output
+  logfilename = filename:gsub('%p...','')..".ilg"
+end
+
+logFile = io.open(logfilename,"w+")
+writeLog(2,"xindex v."..version.." (c) Herbert Voß\n",-1)
+writeLog(1,"Verbose level = "..vlevel.."\n",1)
+
+writeLog(2,"Open outputfile "..filename,0)
+outFile = io.open(filename,"w+")
+writeLog(2," ... done\n",0)
+
+if vlevel > 0 then
+  writeLog(1,"---------- parameter ----------\n",1)
+  for k,v in pairs(args) do
+    writeLog(1,tostring(k)..", "..tostring(v).."\n",1)
+  end
+  for k=1,#args.v do 
+    writeLog(1,"v["..k.."]= "..tostring(args.v[k]).."\n",1) 
+  end
+  writeLog(1,"---------- parameter ----------\n",1)
+end
+
+writeLog(2,"Using input file: "..inFile.."\n",0)
+
+writeLog(2,"Loading common config file ".."xindex-cfg-common\n",1)
+Config_File_Common = kpse.find_file("xindex-cfg-common.lua") 
+cfg_common = require(Config_File_Common)
+
+local config_file = "xindex-"..args.config..".lua"
+writeLog(2,"Loading local config file "..config_file,0)
+Config_File = kpse.find_file(config_file) 
+cfg = require(Config_File)
+writeLog(2," ... done\n",0)
+
+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//',  '!'    }
+}
+
+language = string.lower(args["language"])
+writeLog(2,"Language = "..language.."\n",1) 
+index_header = indexheader[language]
+if vlevel > 0 then for i=1,#index_header do writeLog(2,index_header[i].."\n",1) end end
+page_folium = folium[language]
+
+
+no_headings = args["noheadings"]
+if no_headings then
+  writeLog(1,"Output with NO headings between different first letter\n",1)
+else
+  writeLog(1,"Output with headings between different first letter\n",1)
+end
+
+writeLog(2,"Open outputfile "..filename,0)
+outFile = io.open(filename,"w+")
+writeLog(2,"... done\n",0)
+
+
+writeLog(1,"Starting base file ... \n",2)
+BaseRunFile = kpse.find_file("xindex-base.lua") 
+dofile(BaseRunFile)
+
+logFile:close()
+
+


Property changes on: trunk/Master/texmf-dist/scripts/xindex/xindex.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,102 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-cfg.lua
+--  DESCRIPTION:  configuration file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-cfg'] = {
+      version = 0.05,
+      comment = "configuration to xindex.lua",
+       author = "Herbert Voss",
+    copyright = "Herbert Voss",
+      license = "LPPL 1.3"
+}
+
+escape_chars = { -- by default " is the escape char
+  {'""', "\\escapedquote", "\"{}" },
+  {'"@', "\\escapedat",    "@"    },
+  {'"|', "\\escapedvert",  "|"    },
+  {'"!', "\\escapedexcl",  "!"    }
+}
+
+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 
+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"
+indexOpening      = ""     -- commands after \begin{theindex}
+
+
+--[[
+    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', 'á', 'à', 'å', 'æ', },
+    { 'ae', 'ä'},
+    { 'b' },
+    { 'c', 'ç' },
+    { 'd' },
+    { 'e', 'é', 'è', 'ë' },
+    { 'f' },
+    { 'g' },
+    { 'h' },
+    { 'i', 'í', 'ì', 'ï' },
+    { 'j' },
+    { 'k' },
+    { 'l' },
+    { 'm' },
+    { 'n', 'ñ' },
+    { 'o', 'ó', 'ò', 'ø', 'œ'},
+    { 'oe', 'ö' },
+    { 'p' },
+    { 'q' },
+    { 'r' },
+    { 's', 'š', 'ß' },
+    { 't' },
+    { 'u', 'ú', 'ù' },
+    { 'ue', 'ü' },
+    { 'v' },
+    { 'w' },
+    { 'x' },
+    { 'y', 'ý', 'ÿ' },
+    { 'z', 'ž' }
+}
+alphabet_upper = { -- for sorting
+    { ' ' },
+    { 'A', 'Á', 'À', 'Å', 'Æ'},
+    { 'AE', 'Ä'},
+    { 'B' },
+    { 'C', 'Ç' },
+    { 'D' },
+    { 'E', 'È', 'È', 'Ë' },
+    { 'F' },
+    { 'G' },
+    { 'H' },
+    { 'I', 'Í', 'Ì', 'Ï' },
+    { 'J' },
+    { 'K' },
+    { 'L' },
+    { 'M' },
+    { 'N', 'Ñ' },
+    { 'O', 'Ó', 'Ò', 'Ø','Œ' },
+    { 'OE', 'Ö' },
+    { 'P' },
+    { 'Q' },
+    { 'R' },
+    { 'S', 'Š' },
+    { 'T' },
+    { 'U', 'Ú', 'Ù' },
+    { 'UE', 'Ü' },
+    { 'V' },
+    { 'W' },
+    { 'X' },
+    { 'Y', 'Ý', 'Ÿ' },
+    { 'Z', 'Ž' }
+}
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-DIN2.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,231 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-HAdW.lua
+--  DESCRIPTION:  configuration file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+--
+-- configuration for index files of the Heidelberger Akademie der Wissenschaften
+
+if not modules then modules = { } end modules ['xindex-HAdW'] = {
+      version = 0.05,
+      comment = "configuration to xindex.lua",
+       author = "Herbert Voss",
+    copyright = "Herbert Voss",
+      license = "LPPL 1.3"
+}
+
+--local version = "0.01"
+
+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 
+numericPage       = false   -- 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"
+indexOpening      = ""     -- commands after \begin{theindex}
+
+
+
+--[[
+    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' }
+}
+
+
+--\indexentry{Ackers, Carolus}{VII/1-715}
+--\indexentry{Bremen!Adalbert I. von, Erzbischof}{VII/2/1-948}
+--\indexentry{Bremen!Adalbert I. von, Erzbischof}{VII/1-50}
+
+function specialCompressPageList(pages)
+  if (#pages <= 1) or (pages[1]["number"] == "") then 
+    pages[1]["number"] = pages[1]["number"]:gsub('-',' ')
+    return pages 
+  end  -- only one pageno
+--[[ 
+modify pagelist
+sortPages = {{ origin = { number=VII/1-715, special="" }, 
+               sort   = 07/1-00715 },
+             {...}
+            }
+]]
+  local sortPages = {}
+  local roman 
+  local volume
+  local page
+  local i
+  for i=1,#pages do
+    roman = string.gsub(pages[i]["number"],'%U*','') -- only uppercase to catch VII123f (folium pages)
+    roman = string.format("%03d",tonumber(romanToNumber(roman)))
+    volume = string.gsub(pages[i]["number"],'%a*','')
+    if volume then volume = volume:gsub('-%d*','') end
+    page = string.gsub(pages[i]["number"],'.*-','')
+    page = string.format("%5s",page)
+--print(roman..volume.." "..page)
+    sortPages[#sortPages+1] = {
+      origin = pages[i],
+      sort = roman..volume.." "..page }  -- no minus between Roman/Volume and first page
+   end
+-- sort the page list  
+  table.sort(sortPages, function(a,b) return a["sort"] < b["sort"] end )
+  local Pages = {}
+  for i=1,#sortPages do    -- use the sorted origin table
+    Pages[#Pages+1] = sortPages[i]["origin"]
+  end
+--  writeLog(1,print(getRawPagesP(Pages)),2)
+-- test if two or more pages in the list
+  if #Pages == 2 then  -- only two pages
+    local page1 = string.gsub(Pages[1]["number"],'%A*','')  -- get prefix1
+    local page2 = string.gsub(Pages[2]["number"],'%A*','')  -- ger prefix2
+    if page1 == page2 then  -- same prefix
+      page1 = string.gsub(Pages[1]["number"],'.*-','') -- get page1
+      page2 = string.gsub(Pages[2]["number"],'.*-','') -- get page2
+      if (page2-page1) == 1 then                       -- pagediff = 1
+        Pages[1]["number"] = Pages[1]["number"].."f"   
+        Pages[2] = nil                                 -- remove second page
+        return Pages 
+      else  -- page difference > 1
+        pages[1]["number"] = pages[1]["number"]:gsub('-',' ')
+        Pages[2]["number"] = string.gsub(Pages[2]["number"],'.*-','') -- use only number -> same prefix
+        return Pages  -- Pages[1] is the same
+      end
+    else
+      pages[1]["number"] = pages[1]["number"]:gsub('-',' ')
+      pages[2]["number"] = pages[2]["number"]:gsub('-',' ')
+      return Pages  -- different prefix -> simple return of the two pages
+    end
+  else   -- more than two pages
+    local prefixList = {}
+    local lastPrefix = ""
+    local currentPrefix
+    for i=1,#Pages do  -- create the list of different prefixes, eg {VI, VI/2/1, VI/2/2}
+      currentPrefix, j = string.gsub(Pages[i]["number"],'-.*','')
+      if currentPrefix ~= lastPrefix then
+        prefixList[#prefixList+1] = currentPrefix
+        lastPrefix = currentPrefix
+      end
+    end
+    pages = {}
+    for j = 1,#prefixList do
+      lastPrefix = prefixList[j]
+      i = 1
+      local subPageList = {}
+      while (i <= #Pages) do
+        currentPrefix, _ = string.gsub(Pages[i]["number"],'-.*','')
+        if (lastPrefix == currentPrefix) then
+          subPageList[#subPageList+1] = { number = string.gsub(Pages[i]["number"],'.*-',''), special = Pages[i]["special"] }
+        end
+          i = i +1
+      end
+      sortPages = compressPageList(subPageList)
+      -- no minus between Roman/Volume and first page
+      pages[#pages+1] = { number = lastPrefix.." "..sortPages[1]["number"], special = sortPages[1]["special"] }
+      for i=2,#sortPages do
+        pages[#pages+1] = sortPages[i]
+      end
+    end
+    return pages
+  end
+end
+
+function replaceRoman(r)
+  local i = romanToNumber(r)
+  if i then return "//"..string.format("%03d",i).."//"
+       else return r
+  end
+end
+
+function SORTprehook(data)  -- replace roman with algebraic, eg Karl IX -> Karl // 9//
+--  writeLog(1,require 'xindex-pretty'.dump(data),0)   -- only for internal dump
+  local entry
+  local elements = {}
+  for i=1,#data do
+    entry = data[i]["Entry"]
+    elements = entry:split()
+    local number = romanToNumber(elements[#elements])
+    if number then
+      local strNr = string.format("%03d",tostring(number))
+      elements[#elements] = "//"..strNr.."//"
+      entry = ""
+      for j=1,#elements do entry=entry.." "..elements[j] end
+    else 
+      entry:gsub("!(.-)%p",replaceRoman)
+    end
+    data[i]["Entry"] = entry
+  end
+  return data
+end
+
+function SORTposthook(data)  -- the other way round as prehook
+  local entry
+  local elements = {}
+  for i=1,#data do
+    entry = data[i]["Entry"]
+    if entry:find("//") then 
+       data[i]["Entry"] = entry:gsub("//(.-)//",numberToRoman)
+    end
+  end
+  return data
+end
+
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-HAdW.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,222 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-base.lua
+--  DESCRIPTION:  base file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+local info = { version = 0.05}
+
+-- check config
+if pageNoPrefixDel ~= "" then 
+--  numericPage = false 
+   pageNoPrefixPattern = "^.*"..pageNoPrefixDel
+end
+
+writeLog(2,"Read Data from file "..inFile.." ... \n",0)
+local lines = read_lines_from(inFile)
+writeLog(2,#lines.." lines of data read\n",0)
+
+if vlevel > 1 then 
+  writeLog(1,"--------------- Input data -----------------\n",2)
+  for _,l in pairs(lines) do writeLog(1,l.."\n",2) end
+  writeLog(1,"--------------- end Input data -----------------\n",2)
+end
+
+local Index = {}  -- Entry = "Seitenzahl(en)"
+local pages = {}
+local noEntryfound
+local noPagefound
+
+hyperpage, lines = checkHyperpage(lines)  -- hyperref used?
+if hyperpage then writeLog(1,"We have hyperpages ... \n",1) end
+
+--for _,l in pairs(lines) do print (l) end
+
+writeLog(1,"Change escape chars with macros ... \n",0)
+for k,v in pairs(lines) do
+  if not commandEntry(v) then
+    for i, str0 in ipairs(escape_chars) do
+      v = v:gsub(str0[1],str0[2])
+    end
+    if k < #lines then
+      if commandEntry(lines[k+1]) then   -- is the next line not a \indexentry ?
+        Index = getEntryAndPage(v,lines[k+1],Index)-- read two lines
+      else
+        Index = getEntryAndPage(v,"",Index)-- current line
+      end
+    else
+      Index = getEntryAndPage(v,"",Index)-- current line
+    end
+  end
+end
+
+writeLog(1,"... done\n",0)
+writeLog(1,"------------------ Start list after getEntryAndPage() ------------------------\n,",2) 
+printList(Index,2)
+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
+k = 0
+table.sort(Index,UTFCompare)
+if SORTposthook then Index = SORTposthook(Index) end
+
+writeLog(1,"------------------ Start list after table.sort(Index,UTFCompare)------------\n",2)
+printList(Index,2)
+writeLog(1,require 'xindex-pretty'.dump(Index),3)    -- only for internal dump
+writeLog(1,"\n------------------ end list after table.sort(Index,UTFCompare)------------\n",2)
+
+writeLog(1,"\n",0)
+writeLog(2,"\ncheck for |(...|) \n",0)
+writeLog(1,"------------------ Start list before checkParenthesis(Index)------------\n",2)
+writeLog(1,require 'xindex-pretty'.dump(Index),3)   -- only for internal dump
+--for i=1,#Index do print(Index[i]["Entry"],Index[i]["pages"][1]["number"],Index[i]["pages"][1]["special"]) end
+
+Index = checkParenthesis(Index)
+
+writeLog(1,"\n",0)
+
+--for i=1,#Index do print(Index[i]["Entry"],Index[i]["pages"][1]["number"],Index[i]["pages"][1]["special"]) end
+writeLog(1,require 'xindex-pretty'.dump(Index),3)   -- only for internal dump
+printList(Index,2)
+writeLog(1,"------------------ End list after checkParenthesis(Index) ------------\n",2)
+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
+
+local NewIndex = {}
+NewIndex = compressEntryList(Index)   -- replaces also foo at bar -> bar
+
+-- for i=1,#NewIndex do print(NewIndex[i]["Entry"],NewIndex[i]["pages"][1]["number"],NewIndex[i]["pages"][1]["special"]) end
+writeLog(1,require 'xindex-pretty'.dump(NewIndex),3)   -- only for internal dump
+printList(NewIndex,2)
+writeLog(1,"------------------ End list after compressEntryList(Index)------------\n",1)
+writeLog(2,"done\n",0)
+
+-- output the .ind-list
+--[[
+for i, str0 in ipairs(escape_chars) do
+  outFile:write("\\def"..str0[2].."{"..str0[3].."}\n")
+end
+]]   -- no more needed, we redo the setting 
+
+
+outFile:write("\n")
+outFile:write("\\begin{theindex}\n")
+
+if indexOpening ~= "" then   -- commands after \begin{theindex}
+  outFile:write(indexOpening) 
+end
+
+local entry
+local firstCLine = true
+local firstNLine = true
+local firstSLine = true
+local firstChar
+local symbols = true
+local numbers = false
+local letters = false
+local charType
+local currentChar
+local currentCharType = 0 -- assume Symbol;  1 number; 2 letter
+local oldChar = ""
+local excl = 0 --  number of ! symbols in one entry 
+local lastItems = {"","",""}
+
+writeLog(2,"Start writing .ind file ... \n",0)
+
+-- first the special cases for symbols and numbers:
+
+writeLog(1,"---------- Start list to write the ind file --------------\n",1)
+writeLog(1,require 'xindex-pretty'.dump(NewIndex),3)   -- only for internal dump
+for k=1,#NewIndex do
+--  require 'xindex-pretty'.dump(NewIndex[k])   -- only for internal dump
+  if NewIndex[k]["Entry"] then
+    local v = NewIndex[k]
+    writeLog(1," NewIndex[k]: "..v["Entry"].."\n",2)
+    writeLog(1,require 'xindex-pretty'.dump(v),3)   -- only for internal dump
+    entry = v["Entry"] 
+    writeLog(1,"\nBase start: "..entry.."\n",2)
+--    local c = utf.sub(v["sortChar"],1,1)
+--    if utf8.codepoint(c) < 12288 then -- Japanese starts at hex 3000
+--      firstChar = v["sortChar"]
+--    else 
+      firstChar = utf.sub(v["sortChar"],1,1)  -- catch a translatet Ö->OE
+--    end
+    currentChar = firstChar
+    charType = getCharType(firstChar)
+    if charType == 0 then 
+      numbers = false 
+      symbols = true
+    end
+    if charType == 1 then 
+      numbers = true 
+      symbols = false
+    end
+    if charType > 1 then 
+      numbers = false 
+      symbols = false
+      letters = true 
+    end
+    if symbols then 
+      writeLog(1,"We have symbols to print ...\n",3) 
+      if firstSLine then
+        firstSLine = false
+        if not no_headings then
+          outFile:write("\\textbf{"..index_header[1].."}\n\\nopagebreak[4]\n")
+        end
+      end
+      if specialItemOutput then
+        lastItems = specialItemOutput(lastItems, v, hyperpage)
+      else
+        lastItems = itemOutput(lastItems, v, hyperpage)
+      end
+    else
+      writeLog(1,"We have no symbols to print ...\n",3)
+    end
+    if numbers then 
+      writeLog(1,"We have numbers to print ...\n",3)
+      if firstNLine then
+        firstNLine = false
+        outFile:write("\n\\indexspace\n")
+        if not no_headings  then
+          outFile:write("\\textbf{"..index_header[2].."}\n\\nopagebreak[4]\n")
+        end
+      end
+      if specialItemOutput then
+        lastItems = specialItemOutput(lastItems, v, hyperpage)
+      else
+        lastItems = itemOutput(lastItems, v, hyperpage)
+      end
+    else
+      writeLog(1,"We have no numbers to print ...\n",3)
+    end
+    if letters then
+      writeLog(1,"We have letters to print ...\n",3) 
+      if (currentChar ~= oldChar) and (charType == 2) then 
+        outFile:write("\n\\indexspace\n")
+        if not no_headings then
+          outFile:write("\\textbf{"..currentChar.."}\n\\nopagebreak[4]\n")
+        end
+        oldChar = currentChar
+      end
+      if specialItemOutput then
+        lastItems = specialItemOutput(lastItems, v, hyperpage)
+      else
+        lastItems = itemOutput(lastItems, v, hyperpage)
+      end
+    end
+    if v["Macro"]  then outFile:write(v["Macro"].."\n") end
+  end
+end
+outFile:write("\\end{theindex}\n")
+outFile:close()
+
+writeLog(2,"\ndone! closing program\n",0)
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-base.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,29 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-cfg-common.lua
+--  DESCRIPTION:  configuration file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-cfg-common'] = {
+      version = 0.05,
+      comment = "configuration to xindex.lua",
+       author = "Herbert Voss",
+    copyright = "Herbert Voss",
+      license = "LPPL 1.3"
+}
+
+indexheader = { 
+  de = {"Symbole", "Zahlen"},
+  en = {"Symbols", "Numbers"},
+  fr = {"Symboles","Chiffre"},
+  jp = {"シンボル","番号"},
+}
+
+folium = { 
+  de = {"f", "ff"},
+  en = {"f", "ff"},
+  fr = {"\\,sq","\\,sqq"},
+}
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg-common.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,89 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-cfg.lua
+--  DESCRIPTION:  configuration file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-cfg'] = {
+      version = 0.05,
+      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 
+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}
+
+
+--[[
+    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', 'Ž' }
+}
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-cfg.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,157 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-cfg.lua
+--  DESCRIPTION:  configuration file for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-cfg'] = {
+      version = 0.05,
+      comment = "DTK 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 
+numericPage       = true    -- for non numerical pagenumbers, like "VI-17"
+sublabels         = {"","","",""} -- for the sub(sub(sub-items
+pageNoPrefixDel   = ""      -- a delimiter for page numbers like "VI-17"  -- not used !!!
+indexOpening      = "" --[[\providecommand*\lettergroupDefault[1]{}
+\providecommand*\lettergroup[1]{%
+      \par\textbf{#1}\par
+      \nopagebreak
+  } 
+]]
+
+
+--[[
+    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' }
+}
+
+
+function specialGetPageList(v,hyperpage)
+  local Pages = {}
+  if v["pages"] then
+    table.sort(v["pages"],pageCompare)-- nur nötig, da User manuell eine Zeile einfügen kann
+    if specialCompressPageList then
+      Pages = specialCompressPageList(v["pages"])
+    else
+      Pages = compressPageList(v["pages"])
+    end
+    local pageNo
+    if hyperpage then
+        if string.find(v["pages"][1]["special"],"hyperindexformat") then
+          pageNo = v["pages"][1]["special"].."{"..checkFF(Pages[1]["number"].."}")
+        else
+          pageNo = "\\hyperpage{"..checkFF(Pages[1]["number"]).."}"
+        end
+      for i=2,#Pages do
+        if string.find(v["pages"][i]["special"],"hyperindexformat") then
+          pageNo = pageNo..", "..v["pages"][i]["special"].."{"..checkFF(Pages[i]["number"].."}")
+        else
+          pageNo = pageNo..", \\hyperpage{"..checkFF(Pages[i]["number"]).."}"
+        end
+--        Pages[i] = nil
+      end
+    else
+      if args_v then print("getPageList: "..tostring(Pages[1]["special"])..tostring(Pages[1]["number"])) end 
+      if (Pages[1]["special"] == nil) or (Pages[1]["number"] == nil) then return ""  end 
+      if #Pages == 1 then
+        return "\\relax "..Pages[1]["number"].."\\@nil"
+      else        
+        pageNo = "\\relax "..Pages[1]["number"] 
+        for i=2,#Pages do
+          if Pages[i]["number"] then
+            pageNo = pageNo..", "..Pages[i]["number"]
+            Pages[i] = {}
+          end
+        end
+        pageNo = pageNo.."\\@nil" -- add \@nil
+      end
+      return pageNo
+    end
+  else
+    return ""
+  end
+end
+
+function specialItemOutput(last, v, hyperpage)
+  local lastItems = last
+  local currentItems = {}
+  local Entry = v["Entry"]
+  local name = getItem(Entry,0)
+  local adress = getItem(Entry,1)
+  outFile:write("  \\item "..name..itemPageDelimiter.."\n")
+  str = "    \\subitem "..itemPageDelimiter.." "..adress..getPageList(v,hyperpage).."\n"
+  for i, str0 in ipairs(escape_chars) do       -- undo the escape char setting
+    str = str:gsub(str0[2],str0[3])
+  end
+  outFile:write(str)
+  return last
+end
+
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-dtk.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,325 @@
+-- lapp.lua
+-- Simple command-line parsing using human-readable specification
+-----------------------------
+--~ -- args.lua
+--~ local args = require ('lapp') [[
+--~ Testing parameter handling
+--~     -p               Plain flag (defaults to false)
+--~     -q,--quiet       Plain flag with GNU-style optional long name
+--~     -o  (string)     Required string option
+--~     -n  (number)     Required number option
+--~     -s (default 1.0) Option that takes a number, but will default
+--~     <start> (number) Required number argument
+--~     <input> (default stdin)  A parameter which is an input file
+--~     <output> (default stdout) One that is an output file
+--~ ]]
+--~ for k,v in pairs(args) do
+--~     print(k,v)
+--~ end
+-------------------------------
+--~ > args -pq -o help -n 2 2.3
+--~ input   file (781C1B78)
+--~ p       true
+--~ s       1
+--~ output  file (781C1B98)
+--~ quiet   true
+--~ start   2.3
+--~ o       help
+--~ n       2
+--------------------------------
+if not modules then modules = { } end modules ['xindex-lapp'] = {
+      version = 0.05,
+      comment = "read parameter for xindex.lua",
+       author = "Steve Donovan",
+    copyright = "Steve Donovan",
+      license = "MIT"
+}
+
+
+lapp = {}
+
+local append = table.insert
+local usage
+local open_files = {}
+local parms = {}
+local aliases = {}
+local parmlist = {}
+
+local filetypes = {
+    stdin = {io.stdin,'file-in'}, stdout = {io.stdout,'file-out'},
+    stderr = {io.stderr,'file-out'}
+}
+
+local function quit(msg,no_usage)
+    if msg then
+        io.stderr:write(msg..'\n\n')
+    end
+    if not no_usage then
+        io.stderr:write(usage)
+    end
+    os.exit(1);
+end
+
+local function error(msg,no_usage)
+    quit(arg[0]:gsub('.+[\\/]','')..':'..msg,no_usage)
+end
+
+local function ltrim(line)
+    return line:gsub('^%s*','')
+end
+
+local function rtrim(line)
+    return line:gsub('%s*$','')
+end
+
+local function trim(s)
+    return ltrim(rtrim(s))
+end
+
+local function open (file,opt)
+    local val,err = io.open(file,opt)
+    if not val then error(err,true) end
+    append(open_files,val)
+    return val
+end
+
+local function xassert(condn,msg)
+    if not condn then
+        error(msg)
+    end
+end
+
+local function range_check(x,min,max,parm)
+    xassert(min <= x and max >= x,parm..' out of range')
+end
+
+local function xtonumber(s)
+    local val = tonumber(s)
+    if not val then error("unable to convert to number: "..s) end
+    return val
+end
+
+local function is_filetype(type)
+    return type == 'file-in' or type == 'file-out'
+end
+
+local types = {}
+
+local function convert_parameter(ps,val)
+    if ps.converter then
+        val = ps.converter(val)
+    end
+    if ps.type == 'number' then
+        val = xtonumber(val)
+    elseif is_filetype(ps.type) then
+        val = open(val,(ps.type == 'file-in' and 'r') or 'w' )
+    elseif ps.type == 'boolean' then
+        val = true
+    end
+    if ps.constraint then
+        ps.constraint(val)
+    end
+    return val
+end
+
+function lapp.add_type (name,converter,constraint)
+    types[name] = {converter=converter,constraint=constraint}
+end
+
+local function force_short(short)
+    xassert(#short==1,short..": short parameters should be one character")
+end
+
+function process_options_string(str)
+    local res = {}
+    local varargs
+
+    local function check_varargs(s)
+        local res,cnt = s:gsub('%.%.%.$','')
+        varargs = cnt > 0
+        return res
+    end
+
+    local function set_result(ps,parm,val)
+        if not ps.varargs then
+            res[parm] = val
+        else
+            if not res[parm] then
+                res[parm] = { val }
+            else
+                append(res[parm],val)
+            end
+        end
+    end
+
+    usage = str
+
+    for line in str:gmatch('([^\n]*)\n') do
+        local optspec,optparm,i1,i2,defval,vtype,constraint
+        line = ltrim(line)
+        -- flags: either -<short> or -<short>,<long>
+        i1,i2,optspec = line:find('^%-(%S+)')
+        if i1 then
+            optspec = check_varargs(optspec)
+            local short,long = optspec:match('([^,]+),(.+)')
+            if short then
+                optparm = long:sub(3)
+                aliases[short] = optparm
+                force_short(short)
+            else
+                optparm = optspec
+                force_short(optparm)
+            end
+        else -- is it <parameter_name>?
+            i1,i2,optparm = line:find('(%b<>)')
+            if i1 then
+                -- so <input file...> becomes input_file ...
+                optparm = check_varargs(optparm:sub(2,-2)):gsub('%A','_')
+                append(parmlist,optparm)
+            end
+        end
+        if i1 then -- this is not a pure doc line
+            local last_i2 = i2
+            local sval
+            line = ltrim(line:sub(i2+1))
+            -- do we have (default <val>) or (<type>)?
+            i1,i2,typespec = line:find('^%s*(%b())')
+            if i1 then
+                typespec = trim(typespec:sub(2,-2)) -- trim the parens and any space
+                sval = typespec:match('default%s+(.+)')
+                if sval then
+                    local val = tonumber(sval)
+                    if val then -- we have a number!
+                        defval = val
+                        vtype = 'number'
+                    elseif filetypes[sval] then
+                        local ft = filetypes[sval]
+                        defval = ft[1]
+                        vtype = ft[2]
+                    else
+                        defval = sval
+                        vtype = 'string'
+                    end
+                else
+                    local min,max = typespec:match '([^%.]+)%.%.(.+)'
+                    if min then -- it's (min..max)
+                        vtype = 'number'
+                        min = xtonumber(min)
+                        max = xtonumber(max)
+                        constraint = function(x)
+                            range_check(x,min,max,optparm)
+                        end
+                    else -- () just contains type of required parameter
+                        vtype = typespec
+                    end
+                end
+            else -- must be a plain flag, no extra parameter required
+                defval = false
+                vtype = 'boolean'
+            end
+            local ps = {
+                type = vtype,
+                defval = defval,
+                required = defval == nil,
+                comment = line:sub((i2 or last_i2)+1) or optparm,
+                constraint = constraint,
+                varargs = varargs
+            }
+            if types[vtype] then
+                local converter = types[vtype].converter
+                if type(converter) == 'string' then
+                    ps.type = converter
+                else
+                    ps.converter = converter
+                end
+                ps.constraint = types[vtype].constraint
+            end
+            parms[optparm] = ps
+        end
+    end
+    -- cool, we have our parms, let's parse the command line args
+    local iparm = 1
+    local iextra = 1
+    local i = 1
+    local parm,ps,val
+    while i <= #arg do
+        -- look for a flag, -<short flags> or --<long flag>
+        local i1,i2,dash,parmstr = arg[i]:find('^(%-+)(%a.*)')
+        if i1 then -- we have a flag
+            if #dash == 2 then -- long option
+                parm = parmstr
+            else -- short option
+                if #parmstr == 1 then
+                    parm = parmstr
+                else -- multiple flags after a '-',?
+                    parm = parmstr:sub(1,1)
+                    if parmstr:find('^%a%d+') then
+                        -- a short option followed by a digit? (exception for AW ;))
+                        -- push ahead into the arg array
+                        table.insert(arg,i+1,parmstr:sub(2))
+                    else
+                        -- push multiple flags into the arg array!
+                        for k = 2,#parmstr do
+                            table.insert(arg,i+k-1,'-'..parmstr:sub(k,k))
+                        end
+                    end
+                end
+            end
+            if parm == 'h' or parm == 'help' then
+                quit()
+            end
+            if aliases[parm] then parm = aliases[parm] end
+            ps = parms[parm]
+            if not ps then error("unrecognized parameter: "..parm) end
+            if ps.type ~= 'boolean' then -- we need a value! This should follow
+                val = arg[i+1]
+                i = i + 1
+                xassert(val,parm.." was expecting a value")
+            end
+        else -- a parameter
+            parm = parmlist[iparm]
+            if not parm then
+               -- extra unnamed parameters are indexed starting at 1
+               parm = iextra
+               iextra = iextra + 1
+               ps = { type = 'string' }
+            else
+                ps = parms[parm]
+            end
+            if not ps.varargs then
+                iparm = iparm + 1
+            end
+            val = arg[i]
+        end
+        ps.used = true
+        val = convert_parameter(ps,val)
+        set_result(ps,parm,val)
+        if is_filetype(ps.type) then
+            set_result(ps,parm..'_name',arg[i])
+        end
+        if lapp.callback then
+            lapp.callback(parm,arg[i],res)
+        end
+        i = i + 1
+    end
+    -- check unused parms, set defaults and check if any required parameters were missed
+    for parm,ps in pairs(parms) do
+        if not ps.used then
+            if ps.required then error("missing required parameter: "..parm) end
+            set_result(ps,parm,ps.defval)
+        end
+    end
+    return res
+end
+
+setmetatable(lapp, {
+    __call = function(tbl,str) return process_options_string(str) end,
+    __index = {
+        open = open,
+        quit = quit,
+        error = error,
+        assert = xassert,
+    }
+})
+
+return lapp


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lapp.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,908 @@
+-----------------------------------------------------------------------
+--         FILE:  xindex-lib.lua
+--  DESCRIPTION:  library for xindex.lua
+-- REQUIREMENTS:  
+--       AUTHOR:  Herbert Voß
+--      LICENSE:  LPPL1.3
+-----------------------------------------------------------------------
+
+if not modules then modules = { } end modules ['xindex-lib'] = {
+      version = 0.05,
+      comment = "main library  to xindex.lua",
+       author = "Herbert Voss",
+    copyright = "Herbert Voss",
+      license = "LPPL 1.3"
+}
+
+local escapechar1 = "\""
+local escapechar2 = "\"\""
+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 )
+  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]
+      end
+    end
+  end
+  return character
+end
+
+function Lower(strOrig)   -- return UTF string.lower
+  local str = ""
+  for i=1, utf.len(strOrig) do
+    local c = utf.sub(strOrig,i,i)
+    if c == "Ä" then str = str.."ä"
+    elseif c == "Ö" then str = str.."ö"
+    elseif c == "Ü" then str = str.."ü"
+    else str = str..utf.lower(c)
+    end
+  end
+  return str
+end
+
+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))
+    str = str..string.lower(c)
+  end
+  return str
+end
+
+function NormalizedUpper(strOrig)  -- return normalized UTF string.upper (ä -> A)
+  local str = ""
+  for i=1, utf.len(strOrig) do
+    local c = get_normalized_char(alphabet_lower,utf.sub(strOrig,i,i))
+    str = str..string.upper(c)
+  end
+  strOrig = str
+  str = ""
+  for i=1, utf.len(strOrig) do
+    local c = get_normalized_char(alphabet_upper,utf.sub(strOrig,i,i))
+    str = str..string.upper(c)
+  end
+  return str
+end
+
+function checkVert(str) -- get the | part
+  local vert = string.find(str,"|",1,true)
+  if (vert) then 
+    vertStr = string.sub(str,vert+1)
+    str = string.sub(str,1,vert-1)
+    return (vertStr)
+  else
+   return ("")
+  end
+end
+
+function checkEntry(str) -- get the index entry name
+  local at=string.find(str,"@")
+  local excl=string.find(str,"!")
+  if (excl and at) then
+    if (at < excl) then 
+      return string.sub(str,1,at-1)
+    else 
+      return string.sub(str,1,excl-1)
+    end
+  elseif (excl) then
+    return string.sub(str,1,excl-1)
+  elseif (at) then
+    return string.sub(str,1,at-1)
+  else
+    return (str)
+  end
+end
+
+function replaceAt(str)  -- return "bar"  from  "foo at bar" 
+--  return str:gsub('[^!|@%s]+@', '')
+  return str:gsub('[^!|@]+@', '')
+end
+
+function dofile(filename)
+  local file = kpse.find_file(filename) 
+  local f = assert(loadfile(file))
+  return f()
+end
+
+-- see if the file exists
+function file_exists(file)
+local f = io.open(file, "rb")
+if f then f:close() end
+return f ~= nil
+end
+
+-- get all lines from a file, returns an empty 
+-- list/table if the file does not exist
+function read_lines_from(infile)
+  if not file_exists(infile) then return {} end
+  local lines = {}
+  local str
+  local c
+  for line in io.lines(infile) do 
+    if line ~= "" then
+      if string.find(line,'\\indexentry',1,true) then
+        str = line:gsub('^\\%a+%s*{','{')  -- remove "\\indexentry "
+        writeLog(1,"read_lines: str="..str.." ("..utf.sub(str,2,2)..")\n",2)
+        if getCharType(utf.sub(str,2,2)) == 0 then   -- we have a symbol
+          lines[#lines + 1] = str:gsub('^{*','{ ')  -- add a space before the symbol
+        else 
+          lines[#lines + 1] = str
+        end
+      else
+        lines[#lines + 1] = "\\MACRO<<< "..line  -- allow macros between entries
+      end
+    end
+  end
+  return lines
+end
+
+function array_concat(...) 
+    local t = {}
+    for n = 1,select("#",...) do
+        local arg = select(n,...)
+        if type(arg)=="table" then
+            for _,v in ipairs(arg) do
+                t[#t+1] = v
+            end
+        else
+            t[#t+1] = arg
+        end
+    end
+    return t
+end
+
+function findSequences(a) -- look for 1,2,3,4, ... 
+  local b = {}
+  local firstPage = a[1]     			-- first page in the sequence
+  for i=2,#a do              			-- next page until end of page list
+    if a[i]-a[i-1] > 1 then  			-- not next page
+      lastPage = a[i-1]      			-- new start for a sequence search
+      if lastPage - firstPage >= minCompress then 		-- sequence found
+        b[#b+1]= tostring(firstPage).."--"..tostring(lastPage)
+      else
+        b[#b+1]= firstPage
+        if (firstPage ~= lastPage) then b[#b+1]= lastPage end
+      end 
+      firstPage=a[i]
+    end
+  end
+  if a[#a] - firstPage > 2 then  -- test file end
+    b[#b+1]= tostring(firstPage).."--"..tostring(a[#a])
+  else
+    b[#b+1]= firstPage
+    if (firstPage ~= a[#a]) then b[#b+1]= a[#a] end
+  end 
+  return (b)
+end
+
+
+function deleteOpenClose(v) -- remove |( and/or |)
+  res, _ = string.gsub(v:gsub('\\[()]%s*$', ''), '\\[()]%s*', ' \\')
+  return res
+end
+
+-- "\)  " -> ""
+-- "\)foo" -> \foo
+
+function checkParenthesis(Entries) -- search for |( ... |) entries
+  local paraOpen
+  local paraClose
+  local firstPage = 0
+  local lastPage
+  local newEntries = {}
+  for k,v in pairs(Entries) do
+    if (k % 50) == 0 then writeLog(1,".",1) end
+    if v["Entry"] then 
+      v["Entry"] = replaceAt(v["Entry"])  -- foo at bar!baz at foobar -> bar!foobar
+      CurrentEntry = v["Entry"]
+      paraOpen = v["pages"][1]["special"]:find("\\(",1,true)
+      paraClose = v["pages"][1]["special"]:find("\\)",1,true)
+      if paraOpen then 
+        firstPage = v["pages"][1]["number"]
+      elseif paraClose then
+        lastPage = v["pages"][1]["number"]
+        newEntries[#newEntries+1] = { Entry   = v["Entry"],
+                                      pages   = {{ number  = firstPage.."--"..lastPage,
+                                                  special = deleteOpenClose(v["pages"][1]["special"])}},
+                                      sortChar= v["sortChar"],
+                                      Macro   = v["Macro"]
+                                    }
+        firstPage = 0
+      elseif ((firstPage == 0) and not paraClose) then
+        newEntries[#newEntries+1] = v    -- same Entry with greater page or new entry
+      end
+    end
+  end
+  return newEntries
+end
+
+function replaceVerticalChar(v)
+--  res, _ = string.gsub(v:gsub('|[()]$', ''), '|[()]?', ' \\')
+--  return res
+  if not v:match('|') then 
+    return v,""
+  else 
+    return v:gsub('|.*',''), v:match('|.*'):gsub('|','\\'):gsub("%s+", "")  -- part before, part after | without spaces
+  end
+end
+
+function getEntryAndPage(w, nextW, EntryList) 
+-- \indexentry{Aachen, Johann von}{VII/1-215}
+-- \indexentry {Document@\idxtextClasses !IEEEtran@{\sfffffamily IEEEtran}}{185}
+--  if indexEntry(w) then
+    local macro = nil
+    if string.find(nextW,"\\MACRO<<< ") then
+      macro = string.gsub(nextW,'\\MACRO<<<','') 
+    end
+    local entry, pageNo = w:match('{(.*)}%s*{(.*)}')
+--    if numericPage then 
+--      if tonumber(pageNo) then -- check for roman numbering
+--        pageNo = tonumber(pageNo) 
+--      end
+--    end
+    local IndexString, Special = replaceVerticalChar(entry)
+    EntryList[#EntryList+1] = { 
+      Entry   = IndexString,   -- the index item  foo at bar 
+      pages   = {{
+        number = pageNo,
+        special = Special  }},  -- the page number(s) and the part after |
+      sortChar= NormalizedUpper(utf.sub(IndexString,1,1)), --    :byte(), -- Initial for later output
+      Macro   = macro
+    }
+  if args_v then 
+    if Special == "" then Special = "-" end
+    writeLog(1,"getEntryAndPage: "..tostring(IndexString,pageNo,Special,utf.sub(IndexString,1,1),macro).."\n",2) 
+  end
+  return EntryList
+end
+
+function compressEntryList(EntryList)
+--  require 'xindex-pretty'.dump(EntryList)   -- only for internal dump
+  local newList = {}
+  newList[1] = EntryList[1]  -- at least one entry
+  local nPages = 1
+  for k=2,#EntryList do
+    if EntryList[k] then  -- exists? 
+      local vEntry = EntryList[k]["Entry"]
+      local last = EntryList[k-1]   -- complete data
+      if (getSortString(last["Entry"]) == getSortString(vEntry)) then  -- Entry exists -> add page
+--  require 'xindex-pretty'.dump(EntryList)   -- only for internal dump
+--  require 'xindex-pretty'.dump(newList)   -- only for internal dump
+        if (newList[#newList]["pages"][nPages]["number"] ~= EntryList[k]["pages"][1]["number"])    -- different pages or special?
+           or (newList[#newList]["pages"][nPages]["special"] ~= EntryList[k]["pages"][1]["special"]) then
+          newList[#newList]["pages"][nPages+1] = EntryList[k]["pages"][1]
+          nPages = nPages + 1
+--  require 'xindex-pretty'.dump(newList)   -- only for internal dump
+        else
+          -- gleiche Entries, gleiche Seiten, gleiche specials -> nichts tun
+        end
+      else  -- not the same entry
+--  require 'xindex-pretty'.dump(newList)   -- only for internal dump
+        newList[#newList]["pages"] = deletePageDups(newList[#newList]["pages"]) 
+        newList[#newList+1] = EntryList[k] 
+        nPages = 1
+      end
+    end
+  end
+  -- last data line
+  newList[#newList]["pages"] = deletePageDups(newList[#newList]["pages"]) 
+--  require 'xindex-pretty'.dump(newList)   -- only for internal dump
+  return newList
+end
+
+--[[   example entry
+EntryList[2] = { 
+      Entry   = "Johann",   -- the index item  foo at bar 
+      pages   = {           -- the page number(s) and the part after |
+        { number  = 111,
+          special = '\\emph'  },
+        { number  = 11,
+          special = "\\textit"}
+      },  
+      sortChar= "", -- Initial for later output
+      Macro   = ""
+}
+]]
+
+
+function deletePageDups(pages)
+  if #pages == 1 then return pages end
+  local newPages = {pages[1]}
+  local notfound
+  for i=2,#pages do
+    notfound = true
+    for j=1,#newPages do
+      if (pages[i]["number"] == newPages[j]["number"]) and (pages[i]["special"] == newPages[j]["special"]) then 
+        notfound = false
+        break
+      end
+    end
+    if notfound then 
+      newPages[#newPages+1] = pages[i]
+    end
+  end
+  return newPages
+end
+
+
+function compressPageList(pages) --  called with (v["pages"])
+  writeLog(1,"compressPageList: we have "..#pages.." pages for this entry",2)
+--  require 'xindex-pretty'.dump(pages)   -- only for internal dump
+  pages = deletePageDups(pages)  -- delete duplicate page numners with same special
+  local str
+  if #pages == 1 then -- only one pageno
+    return pages
+  end  -- only one pageno
+  if #pages == 2 then  -- only two pages
+    if tonumber(pages[1]["number"]) and tonumber(pages[2]["number"]) then
+      if ((tonumber(pages[2]["number"]) - tonumber(pages[1]["number"])) == 1) and 
+          (pages[1]["special"] == pages[2]["special"]) then 
+        pages[1]["number"] = pages[1]["number"].."f"  
+        pages[2] = nil
+--      elseif (pages[1]["number"] == pages[2]["number"]) and
+--             (pages[1]["special"] == pages[2]["special"]) then 
+--        pages[2] = nil
+      end
+    end
+    return pages
+  end 
+  -- we have at least three pages
+  pages[#pages+1] = {number = 9999999, special = ""}  -- dummy to sort the last real page number correct
+  local startIndex
+  local newPages = {}  -- { pages[1], pages[2], ... }
+  local series = {}    -- { pages[1], pages[2], ... }
+  if tonumber(pages[1]["number"]) then -- if a number we start with seconf page
+    newPages = {}
+    series = {pages[1]}
+    startIndex = 2
+  else                                 -- if not a number we start with third page
+    newPages = {pages[1]}
+    series = {pages[2]}
+    startIndex = 3
+  end
+if args_v then   print ("compressPageList: more than two pages for the entry") end
+  for i=startIndex,#pages do
+    if tonumber(pages[i-1]["number"]) and tonumber(pages[i]["number"]) then  -- de we have something like 17--31 in the current list
+      if ((tonumber(pages[i]["number"])-tonumber(pages[i-1]["number"])) == 1) and 
+         (pages[i]["special"] == pages[i-1]["special"])  then   -- something like 12, 13 with identical |\special
+        series[#series+1] = pages[i]--         page difference is 1, add page to series
+      elseif (#series == 1) then    --     no -f page -> only one page -> output
+        newPages[#newPages+1] = series[1]
+        series = {pages[i]}
+      elseif (#series > minCompress) then  -- we found series od f pages like 11, 12, 13, 14 
+        -- the sequenz gets the special from the first page
+        newPages[#newPages+1] = { number = series[1]["number"].."--"..series[#series]["number"], special = series[1]["special"]}  -- first..last
+        series = {pages[i]}
+      else -- series < minCompress
+        if fCompress then
+          if #series == 2 then -- two pages -> 3f
+            writeLog(1,"compressPageList: Two consecutive pages for this entry",2)
+            if series[1]["special"] == series[2]["special"] then
+              newPages[#newPages+1] = { number = series[1]["number"]..page_folium[1], special = series[1]["special"] }
+            else
+              newPages[#newPages+1] = series[1]   -- different |\special -> no compress to -f
+              newPages[#newPages+1] = series[2]
+            end
+          else  -- must be #series=3
+            if (series[1]["special"] == series[2]["special"]) and (series[2]["special"] == series[3]["special"]) then
+              newPages[#newPages+1] = { number = series[1]["number"]..page_folium[2], special = series[1]["special"] }  -- three pages 
+            elseif (series[1]["special"] == series[2]["special"]) then
+              newPages[#newPages+1] = { number = series[1]["number"]..page_folium[1], special = series[1]["special"] }  -- three pages 
+              newPages[#newPages+1] = series[3]
+            elseif (series[2]["special"] == series[3]["special"]) then
+              newPages[#newPages+1] = series[1]
+              newPages[#newPages+1] = { number = series[2]["number"]..page_folium[1], special = series[2]["special"] }  -- three pages 
+            else  -- all different specials 
+              newPages[#newPages+1] = series[1] 
+              newPages[#newPages+1] = series[2]
+              newPages[#newPages+1] = series[3]
+            end
+          end
+        else
+          for i=1,#series do
+            newPages[#newPages+1] = series[i]
+          end
+        end
+        series = {pages[i]}
+      end
+    else -- current or forgoing page is not a number, we simply add it
+      if tonumber(pages[i]["number"]) then -- p[i-1] is non numeric p[i] is ok and not last no
+        series = {pages[i]}
+      else    --  current page is non numeric
+        if (#series > minCompress) then  -- we found a page series
+          newPages[#newPages+1] = { number = series[1]["number"].."--"..series[#series]["number"], -- first..last
+                                    special =series[1]["special"] }
+          series = {pages[i]}
+        else -- series < minCompress
+          for i=1,#series do
+            newPages[#newPages+1] = series[i]
+          end
+          series = {pages[i]}
+        end
+      end  
+    end
+  end
+--  require 'xindex-pretty'.dump(newPages)
+  return newPages
+end
+
+
+-- 2 letter
+-- 1 digit
+-- 0 symbol
+
+UTFdatafile = kpse.find_file("unicode-category.lua")
+local category_data = dofile(UTFdatafile)
+local floor = math.floor
+
+local function binary_range_search(code_point, ranges)
+    local low, mid, high
+    low, high = 1, #ranges
+    while low <= high do
+        mid = floor((low + high) / 2)
+        local range = ranges[mid]
+        if code_point < range[1] then
+            high = mid - 1
+        elseif code_point <= range[2] then
+            return range, mid
+        else
+            low = mid + 1
+        end
+    end
+    return nil, mid
+end
+
+function get_category(code_point)
+    if category_data.singles[code_point] then
+        return category_data.singles[code_point]
+    else
+        local range = binary_range_search(code_point, category_data.ranges)
+        return range and range[3] or "Cn"
+    end
+end
+
+function getCharType(c)
+--  print ("getCharType c="..c..": codepoint="..utf8.codepoint(c))
+  local category = get_category(utf8.codepoint(c))
+--  print ("getCharType: "..category)
+  if category == "Nd" then return 1 
+  elseif category:sub(1, 1) == "L" then return 2
+  else return 0
+  end 
+end
+
+--print(get_category(utf8.codepoint('ö')))
+--print(category_to_number(get_category(utf8.codepoint('ö'))))
+
+function getCharTypeOld(c) -- in case of Lua < 5.3 (has no utf support)
+  if utf.find(Letters,c,1,true) then return 2 
+  elseif utf.find(Digits,c,1,true) then return 1 
+  else return 0
+  end
+end
+
+-- string.gsub('{Entry}{page}', '{[^{}]*}$', '')  -> {Entry}
+-- 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"],2)
+  k = k + 1
+  if (k % 50) == 0 then writeLog(1,".",1) end
+  local A,B,Apage,Bpage
+  if numericPage then
+    if tonumber(a["pages"][1]["number"]) then
+      Apage = string.format("%09d",a["pages"][1]["number"])
+    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
+  A = NormalizedUpper(getSortString(a["Entry"].." "..Apage..a["pages"][1]["special"]):gsub('!',' '))
+  B = NormalizedUpper(getSortString(b["Entry"].." "..Bpage..b["pages"][1]["special"]):gsub('!',' '))
+-- print(A,B)
+--[[ 
+  if A == B then  -- same entry, use also page number
+    Apage = string.format("%09s",a["pages"][1]["number"])
+    Bpage = string.format("%09s",b["pages"][1]["number"])
+    A = string.format("%-90s",A)..Apage
+    B = string.format("%-90s",B)..Bpage
+  end
+  if numericPage then
+    if tonumber(a["pages"][1]["number"]) then
+      Apage = string.format("%09d",a["pages"][1]["number"])
+    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
+  A = string.format("%-90s",A)..Apage
+  B = string.format("%-90s",B)..Bpage
+]]
+  return A < B
+end
+
+function pageCompare(a,b)  -- a = {{number=...,special=..},{...,...}}
+-- a["number"], b["number"] are something like "3" or "VI-17" or "9--31"
+  writeLog(1,"pageCompare: "..a["number"].."  "..b["number"].."\n",2) 
+  if (a["number"] == nil) or (b["number"] == nil) then return true end   -- should be no nil here
+  local a0 = a["number"]  -- can be numeric or alphanumeric
+  local b0 = b["number"]
+--  if pageNoPrefixDel ~= "" then                 ---- not active
+--    A = (a0:gsub(pageNoPrefixPattern,''))
+--    B = (b0:gsub(pageNoPrefixPattern,''))
+--    a0 = tonumber(A) or romanToNumber(A)
+--    b0 = tonumber(B) or romanToNumber(B)
+--  else
+  if numericPage then
+    if (type(a0) == "number") and (type(b0) == "number") then return a0 < b0 end
+    if romanToNumber(a0) and (type(b0) == "number") then return true end -- ii < 2
+    if (type(a0) == "number") and romanToNumber(b0) then return false end -- ii > 2
+    if romanToNumber(a0) and romanToNumber(b0) then return a0 < b0 end -- ii < iii
+    -- now we have some special page numbers 
+    A = tostring(a0)
+    B = tostring(b0)
+    A1 = A:find("--",1,true) or A:find("f",1,true)  -- sequence or folio pages
+    B1 = B:find("--",1,true) or B:find("f",1,true)
+    if A1 then a0 = tonumber(A:sub(1,A1-1)) end
+    if B1 then b0 = tonumber(B:sub(1,B1-1)) end
+    return tonumber(a0) < tonumber(b0)  -- numeric
+  else
+    return a0 < b0                      -- alphanumeric (strings)
+  end
+end
+
+function checkFF(p)
+  if not p then return p end
+  local P = tostring(p)
+  if P:find("ff") then 
+    return P:gsub('%a+','').."\\nohyperpage{"..page_folium[2].."}"
+  elseif P:find("f") then 
+    return P:gsub('%a+','').."\\nohyperpage{"..page_folium[1].."}" 
+  else 
+    return P
+  end
+end
+
+function getRawPages(v)
+  writeLog(1,"getRawPages, Entry: "..v["Entry"]..",  page: "..tostring(v["pages"][1]["number"]),2)
+  if v then
+    local str = tostring(v["pages"][1]["number"]).."("..tostring(v["pages"][1]["special"])..")"
+    for i=2,#v["pages"] do 
+      if v["pages"] then 
+        str = str..", "..tostring(v["pages"][i]["number"]).."("..tostring(v["pages"][i]["special"])..")" 
+      end
+    end
+    return str
+  else
+   return "v->nil"
+  end
+end
+
+function getRawPagesP(p) -- does the same but uses table pages
+  if p then
+    local str = tostring(p[1]["number"]).."("..tostring(p[1]["special"])..")"
+    for i=2,#p do 
+      if p then 
+        str = str..", "..tostring(p[i]["number"]).."("..tostring(p[i]["special"])..")" 
+      end
+    end
+    return str
+  else
+   return "pages->nil"
+  end
+end
+
+
+function getPageList(v,hyperpage)
+  if specialGetPageList then
+    local pageNo = specialGetPageList(v,hyperpage)
+    return pageNo
+  end
+  local Pages = {}
+  if v["pages"] then
+    table.sort(v["pages"],pageCompare)-- nur nötig, da User manuell eine Zeile einfügen kann
+    if specialCompressPageList then
+      Pages = specialCompressPageList(v["pages"])
+    else
+      Pages = compressPageList(v["pages"])
+    end
+--  require 'xindex-pretty'.dump(Pages)   -- only for internal dump
+    local pageNo
+--[[
+\indexentry{Auto|hyperindexformat{\textbf}}{1}
+->   \item Auto, \hyperindexformat{\textbf}{1}
+
+    add for example  \hyperpage{5\nohyperpage{f}}  , same for ff
+
+  \item foo, \hyperpage{1\nohyperpage{f}}, 
+		\hyperpage{4\nohyperpage{ff}}, \hyperpage{8}
+
+]]
+    if hyperpage then
+        if string.find(v["pages"][1]["special"],"hyperindexformat") then
+          pageNo = v["pages"][1]["special"].."{"..checkFF(Pages[1]["number"].."}")
+        else
+          pageNo = "\\hyperpage{"..checkFF(Pages[1]["number"]).."}"
+        end
+      for i=2,#Pages do
+        if string.find(v["pages"][i]["special"],"hyperindexformat") then
+          pageNo = pageNo..", "..v["pages"][i]["special"].."{"..checkFF(Pages[i]["number"].."}")
+        else
+          pageNo = pageNo..", \\hyperpage{"..checkFF(Pages[i]["number"]).."}"
+        end
+--        Pages[i] = nil
+      end
+    else
+      writeLog(1,"getPageList: "..tostring(Pages[1]["special"]).."{"..tostring(Pages[1]["number"]).."}\n",2) 
+      if (Pages[1]["special"] == nil) or (Pages[1]["number"] == nil) then return ""  end 
+      pageNo = Pages[1]["special"].."{"..Pages[1]["number"].."}" 
+      for i=2,#Pages do
+        if Pages[i]["number"] then
+          pageNo = pageNo..", "..Pages[i]["special"].."{"..Pages[i]["number"].."}"
+          Pages[i] = {}
+        end
+      end
+    end
+    return pageNo
+  else
+    return ""
+  end
+end
+
+
+function getPathFileExt(str)
+  local filepath = str:match("(.*[/\\])")
+  local filename = str:match("^.+/(.+)$")
+  local fileext = str:match("^.+(%..+)$")
+  return filepath,filename,fileext
+end
+
+function printList(Index,level)
+  for k,v in pairs(Index) do 
+   if v["Entry"] then
+    local sortChar = v["sortChar"]
+    if v["Entry"] and v["Macro"] then
+      writeLog(1,"Entry: "..v["Entry"].."; Pages: "..getRawPages(v).."Special: "..v["pages"][1]["special"].."; Type: "..sortChar.."; Macro: "..v["Macro"].."\n",level)
+    else
+      writeLog(1,"Entry: "..v["Entry"].."; Pages: "..getRawPages(v).."Special: "..v["pages"][1]["special"].."; Type: "..sortChar.."; Macro: nil".."\n",level)
+    end
+   end
+  end
+end
+
+function getItem(str,n)
+  if n >= 0 then 
+    local item = (str:gsub("!.*", "%0!")
+                     :gsub("[^!]*!", "", n)
+                     :match("^([^!]*)!") ) 
+    writeLog(1,"getItem ("..str..", "..n..") = "..item.."\n",2)
+    return item
+  end
+end
+
+local romanMap = { 
+    I = 1,
+    V = 5,
+    X = 10,
+    L = 50,
+    C = 100, 
+    D = 500, 
+    M = 1000,
+}
+
+local numbers = { 1, 5, 10, 50, 100, 500, 1000 }
+local romanchars = { "I", "V", "X", "L", "C", "D", "M" }
+local RomanNumerals = { }
+
+function numberToRoman(s)
+    --s = tostring(s)
+    s = tonumber(s)
+    if not s or s ~= s then error"Unable to convert to number" end
+    if s == math.huge then error"Unable to convert infinity" end
+    s = math.floor(s)
+    if s <= 0 then return s end
+	local ret = ""
+        for i = #numbers, 1, -1 do
+        local num = numbers[i]
+        while s - num >= 0 and s > 0 do
+            ret = ret .. romanchars[i]
+            s = s - num
+        end
+        for j = 1, i - 1 do
+            local n2 = numbers[j]
+            if s - (num - n2) >= 0 and s < num and s > 0 and num - n2 ~= n2 then
+                ret = ret .. romanchars[j] .. romanchars[i]
+                s = s - (num - n2)
+                break
+            end
+        end
+    end
+    return ret
+end
+
+function romanToNumber(s)
+--  if args_v then print("romanToNumber: "..tostring(s)) end
+--  if not s then return end
+  s = s:upper()
+  local ret = 0
+  local i = 1
+  while i <= s:len() do
+    local c = s:sub(i, i)
+    if c ~= " " then -- allow spaces
+      local m = romanMap[c] 
+      if not m then return nil end           --error("Unknown Roman Numeral '" .. c .. "'")
+      local next = s:sub(i + 1, i + 1)
+      local nextm = romanMap[next]
+      if next and nextm then
+        if nextm > m then 
+          ret = ret + (nextm - m)
+          i = i + 1
+        else
+          ret = ret + m
+        end
+      else
+        ret = ret + m
+      end
+    end
+      i = i + 1
+  end
+  return ret
+end
+
+function commandEntry(line)
+  return string.find(line,"\\MACRO<<<",1,true)
+end
+
+function checkHyperpage(lines)
+  local hyperpage = false
+  for i=1,#lines do
+    if string.find(lines[i],'hyperpage}') then
+      hyperpage = true
+      break
+    end
+  end
+  if hyperpage then
+    for i=1,#lines do
+      lines[i] = string.gsub(lines[i],'|?hyperpage}{','}{')
+    end
+    return true, lines
+  else
+     return false, lines
+  end
+  return
+end
+
+function itemOutput(last, v, hyperpage)
+  local lastItems = last
+  local currentItems = {}
+  local Entry = v["Entry"]
+--  require 'xindex-pretty'.dump(v)   -- only for internal dump
+  local str
+  local excl = select(2,string.gsub(Entry,"!","!")) -- Number of !
+  writeLog(1,"itemOutput(): We have entry "..Entry.."\n",2)
+  writeLog(1,"itemOutput(): The entry has "..excl.." Exclamation characters\n",2)
+  if excl == 0 then
+    str = "  \\item "..Entry..itemPageDelimiter.." "..getPageList(v,hyperpage).."\n"
+    for i, str0 in ipairs(escape_chars) do       -- undo the escape char setting
+      str = str:gsub(str0[2],str0[3])
+    end
+    outFile:write(str)
+--    lastItems[1] = Entry
+  else  
+    for i = 1,excl+1 do
+      currentItems[i] = getItem(Entry,i-1)  -- 0 ! 1 ! 2 ! ...
+      local item = "item"
+      if (currentItems[i] ~= lastItems[i]) then
+        writeLog(1,"itemOutput: currentItems[i]: "..tostring(currentItems[i]).."~= lastItems[i]: "..tostring(lastItems[i]).."\n",2)
+        local space = "  "
+        for j = 2,i do 
+          item = "sub"..item   -- get the sub...subitem
+          space = space.."  "
+        end 
+        if not sublabels[i] then sublabels[i] = "---" end    -- only three levels are predefined
+        writeLog(1,"itemOutput: currentItems[i]: "..currentItems[i].."; item: "..item.."\n",2)
+        if (i == 1) and (item == "item") then
+          str = space.."\\"..item.." "..sublabels[i]..currentItems[i].."\n"
+        else
+          str = space.."\\"..item.." "..sublabels[i]..currentItems[i]..itemPageDelimiter.." "..getPageList(v,hyperpage).."\n"
+        end  
+        for i, str0 in ipairs(escape_chars) do       -- undo the escape char setting
+          str = string.gsub(str,str0[2],str0[3])
+        end
+        outFile:write(str)
+        lastItems[i] = currentItems[i]
+      else
+        writeLog(1,"itemOutput: currentItems[i]: "..currentItems[i].."= lastItems[i]: "..lastItems[i].."\n",2)
+      end
+    end
+  end
+  return lastItems
+end
+
+--  \item Bugenhagen, {VII/1-16}, {166}, {17}, {215}, {222f}, {226}, {237f}, {248}, {258f}, {263}, {269}, {316f}, {321}, {361}, {365f}, {368}, {385}, {431}, {57}, {65}, {68}, {71}, {714}, {728}, {73f}, {748}, {75}, {79}, {81}, {85}, {90f}, {VII/2/1-1013}, {1015}, {1049}, {1085}, {1088}, {1097--1100}, {1110}, {1114}, {1120}, {1126}, {1148}, {1175}, {1234}, {1236ff}, {761}, {782}, {785}, {799}, {803--811}, {813f}, {818}, {822f}, {829}, {832--835}, {839f}, {848f}, {851}, {857--862}, {864f}, {867--871}, {873}, {875}, {877}, {880}, {882}, {884}, {961}, {973}, {IX-277}
+--    \subitem -\,Johannes, {VII/1-16}, {166}, {17}, {215}, {222f}, {226}, {237f}, {248}, {258f}, {263}, {269}, {316f}, {321}, {361}, {365f}, {368}, {385}, {431}, {57}, {65}, {68}, {71}, {714}, {728}, {73f}, {748}, {75}, {79}, {81}, {85}, {90f}, {VII/2/1-1013}, {1015}, {1049}, {1085}, {1088}, {1097--1100}, {1110}, {1114}, {1120}, {1126}, {1148}, {1175}, {1234}, {1236ff}, {761}, {782}, {785}, {799}, {803--811}, {813f}, {818}, {822f}, {829}, {832--835}, {839f}, {848f}, {851}, {857--862}, {864f}, {867--871}, {873}, {875}, {877}, {880}, {882}, {884}, {961}, {973}, {IX-277}
+
+local match = function(expr)
+  local C, Ct, S = lpeg.C, lpeg.Ct, lpeg.S
+  local sep = S("@!|")
+  local str = C((1 - sep)^0)
+  local prefix = function(prefix)
+    return function(match)
+      return prefix .. match
+    end
+  end
+  local idx = str * ( "@" * str / prefix("@")
+                    + "!" * str / prefix("!")
+                    + "|" * str / prefix("|"))^0
+  return Ct(idx):match(expr)
+end
+
+function getSortString(Entry)
+  local t = match(Entry)
+--  require 'xindex-pretty'.dump(t)   -- only for internal dump
+  local data = t[1]
+  local c = utf.sub(data,1,1)
+  if getCharType(c) == 0 then 
+    data = " "..data
+  end
+  for i = 2,#t do 
+    if not (t[i]:sub(1,1) == "@") then -- and not (t[i]:sub(1,1) == "|") then
+      data = data..t[i]
+    end
+  end
+  return data
+end
+
+function writeLog(i, str, level)  -- mode i 0->console; 1->logfile: 2->both
+  if not_quiet then
+    if level <= vlevel then  
+      if (i ~= 1) or (i < 0) then io.write(tostring(str)) end
+      if i > 0 then logFile:write(tostring(str)) end
+    end
+  else 
+    if level < 0  then 
+      io.write(tostring(str)) 
+    elseif level == 0 then 
+      logFile:write(tostring(str)) 
+    end
+  end
+end
+
+function string:split()
+   local sep, fields = " ", {}
+   local pattern = string.format("([^%s]+)", sep)
+   self:gsub(pattern, function(c) fields[#fields+1] = c end)
+   return fields
+end
+
+
+
+--\indexentry{hello at foo!world at foo!bar|bar}{60}
+
+
+--[[
+\indexentry {Schrift!Höhe}{64}
+\indexentry {Schrift!Breite}{64}
+\indexentry {Schrift!Tiefe}{64}
+
+]]
\ No newline at end of file


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-lib.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,254 @@
+--- Pretty-printing Lua tables.
+-- based on Steve Donovans Penlight package
+-- Also provides a sandboxed Lua table reader and
+-- a function to present large numbers in human-friendly format.
+--
+
+if not modules then modules = { } end modules ['xindex-pretty'] = {
+      version = 0.05,
+      comment = "dump a Lua table for debugging",
+       author = "Steve Donovan",
+    copyright = "Steve Donovan",
+      license = "MIT"
+}
+
+local append = table.insert
+local concat = table.concat
+local mfloor, mhuge = math.floor, math.huge
+local mtype = math.type
+
+local original_tostring = tostring
+
+--- Utility function that finds any patterns that match a long string's an open or close.
+-- Note that having this function use the least number of equal signs that is possible is a harder algorithm to come up with.
+-- Right now, it simply returns the greatest number of them found.
+-- @param s The string
+-- @return 'nil' if not found. If found, the maximum number of equal signs found within all matches.
+local function has_lquote(s)
+    local lstring_pat = '([%[%]])(=*)%1'
+    local equals, new_equals, _
+    local finish = 1
+    repeat
+        _, finish, _, new_equals = s:find(lstring_pat, finish)
+        if new_equals then
+            equals = max(equals or 0, #new_equals)
+        end
+    until not new_equals
+
+    return equals
+end
+
+--- Quote the given string and preserve any control or escape characters, such that reloading the string in Lua returns the same result.
+-- @param s The string to be quoted.
+-- @return The quoted string.
+
+function quote_string(s)
+--    assert_string(1,s)
+    -- Find out if there are any embedded long-quote sequences that may cause issues.
+    -- This is important when strings are embedded within strings, like when serializing.
+    -- Append a closing bracket to catch unfinished long-quote sequences at the end of the string.
+    local equal_signs = has_lquote(s .. "]")
+
+    -- Note that strings containing "\r" can't be quoted using long brackets
+    -- as Lua lexer converts all newlines to "\n" within long strings.
+    if (s:find("\n") or equal_signs) and not s:find("\r") then
+        -- If there is an embedded sequence that matches a long quote, then
+        -- find the one with the maximum number of = signs and add one to that number.
+        equal_signs = ("="):rep((equal_signs or -1) + 1)
+        -- Long strings strip out leading newline. We want to retain that, when quoting.
+        if s:find("^\n") then s = "\n" .. s end
+        local lbracket, rbracket =
+            "[" .. equal_signs .. "[",
+            "]" .. equal_signs .. "]"
+        s = lbracket .. s .. rbracket
+    else
+        -- Escape funny stuff. Lua 5.1 does not handle "\r" correctly.
+        s = ("%q"):format(s):gsub("\r", "\\r")
+    end
+    return s
+end
+
+-- Patch tostring to format numbers with better precision
+-- and to produce cross-platform results for
+-- infinite values and NaN.
+local function tostring(value)
+    if type(value) ~= "number" then
+        return original_tostring(value)
+    elseif value ~= value then
+        return "NaN"
+    elseif value == mhuge then
+        return "Inf"
+    elseif value == -mhuge then
+        return "-Inf"
+    elseif (_VERSION ~= "Lua 5.3" or mtype(value) == "integer") and mfloor(value) == value then
+        return ("%d"):format(value)
+    else
+        local res = ("%.14g"):format(value)
+        if _VERSION == "Lua 5.3" and mtype(value) == "float" and not res:find("%.") then
+            -- Number is internally a float but looks like an integer.
+            -- Insert ".0" after first run of digits.
+            res = res:gsub("%d+", "%0.0", 1)
+        end
+        return res
+    end
+end
+
+local pretty = {}
+
+local function quote_if_necessary (v)
+    if not v then return ''
+    else
+        --AAS
+        if v:find ' ' then v = quote_string(v) end
+    end
+    return v
+end
+
+local keywords
+
+local function is_identifier (s)
+    return type(s) == 'string' and s:find('^[%a_][%w_]*$') and not keywords[s]
+end
+
+local function quote (s)
+    if type(s) == 'table' then
+        return pretty.write(s,'')
+    else
+        --AAS
+        return quote_string(s)-- ('%q'):format(tostring(s))
+    end
+end
+
+local function index (numkey,key)
+    --AAS
+    if not numkey then
+        key = quote(key)
+         key = key:find("^%[") and (" " .. key .. " ") or key
+    end
+    return '['..key..']'
+end
+
+--- Create a string representation of a Lua table.
+-- This function never fails, but may complain by returning an
+-- extra value. Normally puts out one item per line, using
+-- the provided indent; set the second parameter to an empty string
+-- if you want output on one line.
+-- @tab tbl Table to serialize to a string.
+-- @string[opt] space The indent to use.
+-- Defaults to two spaces; pass an empty string for no indentation.
+-- @bool[opt] not_clever Pass `true` for plain output, e.g `{['key']=1}`.
+-- Defaults to `false`.
+-- @return a string
+-- @return an optional error message
+
+function pretty.dump (tbl,space,not_clever)
+    if type(tbl) ~= 'table' then
+        local res = tostring(tbl)
+        if type(tbl) == 'string' then return quote(tbl) end
+        return res, 'not a table'
+    end
+    if not keywords then
+        keywords = {
+            ["and"] = true, ["break"] = true,  ["do"] = true,
+            ["else"] = true, ["elseif"] = true, ["end"] = true,
+            ["false"] = true, ["for"] = true, ["function"] = true,
+            ["if"] = true, ["in"] = true,  ["local"] = true, ["nil"] = true,
+            ["not"] = true, ["or"] = true, ["repeat"] = true,
+            ["return"] = true, ["then"] = true, ["true"] = true,
+            ["until"] = true,  ["while"] = true
+        }
+    end
+    local set = ' = '
+    if space == '' then set = '=' end
+    space = space or '  '
+    local lines = {}
+    local line = ''
+    local tables = {}
+
+
+    local function put(s)
+        if #s > 0 then
+            line = line..s
+        end
+    end
+
+    local function putln (s)
+        if #line > 0 then
+            line = line..s
+            append(lines,line)
+            line = ''
+        else
+            append(lines,s)
+        end
+    end
+
+    local function eat_last_comma ()
+        local n = #lines
+        local lastch = lines[n]:sub(-1,-1)
+        if lastch == ',' then
+            lines[n] = lines[n]:sub(1,-2)
+        end
+    end
+
+    local writeit
+    writeit = function (t,oldindent,indent)
+        local tp = type(t)
+        if tp ~= 'string' and  tp ~= 'table' then
+            putln(quote_if_necessary(tostring(t))..',')
+        elseif tp == 'string' then
+            -- if t:find('\n') then
+            --     putln('[[\n'..t..']],')
+            -- else
+            --     putln(quote(t)..',')
+            -- end
+            --AAS
+            putln(quote_string(t) ..",")
+        elseif tp == 'table' then
+            if tables[t] then
+                putln('<cycle>,')
+                return
+            end
+            tables[t] = true
+            local newindent = indent..space
+            putln('{')
+            local used = {}
+            if not not_clever then
+                for i,val in ipairs(t) do
+                    put(indent)
+                    writeit(val,indent,newindent)
+                    used[i] = true
+                end
+            end
+            for key,val in pairs(t) do
+                local tkey = type(key)
+                local numkey = tkey == 'number'
+                if not_clever then
+                    key = tostring(key)
+                    put(indent..index(numkey,key)..set)
+                    writeit(val,indent,newindent)
+                else
+                    if not numkey or not used[key] then -- non-array indices
+                        if tkey ~= 'string' then
+                            key = tostring(key)
+                        end
+                        if numkey or not is_identifier(key) then
+                            key = index(numkey,key)
+                        end
+                        put(indent..key..set)
+                        writeit(val,indent,newindent)
+                    end
+                end
+            end
+            tables[t] = nil
+            eat_last_comma()
+            putln(oldindent..'},')
+        else
+            putln(tostring(t)..',')
+        end
+    end
+    writeit(tbl,'',space)
+    eat_last_comma()
+    return concat(lines,#space > 0 and '\n' or '')
+end
+
+return pretty


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex-pretty.lua
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/lualatex/xindex/xindex.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/lualatex/xindex/xindex.sty	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1,76 @@
+%% This is file `xindex.sty',
+%%
+%% Copyright (C) 2018
+%% Herbert Voss
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%    http://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%
+% $Id: xindex.sty 836 2018-11-11 20:22:56Z herbert $
+%
+% -------------------------------------
+\ProvidesPackage{xindex}[2018/11/11 v. 0.02 write into an idx file (hv)]
+%
+\RequirePackage{xkeyval}
+
+\newif\if@@imakeidx \@@imakeidxfalse
+
+\DeclareOptionX{imakeidx}{\@@imakeidxtrue}
+\DeclareOptionX*{\PassOptionsToPackage\CurrentOption{imakeidx}}
+\ProcessOptionsX\relax
+
+\@ifpackageloaded{imakeidx}{}{%   imakeidx already loaded?? if not then define ...
+  \newif\ifimki at startedidx
+  \newif\ifimki at splitindex
+}
+
+\if@@imakeidx
+  \typeout{xindex: Using package imakeidx}%
+  \RequirePackage{imakeidx}
+  \def\imki at progdefault{xindex}
+  \def\imki at program{xindex}
+%
+  \def\imki@@startidxsplit#1{%
+    \if at filesw
+      \def\index{\@bsphack
+        \@ifnextchar [{\@index}{\@index[\imki at jobname]}}
+      \expandafter\newwrite\csname #1 at idxfile\endcsname
+      \immediate\openout \csname #1 at idxfile\endcsname #1.idx\relax
+      \def\writeidx##1{\write\expandafter\csname #1 at idxfile\endcsname{\noexpand##1}}%
+      \typeout{Writing index file #1.idx}%
+    \fi
+  }
+  \global\imki at startedidxfalse
+  \def\imki@@startidxunique#1{%
+    \if at filesw
+      \ifimki at startedidx\else
+        \newwrite\@indexfile
+        \immediate\openout\@indexfile\imki at jobname.idx%
+        \def\writeidx##1{\write\@indexfile{\noexpand##1}}%
+        \global\imki at startedidxtrue
+      \fi
+      \def\index{\@bsphack
+        \@ifnextchar [{\@index}{\@index[\imki at jobname]}}
+      \expandafter\let\csname #1 at idxfile\endcsname\@empty
+      \typeout{Started index file #1}%
+   \fi
+  }
+%
+  \ifimki at splitindex
+    \let\imki at startidx\imki@@startidxunique
+  \else
+    \let\imki at startidx\imki@@startidxsplit
+  \fi
+\else
+  \typeout{xindex: Using package makeidx}%
+  \RequirePackage{makeidx}
+  \def\writeidx#1{\write\@indexfile{\noexpand#1}}
+\fi
+
+\endinput
+


Property changes on: trunk/Master/texmf-dist/tex/lualatex/xindex/xindex.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/bin/tlpkg-ctan-check
===================================================================
--- trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/tlpkg/bin/tlpkg-ctan-check	2018-12-03 22:49:28 UTC (rev 49312)
@@ -720,7 +720,7 @@
     xetex-devanagari xetex-itrans xetex-pstricks xetex-tibetan
     xetexfontinfo xetexko
     xetexref xevlna xfakebold xfor xgreek xhfill
-    xifthen xii xii-lat xint xits
+    xifthen xii xii-lat xindex xint xits
     xkeyval xlop xltabular xltxtra xmltex xmpincl xnewcommand
     xoptarg xpatch xpeek xpiano xpicture xpinyin xprintlen xpunctuate
     xq xsavebox xsim xskak xstring xtab xtuthesis xunicode xurl

Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/tlpkg/libexec/ctan2tds	2018-12-03 22:49:28 UTC (rev 49312)
@@ -1268,7 +1268,6 @@
  'xetex-pstricks',"&MAKEcopy",
  'xfakebold',	"&MAKEflatten",
  'xfrac',       "die 'skipping, use mh (I think)'",
- 'xindex',	"&MAKEflatten",
  'xindy-persian',"die 'skipping, do by hand in /texmf-dist/xindy/modules/lang/persian: too painful to preserve rest of xindy'",
  'xinitials',   "die 'skipping, will be in xpackages when ready (Morten says)'",
  'xits',        "&MAKEflatten",
@@ -1356,6 +1355,7 @@
  'wsuipa'               => '&PREHOOK_wsuipa',
  'yathesis'		=> '&PREHOOK_flatten1',
  'xepersian'            => '&PREHOOK_flatten1',
+ 'xindex'               => '&PREHOOK_flatten1',
  'xsim'                 => '&PREHOOK_xsim',
 );
 
@@ -1577,6 +1577,7 @@
  'xetexfontinfo',       'xetex',
  'xetexko',             'xetex',
  'xevlna',              'xelatex',
+ 'xindex',              'lualatex',
  'xint',                'generic',
  'xltxtra',             'xelatex',
  'xstring',             'generic',
@@ -1994,6 +1995,7 @@
  'xetexfontinfo','\.tex',
  'xetexko',     '\.tab$|' . $standardtex,
  'xwatermark',  '\.sty',                # no .cfg
+ 'xindex',      'xindex-.*\.lua$|' . $standardtex,
  'xlop',        'xlop\.(tex|sty)',      # no manual.sty
  'xstring',     'xstring\.tex|' . $standardtex,
  'yathesis',    '\.(sty|cls)$',         # no .cfg
@@ -2252,6 +2254,7 @@
  'xetexko',             'xetex',
  'xetexref',            'xetex',
  'xevlna',              'xelatex',
+ 'xindex',		'lualatex',
  'xint',                'generic',
  'xltxtra',             'xelatex',
  'xq',                  'fonts',
@@ -2455,6 +2458,7 @@
  'translation-tabbing-fr',      'NULL',         # doc
  'tkz-orm',             'NULL',                 # no gain ...
  'velthuis',		'NULL',
+ 'xindex',		'NULL',
  'xlop',                'manual.sty|' . $standardsource,
 );
 
@@ -3042,6 +3046,7 @@
  'vpe'                  => '\.pl$',
  'wordcount'		=> '\.sh$',
  'wheretotrim'          => '\.pl$',
+ 'xindex'		=> 'xindex\.lua$',
  'yplan'                => 'yplan$',
 );
 

Modified: trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc	2018-12-03 22:33:47 UTC (rev 49311)
+++ trunk/Master/tlpkg/tlpsrc/collection-binextra.tlpsrc	2018-12-03 22:49:28 UTC (rev 49312)
@@ -94,4 +94,5 @@
 depend tpic2pdftex
 depend typeoutfileinfo
 depend web
+depend xindex
 depend xindy

Added: trunk/Master/tlpkg/tlpsrc/xindex.tlpsrc
===================================================================
--- trunk/Master/tlpkg/tlpsrc/xindex.tlpsrc	                        (rev 0)
+++ trunk/Master/tlpkg/tlpsrc/xindex.tlpsrc	2018-12-03 22:49:28 UTC (rev 49312)
@@ -0,0 +1 @@
+binpattern f bin/${ARCH}/${PKGNAME}



More information about the tex-live-commits mailing list