diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-05-11 14:28:56 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2014-05-11 14:28:56 +0000 |
commit | 56c3fd006c01ef00ef9d6befa48b1377528f894b (patch) | |
tree | e6863cc73f3e9e7dc0f0794fb4fcc53eef360a7c | |
parent | a32d792b18e7a124ee79604d6b68f83538b3a165 (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/ChangeLog | 5 | ||||
-rw-r--r-- | Build/source/utils/xindy/xindy-2.5.0-PATCHES/patch-02-xelatex | 487 | ||||
-rw-r--r-- | Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.1 | 80 | ||||
-rw-r--r-- | Build/source/utils/xindy/xindy-2.5.0/user-commands/texindy.in | 87 | ||||
-rw-r--r-- | Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.1 | 39 | ||||
-rw-r--r-- | Build/source/utils/xindy/xindy-2.5.0/user-commands/xindy.in | 47 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/texindy.1 | 80 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/texindy.man1.pdf | bin | 17647 -> 18894 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/xindy.1 | 39 | ||||
-rw-r--r-- | Master/texmf-dist/doc/man/man1/xindy.man1.pdf | bin | 17009 -> 17311 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xindy/texindy.pdf | bin | 17113 -> 17556 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/xindy/xindy.pdf | bin | 15706 -> 15917 bytes | |||
-rwxr-xr-x | Master/texmf-dist/scripts/xindy/texindy.pl | 87 | ||||
-rwxr-xr-x | Master/texmf-dist/scripts/xindy/xindy.pl | 47 |
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 Binary files differindex e356a63f598..1a899384fe5 100644 --- a/Master/texmf-dist/doc/man/man1/texindy.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/texindy.man1.pdf 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 Binary files differindex 923249f282d..044fa497d76 100644 --- a/Master/texmf-dist/doc/man/man1/xindy.man1.pdf +++ b/Master/texmf-dist/doc/man/man1/xindy.man1.pdf diff --git a/Master/texmf-dist/doc/xindy/texindy.pdf b/Master/texmf-dist/doc/xindy/texindy.pdf Binary files differindex 333d5192128..b1966300d81 100644 --- a/Master/texmf-dist/doc/xindy/texindy.pdf +++ b/Master/texmf-dist/doc/xindy/texindy.pdf diff --git a/Master/texmf-dist/doc/xindy/xindy.pdf b/Master/texmf-dist/doc/xindy/xindy.pdf Binary files differindex 9c119aecc30..dbf00ad76e4 100644 --- a/Master/texmf-dist/doc/xindy/xindy.pdf +++ b/Master/texmf-dist/doc/xindy/xindy.pdf 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); } |