summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2014-05-11 14:28:56 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2014-05-11 14:28:56 +0000
commit56c3fd006c01ef00ef9d6befa48b1377528f894b (patch)
treee6863cc73f3e9e7dc0f0794fb4fcc53eef360a7c
parenta32d792b18e7a124ee79604d6b68f83538b3a165 (diff)
Update xindy: Add support for "-I xelatex" (from Joachim Schrod)
git-svn-id: svn://tug.org/texlive/trunk@33975 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0-PATCHES/ChangeLog5
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0-PATCHES/patch-02-xelatex487
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.180
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in87
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.139
-rw-r--r--Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.in47
-rw-r--r--Master/texmf-dist/doc/man/man1/texindy.180
-rw-r--r--Master/texmf-dist/doc/man/man1/texindy.man1.pdfbin17647 -> 18894 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/xindy.139
-rw-r--r--Master/texmf-dist/doc/man/man1/xindy.man1.pdfbin17009 -> 17311 bytes
-rw-r--r--Master/texmf-dist/doc/xindy/texindy.pdfbin17113 -> 17556 bytes
-rw-r--r--Master/texmf-dist/doc/xindy/xindy.pdfbin15706 -> 15917 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/xindy/texindy.pl87
-rwxr-xr-xMaster/texmf-dist/scripts/xindy/xindy.pl47
14 files changed, 796 insertions, 202 deletions
diff --git a/Build/source/utils/xindy/xindy-2.5.0-PATCHES/ChangeLog b/Build/source/utils/xindy/xindy-2.5.0-PATCHES/ChangeLog
index 21c9940f07b..57871c3be8e 100644
--- a/Build/source/utils/xindy/xindy-2.5.0-PATCHES/ChangeLog
+++ b/Build/source/utils/xindy/xindy-2.5.0-PATCHES/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-11 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ * patch-02-xelatex (new): Add support for "-I xelatex".
+ From Joachim Schrod <jschrod@acm.org>.
+
2014-04-28 Peter Breitenlohner <peb@mppmu.mpg.de>
Imported xindy-2.5.0 source tree from
diff --git a/Build/source/utils/xindy/xindy-2.5.0-PATCHES/patch-02-xelatex b/Build/source/utils/xindy/xindy-2.5.0-PATCHES/patch-02-xelatex
new file mode 100644
index 00000000000..de8d003a50d
--- /dev/null
+++ b/Build/source/utils/xindy/xindy-2.5.0-PATCHES/patch-02-xelatex
@@ -0,0 +1,487 @@
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.5.0.orig/user-commands/texindy.1 xindy-2.5.0/user-commands/texindy.1
+--- xindy-2.5.0.orig/user-commands/texindy.1 2014-04-19 21:41:54.000000000 +0200
++++ xindy-2.5.0/user-commands/texindy.1 2014-05-11 15:45:44.000000000 +0200
+@@ -124,7 +124,7 @@
+ .\" ========================================================================
+ .\"
+ .IX Title "texindy 1"
+-.TH texindy 1 "2014-04-19" "Release 2.5" "texindy"
++.TH texindy 1 "2014-05-11" "Release 2.5.0" "xindy"
+ .\" For nroff, turn off justification. Always turn off hyphenation; it makes
+ .\" way too many mistakes in technical documents.
+ .if n .ad l
+@@ -154,7 +154,7 @@
+ \& \-L / \-\-language
+ \& \-C / \-\-codepage
+ \& \-M / \-\-module (multiple times)
+-\& \-I / \-\-input\-markup (supported: latex, omega)
++\& \-I / \-\-input\-markup (supported: latex, xelatex, omega)
+ .Ve
+ .SH "DESCRIPTION"
+ .IX Header "DESCRIPTION"
+@@ -166,9 +166,6 @@
+ Files with the raw index are passed as arguments. If no arguments are
+ passed, the raw index will be read from standard input.
+ .PP
+-\&\fBDo not use texindy with XeLaTeX or LuaLaTeX!\fR When you use these
+-LaTeX engines, you must use \fBxindy \-C utf8 \-M texindy \-M page-ranges\fR instead.
+-.PP
+ A good introductionary description of \fBtexindy\fR appears in the
+ indexing chapter of the LaTeX Companion (2nd ed.)
+ .PP
+@@ -229,28 +226,42 @@
+ The index is sorted according to the rules of language \fIlang\fR. These
+ rules are encoded in a xindy module created by \fImake-rules\fR.
+ .Sp
+-If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
+-for that language is searched with a latin, a cp, an iso, or ascii
+-encoding, in that order.
+-.ie n .IP """\-\-codepage"" \fIenc\fR / B <\-C> \fIenc\fR" 4
+-.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / B <\-C> \fIenc\fR" 4
+-.IX Item "--codepage enc / B <-C> enc"
+-\&\fBtexindy\fR's raw input is always assumed to be encoded in LaTeX
+-Internal Character Representation (\s-1LICR\s0). I.e., non-ASCII characters
+-are encoded as command sequences. This option tells xindy the encoding
+-it shall use internally for sorting.
+-.Sp
+-Effectively, you need this option to specify the encoding of letter
+-group headings.
+-.Sp
+-Encoding \f(CW\*(C`utf8\*(C'\fR is only supported for Latin alphabets. But if you use
+-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
+-must not use \fBtexindy\fR anyhow. Then direct usage of \fBxindy\fR is
+-appropriate.
+-.Sp
+-When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as the sort
+-codepage and no inputenc module is loaded. Then this option is
+-ignored.
++If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by
++input markup, a xindy module for that language is searched with a
++latin, a cp, an iso, ascii, or utf8 encoding, in that order.
++.ie n .IP """\-\-codepage"" \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
++.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
++.IX Item "--codepage enc / -C enc"
++There are two different situations and use cases for this option.
++.RS 4
++.IP "1." 4
++Input markup is \f(CW\*(C`latex\*(C'\fR (the default).
++.Sp
++Then \fBtexindy\fR's raw input is assumed to be encoded in LaTeX Internal
++Character Representation (\s-1LICR\s0). I.e., non-ASCII characters are
++encoded as command sequences. This option tells xindy the encoding it
++shall use for letter group headings. (Additionally it specifies the
++encoding used internally for sorting \*(-- but that doesn't matter for
++the result.)
++.Sp
++Only \s-1LICR\s0 encodings for Latin script alphabets are supported; more
++precisely characters that are in LaTeX latin1, latin2, and latin3 \s-1LICR\s0
++encodings.
++.Sp
++Even when you specify \f(CW\*(C`utf8\*(C'\fR as codepage, only these characters will
++be known. But if you use non-Latin alphabets, you probably use (or
++should use) XeLaTeX or LuaLaTeX and then you have a different input
++markup.
++.IP "2." 4
++Input markup is \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR.
++.Sp
++Then this option is ignored; codepage \f(CW\*(C`utf8\*(C'\fR is enforced.
++.Sp
++\&\fBtexindy\fR's raw input is assumed to be \s-1UTF\-8\s0 encoded, \s-1LICR\s0 is not
++used.
++.RE
++.RS 4
++.RE
+ .ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
+ .el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
+ .IX Item "--module module / -M module"
+@@ -261,17 +272,22 @@
+ .el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
+ .IX Item "--input-markup input / -I input"
+ Specifies the input markup of the raw index. Supported values for
+-\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`omega\*(C'\fR.
++\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, and \f(CW\*(C`omega\*(C'\fR.
+ .Sp
+ \&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
+-LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
+-^^\-notation of single byte characters is supported. Usage of LaTeX's
+-\&\fIinputenc\fR package is assumed as well.
++LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones, when
++used with standard LaTeX or pdfLaTeX. ^^\-notation of single byte
++characters is supported. Usage of LaTeX's \fIinputenc\fR package is
++assumed as well, i.e., raw input is encoded in \s-1LICR\s0.
++.Sp
++\&\f(CW\*(C`xelatex\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR, but without \fIinputenc\fR
++usage. Raw input is encoded in \s-1UTF\-8\s0. LuaLaTeX has the same input
++markup, there's no special option value for it.
+ .Sp
+ \&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
+-^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
+-encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage
+-for sorting.
++^^\-notation as encoding for non-ASCII characters. \s-1LICR\s0 encoding is not
++used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage for sorting and
++for output of letter group headings.
+ .SH "SUPPORTED LANGUAGES / CODEPAGES"
+ .IX Header "SUPPORTED LANGUAGES / CODEPAGES"
+ The following languages are supported:
+@@ -451,6 +467,8 @@
+ Joachim Schrod
+ .SH "LEGALESE"
+ .IX Header "LEGALESE"
++Copyright (c) 2004\-2014 by Joachim Schrod.
++.PP
+ \&\fBtexindy\fR is free software; you can redistribute it and/or modify it
+ under the terms of the \s-1GNU\s0 General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.5.0.orig/user-commands/texindy.in xindy-2.5.0/user-commands/texindy.in
+--- xindy-2.5.0.orig/user-commands/texindy.in 2014-04-19 21:11:58.000000000 +0200
++++ xindy-2.5.0/user-commands/texindy.in 2014-05-11 15:45:44.000000000 +0200
+@@ -28,7 +28,7 @@
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+- -I / --input-markup (supported: latex, omega)
++ -I / --input-markup (supported: latex, xelatex, omega)
+
+
+ =head1 DESCRIPTION
+@@ -41,9 +41,6 @@
+ Files with the raw index are passed as arguments. If no arguments are
+ passed, the raw index will be read from standard input.
+
+-B<Do not use texindy with XeLaTeX or LuaLaTeX!> When you use these
+-LaTeX engines, you must use B<xindy -C utf8 -M texindy -M page-ranges> instead.
+-
+ A good introductionary description of B<texindy> appears in the
+ indexing chapter of the LaTeX Companion (2nd ed.)
+
+@@ -105,28 +102,46 @@
+ The index is sorted according to the rules of language I<lang>. These
+ rules are encoded in a xindy module created by I<make-rules>.
+
+-If no input encoding is specified via C<--codepage>, a xindy module
+-for that language is searched with a latin, a cp, an iso, or ascii
+-encoding, in that order.
+-
+-=item C<--codepage> I<enc> / B <-C> I<enc>
+-
+-B<texindy>'s raw input is always assumed to be encoded in LaTeX
+-Internal Character Representation (LICR). I.e., non-ASCII characters
+-are encoded as command sequences. This option tells xindy the encoding
+-it shall use internally for sorting.
+-
+-Effectively, you need this option to specify the encoding of letter
+-group headings.
+-
+-Encoding C<utf8> is only supported for Latin alphabets. But if you use
+-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
+-must not use B<texindy> anyhow. Then direct usage of B<xindy> is
+-appropriate.
+-
+-When C<omega> input markup is used, C<utf8> is always used as the sort
+-codepage and no inputenc module is loaded. Then this option is
+-ignored.
++If no input encoding is specified via C<--codepage> or enforced by
++input markup, a xindy module for that language is searched with a
++latin, a cp, an iso, ascii, or utf8 encoding, in that order.
++
++=item C<--codepage> I<enc> / B<-C> I<enc>
++
++There are two different situations and use cases for this option.
++
++=over
++
++=item 1.
++
++Input markup is C<latex> (the default).
++
++Then B<texindy>'s raw input is assumed to be encoded in LaTeX Internal
++Character Representation (LICR). I.e., non-ASCII characters are
++encoded as command sequences. This option tells xindy the encoding it
++shall use for letter group headings. (Additionally it specifies the
++encoding used internally for sorting -- but that doesn't matter for
++the result.)
++
++Only LICR encodings for Latin script alphabets are supported; more
++precisely characters that are in LaTeX latin1, latin2, and latin3 LICR
++encodings.
++
++Even when you specify C<utf8> as codepage, only these characters will
++be known. But if you use non-Latin alphabets, you probably use (or
++should use) XeLaTeX or LuaLaTeX and then you have a different input
++markup.
++
++=item 2.
++
++Input markup is C<xelatex> or C<omega>.
++
++Then this option is ignored; codepage C<utf8> is enforced.
++
++B<texindy>'s raw input is assumed to be UTF-8 encoded, LICR is not
++used.
++
++=back
+
+ =item C<--module> I<module> / B<-M> I<module>
+
+@@ -137,17 +152,22 @@
+ =item C<--input-markup> I<input> / B<-I> I<input>
+
+ Specifies the input markup of the raw index. Supported values for
+-I<input> are C<latex> and C<omega>.
++I<input> are C<latex>, C<xelatex>, and C<omega>.
+
+ C<latex> input markup is the one that is emitted by default from the
+-LaTeX kernel, or by the C<index> macro package of David Jones.
+-^^-notation of single byte characters is supported. Usage of LaTeX's
+-I<inputenc> package is assumed as well.
++LaTeX kernel, or by the C<index> macro package of David Jones, when
++used with standard LaTeX or pdfLaTeX. ^^-notation of single byte
++characters is supported. Usage of LaTeX's I<inputenc> package is
++assumed as well, i.e., raw input is encoded in LICR.
++
++C<xelatex> input markup is like C<latex>, but without I<inputenc>
++usage. Raw input is encoded in UTF-8. LuaLaTeX has the same input
++markup, there's no special option value for it.
+
+ C<omega> input markup is like C<latex> input markup, but with Omega's
+-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
+-encoding is not used then, and C<utf8> is enforced to be the codepage
+-for sorting.
++^^-notation as encoding for non-ASCII characters. LICR encoding is not
++used then, and C<utf8> is enforced to be the codepage for sorting and
++for output of letter group headings.
+
+ =back
+
+@@ -346,6 +366,8 @@
+
+ =head1 LEGALESE
+
++Copyright (c) 2004-2014 by Joachim Schrod.
++
+ B<texindy> is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2 of the License, or (at your
+@@ -553,15 +575,16 @@
+ unshift (@modules, ($letter_ordering ? 'letter-order' : 'word-order'));
+ unshift (@modules, 'page-ranges') unless $no_ranges;
+
+- # Check that the input markup is known. omega markup implies
++ # Check that the input markup is known. xelatex and omega markup implies
+ # codepage utf8 for sorting, but no inputenc. We set the codepage
+ # to undef to prevent loading of the inputenc module. Setting it
+- # to utf8 for the sort encoding is done by the xindy script.
+- if ( $input_markup ne 'latex' && $input_markup ne 'omega' ) {
++ # to utf8 for sort encoding is done by the xindy script.
++ if ( $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
++ $input_markup ne 'omega' ) {
+ print STDERR "Unsupported input markup $input_markup.\n";
+ usage(1);
+ }
+- if ( $input_markup eq 'omega' ) {
++ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
+ $codepage = undef;
+ }
+
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.5.0.orig/user-commands/xindy.1 xindy-2.5.0/user-commands/xindy.1
+--- xindy-2.5.0.orig/user-commands/xindy.1 2014-04-19 21:56:40.000000000 +0200
++++ xindy-2.5.0/user-commands/xindy.1 2014-05-11 15:45:44.000000000 +0200
+@@ -124,7 +124,7 @@
+ .\" ========================================================================
+ .\"
+ .IX Title "xindy 1"
+-.TH xindy 1 "2014-04-19" "Release 2.5" "xindy"
++.TH xindy 1 "2014-05-11" "Release 2.5.0" "xindy"
+ .\" For nroff, turn off justification. Always turn off hyphenation; it makes
+ .\" way too many mistakes in technical documents.
+ .if n .ad l
+@@ -152,7 +152,7 @@
+ \& \-L / \-\-language
+ \& \-C / \-\-codepage
+ \& \-M / \-\-module (multiple times)
+-\& \-I / \-\-input\-markup (supported: latex, omega, xindy)
++\& \-I / \-\-input\-markup (supported: latex, xelatex, omega, xindy)
+ .Ve
+ .SH "DESCRIPTION"
+ .IX Header "DESCRIPTION"
+@@ -222,9 +222,9 @@
+ The index is sorted according to the rules of language \fIlang\fR. These
+ rules are encoded in a xindy module created by \fImake-rules\fR.
+ .Sp
+-If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
+-for that language is searched with a latin, a cp, an iso, ascii, or utf8
+-encoding, in that order.
++If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by
++input markup, a xindy module for that language is searched with a
++latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+ .Sp
+ Language modules are either placed in the \fIlang\fR or in the
+ \&\fIcontrib/lang\fR sub-directory of the modules base directory.
+@@ -232,11 +232,15 @@
+ .el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
+ .IX Item "--codepage enc / -C enc"
+ The raw input is in input encoding \fIenc\fR. This information is used to
+-select the correct xindy sort module and also the \fIinputenc\fR target
+-encoding for \f(CW\*(C`latex\*(C'\fR input markup.
++select the correct xindy sort module and output encoding of letter
++group headings.
+ .Sp
+-When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as
+-codepage, this option is then ignored.
++When \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always
++used as codepage, then this option is ignored.
++.Sp
++If raw input is in \s-1LICR\s0, \fItexindy\fR\|(1) should be used instead of
++\&\fIxindy\fR\|(1). It will activate a mapping of \fIinputenc\fR encoding for
++\&\f(CW\*(C`latex\*(C'\fR input markup to the chosen raw input codepage.
+ .ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
+ .el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
+ .IX Item "--module module / -M module"
+@@ -247,16 +251,17 @@
+ .el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
+ .IX Item "--input-markup input / -I input"
+ Specifies the input markup of the raw index. Supported values for
+-\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
++\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
+ .Sp
+-\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
+-LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
+-^^\-notation of single byte characters is supported. Usage of LaTeX's
+-\&\fIinputenc\fR package is assumed as well.
++\&\f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`xelatex\*(C'\fR input markup is the one that is emitted by
++default from the LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of
++David Jones. ^^\-notation of single byte characters is supported.
++Remapping of LICR-encoded characters is not done; use \fItexindy\fR\|(1) for
++that. Use input markup \f(CW\*(C`latex\*(C'\fR if you use standard LaTeX or pdfLaTeX
++and use input markup \f(CW\*(C`xelatex\*(C'\fR if you use XeLaTeX or LuaLaTeX.
+ .Sp
+ \&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
+-^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
+-encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage.
++^^\-notation as encoding for non-ASCII characters.
+ .Sp
+ \&\f(CW\*(C`xindy\*(C'\fR input markup is specified in the xindy manual.
+ .ie n .IP """\-\-interactive""" 4
+@@ -418,7 +423,7 @@
+ Joachim Schrod
+ .SH "LEGALESE"
+ .IX Header "LEGALESE"
+-Copyright (c) 2004\-2010 by Joachim Schrod.
++Copyright (c) 2004\-2014 by Joachim Schrod.
+ .PP
+ \&\fBxindy\fR is free software; you can redistribute it and/or modify it
+ under the terms of the \s-1GNU\s0 General Public License as published by the
+diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.5.0.orig/user-commands/xindy.in xindy-2.5.0/user-commands/xindy.in
+--- xindy-2.5.0.orig/user-commands/xindy.in 2014-04-20 12:12:07.000000000 +0200
++++ xindy-2.5.0/user-commands/xindy.in 2014-05-11 15:45:44.385094771 +0200
+@@ -26,7 +26,7 @@
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+- -I / --input-markup (supported: latex, omega, xindy)
++ -I / --input-markup (supported: latex, xelatex, omega, xindy)
+
+
+ =head1 DESCRIPTION
+@@ -98,9 +98,9 @@
+ The index is sorted according to the rules of language I<lang>. These
+ rules are encoded in a xindy module created by I<make-rules>.
+
+-If no input encoding is specified via C<--codepage>, a xindy module
+-for that language is searched with a latin, a cp, an iso, ascii, or utf8
+-encoding, in that order.
++If no input encoding is specified via C<--codepage> or enforced by
++input markup, a xindy module for that language is searched with a
++latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+
+ Language modules are either placed in the F<lang> or in the
+ F<contrib/lang> sub-directory of the modules base directory.
+@@ -108,11 +108,15 @@
+ =item C<--codepage> I<enc> / B<-C> I<enc>
+
+ The raw input is in input encoding I<enc>. This information is used to
+-select the correct xindy sort module and also the I<inputenc> target
+-encoding for C<latex> input markup.
++select the correct xindy sort module and output encoding of letter
++group headings.
+
+-When C<omega> input markup is used, C<utf8> is always used as
+-codepage, this option is then ignored.
++When C<xelatex> or C<omega> input markup is used, C<utf8> is always
++used as codepage, then this option is ignored.
++
++If raw input is in LICR, texindy(1) should be used instead of
++xindy(1). It will activate a mapping of I<inputenc> encoding for
++C<latex> input markup to the chosen raw input codepage.
+
+ =item C<--module> I<module> / B<-M> I<module>
+
+@@ -123,16 +127,17 @@
+ =item C<--input-markup> I<input> / B<-I> I<input>
+
+ Specifies the input markup of the raw index. Supported values for
+-I<input> are C<latex>, C<omega>, and C<xindy>.
++I<input> are C<latex>, C<xelatex>, C<omega>, and C<xindy>.
+
+-C<latex> input markup is the one that is emitted by default from the
+-LaTeX kernel, or by the C<index> macro package of David Jones.
+-^^-notation of single byte characters is supported. Usage of LaTeX's
+-I<inputenc> package is assumed as well.
++C<latex> and C<xelatex> input markup is the one that is emitted by
++default from the LaTeX kernel, or by the C<index> macro package of
++David Jones. ^^-notation of single byte characters is supported.
++Remapping of LICR-encoded characters is not done; use texindy(1) for
++that. Use input markup C<latex> if you use standard LaTeX or pdfLaTeX
++and use input markup C<xelatex> if you use XeLaTeX or LuaLaTeX.
+
+ C<omega> input markup is like C<latex> input markup, but with Omega's
+-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
+-encoding is not used then, and C<utf8> is enforced to be the codepage.
++^^-notation as encoding for non-ASCII characters.
+
+ C<xindy> input markup is specified in the xindy manual.
+
+@@ -320,7 +325,7 @@
+
+ =head1 LEGALESE
+
+-Copyright (c) 2004-2010 by Joachim Schrod.
++Copyright (c) 2004-2014 by Joachim Schrod.
+
+ B<xindy> is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+@@ -484,7 +489,7 @@
+ -L / --language
+ -C / --codepage
+ -M / --module (multiple times)
+- -I / --input-markup (supported: latex, omega, xindy)
++ -I / --input-markup (supported: latex, xelatex, omega, xindy)
+
+ _EOT_
+ ;
+@@ -538,7 +543,7 @@
+ }
+ $raw_index = create_raw_index(); # processes @ARGV
+ my $filter_cmd = '';
+- if ( $input_markup eq 'latex' ) {
++ if ( $input_markup =~ /latex$/ ) {
+ $filter_cmd = "$cmd_dir/tex2xindy";
+ } elsif ( $input_markup eq 'omega' ) {
+ $filter_cmd = "$cmd_dir/tex2xindy -o";
+@@ -633,12 +638,12 @@
+ # Check that the input markup is known.
+ # omega markup implies codepage utf8.
+ if ( $input_markup &&
+- $input_markup ne 'latex' && $input_markup ne 'omega' &&
+- $input_markup ne 'xindy' ) {
++ $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
++ $input_markup ne 'omega' && $input_markup ne 'xindy' ) {
+ print STDERR "Unsupported input markup $input_markup.\n";
+ usage(1);
+ }
+- if ( $input_markup eq 'omega' ) {
++ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
+ @codepages = qw(utf8);
+ }
+
diff --git a/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.1 b/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.1
index b873d713b74..bbd5dcfb096 100644
--- a/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.1
+++ b/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.1
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "texindy 1"
-.TH texindy 1 "2014-04-19" "Release 2.5" "texindy"
+.TH texindy 1 "2014-05-11" "Release 2.5.0" "xindy"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -154,7 +154,7 @@ texindy \- create sorted and tagged index from raw LaTeX index
\& \-L / \-\-language
\& \-C / \-\-codepage
\& \-M / \-\-module (multiple times)
-\& \-I / \-\-input\-markup (supported: latex, omega)
+\& \-I / \-\-input\-markup (supported: latex, xelatex, omega)
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
@@ -166,9 +166,6 @@ by xindy modules, with a convenient set already preloaded.
Files with the raw index are passed as arguments. If no arguments are
passed, the raw index will be read from standard input.
.PP
-\&\fBDo not use texindy with XeLaTeX or LuaLaTeX!\fR When you use these
-LaTeX engines, you must use \fBxindy \-C utf8 \-M texindy \-M page-ranges\fR instead.
-.PP
A good introductionary description of \fBtexindy\fR appears in the
indexing chapter of the LaTeX Companion (2nd ed.)
.PP
@@ -229,28 +226,42 @@ independent from the progress messages that you can influence with
The index is sorted according to the rules of language \fIlang\fR. These
rules are encoded in a xindy module created by \fImake-rules\fR.
.Sp
-If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
-for that language is searched with a latin, a cp, an iso, or ascii
-encoding, in that order.
-.ie n .IP """\-\-codepage"" \fIenc\fR / B <\-C> \fIenc\fR" 4
-.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / B <\-C> \fIenc\fR" 4
-.IX Item "--codepage enc / B <-C> enc"
-\&\fBtexindy\fR's raw input is always assumed to be encoded in LaTeX
-Internal Character Representation (\s-1LICR\s0). I.e., non-ASCII characters
-are encoded as command sequences. This option tells xindy the encoding
-it shall use internally for sorting.
+If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+.ie n .IP """\-\-codepage"" \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
+.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
+.IX Item "--codepage enc / -C enc"
+There are two different situations and use cases for this option.
+.RS 4
+.IP "1." 4
+Input markup is \f(CW\*(C`latex\*(C'\fR (the default).
+.Sp
+Then \fBtexindy\fR's raw input is assumed to be encoded in LaTeX Internal
+Character Representation (\s-1LICR\s0). I.e., non-ASCII characters are
+encoded as command sequences. This option tells xindy the encoding it
+shall use for letter group headings. (Additionally it specifies the
+encoding used internally for sorting \*(-- but that doesn't matter for
+the result.)
+.Sp
+Only \s-1LICR\s0 encodings for Latin script alphabets are supported; more
+precisely characters that are in LaTeX latin1, latin2, and latin3 \s-1LICR\s0
+encodings.
.Sp
-Effectively, you need this option to specify the encoding of letter
-group headings.
+Even when you specify \f(CW\*(C`utf8\*(C'\fR as codepage, only these characters will
+be known. But if you use non-Latin alphabets, you probably use (or
+should use) XeLaTeX or LuaLaTeX and then you have a different input
+markup.
+.IP "2." 4
+Input markup is \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR.
.Sp
-Encoding \f(CW\*(C`utf8\*(C'\fR is only supported for Latin alphabets. But if you use
-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
-must not use \fBtexindy\fR anyhow. Then direct usage of \fBxindy\fR is
-appropriate.
+Then this option is ignored; codepage \f(CW\*(C`utf8\*(C'\fR is enforced.
.Sp
-When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as the sort
-codepage and no inputenc module is loaded. Then this option is
-ignored.
+\&\fBtexindy\fR's raw input is assumed to be \s-1UTF\-8\s0 encoded, \s-1LICR\s0 is not
+used.
+.RE
+.RS 4
+.RE
.ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.IX Item "--module module / -M module"
@@ -261,17 +272,22 @@ can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR.
.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
.IX Item "--input-markup input / -I input"
Specifies the input markup of the raw index. Supported values for
-\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`omega\*(C'\fR.
+\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, and \f(CW\*(C`omega\*(C'\fR.
.Sp
\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
-LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
-^^\-notation of single byte characters is supported. Usage of LaTeX's
-\&\fIinputenc\fR package is assumed as well.
+LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones, when
+used with standard LaTeX or pdfLaTeX. ^^\-notation of single byte
+characters is supported. Usage of LaTeX's \fIinputenc\fR package is
+assumed as well, i.e., raw input is encoded in \s-1LICR\s0.
+.Sp
+\&\f(CW\*(C`xelatex\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR, but without \fIinputenc\fR
+usage. Raw input is encoded in \s-1UTF\-8\s0. LuaLaTeX has the same input
+markup, there's no special option value for it.
.Sp
\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
-^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
-encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage
-for sorting.
+^^\-notation as encoding for non-ASCII characters. \s-1LICR\s0 encoding is not
+used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage for sorting and
+for output of letter group headings.
.SH "SUPPORTED LANGUAGES / CODEPAGES"
.IX Header "SUPPORTED LANGUAGES / CODEPAGES"
The following languages are supported:
@@ -451,6 +467,8 @@ modules. The default is \f(CW\*(C`texindy\*(C'\fR.
Joachim Schrod
.SH "LEGALESE"
.IX Header "LEGALESE"
+Copyright (c) 2004\-2014 by Joachim Schrod.
+.PP
\&\fBtexindy\fR is free software; you can redistribute it and/or modify it
under the terms of the \s-1GNU\s0 General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
diff --git a/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in b/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
index 4783b706fb3..f876aba940f 100644
--- a/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
+++ b/Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in
@@ -28,7 +28,7 @@ texindy - create sorted and tagged index from raw LaTeX index
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega)
+ -I / --input-markup (supported: latex, xelatex, omega)
=head1 DESCRIPTION
@@ -41,9 +41,6 @@ by xindy modules, with a convenient set already preloaded.
Files with the raw index are passed as arguments. If no arguments are
passed, the raw index will be read from standard input.
-B<Do not use texindy with XeLaTeX or LuaLaTeX!> When you use these
-LaTeX engines, you must use B<xindy -C utf8 -M texindy -M page-ranges> instead.
-
A good introductionary description of B<texindy> appears in the
indexing chapter of the LaTeX Companion (2nd ed.)
@@ -105,28 +102,46 @@ C<--debug> or C<--verbose>.
The index is sorted according to the rules of language I<lang>. These
rules are encoded in a xindy module created by I<make-rules>.
-If no input encoding is specified via C<--codepage>, a xindy module
-for that language is searched with a latin, a cp, an iso, or ascii
-encoding, in that order.
+If no input encoding is specified via C<--codepage> or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+
+=item C<--codepage> I<enc> / B<-C> I<enc>
+
+There are two different situations and use cases for this option.
-=item C<--codepage> I<enc> / B <-C> I<enc>
+=over
+
+=item 1.
-B<texindy>'s raw input is always assumed to be encoded in LaTeX
-Internal Character Representation (LICR). I.e., non-ASCII characters
-are encoded as command sequences. This option tells xindy the encoding
-it shall use internally for sorting.
+Input markup is C<latex> (the default).
-Effectively, you need this option to specify the encoding of letter
-group headings.
+Then B<texindy>'s raw input is assumed to be encoded in LaTeX Internal
+Character Representation (LICR). I.e., non-ASCII characters are
+encoded as command sequences. This option tells xindy the encoding it
+shall use for letter group headings. (Additionally it specifies the
+encoding used internally for sorting -- but that doesn't matter for
+the result.)
-Encoding C<utf8> is only supported for Latin alphabets. But if you use
-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
-must not use B<texindy> anyhow. Then direct usage of B<xindy> is
-appropriate.
+Only LICR encodings for Latin script alphabets are supported; more
+precisely characters that are in LaTeX latin1, latin2, and latin3 LICR
+encodings.
+
+Even when you specify C<utf8> as codepage, only these characters will
+be known. But if you use non-Latin alphabets, you probably use (or
+should use) XeLaTeX or LuaLaTeX and then you have a different input
+markup.
-When C<omega> input markup is used, C<utf8> is always used as the sort
-codepage and no inputenc module is loaded. Then this option is
-ignored.
+=item 2.
+
+Input markup is C<xelatex> or C<omega>.
+
+Then this option is ignored; codepage C<utf8> is enforced.
+
+B<texindy>'s raw input is assumed to be UTF-8 encoded, LICR is not
+used.
+
+=back
=item C<--module> I<module> / B<-M> I<module>
@@ -137,17 +152,22 @@ can be changed with the environment variable C<XINDY_SEARCHPATH>.
=item C<--input-markup> I<input> / B<-I> I<input>
Specifies the input markup of the raw index. Supported values for
-I<input> are C<latex> and C<omega>.
+I<input> are C<latex>, C<xelatex>, and C<omega>.
C<latex> input markup is the one that is emitted by default from the
-LaTeX kernel, or by the C<index> macro package of David Jones.
-^^-notation of single byte characters is supported. Usage of LaTeX's
-I<inputenc> package is assumed as well.
+LaTeX kernel, or by the C<index> macro package of David Jones, when
+used with standard LaTeX or pdfLaTeX. ^^-notation of single byte
+characters is supported. Usage of LaTeX's I<inputenc> package is
+assumed as well, i.e., raw input is encoded in LICR.
+
+C<xelatex> input markup is like C<latex>, but without I<inputenc>
+usage. Raw input is encoded in UTF-8. LuaLaTeX has the same input
+markup, there's no special option value for it.
C<omega> input markup is like C<latex> input markup, but with Omega's
-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
-encoding is not used then, and C<utf8> is enforced to be the codepage
-for sorting.
+^^-notation as encoding for non-ASCII characters. LICR encoding is not
+used then, and C<utf8> is enforced to be the codepage for sorting and
+for output of letter group headings.
=back
@@ -346,6 +366,8 @@ Joachim Schrod
=head1 LEGALESE
+Copyright (c) 2004-2014 by Joachim Schrod.
+
B<texindy> is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
@@ -553,15 +575,16 @@ sub parse_options() {
unshift (@modules, ($letter_ordering ? 'letter-order' : 'word-order'));
unshift (@modules, 'page-ranges') unless $no_ranges;
- # Check that the input markup is known. omega markup implies
+ # Check that the input markup is known. xelatex and omega markup implies
# codepage utf8 for sorting, but no inputenc. We set the codepage
# to undef to prevent loading of the inputenc module. Setting it
- # to utf8 for the sort encoding is done by the xindy script.
- if ( $input_markup ne 'latex' && $input_markup ne 'omega' ) {
+ # to utf8 for sort encoding is done by the xindy script.
+ if ( $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
+ $input_markup ne 'omega' ) {
print STDERR "Unsupported input markup $input_markup.\n";
usage(1);
}
- if ( $input_markup eq 'omega' ) {
+ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
$codepage = undef;
}
diff --git a/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.1 b/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.1
index 45b8e60529e..5ce70eaac1f 100644
--- a/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.1
+++ b/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.1
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "xindy 1"
-.TH xindy 1 "2014-04-19" "Release 2.5" "xindy"
+.TH xindy 1 "2014-05-11" "Release 2.5.0" "xindy"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -152,7 +152,7 @@ xindy \- create sorted and tagged index from raw index
\& \-L / \-\-language
\& \-C / \-\-codepage
\& \-M / \-\-module (multiple times)
-\& \-I / \-\-input\-markup (supported: latex, omega, xindy)
+\& \-I / \-\-input\-markup (supported: latex, xelatex, omega, xindy)
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
@@ -222,9 +222,9 @@ independent from the progress messages that you can influence with
The index is sorted according to the rules of language \fIlang\fR. These
rules are encoded in a xindy module created by \fImake-rules\fR.
.Sp
-If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
-for that language is searched with a latin, a cp, an iso, ascii, or utf8
-encoding, in that order.
+If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
.Sp
Language modules are either placed in the \fIlang\fR or in the
\&\fIcontrib/lang\fR sub-directory of the modules base directory.
@@ -232,11 +232,15 @@ Language modules are either placed in the \fIlang\fR or in the
.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
.IX Item "--codepage enc / -C enc"
The raw input is in input encoding \fIenc\fR. This information is used to
-select the correct xindy sort module and also the \fIinputenc\fR target
-encoding for \f(CW\*(C`latex\*(C'\fR input markup.
+select the correct xindy sort module and output encoding of letter
+group headings.
.Sp
-When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as
-codepage, this option is then ignored.
+When \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always
+used as codepage, then this option is ignored.
+.Sp
+If raw input is in \s-1LICR\s0, \fItexindy\fR\|(1) should be used instead of
+\&\fIxindy\fR\|(1). It will activate a mapping of \fIinputenc\fR encoding for
+\&\f(CW\*(C`latex\*(C'\fR input markup to the chosen raw input codepage.
.ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.IX Item "--module module / -M module"
@@ -247,16 +251,17 @@ can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR.
.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
.IX Item "--input-markup input / -I input"
Specifies the input markup of the raw index. Supported values for
-\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
+\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
.Sp
-\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
-LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
-^^\-notation of single byte characters is supported. Usage of LaTeX's
-\&\fIinputenc\fR package is assumed as well.
+\&\f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`xelatex\*(C'\fR input markup is the one that is emitted by
+default from the LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of
+David Jones. ^^\-notation of single byte characters is supported.
+Remapping of LICR-encoded characters is not done; use \fItexindy\fR\|(1) for
+that. Use input markup \f(CW\*(C`latex\*(C'\fR if you use standard LaTeX or pdfLaTeX
+and use input markup \f(CW\*(C`xelatex\*(C'\fR if you use XeLaTeX or LuaLaTeX.
.Sp
\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
-^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
-encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage.
+^^\-notation as encoding for non-ASCII characters.
.Sp
\&\f(CW\*(C`xindy\*(C'\fR input markup is specified in the xindy manual.
.ie n .IP """\-\-interactive""" 4
@@ -418,7 +423,7 @@ used as internal codepage for LaTeX inputenc re-encoding.
Joachim Schrod
.SH "LEGALESE"
.IX Header "LEGALESE"
-Copyright (c) 2004\-2010 by Joachim Schrod.
+Copyright (c) 2004\-2014 by Joachim Schrod.
.PP
\&\fBxindy\fR is free software; you can redistribute it and/or modify it
under the terms of the \s-1GNU\s0 General Public License as published by the
diff --git a/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.in b/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.in
index 86d00610f6e..452725a827e 100644
--- a/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.in
+++ b/Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.in
@@ -26,7 +26,7 @@ xindy - create sorted and tagged index from raw index
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega, xindy)
+ -I / --input-markup (supported: latex, xelatex, omega, xindy)
=head1 DESCRIPTION
@@ -98,9 +98,9 @@ C<--debug> or C<--verbose>.
The index is sorted according to the rules of language I<lang>. These
rules are encoded in a xindy module created by I<make-rules>.
-If no input encoding is specified via C<--codepage>, a xindy module
-for that language is searched with a latin, a cp, an iso, ascii, or utf8
-encoding, in that order.
+If no input encoding is specified via C<--codepage> or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
Language modules are either placed in the F<lang> or in the
F<contrib/lang> sub-directory of the modules base directory.
@@ -108,11 +108,15 @@ F<contrib/lang> sub-directory of the modules base directory.
=item C<--codepage> I<enc> / B<-C> I<enc>
The raw input is in input encoding I<enc>. This information is used to
-select the correct xindy sort module and also the I<inputenc> target
-encoding for C<latex> input markup.
+select the correct xindy sort module and output encoding of letter
+group headings.
-When C<omega> input markup is used, C<utf8> is always used as
-codepage, this option is then ignored.
+When C<xelatex> or C<omega> input markup is used, C<utf8> is always
+used as codepage, then this option is ignored.
+
+If raw input is in LICR, texindy(1) should be used instead of
+xindy(1). It will activate a mapping of I<inputenc> encoding for
+C<latex> input markup to the chosen raw input codepage.
=item C<--module> I<module> / B<-M> I<module>
@@ -123,16 +127,17 @@ can be changed with the environment variable C<XINDY_SEARCHPATH>.
=item C<--input-markup> I<input> / B<-I> I<input>
Specifies the input markup of the raw index. Supported values for
-I<input> are C<latex>, C<omega>, and C<xindy>.
+I<input> are C<latex>, C<xelatex>, C<omega>, and C<xindy>.
-C<latex> input markup is the one that is emitted by default from the
-LaTeX kernel, or by the C<index> macro package of David Jones.
-^^-notation of single byte characters is supported. Usage of LaTeX's
-I<inputenc> package is assumed as well.
+C<latex> and C<xelatex> input markup is the one that is emitted by
+default from the LaTeX kernel, or by the C<index> macro package of
+David Jones. ^^-notation of single byte characters is supported.
+Remapping of LICR-encoded characters is not done; use texindy(1) for
+that. Use input markup C<latex> if you use standard LaTeX or pdfLaTeX
+and use input markup C<xelatex> if you use XeLaTeX or LuaLaTeX.
C<omega> input markup is like C<latex> input markup, but with Omega's
-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
-encoding is not used then, and C<utf8> is enforced to be the codepage.
+^^-notation as encoding for non-ASCII characters.
C<xindy> input markup is specified in the xindy manual.
@@ -320,7 +325,7 @@ Joachim Schrod
=head1 LEGALESE
-Copyright (c) 2004-2010 by Joachim Schrod.
+Copyright (c) 2004-2014 by Joachim Schrod.
B<xindy> is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -484,7 +489,7 @@ GNU-STYLE LONG OPTIONS FOR SHORT OPTIONS:
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega, xindy)
+ -I / --input-markup (supported: latex, xelatex, omega, xindy)
_EOT_
;
@@ -538,7 +543,7 @@ unless ( $interactive ) {
}
$raw_index = create_raw_index(); # processes @ARGV
my $filter_cmd = '';
- if ( $input_markup eq 'latex' ) {
+ if ( $input_markup =~ /latex$/ ) {
$filter_cmd = "$cmd_dir/tex2xindy";
} elsif ( $input_markup eq 'omega' ) {
$filter_cmd = "$cmd_dir/tex2xindy -o";
@@ -633,12 +638,12 @@ sub parse_options() {
# Check that the input markup is known.
# omega markup implies codepage utf8.
if ( $input_markup &&
- $input_markup ne 'latex' && $input_markup ne 'omega' &&
- $input_markup ne 'xindy' ) {
+ $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
+ $input_markup ne 'omega' && $input_markup ne 'xindy' ) {
print STDERR "Unsupported input markup $input_markup.\n";
usage(1);
}
- if ( $input_markup eq 'omega' ) {
+ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
@codepages = qw(utf8);
}
diff --git a/Master/texmf-dist/doc/man/man1/texindy.1 b/Master/texmf-dist/doc/man/man1/texindy.1
index b873d713b74..bbd5dcfb096 100644
--- a/Master/texmf-dist/doc/man/man1/texindy.1
+++ b/Master/texmf-dist/doc/man/man1/texindy.1
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "texindy 1"
-.TH texindy 1 "2014-04-19" "Release 2.5" "texindy"
+.TH texindy 1 "2014-05-11" "Release 2.5.0" "xindy"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -154,7 +154,7 @@ texindy \- create sorted and tagged index from raw LaTeX index
\& \-L / \-\-language
\& \-C / \-\-codepage
\& \-M / \-\-module (multiple times)
-\& \-I / \-\-input\-markup (supported: latex, omega)
+\& \-I / \-\-input\-markup (supported: latex, xelatex, omega)
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
@@ -166,9 +166,6 @@ by xindy modules, with a convenient set already preloaded.
Files with the raw index are passed as arguments. If no arguments are
passed, the raw index will be read from standard input.
.PP
-\&\fBDo not use texindy with XeLaTeX or LuaLaTeX!\fR When you use these
-LaTeX engines, you must use \fBxindy \-C utf8 \-M texindy \-M page-ranges\fR instead.
-.PP
A good introductionary description of \fBtexindy\fR appears in the
indexing chapter of the LaTeX Companion (2nd ed.)
.PP
@@ -229,28 +226,42 @@ independent from the progress messages that you can influence with
The index is sorted according to the rules of language \fIlang\fR. These
rules are encoded in a xindy module created by \fImake-rules\fR.
.Sp
-If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
-for that language is searched with a latin, a cp, an iso, or ascii
-encoding, in that order.
-.ie n .IP """\-\-codepage"" \fIenc\fR / B <\-C> \fIenc\fR" 4
-.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / B <\-C> \fIenc\fR" 4
-.IX Item "--codepage enc / B <-C> enc"
-\&\fBtexindy\fR's raw input is always assumed to be encoded in LaTeX
-Internal Character Representation (\s-1LICR\s0). I.e., non-ASCII characters
-are encoded as command sequences. This option tells xindy the encoding
-it shall use internally for sorting.
+If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+.ie n .IP """\-\-codepage"" \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
+.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
+.IX Item "--codepage enc / -C enc"
+There are two different situations and use cases for this option.
+.RS 4
+.IP "1." 4
+Input markup is \f(CW\*(C`latex\*(C'\fR (the default).
+.Sp
+Then \fBtexindy\fR's raw input is assumed to be encoded in LaTeX Internal
+Character Representation (\s-1LICR\s0). I.e., non-ASCII characters are
+encoded as command sequences. This option tells xindy the encoding it
+shall use for letter group headings. (Additionally it specifies the
+encoding used internally for sorting \*(-- but that doesn't matter for
+the result.)
+.Sp
+Only \s-1LICR\s0 encodings for Latin script alphabets are supported; more
+precisely characters that are in LaTeX latin1, latin2, and latin3 \s-1LICR\s0
+encodings.
.Sp
-Effectively, you need this option to specify the encoding of letter
-group headings.
+Even when you specify \f(CW\*(C`utf8\*(C'\fR as codepage, only these characters will
+be known. But if you use non-Latin alphabets, you probably use (or
+should use) XeLaTeX or LuaLaTeX and then you have a different input
+markup.
+.IP "2." 4
+Input markup is \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR.
.Sp
-Encoding \f(CW\*(C`utf8\*(C'\fR is only supported for Latin alphabets. But if you use
-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
-must not use \fBtexindy\fR anyhow. Then direct usage of \fBxindy\fR is
-appropriate.
+Then this option is ignored; codepage \f(CW\*(C`utf8\*(C'\fR is enforced.
.Sp
-When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as the sort
-codepage and no inputenc module is loaded. Then this option is
-ignored.
+\&\fBtexindy\fR's raw input is assumed to be \s-1UTF\-8\s0 encoded, \s-1LICR\s0 is not
+used.
+.RE
+.RS 4
+.RE
.ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.IX Item "--module module / -M module"
@@ -261,17 +272,22 @@ can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR.
.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
.IX Item "--input-markup input / -I input"
Specifies the input markup of the raw index. Supported values for
-\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`omega\*(C'\fR.
+\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, and \f(CW\*(C`omega\*(C'\fR.
.Sp
\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
-LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
-^^\-notation of single byte characters is supported. Usage of LaTeX's
-\&\fIinputenc\fR package is assumed as well.
+LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones, when
+used with standard LaTeX or pdfLaTeX. ^^\-notation of single byte
+characters is supported. Usage of LaTeX's \fIinputenc\fR package is
+assumed as well, i.e., raw input is encoded in \s-1LICR\s0.
+.Sp
+\&\f(CW\*(C`xelatex\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR, but without \fIinputenc\fR
+usage. Raw input is encoded in \s-1UTF\-8\s0. LuaLaTeX has the same input
+markup, there's no special option value for it.
.Sp
\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
-^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
-encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage
-for sorting.
+^^\-notation as encoding for non-ASCII characters. \s-1LICR\s0 encoding is not
+used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage for sorting and
+for output of letter group headings.
.SH "SUPPORTED LANGUAGES / CODEPAGES"
.IX Header "SUPPORTED LANGUAGES / CODEPAGES"
The following languages are supported:
@@ -451,6 +467,8 @@ modules. The default is \f(CW\*(C`texindy\*(C'\fR.
Joachim Schrod
.SH "LEGALESE"
.IX Header "LEGALESE"
+Copyright (c) 2004\-2014 by Joachim Schrod.
+.PP
\&\fBtexindy\fR is free software; you can redistribute it and/or modify it
under the terms of the \s-1GNU\s0 General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
diff --git a/Master/texmf-dist/doc/man/man1/texindy.man1.pdf b/Master/texmf-dist/doc/man/man1/texindy.man1.pdf
index e356a63f598..1a899384fe5 100644
--- a/Master/texmf-dist/doc/man/man1/texindy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/texindy.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/xindy.1 b/Master/texmf-dist/doc/man/man1/xindy.1
index 45b8e60529e..5ce70eaac1f 100644
--- a/Master/texmf-dist/doc/man/man1/xindy.1
+++ b/Master/texmf-dist/doc/man/man1/xindy.1
@@ -124,7 +124,7 @@
.\" ========================================================================
.\"
.IX Title "xindy 1"
-.TH xindy 1 "2014-04-19" "Release 2.5" "xindy"
+.TH xindy 1 "2014-05-11" "Release 2.5.0" "xindy"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
@@ -152,7 +152,7 @@ xindy \- create sorted and tagged index from raw index
\& \-L / \-\-language
\& \-C / \-\-codepage
\& \-M / \-\-module (multiple times)
-\& \-I / \-\-input\-markup (supported: latex, omega, xindy)
+\& \-I / \-\-input\-markup (supported: latex, xelatex, omega, xindy)
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
@@ -222,9 +222,9 @@ independent from the progress messages that you can influence with
The index is sorted according to the rules of language \fIlang\fR. These
rules are encoded in a xindy module created by \fImake-rules\fR.
.Sp
-If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR, a xindy module
-for that language is searched with a latin, a cp, an iso, ascii, or utf8
-encoding, in that order.
+If no input encoding is specified via \f(CW\*(C`\-\-codepage\*(C'\fR or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
.Sp
Language modules are either placed in the \fIlang\fR or in the
\&\fIcontrib/lang\fR sub-directory of the modules base directory.
@@ -232,11 +232,15 @@ Language modules are either placed in the \fIlang\fR or in the
.el .IP "\f(CW\-\-codepage\fR \fIenc\fR / \fB\-C\fR \fIenc\fR" 4
.IX Item "--codepage enc / -C enc"
The raw input is in input encoding \fIenc\fR. This information is used to
-select the correct xindy sort module and also the \fIinputenc\fR target
-encoding for \f(CW\*(C`latex\*(C'\fR input markup.
+select the correct xindy sort module and output encoding of letter
+group headings.
.Sp
-When \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always used as
-codepage, this option is then ignored.
+When \f(CW\*(C`xelatex\*(C'\fR or \f(CW\*(C`omega\*(C'\fR input markup is used, \f(CW\*(C`utf8\*(C'\fR is always
+used as codepage, then this option is ignored.
+.Sp
+If raw input is in \s-1LICR\s0, \fItexindy\fR\|(1) should be used instead of
+\&\fIxindy\fR\|(1). It will activate a mapping of \fIinputenc\fR encoding for
+\&\f(CW\*(C`latex\*(C'\fR input markup to the chosen raw input codepage.
.ie n .IP """\-\-module"" \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.el .IP "\f(CW\-\-module\fR \fImodule\fR / \fB\-M\fR \fImodule\fR" 4
.IX Item "--module module / -M module"
@@ -247,16 +251,17 @@ can be changed with the environment variable \f(CW\*(C`XINDY_SEARCHPATH\*(C'\fR.
.el .IP "\f(CW\-\-input\-markup\fR \fIinput\fR / \fB\-I\fR \fIinput\fR" 4
.IX Item "--input-markup input / -I input"
Specifies the input markup of the raw index. Supported values for
-\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
+\&\fIinput\fR are \f(CW\*(C`latex\*(C'\fR, \f(CW\*(C`xelatex\*(C'\fR, \f(CW\*(C`omega\*(C'\fR, and \f(CW\*(C`xindy\*(C'\fR.
.Sp
-\&\f(CW\*(C`latex\*(C'\fR input markup is the one that is emitted by default from the
-LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of David Jones.
-^^\-notation of single byte characters is supported. Usage of LaTeX's
-\&\fIinputenc\fR package is assumed as well.
+\&\f(CW\*(C`latex\*(C'\fR and \f(CW\*(C`xelatex\*(C'\fR input markup is the one that is emitted by
+default from the LaTeX kernel, or by the \f(CW\*(C`index\*(C'\fR macro package of
+David Jones. ^^\-notation of single byte characters is supported.
+Remapping of LICR-encoded characters is not done; use \fItexindy\fR\|(1) for
+that. Use input markup \f(CW\*(C`latex\*(C'\fR if you use standard LaTeX or pdfLaTeX
+and use input markup \f(CW\*(C`xelatex\*(C'\fR if you use XeLaTeX or LuaLaTeX.
.Sp
\&\f(CW\*(C`omega\*(C'\fR input markup is like \f(CW\*(C`latex\*(C'\fR input markup, but with Omega's
-^^\-notation as encoding for non-ASCII characters. LaTeX \fIinputenc\fR
-encoding is not used then, and \f(CW\*(C`utf8\*(C'\fR is enforced to be the codepage.
+^^\-notation as encoding for non-ASCII characters.
.Sp
\&\f(CW\*(C`xindy\*(C'\fR input markup is specified in the xindy manual.
.ie n .IP """\-\-interactive""" 4
@@ -418,7 +423,7 @@ used as internal codepage for LaTeX inputenc re-encoding.
Joachim Schrod
.SH "LEGALESE"
.IX Header "LEGALESE"
-Copyright (c) 2004\-2010 by Joachim Schrod.
+Copyright (c) 2004\-2014 by Joachim Schrod.
.PP
\&\fBxindy\fR is free software; you can redistribute it and/or modify it
under the terms of the \s-1GNU\s0 General Public License as published by the
diff --git a/Master/texmf-dist/doc/man/man1/xindy.man1.pdf b/Master/texmf-dist/doc/man/man1/xindy.man1.pdf
index 923249f282d..044fa497d76 100644
--- a/Master/texmf-dist/doc/man/man1/xindy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/xindy.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xindy/texindy.pdf b/Master/texmf-dist/doc/xindy/texindy.pdf
index 333d5192128..b1966300d81 100644
--- a/Master/texmf-dist/doc/xindy/texindy.pdf
+++ b/Master/texmf-dist/doc/xindy/texindy.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/xindy/xindy.pdf b/Master/texmf-dist/doc/xindy/xindy.pdf
index 9c119aecc30..dbf00ad76e4 100644
--- a/Master/texmf-dist/doc/xindy/xindy.pdf
+++ b/Master/texmf-dist/doc/xindy/xindy.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/xindy/texindy.pl b/Master/texmf-dist/scripts/xindy/texindy.pl
index 7a62a9f241a..5cfba08d699 100755
--- a/Master/texmf-dist/scripts/xindy/texindy.pl
+++ b/Master/texmf-dist/scripts/xindy/texindy.pl
@@ -28,7 +28,7 @@ texindy - create sorted and tagged index from raw LaTeX index
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega)
+ -I / --input-markup (supported: latex, xelatex, omega)
=head1 DESCRIPTION
@@ -41,9 +41,6 @@ by xindy modules, with a convenient set already preloaded.
Files with the raw index are passed as arguments. If no arguments are
passed, the raw index will be read from standard input.
-B<Do not use texindy with XeLaTeX or LuaLaTeX!> When you use these
-LaTeX engines, you must use B<xindy -C utf8 -M texindy -M page-ranges> instead.
-
A good introductionary description of B<texindy> appears in the
indexing chapter of the LaTeX Companion (2nd ed.)
@@ -105,28 +102,46 @@ C<--debug> or C<--verbose>.
The index is sorted according to the rules of language I<lang>. These
rules are encoded in a xindy module created by I<make-rules>.
-If no input encoding is specified via C<--codepage>, a xindy module
-for that language is searched with a latin, a cp, an iso, or ascii
-encoding, in that order.
+If no input encoding is specified via C<--codepage> or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
+
+=item C<--codepage> I<enc> / B<-C> I<enc>
+
+There are two different situations and use cases for this option.
-=item C<--codepage> I<enc> / B <-C> I<enc>
+=over
+
+=item 1.
-B<texindy>'s raw input is always assumed to be encoded in LaTeX
-Internal Character Representation (LICR). I.e., non-ASCII characters
-are encoded as command sequences. This option tells xindy the encoding
-it shall use internally for sorting.
+Input markup is C<latex> (the default).
-Effectively, you need this option to specify the encoding of letter
-group headings.
+Then B<texindy>'s raw input is assumed to be encoded in LaTeX Internal
+Character Representation (LICR). I.e., non-ASCII characters are
+encoded as command sequences. This option tells xindy the encoding it
+shall use for letter group headings. (Additionally it specifies the
+encoding used internally for sorting -- but that doesn't matter for
+the result.)
-Encoding C<utf8> is only supported for Latin alphabets. But if you use
-non-Latin alphabets, you probably use XeLaTeX or LuaLaTeX and then you
-must not use B<texindy> anyhow. Then direct usage of B<xindy> is
-appropriate.
+Only LICR encodings for Latin script alphabets are supported; more
+precisely characters that are in LaTeX latin1, latin2, and latin3 LICR
+encodings.
+
+Even when you specify C<utf8> as codepage, only these characters will
+be known. But if you use non-Latin alphabets, you probably use (or
+should use) XeLaTeX or LuaLaTeX and then you have a different input
+markup.
-When C<omega> input markup is used, C<utf8> is always used as the sort
-codepage and no inputenc module is loaded. Then this option is
-ignored.
+=item 2.
+
+Input markup is C<xelatex> or C<omega>.
+
+Then this option is ignored; codepage C<utf8> is enforced.
+
+B<texindy>'s raw input is assumed to be UTF-8 encoded, LICR is not
+used.
+
+=back
=item C<--module> I<module> / B<-M> I<module>
@@ -137,17 +152,22 @@ can be changed with the environment variable C<XINDY_SEARCHPATH>.
=item C<--input-markup> I<input> / B<-I> I<input>
Specifies the input markup of the raw index. Supported values for
-I<input> are C<latex> and C<omega>.
+I<input> are C<latex>, C<xelatex>, and C<omega>.
C<latex> input markup is the one that is emitted by default from the
-LaTeX kernel, or by the C<index> macro package of David Jones.
-^^-notation of single byte characters is supported. Usage of LaTeX's
-I<inputenc> package is assumed as well.
+LaTeX kernel, or by the C<index> macro package of David Jones, when
+used with standard LaTeX or pdfLaTeX. ^^-notation of single byte
+characters is supported. Usage of LaTeX's I<inputenc> package is
+assumed as well, i.e., raw input is encoded in LICR.
+
+C<xelatex> input markup is like C<latex>, but without I<inputenc>
+usage. Raw input is encoded in UTF-8. LuaLaTeX has the same input
+markup, there's no special option value for it.
C<omega> input markup is like C<latex> input markup, but with Omega's
-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
-encoding is not used then, and C<utf8> is enforced to be the codepage
-for sorting.
+^^-notation as encoding for non-ASCII characters. LICR encoding is not
+used then, and C<utf8> is enforced to be the codepage for sorting and
+for output of letter group headings.
=back
@@ -346,6 +366,8 @@ Joachim Schrod
=head1 LEGALESE
+Copyright (c) 2004-2014 by Joachim Schrod.
+
B<texindy> is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
@@ -553,15 +575,16 @@ sub parse_options() {
unshift (@modules, ($letter_ordering ? 'letter-order' : 'word-order'));
unshift (@modules, 'page-ranges') unless $no_ranges;
- # Check that the input markup is known. omega markup implies
+ # Check that the input markup is known. xelatex and omega markup implies
# codepage utf8 for sorting, but no inputenc. We set the codepage
# to undef to prevent loading of the inputenc module. Setting it
- # to utf8 for the sort encoding is done by the xindy script.
- if ( $input_markup ne 'latex' && $input_markup ne 'omega' ) {
+ # to utf8 for sort encoding is done by the xindy script.
+ if ( $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
+ $input_markup ne 'omega' ) {
print STDERR "Unsupported input markup $input_markup.\n";
usage(1);
}
- if ( $input_markup eq 'omega' ) {
+ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
$codepage = undef;
}
diff --git a/Master/texmf-dist/scripts/xindy/xindy.pl b/Master/texmf-dist/scripts/xindy/xindy.pl
index 80eaafe6d59..f2810fc8396 100755
--- a/Master/texmf-dist/scripts/xindy/xindy.pl
+++ b/Master/texmf-dist/scripts/xindy/xindy.pl
@@ -26,7 +26,7 @@ xindy - create sorted and tagged index from raw index
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega, xindy)
+ -I / --input-markup (supported: latex, xelatex, omega, xindy)
=head1 DESCRIPTION
@@ -98,9 +98,9 @@ C<--debug> or C<--verbose>.
The index is sorted according to the rules of language I<lang>. These
rules are encoded in a xindy module created by I<make-rules>.
-If no input encoding is specified via C<--codepage>, a xindy module
-for that language is searched with a latin, a cp, an iso, ascii, or utf8
-encoding, in that order.
+If no input encoding is specified via C<--codepage> or enforced by
+input markup, a xindy module for that language is searched with a
+latin, a cp, an iso, ascii, or utf8 encoding, in that order.
Language modules are either placed in the F<lang> or in the
F<contrib/lang> sub-directory of the modules base directory.
@@ -108,11 +108,15 @@ F<contrib/lang> sub-directory of the modules base directory.
=item C<--codepage> I<enc> / B<-C> I<enc>
The raw input is in input encoding I<enc>. This information is used to
-select the correct xindy sort module and also the I<inputenc> target
-encoding for C<latex> input markup.
+select the correct xindy sort module and output encoding of letter
+group headings.
-When C<omega> input markup is used, C<utf8> is always used as
-codepage, this option is then ignored.
+When C<xelatex> or C<omega> input markup is used, C<utf8> is always
+used as codepage, then this option is ignored.
+
+If raw input is in LICR, texindy(1) should be used instead of
+xindy(1). It will activate a mapping of I<inputenc> encoding for
+C<latex> input markup to the chosen raw input codepage.
=item C<--module> I<module> / B<-M> I<module>
@@ -123,16 +127,17 @@ can be changed with the environment variable C<XINDY_SEARCHPATH>.
=item C<--input-markup> I<input> / B<-I> I<input>
Specifies the input markup of the raw index. Supported values for
-I<input> are C<latex>, C<omega>, and C<xindy>.
+I<input> are C<latex>, C<xelatex>, C<omega>, and C<xindy>.
-C<latex> input markup is the one that is emitted by default from the
-LaTeX kernel, or by the C<index> macro package of David Jones.
-^^-notation of single byte characters is supported. Usage of LaTeX's
-I<inputenc> package is assumed as well.
+C<latex> and C<xelatex> input markup is the one that is emitted by
+default from the LaTeX kernel, or by the C<index> macro package of
+David Jones. ^^-notation of single byte characters is supported.
+Remapping of LICR-encoded characters is not done; use texindy(1) for
+that. Use input markup C<latex> if you use standard LaTeX or pdfLaTeX
+and use input markup C<xelatex> if you use XeLaTeX or LuaLaTeX.
C<omega> input markup is like C<latex> input markup, but with Omega's
-^^-notation as encoding for non-ASCII characters. LaTeX I<inputenc>
-encoding is not used then, and C<utf8> is enforced to be the codepage.
+^^-notation as encoding for non-ASCII characters.
C<xindy> input markup is specified in the xindy manual.
@@ -320,7 +325,7 @@ Joachim Schrod
=head1 LEGALESE
-Copyright (c) 2004-2010 by Joachim Schrod.
+Copyright (c) 2004-2014 by Joachim Schrod.
B<xindy> is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -484,7 +489,7 @@ GNU-STYLE LONG OPTIONS FOR SHORT OPTIONS:
-L / --language
-C / --codepage
-M / --module (multiple times)
- -I / --input-markup (supported: latex, omega, xindy)
+ -I / --input-markup (supported: latex, xelatex, omega, xindy)
_EOT_
;
@@ -538,7 +543,7 @@ unless ( $interactive ) {
}
$raw_index = create_raw_index(); # processes @ARGV
my $filter_cmd = '';
- if ( $input_markup eq 'latex' ) {
+ if ( $input_markup =~ /latex$/ ) {
$filter_cmd = "$cmd_dir/tex2xindy";
} elsif ( $input_markup eq 'omega' ) {
$filter_cmd = "$cmd_dir/tex2xindy -o";
@@ -633,12 +638,12 @@ sub parse_options() {
# Check that the input markup is known.
# omega markup implies codepage utf8.
if ( $input_markup &&
- $input_markup ne 'latex' && $input_markup ne 'omega' &&
- $input_markup ne 'xindy' ) {
+ $input_markup ne 'latex' && $input_markup ne 'xelatex' &&
+ $input_markup ne 'omega' && $input_markup ne 'xindy' ) {
print STDERR "Unsupported input markup $input_markup.\n";
usage(1);
}
- if ( $input_markup eq 'omega' ) {
+ if ( $input_markup eq 'xelatex' || $input_markup eq 'omega' ) {
@codepages = qw(utf8);
}