From 176ef813ba47a492d916989001a2269b4f7ec3c7 Mon Sep 17 00:00:00 2001 From: Takuji Tanaka Date: Sun, 6 Jun 2021 13:45:27 +0000 Subject: mendex: v3.5, accept multiple number of style files git-svn-id: svn://tug.org/texlive/trunk@59487 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/mendexk/ChangeLog | 11 +++++++++++ Build/source/texk/mendexk/configure | 22 +++++++++++----------- Build/source/texk/mendexk/configure.ac | 2 +- Build/source/texk/mendexk/main.c | 25 ++++++++++++++++--------- Build/source/texk/mendexk/mendex.1 | 21 ++++++++++++--------- Build/source/texk/mendexk/mendex.1.ja | 17 ++++++++++------- Build/source/texk/mendexk/mendex.ja.txt | 19 ++++++++++++------- Build/source/texk/mendexk/styfile.c | 4 +++- Build/source/texk/mendexk/tests/mendex.test | 6 +++++- Build/source/texk/mendexk/tests/uni1.ist | 6 ++++++ Build/source/texk/mendexk/tests/uni2.ist | 6 ++++++ Build/source/texk/mendexk/version.h | 2 +- 12 files changed, 94 insertions(+), 47 deletions(-) create mode 100644 Build/source/texk/mendexk/tests/uni1.ist create mode 100644 Build/source/texk/mendexk/tests/uni2.ist (limited to 'Build/source/texk/mendexk') diff --git a/Build/source/texk/mendexk/ChangeLog b/Build/source/texk/mendexk/ChangeLog index 403b8a487f8..3d0e4fb5f4a 100644 --- a/Build/source/texk/mendexk/ChangeLog +++ b/Build/source/texk/mendexk/ChangeLog @@ -1,3 +1,14 @@ +2021-06-06 TANAKA Takuji + + * configure.ac, version.h: + Version 3.5 [6-Jun-2021]. + * main.c, styfile.c: + Accept multiple numbers of style files by option '-s'. + * tests/mendex.test, tests/uni[12].ist: + Add a new test. + * mendex.1{,ja}, mendex.ja.txt: + Update documents. + 2021-05-19 TANAKA Takuji * main.c, configure.ac, version.h: diff --git a/Build/source/texk/mendexk/configure b/Build/source/texk/mendexk/configure index 46a87f38cdd..4ce4c2f2479 100755 --- a/Build/source/texk/mendexk/configure +++ b/Build/source/texk/mendexk/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for mendex (TeX Live) 3.4. +# Generated by GNU Autoconf 2.69 for mendex (TeX Live) 3.5. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='mendex (TeX Live)' PACKAGE_TARNAME='mendex--tex-live-' -PACKAGE_VERSION='3.4' -PACKAGE_STRING='mendex (TeX Live) 3.4' +PACKAGE_VERSION='3.5' +PACKAGE_STRING='mendex (TeX Live) 3.5' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1329,7 +1329,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures mendex (TeX Live) 3.4 to adapt to many kinds of systems. +\`configure' configures mendex (TeX Live) 3.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1400,7 +1400,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of mendex (TeX Live) 3.4:";; + short | recursive ) echo "Configuration of mendex (TeX Live) 3.5:";; esac cat <<\_ACEOF @@ -1521,7 +1521,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -mendex (TeX Live) configure 3.4 +mendex (TeX Live) configure 3.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2173,7 +2173,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by mendex (TeX Live) $as_me 3.4, which was +It was created by mendex (TeX Live) $as_me 3.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -7855,7 +7855,7 @@ fi # Define the identity of the package. PACKAGE='mendex--tex-live-' - VERSION='3.4' + VERSION='3.5' # Some tools Automake needs. @@ -13907,7 +13907,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -mendex (TeX Live) config.lt 3.4 +mendex (TeX Live) config.lt 3.5 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -15516,7 +15516,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by mendex (TeX Live) $as_me 3.4, which was +This file was extended by mendex (TeX Live) $as_me 3.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15582,7 +15582,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -mendex (TeX Live) config.status 3.4 +mendex (TeX Live) config.status 3.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/texk/mendexk/configure.ac b/Build/source/texk/mendexk/configure.ac index 2a8992b345c..3cd4d8788ae 100644 --- a/Build/source/texk/mendexk/configure.ac +++ b/Build/source/texk/mendexk/configure.ac @@ -8,7 +8,7 @@ dnl This file is free software; the copyright holder dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl -AC_INIT([mendex (TeX Live)], [3.4]) +AC_INIT([mendex (TeX Live)], [3.5]) AC_PREREQ([2.63]) AC_CONFIG_SRCDIR([main.c]) AC_CONFIG_AUX_DIR([../../build-aux]) diff --git a/Build/source/texk/mendexk/main.c b/Build/source/texk/mendexk/main.c index 697c4954c72..28f9ae97d36 100644 --- a/Build/source/texk/mendexk/main.c +++ b/Build/source/texk/mendexk/main.c @@ -9,7 +9,7 @@ #include "kp.h" -char *styfile,*idxfile[256],*indfile,*dicfile,*logfile; +char *styfile[64],*idxfile[256],*indfile,*dicfile,*logfile; /* default paths */ #ifndef DEFAULT_INDEXSTYLES @@ -22,7 +22,7 @@ KpathseaSupportInfo kp_ist,kp_dict; int main(int argc, char **argv) { - int i,j,cc=0,startpagenum=-1,ecount=0,chkopt=1; + int i,j,k,cc=0,startpagenum=-1,ecount=0,chkopt=1; const char *envbuff; char *p; @@ -60,7 +60,7 @@ int main(int argc, char **argv) /* check options */ - for (i=1,j=0;i=2)&&chkopt) { switch (argv[i][1]) { case 'c': @@ -141,12 +141,17 @@ int main(int argc, char **argv) break; case 's': + if (k==64) { + fprintf (stderr, "Too many style files.\n"); + exit(255); + } if ((argv[i][2]=='\0')&&(i+1 "\\\\indexentry" .RS -Command with an argument of index entry. +Command with an argument of index entry which is going to be processed. .RE .TP 30 \fBarg_open\fR @@ -230,7 +231,7 @@ Prefix of heading for newly appeared heading letter. \fBheading_prefix\fR "" .RS -Same as \fBlethead_prefix\fR. +Same as \fBlethead_prefix\fR. (compatible with makeindex) .RE .TP 30 \fBlethead_suffix\fR @@ -242,7 +243,7 @@ Suffix of heading for newly appeared heading letter. \fBheading_suffix\fR "" .RS -Same as \fBlethead_suffix\fR. +Same as \fBlethead_suffix\fR. (compatible with makeindex) .RE .TP 30 \fBlethead_flag\fR @@ -255,7 +256,7 @@ Flag to control output of heading letters. \fBheading_flag\fR 0 .RS -Same as \fBlethead_flag\fR. +Same as \fBlethead_flag\fR. (Note: makeindex uses a different name \fBheadings_flag\fR) .RE .TP 30 \fBitem_0\fR @@ -458,11 +459,13 @@ Japanese sequence and non-Japanese sequence in sorting procedure. .RE .TP 30 \fBcharacter_order\fR -"SEJ" +"SNEJ" .RS Order of scripts and symbols. -\'S\', \'E\' and \'J\' respectively denotes symbol, English and Japanese. +\'S\', \'N\', \'E\' and \'J\' respectively denotes symbol, numbers, English and Japanese. (Extended by mendex) +Please make sure that \'S\' and \'N\' are next to each other, +since \fBmendex\fR considers numbers as part of symbol. .RE .PP .SH ABOUT JAPANESE PROCESSING diff --git a/Build/source/texk/mendexk/mendex.1.ja b/Build/source/texk/mendexk/mendex.1.ja index 25b3a9a53d3..ecf2cbe3577 100644 --- a/Build/source/texk/mendexk/mendex.1.ja +++ b/Build/source/texk/mendexk/mendex.1.ja @@ -36,7 +36,7 @@ mendex \- 索引整形ツール スペースやタブといったブランクを短縮して、すべて1個の半角スペースにします。また、前後のブランクは削除されます。 .TP 10 \fB-g\fR -日本語の頭文字の区切りを "あかさた・・・わ" にします。指定しないと "あいうえ・・・わをん" になります。 +日本語の頭文字の区切りを "あかさた・・・わ" にします。指定しないと "あいうえ・・・わゐゑをん" になります。 .TP 10 \fB-f\fR 辞書ファイルにない漢字も強制的に出力するモードです。 @@ -77,6 +77,7 @@ mendex \- 索引整形ツール .TP 10 \fB--\fR 以降はオプション文字列と解釈しません。 +これは,ファイル名の先頭の文字が '-' であるファイルを扱う場合に有用です。 .SH スタイルファイル @@ -89,7 +90,7 @@ mendex \- 索引整形ツール \fBkeyword\fR <文字列> "\\\\indexentry" .RS -索引エントリを引数として持つコマンド。 +処理対象とする索引エントリを引数として持つコマンド。 .RE .TP 30 \fBarg_open\fR <文字> @@ -199,7 +200,7 @@ mendexのパラメータ文字に対するエスケープキャラクタ。 \fBheading_prefix\fR <文字列> "" .RS -lethead_prefixと同じ。 +lethead_prefixと同じ。(makeindex互換) .RE .TP 30 \fBlethead_suffix\fR <文字列> @@ -211,7 +212,7 @@ lethead_prefixと同じ。 \fBheading_suffix\fR <文字列> "" .RS -lethead_suffixと同じ。 +lethead_suffixと同じ。(makeindex互換) .RE .TP 30 \fBlethead_flag\fR <数値> @@ -223,7 +224,7 @@ lethead_suffixと同じ。 \fBheading_flag\fR <数値> 0 .RS -lethead_flagと同じ。 +lethead_flagと同じ。makeindexではheadings_flagという名称のため、互換性がありません。 .RE .TP 30 \fBitem_0\fR <文字列> @@ -403,9 +404,11 @@ symbol_flag が0でない場合に、数字・記号の頭文字として出力 .RE .TP 30 \fBcharacter_order\fR <文字列> -"SEJ" +"SNEJ" .RS -記号、英字、日本語の優先順位。\'S\'は記号、\'E\'は英字、\'J\'は日本語を表す。(mendex専用) +記号、英字、日本語の優先順位。 +\'S\'は記号、\'N\'は数字、\'E\'は英字、\'J\'は日本語を表す。(mendex専用) +mendexでは索引項目の分類として「数字」は「記号」に含める仕様としていますので、\'S\'と\'N\'は必ず隣り合わせてください(数字と数字以外の記号の順序入れ替えは可能です)。 .RE .PP .SH 日本語の扱いについて diff --git a/Build/source/texk/mendexk/mendex.ja.txt b/Build/source/texk/mendexk/mendex.ja.txt index 3964ad9a65e..73586ad5207 100644 --- a/Build/source/texk/mendexk/mendex.ja.txt +++ b/Build/source/texk/mendexk/mendex.ja.txt @@ -34,7 +34,7 @@ mendex - 索引整形ツール します。また、前後のブランクは削除されます。 -g 日本語の頭文字の区切りを "あかさた・・・わ" にします。指定しないと - "あいうえ・・・わをん" になります。 + "あいうえ・・・わゐゑをん" になります。 -f 辞書ファイルにない漢字も強制的に出力するモードです。 @@ -75,6 +75,7 @@ mendex - 索引整形ツール --help オプションの要約を表示します。 -- 以降はオプション文字列と解釈しません。 + これは,ファイル名の先頭の文字が '-' であるファイルを扱う場合に有用です。 スタイルファイル @@ -86,7 +87,7 @@ mendex - 索引整形ツール 入力ファイルスタイルパラメータ keyword <文字列> "\\indexentry" - 索引エントリを引数として持つコマンド。 + 処理対象とする索引エントリを引数として持つコマンド。 arg_open <文字> '{' @@ -161,7 +162,7 @@ mendex - 索引整形ツール heading_prefix <文字列> "" - lethead_prefixと同じ。 + lethead_prefixと同じ。(makeindex互換) lethead_suffix <文字列> "" @@ -169,7 +170,7 @@ mendex - 索引整形ツール heading_suffix <文字列> "" - lethead_suffixと同じ。 + lethead_suffixと同じ。(makeindex互換) lethead_flag <数値> 0 @@ -179,6 +180,7 @@ mendex - 索引整形ツール heading_flag <数値> 0 lethead_flagと同じ。 + makeindexではheadings_flagという名称のため、互換性がありません。 item_0 <文字列> "\n \\item " @@ -306,9 +308,12 @@ mendex - 索引整形ツール 英字と日本語との間に半角スペースを入れた状態でソートする。(mendex専用) character_order <文字列> - "SEJ" - 記号、英字、日本語の優先順位。'S'は記号、'E'は英字、'J'は日本語を表す。 - (mendex専用) + "SNEJ" + 記号、英字、日本語の優先順位。'S'は記号、'N'は数字、'E'は英字、'J'は + 日本語を表す。(mendex専用) + mendexでは索引項目の分類として「数字」は「記号」に含める仕様としています + ので、'S'と'N'は必ず隣り合わせてください + (数字と数字以外の記号の順序入れ替えは可能です)。 日本語の扱いについて diff --git a/Build/source/texk/mendexk/styfile.c b/Build/source/texk/mendexk/styfile.c index 387182f3a12..1a92516e190 100644 --- a/Build/source/texk/mendexk/styfile.c +++ b/Build/source/texk/mendexk/styfile.c @@ -48,6 +48,7 @@ void styread(const char *filename) fprintf(stderr,"%s does not exist.\n",filename); exit(0); } + verb_printf(efp,"Scanning style file %s.",filename); for (i=0;;i++) { if (fgets(buff,4095,fp)==NULL) break; @@ -130,12 +131,13 @@ void styread(const char *filename) letter_head=atoi(&buff[cc]); continue; } - if (getparam(buff,"atama",atama)) continue; if (getparam(buff,"page_compositor",page_compositor)) continue; if (getparam(buff,"page_precedence",page_precedence)) continue; if (getparam(buff,"character_order",character_order)) continue; } nkf_close(fp); + + verb_printf(efp,"...done.\n"); } /* analize string parameter of style file */ diff --git a/Build/source/texk/mendexk/tests/mendex.test b/Build/source/texk/mendexk/tests/mendex.test index 26441808bf4..1641ee898b8 100755 --- a/Build/source/texk/mendexk/tests/mendex.test +++ b/Build/source/texk/mendexk/tests/mendex.test @@ -7,7 +7,7 @@ TEXMFCNF=$srcdir/../kpathsea export TEXMFCNF -rm -f foo.* uni.* pprec*.* +rm -f foo.* uni.* pprec*.* rangetwo.* ./mendex $srcdir/tests/foo.idx -o foo.ind1 -t foo.ilg1 \ && diff $srcdir/tests/foo.ind foo.ind1 || exit 1 @@ -24,6 +24,10 @@ cat $srcdir/tests/uni.idx | \ >uni.ind2 2>uni.ilg2 \ && diff $srcdir/tests/uni.ind uni.ind2 || exit 1 +./mendex -U -d $srcdir/tests/uni.dict -s $srcdir/tests/uni1.ist -s $srcdir/tests/uni2.ist \ + $srcdir/tests/uni.idx -o uni.ind3 -t uni.ilg3 \ + && diff $srcdir/tests/uni.ind uni.ind3 || exit 1 + # test for two-element range suffix_2p ./mendex -s $srcdir/tests/rangetwo.ist $srcdir/tests/rangetwo.idx \ -o rangetwo.ind1 -t rangetwo.ilg \ diff --git a/Build/source/texk/mendexk/tests/uni1.ist b/Build/source/texk/mendexk/tests/uni1.ist new file mode 100644 index 00000000000..8e733435cac --- /dev/null +++ b/Build/source/texk/mendexk/tests/uni1.ist @@ -0,0 +1,6 @@ +% -*- coding: utf-8 -*- + +delim_0 "\\leaders\\hbox{$\\cdot$}\\hfill " +delim_1 "\\leaders\\hbox{$\\cdot$}\\hfill " +delim_2 "\\leaders\\hbox{$\\cdot$}\\hfill " + diff --git a/Build/source/texk/mendexk/tests/uni2.ist b/Build/source/texk/mendexk/tests/uni2.ist new file mode 100644 index 00000000000..5e1492fde69 --- /dev/null +++ b/Build/source/texk/mendexk/tests/uni2.ist @@ -0,0 +1,6 @@ +% -*- coding: utf-8 -*- + +lethead_flag 1 +lethead_prefix "\n\\centerline{\\bfseries ◆◆◆ " +lethead_suffix " ◆◆◆}\\par\\nobreak" + diff --git a/Build/source/texk/mendexk/version.h b/Build/source/texk/mendexk/version.h index 1be36707286..f55a056b0c3 100644 --- a/Build/source/texk/mendexk/version.h +++ b/Build/source/texk/mendexk/version.h @@ -1,2 +1,2 @@ -#define VERSION "version " PACKAGE_VERSION " [19-May-2021]" +#define VERSION "version " PACKAGE_VERSION " [6-Jun-2021]" #define BUG_ADDRESS "issue@texjp.org" -- cgit v1.2.3