diff options
author | Norbert Preining <norbert@preining.info> | 2021-04-04 03:01:17 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-04-04 03:01:17 +0000 |
commit | 6c7f24a5336de85c7db50c5037772288964c607b (patch) | |
tree | 4196d85bcd0f8af6f97d8f1dc8cbd6f6f075fe58 /indexing | |
parent | 76cf94c130ce042b2d2f2fd67258ba5815976abe (diff) |
CTAN sync 202104040301
Diffstat (limited to 'indexing')
40 files changed, 2475 insertions, 1431 deletions
diff --git a/indexing/upmendex/README.md b/indexing/upmendex/README.md index f0f8df4ca5..a5b79c250a 100644 --- a/indexing/upmendex/README.md +++ b/indexing/upmendex/README.md @@ -1,7 +1,7 @@ upmendex --- Multilingual index processor ========================================== -2020.02.22 Ver0.54 +2020.03.21 Ver0.55 TANAKA, Takuji <ttk(at)t-lab.opal.ne.jp> @@ -31,10 +31,10 @@ upmendex is a multilingual index processor with following features: * man/ :: manuals ### Building upmendex -The source files are distributed at GitHub[2] and work with TeX Live svn r53427. +The source files are distributed at GitHub[2] and work with TeX Live svn r58576. Ref. [TeX Live and Subversion](http://www.tug.org/texlive/svn/) -Tested with ICU 65.1 . +Tested with ICU 68.2 . ### Status Beta version. diff --git a/indexing/upmendex/source/ChangeLog b/indexing/upmendex/source/ChangeLog index 6c0e2aaef7..4456e403ea 100644 --- a/indexing/upmendex/source/ChangeLog +++ b/indexing/upmendex/source/ChangeLog @@ -1,3 +1,28 @@ +2021-03-23 Karl Berry <karl@tug.org> + + * TL'21. + +2021-03-21 TANAKA Takuji <ttk@t-lab.opal.ne.jp> + + * version 0.55 Beta version. + * configure.ac: Bump version. + * fread.c: Fix a bug about page_precedence in style. + Thanks to Suzana Sagadin for the report. + * tests/pprec[012].ist, tests/pprecA.idx, tests/pprecA-[012].ind, + tests/upmendex.test, Makefile.am: + Add new tests. + +2021-02-17 Karl Berry <karl@freefriends.org> + + * COPYRIGHT, + * main.c: copyright 2021. + +2020-05-01 TANAKA Takuji <ttk@t-lab.opal.ne.jp> + + * main.c, version.h, Makefile.{am.in}: Add bug report addresses + on command line help. + * convert.c: Tune buffer sizes to avoid tool warnings. + 2020-02-22 TANAKA Takuji <ttk@t-lab.opal.ne.jp> * version 0.54 Beta version. diff --git a/indexing/upmendex/source/Makefile.am b/indexing/upmendex/source/Makefile.am index fc188887f4..94bea187b3 100644 --- a/indexing/upmendex/source/Makefile.am +++ b/indexing/upmendex/source/Makefile.am @@ -22,6 +22,7 @@ upmendex_SOURCES = \ ktable.h \ main.c \ mendex.h \ + version.h \ pageread.c \ qsort.c \ qsort.h \ @@ -57,5 +58,7 @@ EXTRA_DIST += $(TESTS) ## tests/upmendex.test EXTRA_DIST += tests/foo.idx tests/foo.ind \ - tests/uni.idx tests/uni.dict tests/uni.ist tests/uni.ind -DISTCLEANFILES = foo.* uni.* + tests/uni.idx tests/uni.dict tests/uni.ist tests/uni.ind \ + tests/pprec0.ist tests/pprec1.ist tests/pprec2.ist tests/pprecA.idx \ + tests/pprecA-0.ind tests/pprecA-1.ind tests/pprecA-2.ind +DISTCLEANFILES = foo.* uni.* pprec*.* diff --git a/indexing/upmendex/source/Makefile.in b/indexing/upmendex/source/Makefile.in index 08c9fae74a..1447494020 100644 --- a/indexing/upmendex/source/Makefile.in +++ b/indexing/upmendex/source/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -191,8 +191,8 @@ am__can_run_installinfo = \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)c-auto.in +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ + c-auto.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -395,6 +395,7 @@ am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test @@ -441,6 +442,8 @@ am__post_remove_distdir = $(am__remove_distdir) DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -593,6 +596,7 @@ upmendex_SOURCES = \ ktable.h \ main.c \ mendex.h \ + version.h \ pageread.c \ qsort.c \ qsort.h \ @@ -606,9 +610,11 @@ nodist_EXTRA_upmendex_SOURCES = dummy.cxx LDADD = $(KPATHSEA_LIBS) $(ICU_LIBS) $(PTHREAD_LIB) $(ICU_LIBS_EXTRA) EXTRA_DIST = COPYRIGHT indexsty upmendex.ja.txt $(TESTS) tests/foo.idx \ tests/foo.ind tests/uni.idx tests/uni.dict tests/uni.ist \ - tests/uni.ind + tests/uni.ind tests/pprec0.ist tests/pprec1.ist \ + tests/pprec2.ist tests/pprecA.idx tests/pprecA-0.ind \ + tests/pprecA-1.ind tests/pprecA-2.ind TESTS = tests/upmendex.test -DISTCLEANFILES = foo.* uni.* +DISTCLEANFILES = foo.* uni.* pprec*.* all: c-auto.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -962,7 +968,7 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -1069,6 +1075,10 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -1111,6 +1121,8 @@ distcheck: dist eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -1126,7 +1138,7 @@ distcheck: dist $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -1316,8 +1328,8 @@ uninstall-am: uninstall-binPROGRAMS check-TESTS check-am clean clean-binPROGRAMS clean-cscope \ clean-generic clean-libtool cscope cscopelist-am ctags \ ctags-am dist dist-all dist-bzip2 dist-gzip dist-lzip \ - dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-compile distclean-generic distclean-hdr \ + dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \ + distclean distclean-compile distclean-generic distclean-hdr \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-data \ diff --git a/indexing/upmendex/source/aclocal.m4 b/indexing/upmendex/source/aclocal.m4 index 5392efefa9..0f39289fa4 100644 --- a/indexing/upmendex/source/aclocal.m4 +++ b/indexing/upmendex/source/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.2 -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# Copyright (C) 2002-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], +m4_if([$1], [1.16.2], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl +[AM_AUTOMAKE_VERSION([1.16.2])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -371,7 +371,9 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -398,7 +400,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -595,7 +597,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -616,7 +618,7 @@ if test x"${install_sh+set}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# Copyright (C) 2003-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -638,7 +640,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -673,7 +675,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -716,7 +718,7 @@ AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -755,7 +757,7 @@ fi # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -784,7 +786,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -831,7 +833,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -850,7 +852,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -931,7 +933,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2018 Free Software Foundation, Inc. +# Copyright (C) 2009-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -991,7 +993,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1019,7 +1021,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1038,7 +1040,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2018 Free Software Foundation, Inc. +# Copyright (C) 2004-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff --git a/indexing/upmendex/source/configure b/indexing/upmendex/source/configure index 55a19d1649..5f95756168 100755 --- a/indexing/upmendex/source/configure +++ b/indexing/upmendex/source/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for upmendex (TeX Live) 0.54. +# Generated by GNU Autoconf 2.69 for upmendex (TeX Live) 0.55. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='upmendex (TeX Live)' PACKAGE_TARNAME='upmendex--tex-live-' -PACKAGE_VERSION='0.54' -PACKAGE_STRING='upmendex (TeX Live) 0.54' +PACKAGE_VERSION='0.55' +PACKAGE_STRING='upmendex (TeX Live) 0.55' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1345,7 +1345,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 upmendex (TeX Live) 0.54 to adapt to many kinds of systems. +\`configure' configures upmendex (TeX Live) 0.55 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1416,7 +1416,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of upmendex (TeX Live) 0.54:";; + short | recursive ) echo "Configuration of upmendex (TeX Live) 0.55:";; esac cat <<\_ACEOF @@ -1541,7 +1541,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -upmendex (TeX Live) configure 0.54 +upmendex (TeX Live) configure 0.55 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2474,7 +2474,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 upmendex (TeX Live) $as_me 0.54, which was +It was created by upmendex (TeX Live) $as_me 0.55, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -4113,12 +4113,7 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -8673,7 +8668,7 @@ fi # Define the identity of the package. PACKAGE='upmendex--tex-live-' - VERSION='0.54' + VERSION='0.55' # Some tools Automake needs. @@ -17750,7 +17745,7 @@ ac_config_headers="$ac_config_headers c-auto.h:c-auto.in" -$as_echo "#define TL_VERSION \"TeX Live 2020\"" >>confdefs.h +$as_echo "#define TL_VERSION \"TeX Live 2021\"" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking if C99 variadic macros are supported" >&5 @@ -18202,7 +18197,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -upmendex (TeX Live) config.lt 0.54 +upmendex (TeX Live) config.lt 0.55 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -20342,7 +20337,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 upmendex (TeX Live) $as_me 0.54, which was +This file was extended by upmendex (TeX Live) $as_me 0.55, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20408,7 +20403,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="\\ -upmendex (TeX Live) config.status 0.54 +upmendex (TeX Live) config.status 0.55 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -21605,7 +21600,9 @@ $as_echo X/"$am_mf" | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } diff --git a/indexing/upmendex/source/configure.ac b/indexing/upmendex/source/configure.ac index c95d31520b..b3043309fa 100644 --- a/indexing/upmendex/source/configure.ac +++ b/indexing/upmendex/source/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([upmendex (TeX Live)], [0.54]) +AC_INIT([upmendex (TeX Live)], [0.55]) AC_PREREQ([2.63]) AC_CONFIG_SRCDIR([main.c]) AC_CONFIG_AUX_DIR([../../build-aux]) diff --git a/indexing/upmendex/source/convert.c b/indexing/upmendex/source/convert.c index d02b05bf4d..4687fd4f25 100644 --- a/indexing/upmendex/source/convert.c +++ b/indexing/upmendex/source/convert.c @@ -12,6 +12,9 @@ #include "kp.h" #define BUFFERLEN 4096 +#define BUFFERLEN1 256 +#define BUFFERLEN2 (BUFFERLEN1*3) +#define BUFFERLEN3 (BUFFERLEN2+50) struct dictionary{ UChar* dic[2]; @@ -118,8 +121,8 @@ static int dcomp(const void *bf1, const void *bf2); static int dicvalread(const char *filename, struct dictionary *dicval, int line) { int i,j,k; - char buff[256],buff2[256]; - UChar ubuff[256],ubuff2[256]; + char buff[BUFFERLEN1],buff2[BUFFERLEN1]; + UChar ubuff[BUFFERLEN1],ubuff2[BUFFERLEN1]; FILE *fp; if(kpse_in_name_ok(filename)) @@ -143,7 +146,7 @@ static int dicvalread(const char *filename, struct dictionary *dicval, int line) i--; continue; } - multibyte_to_widechar(ubuff,256,buff2); + multibyte_to_widechar(ubuff,BUFFERLEN1,buff2); dicval[i].dic[0]=u_xstrdup(ubuff); for (;((buff[j]==' ')||(buff[j]=='\t'));j++); for (k=0;((buff[j]!='\r')&&(buff[j]!='\n')&&(buff[j]!=' ')&&(buff[j]!='\t'));j++,k++) { @@ -155,7 +158,7 @@ static int dicvalread(const char *filename, struct dictionary *dicval, int line) i--; continue; } - multibyte_to_widechar(ubuff,256,buff2); + multibyte_to_widechar(ubuff,BUFFERLEN1,buff2); convert(ubuff,ubuff2); dicval[i].dic[1]=u_xstrdup(ubuff2); } @@ -173,7 +176,7 @@ static int dcomp(const void *bf1, const void *bf2) const struct dictionary *buff2 = (const struct dictionary *) bf2; int i; - for (i=0;i<256;i++) { + for (i=0;i<BUFFERLEN1;i++) { if (((*buff1).dic[0][i]==L'\0')&&((*buff2).dic[0][i]==L'\0')) return 0; else if (((*buff1).dic[0][i]==L'\0')&&((*buff2).dic[0][i]!=L'\0')) return 1; else if (((*buff1).dic[0][i]!=L'\0')&&((*buff2).dic[0][i]==L'\0')) return -1; @@ -187,7 +190,7 @@ static int dcomp(const void *bf1, const void *bf2) int convert(UChar *buff1, UChar *buff2) { int i=0,j=0,k; - char errbuff[BUFFERLEN],errbuff2[BUFFERLEN]; + char errbuff[BUFFERLEN2],errbuff2[BUFFERLEN3]; int wclen; UChar buff3[3]; @@ -270,10 +273,10 @@ int convert(UChar *buff1, UChar *buff2) j+=wclen; } else { - widechar_to_multibyte(errbuff2,BUFFERLEN,&buff1[i]); - snprintf(errbuff,BUFFERLEN,"\nError: %s is no entry in dictionary file ",errbuff2); - fputs(errbuff,efp); - if (efp!=stderr) fputs(errbuff,stderr); + widechar_to_multibyte(errbuff,BUFFERLEN2,&buff1[i]); + snprintf(errbuff2,BUFFERLEN3,"\nError: %s is no entry in dictionary file ",errbuff); + fputs(errbuff2,efp); + if (efp!=stderr) fputs(errbuff2,stderr); return -1; } } diff --git a/indexing/upmendex/source/fread.c b/indexing/upmendex/source/fread.c index 358c21a498..a336022e11 100644 --- a/indexing/upmendex/source/fread.c +++ b/indexing/upmendex/source/fread.c @@ -511,35 +511,45 @@ ATTRLOOP: switch(page_precedence[pattr[cc]]) { case 'r': if (strchr("ivxlcdm",p->page[i])==NULL) { - pattr[cc]++; + if (pattr[cc]<strlen(page_precedence)-1) + pattr[cc]++; + else pattr[cc]=0; for (j=cc+1;j<3;j++) pattr[j]=0; goto ATTRLOOP; } break; case 'R': if (strchr("IVXLCDM",p->page[i])==NULL) { - pattr[cc]++; + if (pattr[cc]<strlen(page_precedence)-1) + pattr[cc]++; + else pattr[cc]=0; for (j=cc+1;j<3;j++) pattr[j]=0; goto ATTRLOOP; } break; case 'n': if (p->page[i]<'0' || p->page[i]>'9') { - pattr[cc]++; + if (pattr[cc]<strlen(page_precedence)-1) + pattr[cc]++; + else pattr[cc]=0; for (j=cc+1;j<3;j++) pattr[j]=0; goto ATTRLOOP; } break; case 'a': if (p->page[i]<'a' || p->page[i]>'z') { - pattr[cc]++; + if (pattr[cc]<strlen(page_precedence)-1) + pattr[cc]++; + else pattr[cc]=0; for (j=cc+1;j<3;j++) pattr[j]=0; goto ATTRLOOP; } break; case 'A': if (p->page[i]<'A' || p->page[i]>'Z') { - pattr[cc]++; + if (pattr[cc]<strlen(page_precedence)-1) + pattr[cc]++; + else pattr[cc]=0; for (j=cc+1;j<3;j++) pattr[j]=0; goto ATTRLOOP; } diff --git a/indexing/upmendex/source/main.c b/indexing/upmendex/source/main.c index c7d8106b53..884c64c15f 100644 --- a/indexing/upmendex/source/main.c +++ b/indexing/upmendex/source/main.c @@ -1,4 +1,5 @@ #include "mendex.h" +#include "version.h" #include <kpathsea/tex-file.h> #include <kpathsea/variable.h> @@ -19,8 +20,6 @@ char *styfile,*idxfile[256],*indfile,*dicfile,*logfile; #endif KpathseaSupportInfo kp_ist,kp_dict; -#define VERSION "version 0.54" - int main(int argc, char **argv) { int i,j,cc=0,startpagenum=-1,ecount=0,chkopt=1; @@ -156,7 +155,7 @@ int main(int argc, char **argv) u_getVersion(icuVersion); u_versionToString(icuVersion, icu_version); fprintf(stderr,"upmendex - index processor, %s (%s).\n",VERSION, TL_VERSION); - fprintf(stderr," Copyright 2009 ASCII MEDIA WORKS, 2015-2020 TANAKA Takuji\n"); + fprintf(stderr," Copyright 2009 ASCII MEDIA WORKS, 2015-2021 TANAKA Takuji\n"); fprintf(stderr," using ICU version %s\n",icu_version); fprintf(stderr,"usage:\n"); fprintf(stderr,"%% upmendex [-ilqrcgf] [-s sty] [-d dic] [-o ind] [-t log] [-p no] [--] [idx0 idx1 ...]\n"); @@ -174,6 +173,7 @@ int main(int argc, char **argv) fprintf(stderr,"-t log take log as the error log file.\n"); fprintf(stderr,"-p no set the starting page number of index.\n"); fprintf(stderr,"idx... input files.\n"); + fprintf(stderr,"\nEmail bug reports to %s.\n", BUG_ADDRESS); exit(0); break; } diff --git a/indexing/upmendex/source/tests/pprec0.ist b/indexing/upmendex/source/tests/pprec0.ist new file mode 100644 index 0000000000..ec1242bbba --- /dev/null +++ b/indexing/upmendex/source/tests/pprec0.ist @@ -0,0 +1,11 @@ +% -*- coding: utf-8 -*- + +%page_precedence "rnaRA" + +delim_0 "[[delim0]]" +delim_1 "[[delim1]]" +delim_2 "[[delim2]]" +delim_r "[[delimr]]" +suffix_2p "[[sfx 2p]]" +suffix_3p "[[sfx 3p]]" + diff --git a/indexing/upmendex/source/tests/pprec1.ist b/indexing/upmendex/source/tests/pprec1.ist new file mode 100644 index 0000000000..8f9221ebce --- /dev/null +++ b/indexing/upmendex/source/tests/pprec1.ist @@ -0,0 +1,11 @@ +% -*- coding: utf-8 -*- + +page_precedence "nrR" + +delim_0 "[[delim0]]" +delim_1 "[[delim1]]" +delim_2 "[[delim2]]" +delim_r "[[delimr]]" +suffix_2p "[[sfx 2p]]" +suffix_3p "[[sfx 3p]]" + diff --git a/indexing/upmendex/source/tests/pprec2.ist b/indexing/upmendex/source/tests/pprec2.ist new file mode 100644 index 0000000000..eeec1e95cf --- /dev/null +++ b/indexing/upmendex/source/tests/pprec2.ist @@ -0,0 +1,11 @@ +% -*- coding: utf-8 -*- + +page_precedence "Rnr" + +delim_0 "[[delim0]]" +delim_1 "[[delim1]]" +delim_2 "[[delim2]]" +delim_r "[[delimr]]" +suffix_2p "[[sfx 2p]]" +suffix_3p "[[sfx 3p]]" + diff --git a/indexing/upmendex/source/tests/pprecA-0.ind b/indexing/upmendex/source/tests/pprecA-0.ind new file mode 100644 index 0000000000..245eacacdd --- /dev/null +++ b/indexing/upmendex/source/tests/pprecA-0.ind @@ -0,0 +1,5 @@ +\begin{theindex} + + \item entryA[[delim0]]i[[sfx 3p]], 1[[sfx 3p]], I[[sfx 3p]] + +\end{theindex} diff --git a/indexing/upmendex/source/tests/pprecA-1.ind b/indexing/upmendex/source/tests/pprecA-1.ind new file mode 100644 index 0000000000..772e302d7c --- /dev/null +++ b/indexing/upmendex/source/tests/pprecA-1.ind @@ -0,0 +1,5 @@ +\begin{theindex} + + \item entryA[[delim0]]1[[sfx 3p]], i[[sfx 3p]], I[[sfx 3p]] + +\end{theindex} diff --git a/indexing/upmendex/source/tests/pprecA-2.ind b/indexing/upmendex/source/tests/pprecA-2.ind new file mode 100644 index 0000000000..52d35cb3d7 --- /dev/null +++ b/indexing/upmendex/source/tests/pprecA-2.ind @@ -0,0 +1,5 @@ +\begin{theindex} + + \item entryA[[delim0]]I[[sfx 3p]], 1[[sfx 3p]], i[[sfx 3p]] + +\end{theindex} diff --git a/indexing/upmendex/source/tests/pprecA.idx b/indexing/upmendex/source/tests/pprecA.idx new file mode 100644 index 0000000000..8e770b9d0d --- /dev/null +++ b/indexing/upmendex/source/tests/pprecA.idx @@ -0,0 +1,9 @@ +\indexentry{entryA}{i} +\indexentry{entryA}{ii} +\indexentry{entryA}{iii} +\indexentry{entryA}{1} +\indexentry{entryA}{2} +\indexentry{entryA}{3} +\indexentry{entryA}{I} +\indexentry{entryA}{II} +\indexentry{entryA}{III} diff --git a/indexing/upmendex/source/tests/upmendex.test b/indexing/upmendex/source/tests/upmendex.test index da75821d10..70ff2fac21 100755 --- a/indexing/upmendex/source/tests/upmendex.test +++ b/indexing/upmendex/source/tests/upmendex.test @@ -7,7 +7,7 @@ TEXMFCNF=$srcdir/../kpathsea export TEXMFCNF -rm -f foo.* +rm -f foo.* uni.* pprec*.* ./upmendex $srcdir/tests/foo.idx -o foo.ind1 -t foo.ilg1 \ && diff $srcdir/tests/foo.ind foo.ind1 || exit 1 @@ -24,3 +24,13 @@ cat $srcdir/tests/uni.idx | \ >uni.ind2 2>uni.ilg2 \ && diff $srcdir/tests/uni.ind uni.ind2 || exit 1 +# test for page_precedence +./upmendex -s $srcdir/tests/pprec0.ist $srcdir/tests/pprecA.idx -o pprecA-0.ind1 -t pprecA-0.ilg \ + && diff $srcdir/tests/pprecA-0.ind pprecA-0.ind1 || exit 1 + +./upmendex -s $srcdir/tests/pprec1.ist $srcdir/tests/pprecA.idx -o pprecA-1.ind1 -t pprecA-1.ilg \ + && diff $srcdir/tests/pprecA-1.ind pprecA-1.ind1 || exit 1 + +./upmendex -s $srcdir/tests/pprec2.ist $srcdir/tests/pprecA.idx -o pprecA-2.ind1 -t pprecA-2.ilg \ + && diff $srcdir/tests/pprecA-2.ind pprecA-2.ind1 || exit 1 + diff --git a/indexing/upmendex/source/version.h b/indexing/upmendex/source/version.h new file mode 100644 index 0000000000..8cd1c6cd86 --- /dev/null +++ b/indexing/upmendex/source/version.h @@ -0,0 +1,2 @@ +#define VERSION "version " PACKAGE_VERSION +#define BUG_ADDRESS "issue@texjp.org, tex-k@tug.org" diff --git a/indexing/xindy/contrib/xindy-persian/README b/indexing/xindy/contrib/xindy-persian/README index a22b487133..17f043afb1 100644 --- a/indexing/xindy/contrib/xindy-persian/README +++ b/indexing/xindy/contrib/xindy-persian/README @@ -1,6 +1,6 @@ ________________________ The “xindy-persian” package -v0.7b +v0.8 The “xindy-persian” package is the Persian language support for xindy program. @@ -15,17 +15,16 @@ If you want to report any bugs or typos and corrections in the documentation, or ask for any new features, or suggest any improvements, or ask any questions about the package, then please do not send any direct emails to us; we will not answer any direct emails. Instead please use the issue tracker: - <https://github.com/persian-tex/xindy-persian> + <https://github.com/persiantex/xindy-persian> In doing so, please always explain your issue well enough, always include a minimal working examples showing the issue, and always choose the appropriate label for your query (i.e. if you are reporting any bugs, choose `bug' label). -Current version release date: 2015/12/20 +Current version release date: 2021/04/03 _________________ Vafa Khalighi -persian-tex@tug.org -Copyright © 2011–2015 Vafa Khalighi +Copyright © 2011–2021 Vafa Khalighi Distributed under the LaTeX Project Public License It may be distributed and/or modified under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of diff --git a/indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex b/indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex new file mode 100644 index 0000000000..a7daafc79d --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/doc/variant1-utf8-doc.tex @@ -0,0 +1,88 @@ +\subsection{Persian (One)} + +\subsubsection{Alphabet} +\icod\fcod +\begin{alphabet} +آ\\ +أ\\ +ا\\ +ب\\ +پ\\ +ت\\ +ث\\ +ج\\ +چ\\ +ح\\ +خ\\ +د\\ +ذ\\ +ر\\ +ز\\ +ژ\\ +س\\ +ش\\ +ص\\ +ض\\ +ط\\ +ظ\\ +ع\\ +غ\\ +ف\\ +ق\\ +ک\\ +گ\\ +ل\\ +م\\ +ن\\ +ؤ\,و\\ +ه\\ +ئ\,ی\\ +a\,A & à\,À\\ +b\,B\\ +c\,C & ç\,Ç\\ +d\,D & ð\,Ð\\ +e\,E & é\,É & è\,È & ë\,Ë & ê\,Ê\\ +f\,F\\ +g\,G\\ +h\,H\\ +i\,I & ï\,Ï\\ +j\,J\\ +k\,K\\ +l\,L\\ +m\,M\\ +n\,N & ñ\,Ñ\\ +o\,O & ö\,Ö & ô\,Ô\\ +p\,P\\ +q\,Q\\ +r\,R\\ +s\,S\\ +t\,T\\ +u\,U\\ +v\,V\\ +w\,W\\ +x\,X\\ +y\,Y\\ +\\ +z\,Z\\ +þ\,Þ\\ + +\end{alphabet} +\idef\fdef + +\subsubsection{Ligatures} +\begin{flushleft} +`æ' is sorted like `a\,e', but \emph{after} it in otherwise equal words.\\ +`Æ' is sorted like `A\,e', but \emph{after} it in otherwise equal words.\\ +`œ' is sorted like `o\,e', but \emph{after} it in otherwise equal words.\\ +`Œ' is sorted like `O\,e', but \emph{after} it in otherwise equal words. +\end{flushleft} + +\subsubsection{Upper-/lowercase words} +Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words. + +\subsubsection{Special characters} +The order of special characters and letters is: +\begin{flushleft} +?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'\hspace{4mm}{\hspace{4mm}}\hspace{4mm}ّ\hspace{4mm}َ\hspace{4mm}ِ\hspace{4mm}ُ\hspace{4mm}ً\hspace{4mm}ٍ\hspace{4mm}ٌ\hspace{4mm}ْ\hspace{4mm}ٔ\hspace{4mm}ء\hspace{4mm}\hspace{4mm}«\hspace{4mm}»\hspace{4mm}ـ\hspace{4mm}،\hspace{4mm}؛ +\end{flushleft} +\newpage diff --git a/indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex b/indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex new file mode 100644 index 0000000000..9960147875 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/doc/variant2-utf8-doc.tex @@ -0,0 +1,88 @@ +\subsection{Persian (Two)} + +\subsubsection{Alphabet} +\icod\fcod +\begin{alphabet} +آ\\ +أ\\ +ا\\ +ب\\ +پ\\ +ت\\ +ث\\ +ج\\ +چ\\ +ح\\ +خ\\ +د\\ +ذ\\ +ر\\ +ز\\ +ژ\\ +س\\ +ش\\ +ص\\ +ض\\ +ط\\ +ظ\\ +ع\\ +غ\\ +ف\\ +ق\\ +ک\\ +گ\\ +ل\\ +م\\ +ن\\ +ؤ\,و\\ +ه\\ +ئ\,ی\\ +a\,A & à\,À\\ +b\,B\\ +c\,C & ç\,Ç\\ +d\,D & ð\,Ð\\ +e\,E & é\,É & è\,È & ë\,Ë & ê\,Ê\\ +f\,F\\ +g\,G\\ +h\,H\\ +i\,I & ï\,Ï\\ +j\,J\\ +k\,K\\ +l\,L\\ +m\,M\\ +n\,N & ñ\,Ñ\\ +o\,O & ö\,Ö & ô\,Ô\\ +p\,P\\ +q\,Q\\ +r\,R\\ +s\,S\\ +t\,T\\ +u\,U\\ +v\,V\\ +w\,W\\ +x\,X\\ +y\,Y\\ +\\ +z\,Z\\ +þ\,Þ\\ + +\end{alphabet} +\idef\fdef + +\subsubsection{Ligatures} +\begin{flushleft} +`æ' is sorted like `a\,e', but \emph{after} it in otherwise equal words.\\ +`Æ' is sorted like `A\,e', but \emph{after} it in otherwise equal words.\\ +`œ' is sorted like `o\,e', but \emph{after} it in otherwise equal words.\\ +`Œ' is sorted like `O\,e', but \emph{after} it in otherwise equal words. +\end{flushleft} + +\subsubsection{Upper-/lowercase words} +Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words. + +\subsubsection{Special characters} +The order of special characters and letters is: +\begin{flushleft} +?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'\hspace{4mm}{\hspace{4mm}}\hspace{4mm}ّ\hspace{4mm}َ\hspace{4mm}ِ\hspace{4mm}ُ\hspace{4mm}ً\hspace{4mm}ٍ\hspace{4mm}ٌ\hspace{4mm}ْ\hspace{4mm}ٔ\hspace{4mm}ء\hspace{4mm}\hspace{4mm}«\hspace{4mm}»\hspace{4mm}ـ\hspace{4mm}،\hspace{4mm}؛ +\end{flushleft} +\newpage diff --git a/indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex b/indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex new file mode 100644 index 0000000000..5c7b1fd518 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/doc/variant3-utf8-doc.tex @@ -0,0 +1,88 @@ +\subsection{Persian (Three)} + +\subsubsection{Alphabet} +\icod\fcod +\begin{alphabet} +آ\\ +أ\\ +ا\\ +ب\\ +پ\\ +ت\\ +ث\\ +ج\\ +چ\\ +ح\\ +خ\\ +د\\ +ذ\\ +ر\\ +ز\\ +ژ\\ +س\\ +ش\\ +ص\\ +ض\\ +ط\\ +ظ\\ +ع\\ +غ\\ +ف\\ +ق\\ +ک\\ +گ\\ +ل\\ +م\\ +ن\\ +ؤ\,و\\ +ه\\ +ئ\,ی\\ +a\,A & à\,À\\ +b\,B\\ +c\,C & ç\,Ç\\ +d\,D & ð\,Ð\\ +e\,E & é\,É & è\,È & ë\,Ë & ê\,Ê\\ +f\,F\\ +g\,G\\ +h\,H\\ +i\,I & ï\,Ï\\ +j\,J\\ +k\,K\\ +l\,L\\ +m\,M\\ +n\,N & ñ\,Ñ\\ +o\,O & ö\,Ö & ô\,Ô\\ +p\,P\\ +q\,Q\\ +r\,R\\ +s\,S\\ +t\,T\\ +u\,U\\ +v\,V\\ +w\,W\\ +x\,X\\ +y\,Y\\ +\\ +z\,Z\\ +þ\,Þ\\ + +\end{alphabet} +\idef\fdef + +\subsubsection{Ligatures} +\begin{flushleft} +`æ' is sorted like `a\,e', but \emph{after} it in otherwise equal words.\\ +`Æ' is sorted like `A\,e', but \emph{after} it in otherwise equal words.\\ +`œ' is sorted like `o\,e', but \emph{after} it in otherwise equal words.\\ +`Œ' is sorted like `O\,e', but \emph{after} it in otherwise equal words. +\end{flushleft} + +\subsubsection{Upper-/lowercase words} +Capitalized or uppercase words are sorted \emph{before} otherwise equal lowercase words. + +\subsubsection{Special characters} +The order of special characters and letters is: +\begin{flushleft} +?\hspace{4mm}!\hspace{4mm}.\hspace{4mm}letters\hspace{4mm}-\hspace{4mm}'\hspace{4mm}{\hspace{4mm}}\hspace{4mm}ّ\hspace{4mm}َ\hspace{4mm}ِ\hspace{4mm}ُ\hspace{4mm}ً\hspace{4mm}ٍ\hspace{4mm}ٌ\hspace{4mm}ْ\hspace{4mm}ٔ\hspace{4mm}ء\hspace{4mm}\hspace{4mm}«\hspace{4mm}»\hspace{4mm}ـ\hspace{4mm}،\hspace{4mm}؛ +\end{flushleft} +\newpage diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy index 94e9bed54a..94e9bed54a 100644 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8-lang.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-lang.xdy diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy index 19c4790669..19c4790669 100644 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8-test.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8-test.xdy diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy index 8654e2b473..bfb5dcc058 100644 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant1-utf8.xdy @@ -34,32 +34,32 @@ (define-letter-group "ه" :after "و" :prefixes ("")) (define-letter-group "ی" :after "ه" :prefixes ("")) (define-letter-group "A" :after "ی" :prefixes ("")) -(define-letter-group "B" :after "A" :prefixes ("")) -(define-letter-group "C" :after "B" :prefixes ("")) -(define-letter-group "D" :after "C" :prefixes ("")) -(define-letter-group "E" :after "D" :prefixes ("")) -(define-letter-group "F" :after "E" :prefixes ("")) -(define-letter-group "G" :after "F" :prefixes ("")) -(define-letter-group "H" :after "G" :prefixes ("")) -(define-letter-group "I" :after "H" :prefixes ("")) -(define-letter-group "J" :after "I" :prefixes ("")) -(define-letter-group "K" :after "J" :prefixes ("")) -(define-letter-group "L" :after "K" :prefixes ("")) -(define-letter-group "M" :after "L" :prefixes ("")) -(define-letter-group "N" :after "M" :prefixes ("")) -(define-letter-group "O" :after "N" :prefixes ("")) -(define-letter-group "P" :after "O" :prefixes ("")) -(define-letter-group "Q" :after "P" :prefixes ("")) -(define-letter-group "R" :after "Q" :prefixes ("")) -(define-letter-group "S" :after "R" :prefixes ("")) -(define-letter-group "T" :after "S" :prefixes ("")) -(define-letter-group "U" :after "T" :prefixes ("")) -(define-letter-group "V" :after "U" :prefixes ("")) -(define-letter-group "W" :after "V" :prefixes ("")) -(define-letter-group "X" :after "W" :prefixes ("")) -(define-letter-group "Y" :after "X" :prefixes ("")) -(define-letter-group "Z" :after "Y" :prefixes ("")) -(define-letter-group "Þ" :after "Z" :prefixes ("")) +(define-letter-group "B" :after "A" :prefixes ("")) +(define-letter-group "C" :after "B" :prefixes ("")) +(define-letter-group "D" :after "C" :prefixes ("")) +(define-letter-group "E" :after "D" :prefixes ("")) +(define-letter-group "F" :after "E" :prefixes ("")) +(define-letter-group "G" :after "F" :prefixes ("")) +(define-letter-group "H" :after "G" :prefixes ("")) +(define-letter-group "I" :after "H" :prefixes ("")) +(define-letter-group "J" :after "I" :prefixes ("")) +(define-letter-group "K" :after "J" :prefixes ("")) +(define-letter-group "L" :after "K" :prefixes ("")) +(define-letter-group "M" :after "L" :prefixes ("")) +(define-letter-group "N" :after "M" :prefixes ("")) +(define-letter-group "O" :after "N" :prefixes ("")) +(define-letter-group "P" :after "O" :prefixes ("")) +(define-letter-group "Q" :after "P" :prefixes ("")) +(define-letter-group "R" :after "Q" :prefixes ("")) +(define-letter-group "S" :after "R" :prefixes ("")) +(define-letter-group "T" :after "S" :prefixes ("")) +(define-letter-group "U" :after "T" :prefixes ("Ă")) +(define-letter-group "V" :after "U" :prefixes ("ć")) +(define-letter-group "W" :after "V" :prefixes ("Ĉ")) +(define-letter-group "X" :after "W" :prefixes ("č")) +(define-letter-group "Y" :after "X" :prefixes ("ď")) +(define-letter-group "Z" :after "Y" :prefixes ("Ē")) +(define-letter-group "Þ" :after "Z" :prefixes ("Ę")) (define-rule-set "pe-alphabetize" @@ -99,419 +99,421 @@ ("ه" "" :string) ("ی" "" :string) ("ئ" "" :string) - ("à" "" :string) ("À" "" :string) - ("Æ" "" :string) - ("æ" "" :string) - ("ç" "" :string) - ("Ç" "" :string) - ("Ð" "" :string) - ("ð" "" :string) - ("È" "" :string) - ("ë" "" :string) - ("ê" "" :string) - ("é" "" :string) - ("É" "" :string) - ("è" "" :string) - ("Ê" "" :string) - ("Ë" "" :string) - ("Ï" "" :string) - ("ï" "" :string) - ("ñ" "" :string) - ("Ñ" "" :string) - ("Ô" "" :string) - ("Ö" "" :string) - ("ö" "" :string) - ("ô" "" :string) - ("Œ" "" :string) - ("œ" "" :string) - ("þ" "" :string) - ("Þ" "" :string) + ("à" "" :string) + ("æ" "" :string) + ("Æ" "" :string) + ("Ç" "" :string) + ("ç" "" :string) + ("ð" "" :string) + ("Ð" "" :string) + ("Ë" "" :string) + ("È" "" :string) + ("ê" "" :string) + ("é" "" :string) + ("è" "" :string) + ("É" "" :string) + ("Ê" "" :string) + ("ë" "" :string) + ("Ï" "" :string) + ("ï" "" :string) + ("Ñ" "" :string) + ("ñ" "" :string) + ("Ö" "" :string) + ("ö" "" :string) + ("ô" "" :string) + ("Ô" "" :string) + ("œ" "" :string) + ("Œ" "" :string) + ("þ" "Ę" :string) + ("Ã" "Ę" :string) ("A" "" :string) ("a" "" :string) - ("B" "" :string) - ("b" "" :string) - ("c" "" :string) - ("C" "" :string) - ("D" "" :string) - ("d" "" :string) - ("E" "" :string) - ("e" "" :string) - ("F" "" :string) - ("f" "" :string) - ("G" "" :string) - ("g" "" :string) - ("H" "" :string) - ("h" "" :string) - ("I" "" :string) - ("i" "" :string) - ("J" "" :string) - ("j" "" :string) - ("K" "" :string) - ("k" "" :string) - ("L" "" :string) - ("l" "" :string) - ("M" "" :string) - ("m" "" :string) - ("n" "" :string) - ("N" "" :string) - ("O" "" :string) - ("o" "" :string) - ("P" "" :string) - ("p" "" :string) - ("Q" "" :string) - ("q" "" :string) - ("R" "" :string) - ("r" "" :string) - ("S" "" :string) - ("s" "" :string) - ("T" "" :string) - ("t" "" :string) - ("U" "" :string) - ("u" "" :string) - ("v" "" :string) - ("V" "" :string) - ("w" "" :string) - ("W" "" :string) - ("x" "" :string) - ("X" "" :string) - ("Y" "" :string) - ("y" "" :string) - ("Z" "" :string) - ("z" "" :string) + ("b" "" :string) + ("B" "" :string) + ("C" "" :string) + ("c" "" :string) + ("d" "" :string) + ("D" "" :string) + ("E" "" :string) + ("e" "" :string) + ("F" "" :string) + ("f" "" :string) + ("G" "" :string) + ("g" "" :string) + ("h" "" :string) + ("H" "" :string) + ("I" "" :string) + ("i" "" :string) + ("j" "" :string) + ("J" "" :string) + ("k" "" :string) + ("K" "" :string) + ("l" "" :string) + ("L" "" :string) + ("M" "" :string) + ("m" "" :string) + ("N" "" :string) + ("n" "" :string) + ("O" "" :string) + ("o" "" :string) + ("P" "" :string) + ("p" "" :string) + ("Q" "" :string) + ("q" "" :string) + ("R" "" :string) + ("r" "" :string) + ("s" "" :string) + ("S" "" :string) + ("t" "" :string) + ("T" "" :string) + ("u" "Ă" :string) + ("U" "Ă" :string) + ("v" "ć" :string) + ("V" "ć" :string) + ("W" "Ĉ" :string) + ("w" "Ĉ" :string) + ("X" "č" :string) + ("x" "č" :string) + ("Y" "ď" :string) + ("y" "ď" :string) + ("Z" "Ē" :string) + ("z" "Ē" :string) )) (define-rule-set "pe-resolve-diacritics" - :rules (("پ" "" :string) - ("س" "" :string) - ("ه" "" :string) - ("ذ" "" :string) - ("ظ" "" :string) - ("غ" "" :string) - ("ف" "" :string) - ("خ" "" :string) + :rules (("ئ" "" :string) + ("ژ" "" :string) + ("ج" "" :string) + ("و" "" :string) + ("ت" "" :string) + ("ؤ" "" :string) + ("د" "" :string) ("ع" "" :string) - ("ب" "" :string) - ("ز" "" :string) + ("ذ" "" :string) ("ث" "" :string) - ("چ" "" :string) ("ص" "" :string) - ("ر" "" :string) - ("أ" "" :string) - ("ش" "" :string) - ("ؤ" "" :string) - ("ق" "" :string) - ("ئ" "" :string) - ("ت" "" :string) - ("ژ" "" :string) - ("و" "" :string) ("گ" "" :string) ("ل" "" :string) - ("ج" "" :string) + ("ط" "" :string) + ("ف" "" :string) ("ا" "" :string) + ("ه" "" :string) + ("چ" "" :string) + ("پ" "" :string) + ("س" "" :string) + ("ش" "" :string) ("þ" "" :string) ("ن" "" :string) - ("د" "" :string) - ("ط" "" :string) - ("م" "" :string) + ("ظ" "" :string) ("ح" "" :string) - ("ک" "" :string) + ("ز" "" :string) ("ض" "" :string) - ("آ" "" :string) - ("ی" "" :string) + ("أ" "" :string) + ("غ" "" :string) ("Þ" "" :string) - ("ï" "" :string) - ("À" "" :string) - ("ð" "" :string) - ("Ð" "" :string) - ("Ñ" "" :string) + ("ب" "" :string) + ("ی" "" :string) + ("آ" "" :string) + ("ر" "" :string) + ("خ" "" :string) + ("م" "" :string) + ("ق" "" :string) + ("ک" "" :string) ("É" "" :string) - ("à" "" :string) + ("ï" "" :string) ("ñ" "" :string) - ("Ï" "" :string) + ("à" "" :string) ("é" "" :string) - ("Ç" "" :string) - ("Ö" "" :string) + ("Ñ" "" :string) ("ç" "" :string) + ("Ð" "" :string) + ("À" "" :string) + ("Ï" "" :string) ("ö" "" :string) + ("Ç" "" :string) + ("ð" "" :string) + ("Ö" "" :string) + ("Ô" "" :string) ("è" "" :string) ("ô" "" :string) - ("Ô" "" :string) ("È" "" :string) - ("Ë" "" :string) ("ë" "" :string) + ("Ë" "" :string) ("Ê" "" :string) ("ê" "" :string) - ("æ" "" :string) - ("Æ" "" :string) ("Œ" "" :string) ("œ" "" :string) - ("z" "" :string) - ("C" "" :string) - ("r" "" :string) - ("R" "" :string) - ("Z" "" :string) + ("Æ" "" :string) + ("æ" "" :string) ("p" "" :string) - ("X" "" :string) - ("b" "" :string) - ("s" "" :string) - ("e" "" :string) - ("j" "" :string) - ("a" "" :string) - ("P" "" :string) - ("T" "" :string) - ("i" "" :string) - ("d" "" :string) ("x" "" :string) - ("h" "" :string) - ("J" "" :string) - ("V" "" :string) - ("m" "" :string) - ("q" "" :string) ("Q" "" :string) - ("y" "" :string) - ("u" "" :string) - ("g" "" :string) - ("t" "" :string) + ("C" "" :string) + ("X" "" :string) ("o" "" :string) - ("N" "" :string) - ("M" "" :string) - ("l" "" :string) - ("D" "" :string) + ("K" "" :string) + ("g" "" :string) + ("V" "" :string) + ("z" "" :string) + ("J" "" :string) ("c" "" :string) - ("A" "" :string) - ("H" "" :string) + ("v" "" :string) + ("q" "" :string) + ("G" "" :string) + ("m" "" :string) ("U" "" :string) + ("E" "" :string) + ("R" "" :string) + ("y" "" :string) + ("d" "" :string) + ("O" "" :string) + ("a" "" :string) ("S" "" :string) - ("v" "" :string) + ("i" "" :string) ("f" "" :string) + ("j" "" :string) + ("e" "" :string) + ("L" "" :string) + ("r" "" :string) + ("D" "" :string) + ("H" "" :string) + ("k" "" :string) + ("b" "" :string) + ("n" "" :string) + ("M" "" :string) + ("P" "" :string) + ("u" "" :string) + ("s" "" :string) ("B" "" :string) + ("w" "" :string) + ("N" "" :string) ("W" "" :string) - ("n" "" :string) - ("L" "" :string) + ("h" "" :string) + ("T" "" :string) + ("Y" "" :string) + ("t" "" :string) ("I" "" :string) ("F" "" :string) - ("E" "" :string) - ("K" "" :string) - ("O" "" :string) - ("G" "" :string) - ("w" "" :string) - ("Y" "" :string) - ("k" "" :string) + ("A" "" :string) + ("Z" "" :string) + ("l" "" :string) )) (define-rule-set "pe-resolve-case" - :rules (("Þ" "8" :string) - ("ی" "8" :string) - ("È" "8" :string) + :rules (("Ñ" "8" :string) + ("Ð" "8" :string) + ("É" "8" :string) ("Ô" "8" :string) - ("Ö" "8" :string) - ("Ï" "8" :string) - ("Ç" "8" :string) ("و" "8" :string) - ("Ñ" "8" :string) - ("É" "8" :string) - ("Ð" "8" :string) ("Ê" "8" :string) + ("ی" "8" :string) + ("Ö" "8" :string) + ("È" "8" :string) ("Ë" "8" :string) + ("Ï" "8" :string) ("À" "8" :string) + ("Ç" "8" :string) + ("Þ" "8" :string) ("Œ" "89" :string) ("Æ" "89" :string) - ("ö" "9" :string) - ("م" "9" :string) - ("آ" "9" :string) - ("ض" "9" :string) - ("ک" "9" :string) - ("ح" "9" :string) - ("ç" "9" :string) + ("ع" "9" :string) + ("é" "9" :string) ("د" "9" :string) - ("ط" "9" :string) - ("ا" "9" :string) - ("ن" "9" :string) - ("þ" "9" :string) + ("ê" "9" :string) + ("ث" "9" :string) + ("ô" "9" :string) + ("ç" "9" :string) + ("ذ" "9" :string) ("ل" "9" :string) ("گ" "9" :string) - ("ج" "9" :string) - ("ô" "9" :string) - ("é" "9" :string) - ("ئ" "9" :string) + ("ص" "9" :string) + ("ف" "9" :string) + ("ط" "9" :string) ("ژ" "9" :string) - ("ê" "9" :string) - ("ت" "9" :string) - ("à" "9" :string) + ("ئ" "9" :string) ("ñ" "9" :string) - ("ش" "9" :string) + ("ج" "9" :string) + ("ï" "9" :string) + ("è" "9" :string) ("ë" "9" :string) - ("ق" "9" :string) + ("ت" "9" :string) + ("à" "9" :string) ("ؤ" "9" :string) - ("ر" "9" :string) - ("أ" "9" :string) - ("ص" "9" :string) - ("چ" "9" :string) - ("ث" "9" :string) - ("ð" "9" :string) - ("ع" "9" :string) - ("ز" "9" :string) ("ب" "9" :string) - ("ف" "9" :string) ("خ" "9" :string) - ("ï" "9" :string) - ("ذ" "9" :string) - ("غ" "9" :string) - ("ظ" "9" :string) - ("س" "9" :string) - ("è" "9" :string) + ("ر" "9" :string) + ("آ" "9" :string) + ("ق" "9" :string) + ("م" "9" :string) + ("ک" "9" :string) + ("þ" "9" :string) + ("ش" "9" :string) ("پ" "9" :string) + ("س" "9" :string) + ("چ" "9" :string) ("ه" "9" :string) - ("œ" "99" :string) + ("ا" "9" :string) + ("ö" "9" :string) + ("ظ" "9" :string) + ("ن" "9" :string) + ("ز" "9" :string) + ("ح" "9" :string) + ("ð" "9" :string) + ("غ" "9" :string) + ("أ" "9" :string) + ("ض" "9" :string) ("æ" "99" :string) - ("Y" "8" :string) - ("G" "8" :string) - ("O" "8" :string) - ("F" "8" :string) - ("K" "8" :string) + ("œ" "99" :string) + ("R" "8" :string) ("E" "8" :string) - ("L" "8" :string) - ("I" "8" :string) - ("W" "8" :string) - ("B" "8" :string) - ("H" "8" :string) - ("A" "8" :string) - ("S" "8" :string) ("U" "8" :string) - ("M" "8" :string) + ("O" "8" :string) + ("S" "8" :string) + ("H" "8" :string) ("D" "8" :string) - ("N" "8" :string) + ("L" "8" :string) + ("Q" "8" :string) + ("X" "8" :string) + ("C" "8" :string) ("J" "8" :string) ("V" "8" :string) - ("Q" "8" :string) + ("K" "8" :string) + ("G" "8" :string) + ("Y" "8" :string) ("T" "8" :string) - ("P" "8" :string) - ("X" "8" :string) - ("R" "8" :string) + ("W" "8" :string) + ("N" "8" :string) + ("F" "8" :string) + ("I" "8" :string) ("Z" "8" :string) - ("C" "8" :string) - ("k" "9" :string) - ("w" "9" :string) - ("n" "9" :string) - ("f" "9" :string) - ("v" "9" :string) - ("l" "9" :string) - ("c" "9" :string) - ("y" "9" :string) - ("o" "9" :string) - ("t" "9" :string) - ("u" "9" :string) - ("g" "9" :string) - ("h" "9" :string) - ("m" "9" :string) - ("q" "9" :string) + ("A" "8" :string) + ("M" "8" :string) + ("P" "8" :string) + ("B" "8" :string) ("d" "9" :string) - ("x" "9" :string) - ("a" "9" :string) + ("y" "9" :string) ("i" "9" :string) + ("f" "9" :string) + ("a" "9" :string) + ("r" "9" :string) ("e" "9" :string) ("j" "9" :string) - ("s" "9" :string) - ("b" "9" :string) + ("x" "9" :string) ("p" "9" :string) + ("o" "9" :string) + ("c" "9" :string) ("z" "9" :string) - ("r" "9" :string) + ("g" "9" :string) + ("m" "9" :string) + ("q" "9" :string) + ("v" "9" :string) + ("h" "9" :string) + ("t" "9" :string) + ("l" "9" :string) + ("n" "9" :string) + ("b" "9" :string) + ("k" "9" :string) + ("s" "9" :string) + ("u" "9" :string) + ("w" "9" :string) )) (define-rule-set "pe-ignore-special" :rules (("" "" :string) - ("ُ" "" :string) - ("َ" "" :string) - ("ً" "" :string) - ("ٌ" "" :string) - ("ٍ" "" :string) - ("ـ" "" :string) ("ء" "" :string) - ("»" "" :string) ("ْ" "" :string) - ("ٔ" "" :string) ("«" "" :string) - ("ِ" "" :string) + ("ٍ" "" :string) + ("َ" "" :string) + ("ُ" "" :string) + ("ـ" "" :string) + ("ٔ" "" :string) + ("؛" "" :string) + ("ً" "" :string) ("ّ" "" :string) + ("ٌ" "" :string) + ("ِ" "" :string) + ("،" "" :string) + ("»" "" :string) + ("}" "" :string) ("-" "" :string) - ("!" "" :string) ("." "" :string) ("'" "" :string) - ("{" "" :string) ("?" "" :string) - ("}" "" :string) + ("{" "" :string) + ("!" "" :string) )) (define-rule-set "pe-resolve-special" :rules (("" "" :string) - ("ش" "" :string) - ("ë" "" :string) - ("à" "" :string) - ("ؤ" "" :string) - ("ر" "" :string) - ("ô" "" :string) - ("ئ" "" :string) - ("ژ" "" :string) - ("Ç" "" :string) - ("د" "" :string) - ("ط" "" :string) - ("Ô" "" :string) + ("س" "" :string) ("ا" "" :string) - ("Ö" "" :string) - ("þ" "" :string) - ("ی" "" :string) - ("Þ" "" :string) - ("ö" "" :string) - ("آ" "" :string) - ("ک" "" :string) - ("ï" "" :string) - ("ذ" "" :string) - ("ظ" "" :string) - ("è" "" :string) ("ه" "" :string) - ("ð" "" :string) - ("ع" "" :string) + ("أ" "" :string) + ("غ" "" :string) ("ز" "" :string) - ("ب" "" :string) - ("Ë" "" :string) ("خ" "" :string) - ("ص" "" :string) - ("چ" "" :string) - ("ñ" "" :string) + ("ی" "" :string) + ("ک" "" :string) ("ق" "" :string) - ("أ" "" :string) - ("ل" "" :string) - ("گ" "" :string) + ("م" "" :string) ("ج" "" :string) - ("é" "" :string) - ("Ï" "" :string) - ("و" "" :string) + ("ñ" "" :string) + ("è" "" :string) + ("ï" "" :string) + ("ئ" "" :string) + ("Ê" "" :string) + ("ؤ" "" :string) ("ت" "" :string) - ("ê" "" :string) + ("ë" "" :string) + ("à" "" :string) + ("و" "" :string) + ("ث" "" :string) ("ç" "" :string) + ("ذ" "" :string) + ("Ñ" "" :string) + ("é" "" :string) + ("ع" "" :string) + ("ف" "" :string) + ("ط" "" :string) + ("گ" "" :string) + ("Ð" "" :string) + ("Ç" "" :string) + ("ö" "" :string) + ("ظ" "" :string) ("ن" "" :string) - ("È" "" :string) - ("م" "" :string) - ("ض" "" :string) - ("ح" "" :string) - ("غ" "" :string) ("پ" "" :string) - ("س" "" :string) - ("Ê" "" :string) - ("ف" "" :string) + ("ش" "" :string) + ("þ" "" :string) + ("Ï" "" :string) + ("چ" "" :string) ("À" "" :string) - ("Ñ" "" :string) + ("ð" "" :string) + ("Þ" "" :string) + ("ض" "" :string) + ("ح" "" :string) + ("ر" "" :string) + ("Ö" "" :string) + ("آ" "" :string) + ("ب" "" :string) + ("Ë" "" :string) + ("È" "" :string) ("É" "" :string) - ("ث" "" :string) - ("Ð" "" :string) - ("œ" "" :string) + ("Ô" "" :string) + ("ژ" "" :string) + ("ô" "" :string) + ("د" "" :string) + ("ê" "" :string) + ("ل" "" :string) + ("ص" "" :string) ("Æ" "" :string) ("Œ" "" :string) + ("œ" "" :string) ("æ" "" :string) ("ّ" "" :string) ("َ" "" :string) @@ -526,61 +528,63 @@ ("«" "" :string) ("»" "" :string) ("ـ" "" :string) + ("،" "" :string) + ("؛" "" :string) ("?" "" :string) ("!" "" :string) ("." "" :string) - ("H" "" :string) - ("S" "" :string) - ("l" "" :string) ("M" "" :string) + ("b" "" :string) + ("k" "" :string) ("B" "" :string) + ("s" "" :string) + ("F" "" :string) + ("t" "" :string) + ("Y" "" :string) ("W" "" :string) + ("A" "" :string) + ("X" "" :string) + ("o" "" :string) + ("Q" "" :string) + ("x" "" :string) + ("p" "" :string) ("v" "" :string) - ("F" "" :string) + ("V" "" :string) + ("z" "" :string) ("K" "" :string) + ("E" "" :string) + ("H" "" :string) + ("D" "" :string) + ("L" "" :string) + ("j" "" :string) + ("a" "" :string) + ("n" "" :string) + ("w" "" :string) + ("P" "" :string) + ("u" "" :string) ("I" "" :string) - ("R" "" :string) + ("T" "" :string) + ("h" "" :string) + ("N" "" :string) + ("l" "" :string) ("Z" "" :string) ("C" "" :string) - ("r" "" :string) - ("s" "" :string) - ("d" "" :string) - ("x" "" :string) - ("T" "" :string) - ("P" "" :string) - ("i" "" :string) - ("y" "" :string) - ("J" "" :string) - ("q" "" :string) ("m" "" :string) - ("A" "" :string) - ("U" "" :string) - ("N" "" :string) - ("D" "" :string) - ("c" "" :string) - ("f" "" :string) - ("E" "" :string) - ("L" "" :string) - ("n" "" :string) - ("k" "" :string) - ("Y" "" :string) ("G" "" :string) + ("q" "" :string) + ("J" "" :string) + ("c" "" :string) + ("g" "" :string) ("O" "" :string) - ("w" "" :string) - ("z" "" :string) + ("d" "" :string) + ("y" "" :string) + ("R" "" :string) + ("U" "" :string) + ("r" "" :string) ("e" "" :string) - ("j" "" :string) - ("b" "" :string) - ("p" "" :string) - ("X" "" :string) - ("a" "" :string) - ("t" "" :string) - ("o" "" :string) - ("u" "" :string) - ("g" "" :string) - ("h" "" :string) - ("V" "" :string) - ("Q" "" :string) + ("f" "" :string) + ("S" "" :string) + ("i" "" :string) ("-" "" :string) ("'" "" :string) ("{" "" :string) diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy index 54153d737f..54153d737f 100644 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8-lang.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-lang.xdy diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy index d6d1878f59..d6d1878f59 100644 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8-test.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8-test.xdy diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy index e0e73044c4..ce90a86b19 100644 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant2-utf8.xdy @@ -35,32 +35,32 @@ (define-letter-group "ه" :after "و" :prefixes ("")) (define-letter-group "ی" :after "ه" :prefixes ("")) (define-letter-group "A" :after "ی" :prefixes ("")) -(define-letter-group "B" :after "A" :prefixes ("")) -(define-letter-group "C" :after "B" :prefixes ("")) -(define-letter-group "D" :after "C" :prefixes ("")) -(define-letter-group "E" :after "D" :prefixes ("")) -(define-letter-group "F" :after "E" :prefixes ("")) -(define-letter-group "G" :after "F" :prefixes ("")) -(define-letter-group "H" :after "G" :prefixes ("")) -(define-letter-group "I" :after "H" :prefixes ("")) -(define-letter-group "J" :after "I" :prefixes ("")) -(define-letter-group "K" :after "J" :prefixes ("")) -(define-letter-group "L" :after "K" :prefixes ("")) -(define-letter-group "M" :after "L" :prefixes ("")) -(define-letter-group "N" :after "M" :prefixes ("")) -(define-letter-group "O" :after "N" :prefixes ("")) -(define-letter-group "P" :after "O" :prefixes ("")) -(define-letter-group "Q" :after "P" :prefixes ("")) -(define-letter-group "R" :after "Q" :prefixes ("")) -(define-letter-group "S" :after "R" :prefixes ("")) -(define-letter-group "T" :after "S" :prefixes ("")) -(define-letter-group "U" :after "T" :prefixes ("")) -(define-letter-group "V" :after "U" :prefixes ("")) -(define-letter-group "W" :after "V" :prefixes ("")) -(define-letter-group "X" :after "W" :prefixes ("")) -(define-letter-group "Y" :after "X" :prefixes ("")) -(define-letter-group "Z" :after "Y" :prefixes ("")) -(define-letter-group "Þ" :after "Z" :prefixes ("")) +(define-letter-group "B" :after "A" :prefixes ("")) +(define-letter-group "C" :after "B" :prefixes ("")) +(define-letter-group "D" :after "C" :prefixes ("")) +(define-letter-group "E" :after "D" :prefixes ("")) +(define-letter-group "F" :after "E" :prefixes ("")) +(define-letter-group "G" :after "F" :prefixes ("")) +(define-letter-group "H" :after "G" :prefixes ("")) +(define-letter-group "I" :after "H" :prefixes ("")) +(define-letter-group "J" :after "I" :prefixes ("")) +(define-letter-group "K" :after "J" :prefixes ("")) +(define-letter-group "L" :after "K" :prefixes ("")) +(define-letter-group "M" :after "L" :prefixes ("")) +(define-letter-group "N" :after "M" :prefixes ("")) +(define-letter-group "O" :after "N" :prefixes ("")) +(define-letter-group "P" :after "O" :prefixes ("")) +(define-letter-group "Q" :after "P" :prefixes ("")) +(define-letter-group "R" :after "Q" :prefixes ("")) +(define-letter-group "S" :after "R" :prefixes ("")) +(define-letter-group "T" :after "S" :prefixes ("")) +(define-letter-group "U" :after "T" :prefixes ("Ă")) +(define-letter-group "V" :after "U" :prefixes ("ć")) +(define-letter-group "W" :after "V" :prefixes ("Ĉ")) +(define-letter-group "X" :after "W" :prefixes ("č")) +(define-letter-group "Y" :after "X" :prefixes ("ď")) +(define-letter-group "Z" :after "Y" :prefixes ("Ē")) +(define-letter-group "Þ" :after "Z" :prefixes ("Ę")) (define-rule-set "pe-alphabetize" @@ -98,422 +98,424 @@ ("ؤ" "" :string) ("و" "" :string) ("ه" "" :string) - ("ئ" "" :string) ("ی" "" :string) + ("ئ" "" :string) ("À" "" :string) ("à" "" :string) - ("Æ" "" :string) - ("æ" "" :string) - ("Ç" "" :string) - ("ç" "" :string) - ("ð" "" :string) - ("Ð" "" :string) - ("è" "" :string) - ("Ë" "" :string) - ("É" "" :string) - ("ë" "" :string) - ("È" "" :string) - ("Ê" "" :string) - ("ê" "" :string) - ("é" "" :string) - ("ï" "" :string) - ("Ï" "" :string) - ("Ñ" "" :string) - ("ñ" "" :string) - ("ô" "" :string) - ("ö" "" :string) - ("Ö" "" :string) - ("Ô" "" :string) - ("œ" "" :string) - ("Œ" "" :string) - ("Þ" "" :string) - ("þ" "" :string) - ("a" "" :string) + ("Æ" "" :string) + ("æ" "" :string) + ("ç" "" :string) + ("Ç" "" :string) + ("Ð" "" :string) + ("ð" "" :string) + ("É" "" :string) + ("ê" "" :string) + ("Ë" "" :string) + ("È" "" :string) + ("ë" "" :string) + ("Ê" "" :string) + ("è" "" :string) + ("é" "" :string) + ("Ï" "" :string) + ("ï" "" :string) + ("Ñ" "" :string) + ("ñ" "" :string) + ("ö" "" :string) + ("Ö" "" :string) + ("ô" "" :string) + ("Ô" "" :string) + ("Œ" "" :string) + ("œ" "" :string) + ("Ã" "Ę" :string) + ("þ" "Ę" :string) ("A" "" :string) - ("b" "" :string) - ("B" "" :string) - ("C" "" :string) - ("c" "" :string) - ("d" "" :string) - ("D" "" :string) - ("e" "" :string) - ("E" "" :string) - ("F" "" :string) - ("f" "" :string) - ("g" "" :string) - ("G" "" :string) - ("H" "" :string) - ("h" "" :string) - ("i" "" :string) - ("I" "" :string) - ("J" "" :string) - ("j" "" :string) - ("K" "" :string) - ("k" "" :string) - ("l" "" :string) - ("L" "" :string) - ("m" "" :string) - ("M" "" :string) - ("n" "" :string) - ("N" "" :string) - ("O" "" :string) - ("o" "" :string) - ("P" "" :string) - ("p" "" :string) - ("q" "" :string) - ("Q" "" :string) - ("R" "" :string) - ("r" "" :string) - ("s" "" :string) - ("S" "" :string) - ("T" "" :string) - ("t" "" :string) - ("u" "" :string) - ("U" "" :string) - ("V" "" :string) - ("v" "" :string) - ("w" "" :string) - ("W" "" :string) - ("X" "" :string) - ("x" "" :string) - ("Y" "" :string) - ("y" "" :string) - ("Z" "" :string) - ("z" "" :string) + ("a" "" :string) + ("B" "" :string) + ("b" "" :string) + ("c" "" :string) + ("C" "" :string) + ("d" "" :string) + ("D" "" :string) + ("E" "" :string) + ("e" "" :string) + ("F" "" :string) + ("f" "" :string) + ("g" "" :string) + ("G" "" :string) + ("h" "" :string) + ("H" "" :string) + ("I" "" :string) + ("i" "" :string) + ("J" "" :string) + ("j" "" :string) + ("K" "" :string) + ("k" "" :string) + ("l" "" :string) + ("L" "" :string) + ("m" "" :string) + ("M" "" :string) + ("N" "" :string) + ("n" "" :string) + ("O" "" :string) + ("o" "" :string) + ("P" "" :string) + ("p" "" :string) + ("Q" "" :string) + ("q" "" :string) + ("R" "" :string) + ("r" "" :string) + ("s" "" :string) + ("S" "" :string) + ("t" "" :string) + ("T" "" :string) + ("u" "Ă" :string) + ("U" "Ă" :string) + ("V" "ć" :string) + ("v" "ć" :string) + ("W" "Ĉ" :string) + ("w" "Ĉ" :string) + ("x" "č" :string) + ("X" "č" :string) + ("Y" "ď" :string) + ("y" "ď" :string) + ("Z" "Ē" :string) + ("z" "Ē" :string) )) (define-rule-set "pe-resolve-diacritics" - :rules (("Þ" "" :string) - ("ؤ" "" :string) - ("ل" "" :string) - ("ع" "" :string) - ("ر" "" :string) - ("ط" "" :string) - ("ض" "" :string) - ("ت" "" :string) - ("ق" "" :string) - ("پ" "" :string) - ("ح" "" :string) - ("ئ" "" :string) - ("آ" "" :string) - ("ف" "" :string) - ("د" "" :string) - ("چ" "" :string) + :rules (("پ" "" :string) ("خ" "" :string) ("ش" "" :string) - ("گ" "" :string) - ("ج" "" :string) - ("ن" "" :string) - ("ظ" "" :string) ("م" "" :string) - ("ز" "" :string) - ("ژ" "" :string) ("ه" "" :string) + ("ظ" "" :string) + ("ؤ" "" :string) + ("گ" "" :string) + ("ل" "" :string) + ("ر" "" :string) + ("ا" "" :string) + ("ق" "" :string) ("ب" "" :string) - ("و" "" :string) - ("غ" "" :string) - ("ص" "" :string) + ("ج" "" :string) ("ذ" "" :string) ("ث" "" :string) - ("أ" "" :string) + ("þ" "" :string) + ("ع" "" :string) + ("و" "" :string) + ("ص" "" :string) + ("ط" "" :string) + ("Þ" "" :string) + ("چ" "" :string) ("ک" "" :string) - ("ا" "" :string) - ("ی" "" :string) ("س" "" :string) - ("þ" "" :string) - ("ö" "" :string) - ("É" "" :string) - ("à" "" :string) - ("Ñ" "" :string) - ("À" "" :string) + ("ز" "" :string) + ("آ" "" :string) + ("ی" "" :string) + ("ض" "" :string) + ("ت" "" :string) + ("ئ" "" :string) + ("أ" "" :string) + ("د" "" :string) + ("غ" "" :string) + ("ف" "" :string) + ("ح" "" :string) + ("ژ" "" :string) + ("ن" "" :string) ("ï" "" :string) ("é" "" :string) + ("É" "" :string) + ("ñ" "" :string) ("Ð" "" :string) ("ç" "" :string) - ("Ç" "" :string) + ("Ñ" "" :string) + ("à" "" :string) + ("Ö" "" :string) ("Ï" "" :string) + ("ö" "" :string) ("ð" "" :string) - ("Ö" "" :string) - ("ñ" "" :string) + ("À" "" :string) + ("Ç" "" :string) ("ô" "" :string) - ("È" "" :string) ("è" "" :string) ("Ô" "" :string) + ("È" "" :string) ("ë" "" :string) ("Ë" "" :string) - ("ê" "" :string) ("Ê" "" :string) - ("Æ" "" :string) + ("ê" "" :string) ("œ" "" :string) ("æ" "" :string) + ("Æ" "" :string) ("Œ" "" :string) - ("d" "" :string) - ("i" "" :string) - ("K" "" :string) - ("I" "" :string) - ("l" "" :string) - ("M" "" :string) + ("L" "" :string) + ("z" "" :string) + ("y" "" :string) ("D" "" :string) - ("O" "" :string) + ("X" "" :string) + ("k" "" :string) + ("f" "" :string) + ("S" "" :string) + ("v" "" :string) + ("M" "" :string) ("a" "" :string) - ("J" "" :string) ("U" "" :string) - ("H" "" :string) - ("F" "" :string) - ("V" "" :string) - ("v" "" :string) ("T" "" :string) - ("q" "" :string) - ("u" "" :string) - ("y" "" :string) - ("m" "" :string) - ("s" "" :string) - ("n" "" :string) - ("Y" "" :string) - ("e" "" :string) + ("H" "" :string) ("p" "" :string) - ("W" "" :string) - ("B" "" :string) - ("c" "" :string) - ("z" "" :string) - ("Q" "" :string) - ("h" "" :string) - ("r" "" :string) + ("e" "" :string) ("C" "" :string) - ("A" "" :string) - ("x" "" :string) - ("G" "" :string) - ("o" "" :string) - ("S" "" :string) - ("k" "" :string) ("t" "" :string) - ("w" "" :string) - ("E" "" :string) - ("f" "" :string) - ("g" "" :string) - ("L" "" :string) - ("N" "" :string) + ("r" "" :string) + ("b" "" :string) + ("h" "" :string) ("R" "" :string) + ("i" "" :string) + ("I" "" :string) + ("F" "" :string) + ("W" "" :string) + ("O" "" :string) + ("J" "" :string) ("j" "" :string) - ("X" "" :string) + ("d" "" :string) + ("E" "" :string) + ("c" "" :string) + ("m" "" :string) + ("g" "" :string) + ("G" "" :string) + ("B" "" :string) + ("K" "" :string) + ("l" "" :string) + ("A" "" :string) + ("o" "" :string) + ("u" "" :string) + ("Y" "" :string) + ("Q" "" :string) ("Z" "" :string) - ("b" "" :string) + ("n" "" :string) + ("q" "" :string) ("P" "" :string) + ("s" "" :string) + ("x" "" :string) + ("N" "" :string) + ("V" "" :string) + ("w" "" :string) )) (define-rule-set "pe-resolve-case" - :rules (("À" "8" :string) - ("Ë" "8" :string) - ("È" "8" :string) - ("Ñ" "8" :string) - ("É" "8" :string) - ("Þ" "8" :string) + :rules (("Ô" "8" :string) ("Ê" "8" :string) + ("و" "8" :string) + ("È" "8" :string) ("Ö" "8" :string) + ("Ë" "8" :string) ("ی" "8" :string) + ("À" "8" :string) ("Ï" "8" :string) - ("و" "8" :string) ("Ç" "8" :string) + ("É" "8" :string) ("Ð" "8" :string) - ("Ô" "8" :string) - ("Æ" "89" :string) + ("Ñ" "8" :string) + ("Þ" "8" :string) ("Œ" "89" :string) + ("Æ" "89" :string) + ("ذ" "9" :string) + ("ب" "9" :string) + ("ج" "9" :string) + ("ق" "9" :string) + ("é" "9" :string) + ("è" "9" :string) + ("ث" "9" :string) + ("ع" "9" :string) + ("þ" "9" :string) ("ش" "9" :string) + ("ë" "9" :string) ("خ" "9" :string) - ("چ" "9" :string) - ("ظ" "9" :string) - ("è" "9" :string) - ("ج" "9" :string) - ("ن" "9" :string) - ("گ" "9" :string) - ("آ" "9" :string) - ("د" "9" :string) - ("ف" "9" :string) - ("ئ" "9" :string) - ("ï" "9" :string) - ("ح" "9" :string) ("پ" "9" :string) - ("ق" "9" :string) + ("م" "9" :string) + ("ï" "9" :string) + ("ؤ" "9" :string) + ("گ" "9" :string) + ("ه" "9" :string) + ("ظ" "9" :string) + ("ا" "9" :string) + ("ر" "9" :string) + ("ل" "9" :string) ("ô" "9" :string) - ("ë" "9" :string) - ("ط" "9" :string) + ("ک" "9" :string) + ("س" "9" :string) + ("ز" "9" :string) ("à" "9" :string) - ("ض" "9" :string) + ("أ" "9" :string) + ("ئ" "9" :string) ("ت" "9" :string) - ("ع" "9" :string) - ("ل" "9" :string) - ("ر" "9" :string) + ("آ" "9" :string) + ("ض" "9" :string) + ("ح" "9" :string) ("ö" "9" :string) - ("ؤ" "9" :string) - ("ê" "9" :string) - ("س" "9" :string) - ("ñ" "9" :string) - ("þ" "9" :string) - ("ا" "9" :string) - ("أ" "9" :string) - ("ک" "9" :string) - ("ث" "9" :string) ("ð" "9" :string) - ("ص" "9" :string) ("غ" "9" :string) - ("ذ" "9" :string) - ("ب" "9" :string) - ("ç" "9" :string) - ("ز" "9" :string) + ("د" "9" :string) + ("ف" "9" :string) + ("ن" "9" :string) + ("ê" "9" :string) ("ژ" "9" :string) - ("م" "9" :string) - ("ه" "9" :string) - ("é" "9" :string) + ("ص" "9" :string) + ("ñ" "9" :string) + ("ط" "9" :string) + ("چ" "9" :string) + ("ç" "9" :string) ("œ" "99" :string) ("æ" "99" :string) - ("Y" "8" :string) - ("V" "8" :string) - ("F" "8" :string) ("T" "8" :string) - ("O" "8" :string) ("H" "8" :string) ("U" "8" :string) - ("J" "8" :string) + ("C" "8" :string) + ("R" "8" :string) + ("L" "8" :string) + ("X" "8" :string) + ("D" "8" :string) ("M" "8" :string) - ("I" "8" :string) + ("S" "8" :string) + ("A" "8" :string) ("K" "8" :string) - ("D" "8" :string) - ("R" "8" :string) - ("P" "8" :string) + ("Y" "8" :string) + ("Q" "8" :string) ("Z" "8" :string) - ("X" "8" :string) ("N" "8" :string) - ("L" "8" :string) + ("P" "8" :string) + ("V" "8" :string) + ("F" "8" :string) + ("W" "8" :string) + ("J" "8" :string) + ("O" "8" :string) + ("I" "8" :string) ("E" "8" :string) ("G" "8" :string) - ("A" "8" :string) - ("S" "8" :string) - ("C" "8" :string) - ("Q" "8" :string) - ("W" "8" :string) ("B" "8" :string) + ("t" "9" :string) ("e" "9" :string) - ("n" "9" :string) - ("s" "9" :string) + ("p" "9" :string) + ("b" "9" :string) + ("r" "9" :string) + ("i" "9" :string) + ("h" "9" :string) + ("z" "9" :string) ("y" "9" :string) - ("m" "9" :string) - ("u" "9" :string) - ("q" "9" :string) ("v" "9" :string) + ("k" "9" :string) + ("f" "9" :string) ("a" "9" :string) + ("o" "9" :string) + ("u" "9" :string) ("l" "9" :string) - ("d" "9" :string) - ("i" "9" :string) - ("j" "9" :string) - ("b" "9" :string) - ("g" "9" :string) - ("w" "9" :string) - ("t" "9" :string) - ("f" "9" :string) + ("q" "9" :string) + ("n" "9" :string) + ("s" "9" :string) ("x" "9" :string) - ("k" "9" :string) - ("o" "9" :string) - ("r" "9" :string) - ("h" "9" :string) + ("w" "9" :string) + ("j" "9" :string) + ("m" "9" :string) + ("d" "9" :string) ("c" "9" :string) - ("z" "9" :string) - ("p" "9" :string) + ("g" "9" :string) )) (define-rule-set "pe-ignore-special" :rules (("" "" :string) + ("ْ" "" :string) ("ِ" "" :string) + ("،" "" :string) + ("«" "" :string) ("ـ" "" :string) - ("َ" "" :string) - ("ٌ" "" :string) ("ّ" "" :string) - ("ٍ" "" :string) + ("ٔ" "" :string) ("ُ" "" :string) - ("ْ" "" :string) - ("ء" "" :string) ("»" "" :string) - ("ٔ" "" :string) + ("ء" "" :string) + ("ٌ" "" :string) + ("ٍ" "" :string) ("ً" "" :string) - ("«" "" :string) - ("{" "" :string) + ("؛" "" :string) + ("َ" "" :string) ("." "" :string) - ("?" "" :string) + ("'" "" :string) ("-" "" :string) + ("{" "" :string) ("!" "" :string) - ("'" "" :string) + ("?" "" :string) ("}" "" :string) )) (define-rule-set "pe-resolve-special" :rules (("" "" :string) - ("Ô" "" :string) - ("Ð" "" :string) - ("ç" "" :string) - ("ز" "" :string) - ("ه" "" :string) - ("Ç" "" :string) - ("غ" "" :string) - ("ص" "" :string) - ("ذ" "" :string) - ("ث" "" :string) - ("ð" "" :string) - ("Ö" "" :string) - ("س" "" :string) - ("þ" "" :string) - ("ê" "" :string) - ("Ê" "" :string) - ("ع" "" :string) - ("ö" "" :string) - ("ë" "" :string) ("É" "" :string) + ("Þ" "" :string) + ("Ñ" "" :string) + ("چ" "" :string) ("à" "" :string) - ("ت" "" :string) - ("È" "" :string) - ("ô" "" :string) - ("پ" "" :string) + ("س" "" :string) + ("أ" "" :string) ("Ë" "" :string) - ("ئ" "" :string) - ("آ" "" :string) - ("د" "" :string) - ("ف" "" :string) - ("ش" "" :string) - ("چ" "" :string) + ("Ï" "" :string) + ("À" "" :string) + ("ö" "" :string) ("خ" "" :string) - ("ج" "" :string) - ("ن" "" :string) - ("é" "" :string) + ("پ" "" :string) ("م" "" :string) - ("ژ" "" :string) + ("ظ" "" :string) + ("گ" "" :string) + ("ô" "" :string) + ("ا" "" :string) + ("ق" "" :string) + ("ذ" "" :string) + ("ج" "" :string) ("ب" "" :string) + ("é" "" :string) + ("Ô" "" :string) + ("è" "" :string) + ("ث" "" :string) ("و" "" :string) - ("Ï" "" :string) - ("ا" "" :string) - ("ک" "" :string) - ("أ" "" :string) - ("ی" "" :string) + ("ص" "" :string) ("ñ" "" :string) - ("ؤ" "" :string) - ("Þ" "" :string) - ("ل" "" :string) - ("ر" "" :string) - ("Ñ" "" :string) + ("Ð" "" :string) ("ط" "" :string) + ("ç" "" :string) + ("ز" "" :string) + ("ک" "" :string) + ("È" "" :string) + ("ت" "" :string) + ("آ" "" :string) + ("ی" "" :string) ("ض" "" :string) - ("ق" "" :string) - ("À" "" :string) + ("ئ" "" :string) + ("Ö" "" :string) + ("ف" "" :string) + ("غ" "" :string) + ("د" "" :string) ("ح" "" :string) + ("ð" "" :string) + ("Ç" "" :string) + ("ن" "" :string) + ("ê" "" :string) + ("ژ" "" :string) + ("ë" "" :string) + ("ش" "" :string) ("ï" "" :string) - ("ظ" "" :string) - ("è" "" :string) - ("گ" "" :string) - ("Œ" "" :string) - ("œ" "" :string) + ("ه" "" :string) + ("ؤ" "" :string) + ("ر" "" :string) + ("ل" "" :string) + ("Ê" "" :string) + ("ع" "" :string) + ("þ" "" :string) ("æ" "" :string) + ("Œ" "" :string) ("Æ" "" :string) + ("œ" "" :string) ("ّ" "" :string) ("َ" "" :string) ("ِ" "" :string) @@ -527,61 +529,63 @@ ("«" "" :string) ("»" "" :string) ("ـ" "" :string) + ("،" "" :string) + ("؛" "" :string) ("?" "" :string) ("!" "" :string) ("." "" :string) + ("j" "" :string) + ("J" "" :string) + ("W" "" :string) ("c" "" :string) - ("p" "" :string) - ("Q" "" :string) - ("C" "" :string) - ("r" "" :string) - ("x" "" :string) - ("k" "" :string) + ("E" "" :string) + ("d" "" :string) + ("m" "" :string) + ("G" "" :string) + ("l" "" :string) ("o" "" :string) + ("Z" "" :string) + ("n" "" :string) + ("Q" "" :string) ("w" "" :string) + ("D" "" :string) + ("z" "" :string) + ("k" "" :string) + ("M" "" :string) + ("v" "" :string) + ("T" "" :string) + ("e" "" :string) + ("p" "" :string) ("t" "" :string) - ("N" "" :string) + ("r" "" :string) ("R" "" :string) - ("j" "" :string) - ("Z" "" :string) - ("P" "" :string) - ("d" "" :string) + ("h" "" :string) ("I" "" :string) - ("M" "" :string) - ("l" "" :string) - ("a" "" :string) - ("U" "" :string) + ("O" "" :string) ("F" "" :string) - ("v" "" :string) - ("T" "" :string) - ("Y" "" :string) - ("z" "" :string) + ("g" "" :string) ("B" "" :string) - ("W" "" :string) - ("h" "" :string) + ("K" "" :string) + ("u" "" :string) ("A" "" :string) - ("G" "" :string) + ("Y" "" :string) + ("q" "" :string) + ("x" "" :string) + ("s" "" :string) + ("P" "" :string) + ("N" "" :string) + ("V" "" :string) + ("L" "" :string) + ("y" "" :string) + ("X" "" :string) ("S" "" :string) ("f" "" :string) - ("E" "" :string) - ("g" "" :string) - ("L" "" :string) + ("a" "" :string) + ("H" "" :string) + ("U" "" :string) + ("C" "" :string) ("b" "" :string) - ("X" "" :string) ("i" "" :string) - ("K" "" :string) - ("D" "" :string) - ("O" "" :string) - ("H" "" :string) - ("J" "" :string) - ("V" "" :string) - ("q" "" :string) - ("u" "" :string) - ("y" "" :string) - ("m" "" :string) - ("s" "" :string) - ("n" "" :string) - ("e" "" :string) ("-" "" :string) ("'" "" :string) ("{" "" :string) diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy index 7f44812017..7f44812017 100644 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8-lang.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-lang.xdy diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy index ad7cbf91dd..ad7cbf91dd 100644 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8-test.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8-test.xdy diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy index b611539a13..90048616d8 100644 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8.xdy +++ b/indexing/xindy/contrib/xindy-persian/persian/variant3-utf8.xdy @@ -34,32 +34,32 @@ (define-letter-group "ه" :after "و" :prefixes ("")) (define-letter-group "ی" :after "ه" :prefixes ("")) (define-letter-group "A" :after "ی" :prefixes ("")) -(define-letter-group "B" :after "A" :prefixes ("")) -(define-letter-group "C" :after "B" :prefixes ("")) -(define-letter-group "D" :after "C" :prefixes ("")) -(define-letter-group "E" :after "D" :prefixes ("")) -(define-letter-group "F" :after "E" :prefixes ("")) -(define-letter-group "G" :after "F" :prefixes ("")) -(define-letter-group "H" :after "G" :prefixes ("")) -(define-letter-group "I" :after "H" :prefixes ("")) -(define-letter-group "J" :after "I" :prefixes ("")) -(define-letter-group "K" :after "J" :prefixes ("")) -(define-letter-group "L" :after "K" :prefixes ("")) -(define-letter-group "M" :after "L" :prefixes ("")) -(define-letter-group "N" :after "M" :prefixes ("")) -(define-letter-group "O" :after "N" :prefixes ("")) -(define-letter-group "P" :after "O" :prefixes ("")) -(define-letter-group "Q" :after "P" :prefixes ("")) -(define-letter-group "R" :after "Q" :prefixes ("")) -(define-letter-group "S" :after "R" :prefixes ("")) -(define-letter-group "T" :after "S" :prefixes ("")) -(define-letter-group "U" :after "T" :prefixes ("")) -(define-letter-group "V" :after "U" :prefixes ("")) -(define-letter-group "W" :after "V" :prefixes ("")) -(define-letter-group "X" :after "W" :prefixes ("")) -(define-letter-group "Y" :after "X" :prefixes ("")) -(define-letter-group "Z" :after "Y" :prefixes ("")) -(define-letter-group "Þ" :after "Z" :prefixes ("")) +(define-letter-group "B" :after "A" :prefixes ("")) +(define-letter-group "C" :after "B" :prefixes ("")) +(define-letter-group "D" :after "C" :prefixes ("")) +(define-letter-group "E" :after "D" :prefixes ("")) +(define-letter-group "F" :after "E" :prefixes ("")) +(define-letter-group "G" :after "F" :prefixes ("")) +(define-letter-group "H" :after "G" :prefixes ("")) +(define-letter-group "I" :after "H" :prefixes ("")) +(define-letter-group "J" :after "I" :prefixes ("")) +(define-letter-group "K" :after "J" :prefixes ("")) +(define-letter-group "L" :after "K" :prefixes ("")) +(define-letter-group "M" :after "L" :prefixes ("")) +(define-letter-group "N" :after "M" :prefixes ("")) +(define-letter-group "O" :after "N" :prefixes ("")) +(define-letter-group "P" :after "O" :prefixes ("")) +(define-letter-group "Q" :after "P" :prefixes ("")) +(define-letter-group "R" :after "Q" :prefixes ("")) +(define-letter-group "S" :after "R" :prefixes ("")) +(define-letter-group "T" :after "S" :prefixes ("")) +(define-letter-group "U" :after "T" :prefixes ("Ă")) +(define-letter-group "V" :after "U" :prefixes ("ć")) +(define-letter-group "W" :after "V" :prefixes ("Ĉ")) +(define-letter-group "X" :after "W" :prefixes ("č")) +(define-letter-group "Y" :after "X" :prefixes ("ď")) +(define-letter-group "Z" :after "Y" :prefixes ("Ē")) +(define-letter-group "Þ" :after "Z" :prefixes ("Ę")) (define-rule-set "pe-alphabetize" @@ -94,425 +94,427 @@ ("ل" "" :string) ("م" "" :string) ("ن" "" :string) - ("و" "" :string) ("ؤ" "" :string) + ("و" "" :string) ("ه" "" :string) - ("ئ" "" :string) ("ی" "" :string) - ("à" "" :string) + ("ئ" "" :string) ("À" "" :string) - ("æ" "" :string) - ("Æ" "" :string) - ("ç" "" :string) - ("Ç" "" :string) - ("Ð" "" :string) - ("ð" "" :string) - ("ê" "" :string) - ("è" "" :string) - ("ë" "" :string) - ("É" "" :string) - ("é" "" :string) - ("Ë" "" :string) - ("È" "" :string) - ("Ê" "" :string) - ("ï" "" :string) - ("Ï" "" :string) - ("ñ" "" :string) - ("Ñ" "" :string) - ("Ô" "" :string) - ("ô" "" :string) - ("ö" "" :string) - ("Ö" "" :string) - ("Œ" "" :string) - ("œ" "" :string) - ("Þ" "" :string) - ("þ" "" :string) - ("A" "" :string) + ("à" "" :string) + ("æ" "" :string) + ("Æ" "" :string) + ("Ç" "" :string) + ("ç" "" :string) + ("ð" "" :string) + ("Ð" "" :string) + ("é" "" :string) + ("ë" "" :string) + ("ê" "" :string) + ("Ê" "" :string) + ("É" "" :string) + ("È" "" :string) + ("è" "" :string) + ("Ë" "" :string) + ("Ï" "" :string) + ("ï" "" :string) + ("Ñ" "" :string) + ("ñ" "" :string) + ("ö" "" :string) + ("Ö" "" :string) + ("Ô" "" :string) + ("ô" "" :string) + ("œ" "" :string) + ("Œ" "" :string) + ("Ã" "Ę" :string) + ("þ" "Ę" :string) ("a" "" :string) - ("b" "" :string) - ("B" "" :string) - ("c" "" :string) - ("C" "" :string) - ("d" "" :string) - ("D" "" :string) - ("e" "" :string) - ("E" "" :string) - ("F" "" :string) - ("f" "" :string) - ("G" "" :string) - ("g" "" :string) - ("h" "" :string) - ("H" "" :string) - ("I" "" :string) - ("i" "" :string) - ("J" "" :string) - ("j" "" :string) - ("K" "" :string) - ("k" "" :string) - ("L" "" :string) - ("l" "" :string) - ("M" "" :string) - ("m" "" :string) - ("n" "" :string) - ("N" "" :string) - ("O" "" :string) - ("o" "" :string) - ("P" "" :string) - ("p" "" :string) - ("Q" "" :string) - ("q" "" :string) - ("r" "" :string) - ("R" "" :string) - ("s" "" :string) - ("S" "" :string) - ("t" "" :string) - ("T" "" :string) - ("u" "" :string) - ("U" "" :string) - ("V" "" :string) - ("v" "" :string) - ("w" "" :string) - ("W" "" :string) - ("X" "" :string) - ("x" "" :string) - ("y" "" :string) - ("Y" "" :string) - ("Z" "" :string) - ("z" "" :string) + ("A" "" :string) + ("B" "" :string) + ("b" "" :string) + ("c" "" :string) + ("C" "" :string) + ("d" "" :string) + ("D" "" :string) + ("e" "" :string) + ("E" "" :string) + ("F" "" :string) + ("f" "" :string) + ("G" "" :string) + ("g" "" :string) + ("H" "" :string) + ("h" "" :string) + ("i" "" :string) + ("I" "" :string) + ("J" "" :string) + ("j" "" :string) + ("k" "" :string) + ("K" "" :string) + ("l" "" :string) + ("L" "" :string) + ("M" "" :string) + ("m" "" :string) + ("N" "" :string) + ("n" "" :string) + ("o" "" :string) + ("O" "" :string) + ("p" "" :string) + ("P" "" :string) + ("Q" "" :string) + ("q" "" :string) + ("R" "" :string) + ("r" "" :string) + ("s" "" :string) + ("S" "" :string) + ("T" "" :string) + ("t" "" :string) + ("u" "Ă" :string) + ("U" "Ă" :string) + ("v" "ć" :string) + ("V" "ć" :string) + ("W" "Ĉ" :string) + ("w" "Ĉ" :string) + ("X" "č" :string) + ("x" "č" :string) + ("Y" "ď" :string) + ("y" "ď" :string) + ("z" "Ē" :string) + ("Z" "Ē" :string) )) (define-rule-set "pe-resolve-diacritics" - :rules (("پ" "" :string) - ("آ" "" :string) - ("ئ" "" :string) + :rules (("ط" "" :string) + ("ص" "" :string) ("ی" "" :string) - ("ه" "" :string) - ("و" "" :string) - ("ل" "" :string) ("م" "" :string) - ("ن" "" :string) - ("ؤ" "" :string) ("د" "" :string) - ("ظ" "" :string) - ("ض" "" :string) - ("ث" "" :string) - ("ق" "" :string) - ("ذ" "" :string) - ("س" "" :string) - ("ج" "" :string) - ("ع" "" :string) ("ژ" "" :string) + ("ل" "" :string) + ("أ" "" :string) + ("ز" "" :string) ("خ" "" :string) - ("گ" "" :string) - ("þ" "" :string) + ("ئ" "" :string) ("ر" "" :string) + ("ت" "" :string) + ("þ" "" :string) + ("ک" "" :string) + ("ؤ" "" :string) + ("ج" "" :string) + ("ن" "" :string) + ("ق" "" :string) ("ا" "" :string) - ("ح" "" :string) - ("ب" "" :string) - ("ز" "" :string) - ("ش" "" :string) + ("ض" "" :string) + ("ف" "" :string) + ("ظ" "" :string) + ("آ" "" :string) + ("ذ" "" :string) + ("ث" "" :string) + ("پ" "" :string) + ("س" "" :string) ("غ" "" :string) - ("أ" "" :string) ("چ" "" :string) - ("ک" "" :string) - ("ف" "" :string) - ("ط" "" :string) - ("ت" "" :string) + ("ه" "" :string) ("Þ" "" :string) - ("ص" "" :string) + ("ب" "" :string) + ("گ" "" :string) + ("و" "" :string) + ("ع" "" :string) + ("ش" "" :string) + ("ح" "" :string) + ("É" "" :string) + ("Ç" "" :string) + ("à" "" :string) + ("ç" "" :string) ("ð" "" :string) - ("Ï" "" :string) ("Ð" "" :string) - ("Ñ" "" :string) - ("Ö" "" :string) + ("À" "" :string) + ("Ï" "" :string) ("ï" "" :string) ("é" "" :string) ("ö" "" :string) - ("Ç" "" :string) - ("à" "" :string) - ("ç" "" :string) - ("É" "" :string) - ("À" "" :string) + ("Ñ" "" :string) ("ñ" "" :string) - ("È" "" :string) - ("è" "" :string) + ("Ö" "" :string) ("ô" "" :string) ("Ô" "" :string) + ("È" "" :string) + ("è" "" :string) ("Ë" "" :string) ("ë" "" :string) ("Ê" "" :string) ("ê" "" :string) - ("œ" "" :string) + ("Œ" "" :string) ("Æ" "" :string) + ("œ" "" :string) ("æ" "" :string) - ("Œ" "" :string) - ("k" "" :string) - ("R" "" :string) + ("V" "" :string) + ("X" "" :string) + ("Z" "" :string) + ("Q" "" :string) ("T" "" :string) - ("o" "" :string) - ("U" "" :string) - ("D" "" :string) - ("j" "" :string) ("z" "" :string) - ("a" "" :string) - ("p" "" :string) + ("H" "" :string) + ("j" "" :string) + ("m" "" :string) + ("o" "" :string) + ("W" "" :string) ("B" "" :string) - ("f" "" :string) - ("E" "" :string) + ("x" "" :string) + ("h" "" :string) ("g" "" :string) - ("S" "" :string) - ("K" "" :string) - ("l" "" :string) - ("v" "" :string) - ("u" "" :string) - ("i" "" :string) + ("w" "" :string) + ("G" "" :string) + ("f" "" :string) + ("q" "" :string) ("t" "" :string) - ("O" "" :string) - ("P" "" :string) + ("K" "" :string) + ("S" "" :string) ("s" "" :string) + ("r" "" :string) + ("P" "" :string) + ("b" "" :string) + ("O" "" :string) + ("F" "" :string) ("Y" "" :string) - ("Z" "" :string) + ("i" "" :string) + ("a" "" :string) + ("R" "" :string) + ("p" "" :string) + ("I" "" :string) + ("e" "" :string) ("d" "" :string) - ("q" "" :string) + ("k" "" :string) + ("U" "" :string) + ("u" "" :string) ("c" "" :string) - ("J" "" :string) - ("C" "" :string) - ("m" "" :string) + ("N" "" :string) + ("l" "" :string) + ("M" "" :string) ("A" "" :string) - ("F" "" :string) - ("Q" "" :string) ("y" "" :string) - ("r" "" :string) - ("n" "" :string) - ("M" "" :string) - ("W" "" :string) - ("x" "" :string) - ("G" "" :string) - ("N" "" :string) - ("X" "" :string) - ("w" "" :string) - ("e" "" :string) + ("E" "" :string) ("L" "" :string) - ("h" "" :string) - ("b" "" :string) - ("H" "" :string) - ("I" "" :string) - ("V" "" :string) + ("C" "" :string) + ("n" "" :string) + ("D" "" :string) + ("J" "" :string) + ("v" "" :string) )) (define-rule-set "pe-resolve-case" - :rules (("ی" "8" :string) + :rules (("Ñ" "8" :string) ("Ï" "8" :string) - ("Ë" "8" :string) - ("È" "8" :string) - ("Ð" "8" :string) + ("À" "8" :string) ("و" "8" :string) - ("Ñ" "8" :string) ("Ö" "8" :string) + ("Þ" "8" :string) + ("È" "8" :string) + ("Ô" "8" :string) + ("ی" "8" :string) + ("Ç" "8" :string) ("Ê" "8" :string) ("É" "8" :string) - ("À" "8" :string) - ("Ç" "8" :string) - ("Ô" "8" :string) - ("Þ" "8" :string) - ("Æ" "89" :string) + ("Ë" "8" :string) + ("Ð" "8" :string) ("Œ" "89" :string) - ("ئ" "9" :string) - ("ه" "9" :string) - ("ð" "9" :string) + ("Æ" "89" :string) + ("ث" "9" :string) + ("ذ" "9" :string) ("پ" "9" :string) + ("ö" "9" :string) ("آ" "9" :string) - ("د" "9" :string) + ("ف" "9" :string) + ("é" "9" :string) ("ظ" "9" :string) + ("ë" "9" :string) + ("ï" "9" :string) ("ض" "9" :string) - ("ث" "9" :string) - ("é" "9" :string) + ("ا" "9" :string) ("ق" "9" :string) - ("ذ" "9" :string) - ("ö" "9" :string) - ("س" "9" :string) - ("ل" "9" :string) - ("ï" "9" :string) - ("م" "9" :string) + ("ج" "9" :string) ("ن" "9" :string) + ("ک" "9" :string) ("ؤ" "9" :string) - ("à" "9" :string) - ("ا" "9" :string) - ("ر" "9" :string) ("ح" "9" :string) - ("ç" "9" :string) - ("ب" "9" :string) - ("ز" "9" :string) ("ش" "9" :string) - ("غ" "9" :string) - ("ج" "9" :string) + ("ê" "9" :string) ("ع" "9" :string) - ("ژ" "9" :string) - ("خ" "9" :string) ("گ" "9" :string) - ("þ" "9" :string) - ("ط" "9" :string) + ("ب" "9" :string) + ("ه" "9" :string) + ("چ" "9" :string) ("ñ" "9" :string) - ("ت" "9" :string) + ("غ" "9" :string) + ("س" "9" :string) + ("ژ" "9" :string) + ("ل" "9" :string) + ("ð" "9" :string) + ("د" "9" :string) + ("م" "9" :string) + ("à" "9" :string) + ("ç" "9" :string) + ("ô" "9" :string) ("ص" "9" :string) - ("أ" "9" :string) - ("چ" "9" :string) - ("ê" "9" :string) + ("ط" "9" :string) + ("þ" "9" :string) + ("ت" "9" :string) + ("ر" "9" :string) + ("ئ" "9" :string) + ("خ" "9" :string) + ("ز" "9" :string) ("è" "9" :string) - ("ô" "9" :string) - ("ک" "9" :string) - ("ف" "9" :string) - ("ë" "9" :string) - ("œ" "99" :string) + ("أ" "9" :string) ("æ" "99" :string) + ("œ" "99" :string) + ("U" "8" :string) + ("I" "8" :string) + ("R" "8" :string) + ("Y" "8" :string) + ("F" "8" :string) ("D" "8" :string) - ("B" "8" :string) + ("J" "8" :string) + ("C" "8" :string) + ("L" "8" :string) ("E" "8" :string) - ("R" "8" :string) + ("A" "8" :string) + ("M" "8" :string) + ("N" "8" :string) + ("G" "8" :string) + ("B" "8" :string) + ("W" "8" :string) + ("H" "8" :string) + ("Q" "8" :string) ("T" "8" :string) - ("U" "8" :string) + ("X" "8" :string) + ("Z" "8" :string) + ("V" "8" :string) ("O" "8" :string) ("P" "8" :string) ("S" "8" :string) ("K" "8" :string) - ("J" "8" :string) - ("C" "8" :string) - ("A" "8" :string) - ("Z" "8" :string) - ("Y" "8" :string) - ("X" "8" :string) - ("L" "8" :string) - ("H" "8" :string) - ("I" "8" :string) - ("V" "8" :string) - ("F" "8" :string) - ("Q" "8" :string) - ("M" "8" :string) - ("W" "8" :string) - ("G" "8" :string) - ("N" "8" :string) - ("j" "9" :string) - ("z" "9" :string) - ("a" "9" :string) - ("p" "9" :string) - ("f" "9" :string) - ("k" "9" :string) - ("o" "9" :string) - ("l" "9" :string) - ("v" "9" :string) ("u" "9" :string) - ("t" "9" :string) + ("k" "9" :string) + ("d" "9" :string) + ("e" "9" :string) + ("p" "9" :string) ("i" "9" :string) - ("s" "9" :string) - ("g" "9" :string) - ("q" "9" :string) + ("a" "9" :string) + ("v" "9" :string) + ("n" "9" :string) + ("y" "9" :string) ("c" "9" :string) - ("m" "9" :string) - ("d" "9" :string) + ("l" "9" :string) ("w" "9" :string) - ("e" "9" :string) ("h" "9" :string) + ("g" "9" :string) + ("x" "9" :string) + ("o" "9" :string) + ("z" "9" :string) + ("j" "9" :string) + ("m" "9" :string) ("b" "9" :string) - ("y" "9" :string) ("r" "9" :string) - ("n" "9" :string) - ("x" "9" :string) + ("s" "9" :string) + ("t" "9" :string) + ("q" "9" :string) + ("f" "9" :string) )) (define-rule-set "pe-ignore-special" :rules (("" "" :string) - ("ٔ" "" :string) - ("ء" "" :string) - ("ُ" "" :string) - ("ٍ" "" :string) - ("ْ" "" :string) - ("ّ" "" :string) ("«" "" :string) - ("ً" "" :string) - ("ٌ" "" :string) - ("َ" "" :string) ("ـ" "" :string) - ("»" "" :string) + ("ّ" "" :string) ("ِ" "" :string) - ("{" "" :string) + ("ْ" "" :string) + ("؛" "" :string) + ("َ" "" :string) + ("ٍ" "" :string) + ("»" "" :string) + ("ٔ" "" :string) + ("ٌ" "" :string) + ("ً" "" :string) + ("،" "" :string) + ("ء" "" :string) + ("ُ" "" :string) + ("'" "" :string) ("." "" :string) - ("-" "" :string) ("!" "" :string) - ("'" "" :string) - ("}" "" :string) ("?" "" :string) + ("-" "" :string) + ("}" "" :string) + ("{" "" :string) )) (define-rule-set "pe-resolve-special" :rules (("" "" :string) - ("س" "" :string) - ("é" "" :string) - ("Ë" "" :string) - ("ن" "" :string) - ("م" "" :string) - ("ï" "" :string) - ("È" "" :string) - ("ئ" "" :string) - ("Ï" "" :string) - ("آ" "" :string) - ("پ" "" :string) - ("ص" "" :string) - ("ت" "" :string) + ("غ" "" :string) ("ñ" "" :string) - ("Ô" "" :string) - ("ë" "" :string) - ("ف" "" :string) - ("è" "" :string) - ("ô" "" :string) - ("ک" "" :string) - ("أ" "" :string) - ("ش" "" :string) - ("ز" "" :string) - ("ح" "" :string) - ("ç" "" :string) - ("É" "" :string) + ("چ" "" :string) + ("ب" "" :string) + ("ه" "" :string) + ("و" "" :string) + ("ع" "" :string) ("گ" "" :string) - ("þ" "" :string) - ("خ" "" :string) - ("Ç" "" :string) + ("ê" "" :string) + ("ش" "" :string) + ("ن" "" :string) ("ج" "" :string) + ("À" "" :string) + ("Ï" "" :string) + ("ؤ" "" :string) + ("ا" "" :string) ("ق" "" :string) - ("ذ" "" :string) + ("ظ" "" :string) + ("é" "" :string) + ("ف" "" :string) + ("ï" "" :string) + ("ë" "" :string) + ("Ñ" "" :string) ("ö" "" :string) + ("پ" "" :string) + ("ذ" "" :string) ("ث" "" :string) + ("è" "" :string) + ("خ" "" :string) + ("Ð" "" :string) + ("ر" "" :string) + ("ئ" "" :string) + ("þ" "" :string) + ("ت" "" :string) + ("É" "" :string) ("د" "" :string) - ("ظ" "" :string) + ("م" "" :string) + ("س" "" :string) + ("Þ" "" :string) + ("Ö" "" :string) + ("ح" "" :string) + ("ک" "" :string) ("ض" "" :string) + ("آ" "" :string) + ("ز" "" :string) + ("أ" "" :string) + ("Ë" "" :string) + ("ص" "" :string) ("Ê" "" :string) - ("ؤ" "" :string) - ("Ñ" "" :string) - ("Ö" "" :string) - ("Ð" "" :string) - ("و" "" :string) - ("ل" "" :string) - ("ه" "" :string) - ("ی" "" :string) - ("ð" "" :string) - ("Þ" "" :string) ("ط" "" :string) - ("ê" "" :string) - ("چ" "" :string) - ("غ" "" :string) - ("ب" "" :string) - ("À" "" :string) + ("Ô" "" :string) + ("ô" "" :string) + ("Ç" "" :string) + ("ی" "" :string) ("à" "" :string) - ("ر" "" :string) - ("ا" "" :string) - ("ع" "" :string) + ("ç" "" :string) ("ژ" "" :string) - ("Œ" "" :string) + ("ل" "" :string) + ("È" "" :string) + ("ð" "" :string) + ("œ" "" :string) ("æ" "" :string) ("Æ" "" :string) - ("œ" "" :string) + ("Œ" "" :string) ("ّ" "" :string) ("َ" "" :string) ("ِ" "" :string) @@ -526,61 +528,63 @@ ("«" "" :string) ("»" "" :string) ("ـ" "" :string) + ("،" "" :string) + ("؛" "" :string) ("?" "" :string) ("!" "" :string) ("." "" :string) - ("P" "" :string) - ("t" "" :string) - ("v" "" :string) + ("A" "" :string) + ("E" "" :string) + ("C" "" :string) + ("n" "" :string) + ("D" "" :string) + ("R" "" :string) + ("p" "" :string) + ("a" "" :string) + ("i" "" :string) + ("I" "" :string) ("u" "" :string) - ("l" "" :string) + ("U" "" :string) + ("f" "" :string) + ("q" "" :string) ("K" "" :string) ("S" "" :string) - ("B" "" :string) - ("f" "" :string) - ("p" "" :string) - ("D" "" :string) + ("r" "" :string) + ("V" "" :string) ("j" "" :string) - ("a" "" :string) + ("W" "" :string) ("o" "" :string) - ("k" "" :string) - ("I" "" :string) - ("H" "" :string) - ("e" "" :string) - ("X" "" :string) - ("G" "" :string) - ("N" "" :string) + ("T" "" :string) ("x" "" :string) + ("w" "" :string) + ("g" "" :string) + ("h" "" :string) ("y" "" :string) - ("n" "" :string) + ("N" "" :string) + ("l" "" :string) + ("c" "" :string) ("M" "" :string) + ("L" "" :string) + ("v" "" :string) + ("J" "" :string) ("F" "" :string) - ("C" "" :string) - ("q" "" :string) + ("Y" "" :string) + ("k" "" :string) + ("e" "" :string) + ("d" "" :string) ("s" "" :string) - ("i" "" :string) + ("t" "" :string) + ("P" "" :string) ("O" "" :string) - ("g" "" :string) - ("E" "" :string) - ("z" "" :string) - ("T" "" :string) - ("U" "" :string) - ("R" "" :string) - ("V" "" :string) - ("h" "" :string) ("b" "" :string) - ("w" "" :string) - ("L" "" :string) - ("W" "" :string) - ("Q" "" :string) - ("r" "" :string) - ("A" "" :string) - ("J" "" :string) - ("m" "" :string) - ("c" "" :string) - ("d" "" :string) - ("Y" "" :string) ("Z" "" :string) + ("X" "" :string) + ("m" "" :string) + ("z" "" :string) + ("H" "" :string) + ("Q" "" :string) + ("B" "" :string) + ("G" "" :string) ("-" "" :string) ("'" "" :string) ("{" "" :string) diff --git a/indexing/xindy/contrib/xindy-persian/source/make-rules.pl b/indexing/xindy/contrib/xindy-persian/source/make-rules.pl new file mode 100644 index 0000000000..c0f2f9c5ed --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/source/make-rules.pl @@ -0,0 +1,269 @@ +#!/usr/bin/perl + +open XDY,">$ARGV[0].xdy"; +open DOC,">$ARGV[0]-doc.tex"; +open TEST,">$ARGV[0].raw"; +open TESTXDY,">$ARGV[0]-test.xdy"; + +print XDY ";; Rules for xindy; generated by make-rules.pl\n"; +print XDY ";; language: $language\n\n"; + +if ($prefix) { + $prefix = $prefix . '-'; +} + +print TESTXDY "(require \"lang/$ARGV[0].xdy\")\n"; +print TESTXDY "(define-sort-rule-orientations (forward backward forward forward))\n"; +print TESTXDY "(use-rule-set :run 0\n"; +print TESTXDY " :rule-set (\"".$prefix."alphabetize\" \"".$prefix."ignore-special\"))\n"; +print TESTXDY "(use-rule-set :run 1\n"; +print TESTXDY " :rule-set (\"".$prefix."resolve-diacritics\" \"".$prefix."ignore-special\"))\n"; +print TESTXDY "(use-rule-set :run 2\n"; +print TESTXDY " :rule-set (\"".$prefix."resolve-case\" \"".$prefix."ignore-special\"))\n"; +print TESTXDY "(use-rule-set :run 3\n"; +print TESTXDY " :rule-set (\"".$prefix."resolve-special\"))\n"; +close TESTXDY; + +$fn = "test.xdy"; +! -f $fn && -f "$INC[0]/$fn" and $fn = "$INC[0]/$fn"; +-f $fn or die "$fn: $!"; +system("cat $fn >> $ARGV[0]-test.xdy"); + +$begin = 128; +# $begin = 97 if ($script eq "cyrillic"); +# $begin = 150 if ($script eq "latin"); +# $begin = 65 if ($script eq "greek"); + +if (!$begin) { + $begin = 65; +} + +print "Alphabet has " . @{$alphabet} . " elements.\n"; + +for ($i = 0; $i < @{$alphabet}; $i++) { + if (defined($alphabet->[$i][0])) { + $letter = $alphabet->[$i][0]; + $lout = $letter; + $lout =~ s/\~/~~/g; + $lout =~ s/\"/~\"/g; + $token = chr($i+$begin); + $token =~ s/\~/~~/g; + $token =~ s/\"/~\"/g; + if ($after ne $lout) { + print XDY "\"))\n" if ($i); + print XDY "(define-letter-group \"$lout\""; + print XDY " :after \"$after\"" if ($i); + print XDY " :prefixes (\""; + } else { + print XDY "\" \""; + } + print XDY "$token"; + $after = $lout; + } +} + +print XDY "\"))\n\n"; + +$ref = \$i; +$offset = $begin; +$f = 1; +make_tokens(); + +# print test raw file +# alphabet + $p = 1; + foreach $letter (keys %tokens) { + print TEST "(indexentry :key (\"$letter\") :locref \"$p\")\n"; + $p++; + } +# end + +process_ligatures(); + +print_tokens($prefix . "alphabetize"); + +$ref = \$j; +$offset = 161; +$f = 1; +make_tokens(); + +for ($i = 0; $i < @{$ligatures}; $i++) { + if ($ligatures->[$i][1] eq "before") { + $token = chr(161); + } else { + $token = chr(255); + } + foreach $ligature_variant (@{$ligatures->[$i][0]}) { + $tokens{$ligature_variant} = $token; + } +} + +print_tokens($prefix . "resolve-diacritics"); + +$ref = \$k; +$offset = 48; +$f = 1; +if ($sortcase eq "Aa") { + $offset = 57; + $f = -1; +} + +make_tokens(); + +process_ligatures(); + +print_tokens($prefix . "resolve-case"); + +foreach $character (@special) { + $tokens{$character} = "" unless ($character eq "letters"); +} + +print_tokens($prefix . "ignore-special"); + +$offset = 161; +$f = 1; + +for ($l = 0; $l < @special; $l++) { + if (@special[$l] eq "letters") { + $ref = \$l; + make_tokens(); + process_ligatures(); + } else { + $token = chr($l+$offset); + $tokens{@special[$l]} = $token; + } +} + +print_tokens($prefix . "resolve-special"); + +# print doc: +# alphabet + for ($i = 0; $i < @{$alphabet}; $i++) { + for ($j = 1; $j < @{$alphabet->[$i]}; $j++) { + push @l,join("\\,", (@{$alphabet->[$i][$j]})); + } + if ((@l)) { + push @m, join(" & ", (@l)); + } +# push @m, "`".$alphabet->[$i][0]."':\\>".join(" -- ", (@l)); + @l = (); + } + print DOC "\\subsection{$language"; + print DOC " ($variant)" if ($variant); + print DOC "}\n\n"; + print DOC "\\subsubsection{Alphabet}\n"; + print DOC "\\icod\\fcod\n"; + print DOC "\\begin{alphabet}\n"; + print DOC join("\\\\\n", (@m)); + print DOC "\n\\end{alphabet}\n"; + print DOC "\\idef\\fdef\n"; + +# ligatures + print DOC "\n\\subsubsection{Ligatures}\n"; + print DOC "\\begin{flushleft}\n"; + print DOC "None.\n" unless @{$ligatures}; + @m = (); + for ($i = 0; $i < @{$ligatures}; $i++) { + for ($j = 0; $j < @{$ligatures->[$i][0]}; $j++) { + push @m, "`$ligatures->[$i][0][$j]' is sorted like `" . + join("\\,", (@{$ligatures->[$i][2][$j]})) . + "', but \\emph{$ligatures->[$i][1]} it in otherwise equal words."; + } + } + print DOC join("\\\\\n", (@m)); + print DOC "\n\\end{flushleft}\n"; + +# case + print DOC "\n\\subsubsection{Upper-/lowercase words}\n"; + if ($sortcase eq "Aa") { + print DOC "Capitalized or uppercase words are sorted \\emph{before} "; + print DOC "otherwise equal lowercase words.\n"; + } else { + print DOC "Capitalized or uppercase words are sorted \\emph{after} "; + print DOC "otherwise equal lowercase words.\n"; + } + +# special +print DOC "\n\\subsubsection{Special characters}\n"; +print DOC "The order of special characters and letters is:\n"; +print DOC "\\begin{flushleft}\n"; +print DOC join("\\hspace{4mm}", (@special)); +print DOC "\n\\end{flushleft}\n"; +print DOC "\\newpage\n"; + +# end + +# print test raw file + +# for ($i = 0; $i < @{$alphabet}; $i++) { +# for ($j = 1; $j < @{$alphabet->[$i]}; $j++) { +# foreach $letter (@{$alphabet->[$i][$j]}) { +# print TEST "(indexentry :key (\"$letter\") :locref \"$p\")\n"; +# $p++; +# } +# } +# } + +# ligatures + for ($i = 0; $i < @{$ligatures}; $i++) { + for ($j = 0; $j < @{$ligatures->[$i][0]}; $j++) { + print TEST + "(indexentry :key (\"$ligatures->[$i][0][$j]\") :locref \"$p\")\n"; + $p++; + print TEST "(indexentry :key (\"" . + join("", (@{$ligatures->[$i][2][$j]})) . "\") :locref \"$p\")\n"; + $p++; + } + } + +# special +foreach $letter (@special) { + if ($letter ne "letters") { + print TEST "(indexentry :key (\"$letter\") :locref \"$p\")\n"; + $p++; + } +} + +# end + +sub make_tokens { + for ($i = 0; $i < @{$alphabet}; $i++) { + for ($j = 1; $j < @{$alphabet->[$i]}; $j++) { + for ($k = 0; $k < @{$alphabet->[$i][$j]}; $k++) { + $token = chr($f*$$ref+$offset); + if ($alphabet->[$i][$j][$k]) { + $tokens{$alphabet->[$i][$j][$k]} = $token; + } + } + } + } +} + +sub process_ligatures { + for ($i = 0; $i < @{$ligatures}; $i++) { + for ($j = 0; $j < @{$ligatures->[$i][0]}; $j++) { + $token = ""; + foreach $ligature_component (@{$ligatures->[$i][2][$j]}) { + $token = $token.$tokens{$ligature_component}; + } + $tokens{$ligatures->[$i][0][$j]} = $token; + } + } +} + +sub print_tokens { + print XDY "(define-rule-set \"$_[0]\"\n\n :rules ("; + foreach $letter (sort { + (length($b) <=> length($a)) || ($tokens{$a} cmp $tokens{$b}) + } (keys %tokens)) { + $lout = $letter; + $lout =~ s/\~/~~/g; + $lout =~ s/\"/~\"/g; + $tout = $tokens{$letter}; + $tout =~ s/\~/~~/g; + $tout =~ s/\"/~\"/g; + print XDY "(\"$lout\" \"$tout\" :string)\n "; + } + print XDY "))\n\n"; + %tokens = (); +} diff --git a/indexing/xindy/contrib/xindy-persian/source/test.xdy b/indexing/xindy/contrib/xindy-persian/source/test.xdy new file mode 100644 index 0000000000..a843dafb8d --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/source/test.xdy @@ -0,0 +1,82 @@ + +;; define other stuff +(define-attributes ("default")) + +;; The description of the location-classes. +;; Add more location classes as needed. + +(define-location-class "arabic-page-numbers" ("arabic-numbers")) +(define-location-class "roman-page-numbers" ("roman-numbers-lowercase")) +(define-location-class "Roman-page-numbers" ("roman-numbers-uppercase")) +(define-location-class "alpha-page-numbers" ("alpha")) +(define-location-class "Alpha-page-numbers" ("ALPHA")) + +;; The most frequently used cross reference class "see". Add more, if +;; necessary. + +(define-crossref-class "see") +(markup-crossref-list :open "\see{" :close "}{}" :class "see") + +;; In makeindex: page_precedence <string> "rnaRA" +;; List all location classes appearing in your document. + +(define-location-class-order ("roman-page-numbers" + "arabic-page-numbers" + "alpha-page-numbers" + "Roman-page-numbers" + "Alpha-page-numbers" + "see")) + + +;; preamble <string> "\\begin{theindex}\n" +;; postamble <string> "\n\n\\end{theindex}\n" + +(markup-index :open "\begin{theindex}~n" + :close "~n~n\end{theindex}~n" + :tree) + +;; These specifiers are not directly supported via a command-line +;; switch as in makeindex. Add the appropriate markup-commands into +;; the preamble. + +;; setpage_prefix <string> "~n \setcounter{page}{" +;; setpage_suffix <string> "}~n" + +;; group_skip <string> "~n~n \indexspace~n" + +(markup-letter-group-list :sep "~n~n \indexspace~n") + +;; even though we comment out (%) the letter-group heading, +;; the following is useful if you want to check the .ind-file +(markup-letter-group :open-head "~n % ") + +;; The indexentries (item_<..> specifiers) + +(markup-indexentry :open "~n \item " :depth 0) +(markup-indexentry :open "~n \subitem " :depth 1) +(markup-indexentry :open "~n \subsubitem " :depth 2) + +;; Location-references + +;; delim_0 <string> ", " +;; delim_1 <string> ", " +;; delim_2 <string> ", " + +(markup-locclass-list :open ", " :sep ", ") + +;; delim_n <string> ", " + +(markup-locref-list :sep ", ") + +;; delim_r <string> "--" + +(markup-range :sep "--") + +;; That's all ;-) + + +;; End + +;; Local Variables: +;; mode: lisp +;; End: diff --git a/indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in new file mode 100644 index 0000000000..87c79de1a3 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/source/variant1-utf8.pl.in @@ -0,0 +1,181 @@ +#!/usr/bin/perl + +$language = "Persian"; +$variant = "One"; +$prefix = "pe"; +$script = "arabic"; + +$alphabet = [ +['ا',['آ']], +['ا',['أ']], +['ا',['ا']], +['ب',['ب']], +['پ',['پ']], +['ت',['ت']], +['ث',['ث']], +['ج',['ج']], +['چ',['چ']], +['ح',['ح']], +['خ',['خ']], +['د',['د']], +['ذ',['ذ']], +['ر',['ر']], +['ز',['ز']], +['ژ',['ژ']], +['س',['س']], +['ش',['ش']], +['ص',['ص']], +['ض',['ض']], +['ط',['ط']], +['ظ',['ظ']], +['ع',['ع']], +['غ',['غ']], +['ف',['ف']], +['ق',['ق']], +['ک',['ک']], +['گ',['گ']], +['ل',['ل']], +['م',['م']], +['ن',['ن']], +['و',['ؤ','و']], +['ه',['ه']], +['ی',['ئ','ی']], +['A', ['a','A'],['à','À']], + [], # a with breve (romanian) + [], # a with circumflex (romanian) + [], # a with ogonek (polish) +['B', ['b','B']], + [], # b with hook (hausa) +['C', ['c','C'],['ç','Ç']], + [], # ch (spanish/traditional) + [], # cs (hungarian) + [], # c with caron (many) + [], # c with acute (croatian, lower sorbian, polish) + [], # c with circumflex (esperanto) + [], # c with cedilla (albanian, kurdish, turkish) +['D', ['d','D'],['ð','Ð']], + [], # dh (albanian) + [], # dz (hungarian) + [], # dzs (hungarian) + [], # d+z with caron (croatian) + [], # d+z with acute (upper sorbian) + [], # d with caron (slovak/large) + [], # d with stroke (croatian) + [], # d with hook (hausa) + [], # eth (icelandic) +['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']], + [], # e with caron (lower/upper sorbian) + [], # e with circumflex (kurdish) + [], # e with diaeresis (albanian) + [], # e with ogonek (polish) +['F', ['f','F']], +['G', ['g','G']], + [], # gj (albanian) + [], # gy (hungarian) + [], # g with circumflex (esperanto) + [], # g with breve (turkish) + [], # g with cedilla/comma (latvian) + [], # postpalatal fricative (gypsy/northrussian) +['H', ['h','H']], + [], # h with circumflex (esperanto) + [], # ch (many) + [], # dotless i (turkish) +['I', ['i','I'],['ï','Ï']], + [], # i with inverted breve below (gypsy/northrussian) + [], # i with circumflex (kurdish, romanian) + [], # i with diaeresis (gypsy/northrussian) +['J', ['j','J']], + [], # j with circumflex (esperanto) +['K', ['k','K']], + [], # kh (gypsy/northrussian) + [], # k with cedilla/comma (latvian) + [], # k with hook (hausa) + [], # x (gypsy/northrussian) + [], # l with stroke (lower/upper sorbian) +['L', ['l','L']], + [], # lj (croatian) + [], # ll (albanian, spanish/traditional) + [], # ly (hungarian) + [], # l with cedilla/comma (latvian) + [], # l with stroke (polish) + [], # l with caron (slovak/large) +['M', ['m','M']], +['N', ['n','N'],['ñ','Ñ']], + [], # nj (albanian, croatian) + [], # ny (hungarian) + [], # n with caron (slovak/large) + [], # n with acute (lower/upper sorbian, polish) + [], # n with tilde (spanish/modern, spanish/traditional) + [], # n with cedilla/comma (latvian) +['O', ['o','O'],['ö','Ö'],['ô','Ô']], + [], # o with acute (polish, upper sorbian) + [], # o with circumflex (vietnamese) + [], # o with horn (vietnamese) + [], # o with diaeresis (hungarian, turkish) +['P', ['p','P']], + [], # ph (gypsy/northrussian) +['Q', ['q','Q']], +['R', ['r','R']], + [], # rr (albanian) + [], # r with caron (czech, slovak/large, upper sorbian) + [], # r with acute (lower sorbian) + [], # r with cedilla/comma (latvian) +['S', ['s','S']], + [], # sh (albanian) + [], # sz (hungarian) + [], # s with caron (many) + [], # s with acute (lower sorbian, polish) + [], # s with circumflex (esperanto) + [], # s with comma below (romanian) + [], # s with cedilla (kurdish, turkish) + [], # z (estonian) + [], # z with caron (estonian) +['T', ['t','T']], + [], # th (albanian) + [], # ty (hungarian) + [], # t with caron (slovak/large) + [], # t with comma below (romanian) + [], # c with acute (upper sorbian) +['U', ['u','U']], + [], # u with breve (esperanto) + [], # u with circumflex (kurdish) + [], # u with horn (vietnamese) + [], # u with diaeresis (hungarian, turkish) +['V', ['v','V']], +['W', ['w','W']], + [], # o with tilde (estonian) + [], # a with diaeresis (estonian) + [], # o with diaeresis (estonian) + [], # u with diaeresis (estonian) +['X', ['x','X']], + [], # xh (albanian) +['Y', ['y','Y']], + [], # y preceded by apostrophe (hausa) +[@u{'Ȝ', ['ȝ','Ȝ']}], +['Z', ['z','Z']], + [], # zh (albanian) + [], # zs (hungarian) + [], # z with caron (many) + [], # z with acute (lower sorbian, polish) + [], # z with dot above (polish) +['Þ', ['þ','Þ']], +[@u{'ƿ', ['ƿ','Ƿ']}], + [], # ligature ae (danish, icelandic, norwegian) + [], # o with stroke (danish, norwegian) + [], # a with ring above (danish, norwegian, swedish) + [], # a with diaeresis (finnish, swedish) + [], # o with diaeresis (finnish, swedish) + [], # a with ring above (icelandic) +]; + +$sortcase = "Aa"; +#$sortcase = "aA"; + +$ligatures = [ +[['æ','Æ'], 'after', [['a','e'], ['A','e']]], +[['œ','Œ'], 'after', [['o','e'], ['O','e']]] +]; + +@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','','«','»','ـ', '،', '؛'); + +do 'make-rules.pl'; diff --git a/indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in new file mode 100644 index 0000000000..fe5c594262 --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/source/variant2-utf8.pl.in @@ -0,0 +1,181 @@ +#!/usr/bin/perl + +$language = "Persian"; +$variant = "Two"; +$prefix = "pe"; +$script = "arabic"; + +$alphabet = [ +['آ',['آ']], +['ا',['أ']], +['ا',['ا']], +['ب',['ب']], +['پ',['پ']], +['ت',['ت']], +['ث',['ث']], +['ج',['ج']], +['چ',['چ']], +['ح',['ح']], +['خ',['خ']], +['د',['د']], +['ذ',['ذ']], +['ر',['ر']], +['ز',['ز']], +['ژ',['ژ']], +['س',['س']], +['ش',['ش']], +['ص',['ص']], +['ض',['ض']], +['ط',['ط']], +['ظ',['ظ']], +['ع',['ع']], +['غ',['غ']], +['ف',['ف']], +['ق',['ق']], +['ک',['ک']], +['گ',['گ']], +['ل',['ل']], +['م',['م']], +['ن',['ن']], +['و',['ؤ','و']], +['ه',['ه']], +['ی',['ئ','ی']], +['A', ['a','A'],['à','À']], + [], # a with breve (romanian) + [], # a with circumflex (romanian) + [], # a with ogonek (polish) +['B', ['b','B']], + [], # b with hook (hausa) +['C', ['c','C'],['ç','Ç']], + [], # ch (spanish/traditional) + [], # cs (hungarian) + [], # c with caron (many) + [], # c with acute (croatian, lower sorbian, polish) + [], # c with circumflex (esperanto) + [], # c with cedilla (albanian, kurdish, turkish) +['D', ['d','D'],['ð','Ð']], + [], # dh (albanian) + [], # dz (hungarian) + [], # dzs (hungarian) + [], # d+z with caron (croatian) + [], # d+z with acute (upper sorbian) + [], # d with caron (slovak/large) + [], # d with stroke (croatian) + [], # d with hook (hausa) + [], # eth (icelandic) +['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']], + [], # e with caron (lower/upper sorbian) + [], # e with circumflex (kurdish) + [], # e with diaeresis (albanian) + [], # e with ogonek (polish) +['F', ['f','F']], +['G', ['g','G']], + [], # gj (albanian) + [], # gy (hungarian) + [], # g with circumflex (esperanto) + [], # g with breve (turkish) + [], # g with cedilla/comma (latvian) + [], # postpalatal fricative (gypsy/northrussian) +['H', ['h','H']], + [], # h with circumflex (esperanto) + [], # ch (many) + [], # dotless i (turkish) +['I', ['i','I'],['ï','Ï']], + [], # i with inverted breve below (gypsy/northrussian) + [], # i with circumflex (kurdish, romanian) + [], # i with diaeresis (gypsy/northrussian) +['J', ['j','J']], + [], # j with circumflex (esperanto) +['K', ['k','K']], + [], # kh (gypsy/northrussian) + [], # k with cedilla/comma (latvian) + [], # k with hook (hausa) + [], # x (gypsy/northrussian) + [], # l with stroke (lower/upper sorbian) +['L', ['l','L']], + [], # lj (croatian) + [], # ll (albanian, spanish/traditional) + [], # ly (hungarian) + [], # l with cedilla/comma (latvian) + [], # l with stroke (polish) + [], # l with caron (slovak/large) +['M', ['m','M']], +['N', ['n','N'],['ñ','Ñ']], + [], # nj (albanian, croatian) + [], # ny (hungarian) + [], # n with caron (slovak/large) + [], # n with acute (lower/upper sorbian, polish) + [], # n with tilde (spanish/modern, spanish/traditional) + [], # n with cedilla/comma (latvian) +['O', ['o','O'],['ö','Ö'],['ô','Ô']], + [], # o with acute (polish, upper sorbian) + [], # o with circumflex (vietnamese) + [], # o with horn (vietnamese) + [], # o with diaeresis (hungarian, turkish) +['P', ['p','P']], + [], # ph (gypsy/northrussian) +['Q', ['q','Q']], +['R', ['r','R']], + [], # rr (albanian) + [], # r with caron (czech, slovak/large, upper sorbian) + [], # r with acute (lower sorbian) + [], # r with cedilla/comma (latvian) +['S', ['s','S']], + [], # sh (albanian) + [], # sz (hungarian) + [], # s with caron (many) + [], # s with acute (lower sorbian, polish) + [], # s with circumflex (esperanto) + [], # s with comma below (romanian) + [], # s with cedilla (kurdish, turkish) + [], # z (estonian) + [], # z with caron (estonian) +['T', ['t','T']], + [], # th (albanian) + [], # ty (hungarian) + [], # t with caron (slovak/large) + [], # t with comma below (romanian) + [], # c with acute (upper sorbian) +['U', ['u','U']], + [], # u with breve (esperanto) + [], # u with circumflex (kurdish) + [], # u with horn (vietnamese) + [], # u with diaeresis (hungarian, turkish) +['V', ['v','V']], +['W', ['w','W']], + [], # o with tilde (estonian) + [], # a with diaeresis (estonian) + [], # o with diaeresis (estonian) + [], # u with diaeresis (estonian) +['X', ['x','X']], + [], # xh (albanian) +['Y', ['y','Y']], + [], # y preceded by apostrophe (hausa) +[@u{'Ȝ', ['ȝ','Ȝ']}], +['Z', ['z','Z']], + [], # zh (albanian) + [], # zs (hungarian) + [], # z with caron (many) + [], # z with acute (lower sorbian, polish) + [], # z with dot above (polish) +['Þ', ['þ','Þ']], +[@u{'ƿ', ['ƿ','Ƿ']}], + [], # ligature ae (danish, icelandic, norwegian) + [], # o with stroke (danish, norwegian) + [], # a with ring above (danish, norwegian, swedish) + [], # a with diaeresis (finnish, swedish) + [], # o with diaeresis (finnish, swedish) + [], # a with ring above (icelandic) +]; + +$sortcase = "Aa"; +#$sortcase = "aA"; + +$ligatures = [ +[['æ','Æ'], 'after', [['a','e'], ['A','e']]], +[['œ','Œ'], 'after', [['o','e'], ['O','e']]] +]; + +@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','','«','»','ـ', '،', '؛'); + +do 'make-rules.pl'; diff --git a/indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in new file mode 100644 index 0000000000..3f3d32c94c --- /dev/null +++ b/indexing/xindy/contrib/xindy-persian/source/variant3-utf8.pl.in @@ -0,0 +1,181 @@ +#!/usr/bin/perl + +$language = "Persian"; +$variant = "Three"; +$prefix = "pe"; +$script = "arabic"; + +$alphabet = [ +['الف',['آ']], +['الف',['أ']], +['الف',['ا']], +['ب',['ب']], +['پ',['پ']], +['ت',['ت']], +['ث',['ث']], +['ج',['ج']], +['چ',['چ']], +['ح',['ح']], +['خ',['خ']], +['د',['د']], +['ذ',['ذ']], +['ر',['ر']], +['ز',['ز']], +['ژ',['ژ']], +['س',['س']], +['ش',['ش']], +['ص',['ص']], +['ض',['ض']], +['ط',['ط']], +['ظ',['ظ']], +['ع',['ع']], +['غ',['غ']], +['ف',['ف']], +['ق',['ق']], +['ک',['ک']], +['گ',['گ']], +['ل',['ل']], +['م',['م']], +['ن',['ن']], +['و',['ؤ','و']], +['ه',['ه']], +['ی',['ئ','ی']], +['A', ['a','A'],['à','À']], + [], # a with breve (romanian) + [], # a with circumflex (romanian) + [], # a with ogonek (polish) +['B', ['b','B']], + [], # b with hook (hausa) +['C', ['c','C'],['ç','Ç']], + [], # ch (spanish/traditional) + [], # cs (hungarian) + [], # c with caron (many) + [], # c with acute (croatian, lower sorbian, polish) + [], # c with circumflex (esperanto) + [], # c with cedilla (albanian, kurdish, turkish) +['D', ['d','D'],['ð','Ð']], + [], # dh (albanian) + [], # dz (hungarian) + [], # dzs (hungarian) + [], # d+z with caron (croatian) + [], # d+z with acute (upper sorbian) + [], # d with caron (slovak/large) + [], # d with stroke (croatian) + [], # d with hook (hausa) + [], # eth (icelandic) +['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']], + [], # e with caron (lower/upper sorbian) + [], # e with circumflex (kurdish) + [], # e with diaeresis (albanian) + [], # e with ogonek (polish) +['F', ['f','F']], +['G', ['g','G']], + [], # gj (albanian) + [], # gy (hungarian) + [], # g with circumflex (esperanto) + [], # g with breve (turkish) + [], # g with cedilla/comma (latvian) + [], # postpalatal fricative (gypsy/northrussian) +['H', ['h','H']], + [], # h with circumflex (esperanto) + [], # ch (many) + [], # dotless i (turkish) +['I', ['i','I'],['ï','Ï']], + [], # i with inverted breve below (gypsy/northrussian) + [], # i with circumflex (kurdish, romanian) + [], # i with diaeresis (gypsy/northrussian) +['J', ['j','J']], + [], # j with circumflex (esperanto) +['K', ['k','K']], + [], # kh (gypsy/northrussian) + [], # k with cedilla/comma (latvian) + [], # k with hook (hausa) + [], # x (gypsy/northrussian) + [], # l with stroke (lower/upper sorbian) +['L', ['l','L']], + [], # lj (croatian) + [], # ll (albanian, spanish/traditional) + [], # ly (hungarian) + [], # l with cedilla/comma (latvian) + [], # l with stroke (polish) + [], # l with caron (slovak/large) +['M', ['m','M']], +['N', ['n','N'],['ñ','Ñ']], + [], # nj (albanian, croatian) + [], # ny (hungarian) + [], # n with caron (slovak/large) + [], # n with acute (lower/upper sorbian, polish) + [], # n with tilde (spanish/modern, spanish/traditional) + [], # n with cedilla/comma (latvian) +['O', ['o','O'],['ö','Ö'],['ô','Ô']], + [], # o with acute (polish, upper sorbian) + [], # o with circumflex (vietnamese) + [], # o with horn (vietnamese) + [], # o with diaeresis (hungarian, turkish) +['P', ['p','P']], + [], # ph (gypsy/northrussian) +['Q', ['q','Q']], +['R', ['r','R']], + [], # rr (albanian) + [], # r with caron (czech, slovak/large, upper sorbian) + [], # r with acute (lower sorbian) + [], # r with cedilla/comma (latvian) +['S', ['s','S']], + [], # sh (albanian) + [], # sz (hungarian) + [], # s with caron (many) + [], # s with acute (lower sorbian, polish) + [], # s with circumflex (esperanto) + [], # s with comma below (romanian) + [], # s with cedilla (kurdish, turkish) + [], # z (estonian) + [], # z with caron (estonian) +['T', ['t','T']], + [], # th (albanian) + [], # ty (hungarian) + [], # t with caron (slovak/large) + [], # t with comma below (romanian) + [], # c with acute (upper sorbian) +['U', ['u','U']], + [], # u with breve (esperanto) + [], # u with circumflex (kurdish) + [], # u with horn (vietnamese) + [], # u with diaeresis (hungarian, turkish) +['V', ['v','V']], +['W', ['w','W']], + [], # o with tilde (estonian) + [], # a with diaeresis (estonian) + [], # o with diaeresis (estonian) + [], # u with diaeresis (estonian) +['X', ['x','X']], + [], # xh (albanian) +['Y', ['y','Y']], + [], # y preceded by apostrophe (hausa) +[@u{'Ȝ', ['ȝ','Ȝ']}], +['Z', ['z','Z']], + [], # zh (albanian) + [], # zs (hungarian) + [], # z with caron (many) + [], # z with acute (lower sorbian, polish) + [], # z with dot above (polish) +['Þ', ['þ','Þ']], +[@u{'ƿ', ['ƿ','Ƿ']}], + [], # ligature ae (danish, icelandic, norwegian) + [], # o with stroke (danish, norwegian) + [], # a with ring above (danish, norwegian, swedish) + [], # a with diaeresis (finnish, swedish) + [], # o with diaeresis (finnish, swedish) + [], # a with ring above (icelandic) +]; + +$sortcase = "Aa"; +#$sortcase = "aA"; + +$ligatures = [ +[['æ','Æ'], 'after', [['a','e'], ['A','e']]], +[['œ','Œ'], 'after', [['o','e'], ['O','e']]] +]; + +@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','','«','»','ـ', '،', '؛'); + +do 'make-rules.pl'; diff --git a/indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in deleted file mode 100644 index 9d14f9f37c..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant1-utf8.pl.in +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/perl - -$language = "Persian"; -$variant = "One"; -$prefix = "pe"; -$script = "arabic"; - -$alphabet = [ -['ا',['آ']], -['ا',['أ']], -['ا',['ا']], -['ب',['ب']], -['پ',['پ']], -['ت',['ت']], -['ث',['ث']], -['ج',['ج']], -['چ',['چ']], -['ح',['ح']], -['خ',['خ']], -['د',['د']], -['ذ',['ذ']], -['ر',['ر']], -['ز',['ز']], -['ژ',['ژ']], -['س',['س']], -['ش',['ش']], -['ص',['ص']], -['ض',['ض']], -['ط',['ط']], -['ظ',['ظ']], -['ع',['ع']], -['غ',['غ']], -['ف',['ف']], -['ق',['ق']], -['ک',['ک']], -['گ',['گ']], -['ل',['ل']], -['م',['م']], -['ن',['ن']], -['و',['ؤ','و']], -['ه',['ه']], -['ی',['ئ','ی']], -['A', ['a','A'],['à','À']], -['B', ['b','B']], -['C', ['c','C'],['ç','Ç']], -['D', ['d','D'],['ð','Ð']], -['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']], -['F', ['f','F']], -['G', ['g','G']], -['H', ['h','H']], -['I', ['i','I'],['ï','Ï']], -['J', ['j','J']], -['K', ['k','K']], -['L', ['l','L']], -['M', ['m','M']], -['N', ['n','N'],['ñ','Ñ']], -['O', ['o','O'],['ö','Ö'],['ô','Ô']], -['P', ['p','P']], -['Q', ['q','Q']], -['R', ['r','R']], -['S', ['s','S']], -['T', ['t','T']], -['U', ['u','U']], -['V', ['v','V']], -['W', ['w','W']], -['X', ['x','X']], -['Y', ['y','Y']], -['Z', ['z','Z']], -['Þ', ['þ','Þ']], -]; - -$sortcase = "Aa"; -#$sortcase = "aA"; - -$ligatures = [ -[['æ','Æ'], 'after', [['a','e'], ['A','e']]], -[['œ','Œ'], 'after', [['o','e'], ['O','e']]] -]; - -@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','','«','»','ـ'); - -do 'make-rules.pl'; diff --git a/indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in deleted file mode 100644 index 9c7fdfaa29..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant2-utf8.pl.in +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/perl - -$language = "Persian"; -$variant = "Two"; -$prefix = "pe"; -$script = "arabic"; - -$alphabet = [ -['آ',['آ']], -['ا',['أ']], -['ا',['ا']], -['ب',['ب']], -['پ',['پ']], -['ت',['ت']], -['ث',['ث']], -['ج',['ج']], -['چ',['چ']], -['ح',['ح']], -['خ',['خ']], -['د',['د']], -['ذ',['ذ']], -['ر',['ر']], -['ز',['ز']], -['ژ',['ژ']], -['س',['س']], -['ش',['ش']], -['ص',['ص']], -['ض',['ض']], -['ط',['ط']], -['ظ',['ظ']], -['ع',['ع']], -['غ',['غ']], -['ف',['ف']], -['ق',['ق']], -['ک',['ک']], -['گ',['گ']], -['ل',['ل']], -['م',['م']], -['ن',['ن']], -['و',['ؤ','و']], -['ه',['ه']], -['ی',['ئ','ی']], -['A', ['a','A'],['à','À']], -['B', ['b','B']], -['C', ['c','C'],['ç','Ç']], -['D', ['d','D'],['ð','Ð']], -['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']], -['F', ['f','F']], -['G', ['g','G']], -['H', ['h','H']], -['I', ['i','I'],['ï','Ï']], -['J', ['j','J']], -['K', ['k','K']], -['L', ['l','L']], -['M', ['m','M']], -['N', ['n','N'],['ñ','Ñ']], -['O', ['o','O'],['ö','Ö'],['ô','Ô']], -['P', ['p','P']], -['Q', ['q','Q']], -['R', ['r','R']], -['S', ['s','S']], -['T', ['t','T']], -['U', ['u','U']], -['V', ['v','V']], -['W', ['w','W']], -['X', ['x','X']], -['Y', ['y','Y']], -['Z', ['z','Z']], -['Þ', ['þ','Þ']], -]; - -$sortcase = "Aa"; -#$sortcase = "aA"; - -$ligatures = [ -[['æ','Æ'], 'after', [['a','e'], ['A','e']]], -[['œ','Œ'], 'after', [['o','e'], ['O','e']]] -]; - -@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','','«','»','ـ'); - -do 'make-rules.pl'; diff --git a/indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in b/indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in deleted file mode 100644 index 4f4d091451..0000000000 --- a/indexing/xindy/contrib/xindy-persian/variant3-utf8.pl.in +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/perl - -$language = "Persian"; -$variant = "Three"; -$prefix = "pe"; -$script = "arabic"; - -$alphabet = [ -['الف',['آ']], -['الف',['أ']], -['الف',['ا']], -['ب',['ب']], -['پ',['پ']], -['ت',['ت']], -['ث',['ث']], -['ج',['ج']], -['چ',['چ']], -['ح',['ح']], -['خ',['خ']], -['د',['د']], -['ذ',['ذ']], -['ر',['ر']], -['ز',['ز']], -['ژ',['ژ']], -['س',['س']], -['ش',['ش']], -['ص',['ص']], -['ض',['ض']], -['ط',['ط']], -['ظ',['ظ']], -['ع',['ع']], -['غ',['غ']], -['ف',['ف']], -['ق',['ق']], -['ک',['ک']], -['گ',['گ']], -['ل',['ل']], -['م',['م']], -['ن',['ن']], -['و',['ؤ','و']], -['ه',['ه']], -['ی',['ئ','ی']], -['A', ['a','A'],['à','À']], -['B', ['b','B']], -['C', ['c','C'],['ç','Ç']], -['D', ['d','D'],['ð','Ð']], -['E', ['e','E'],['é','É'],['è','È'],['ë','Ë'],['ê','Ê']], -['F', ['f','F']], -['G', ['g','G']], -['H', ['h','H']], -['I', ['i','I'],['ï','Ï']], -['J', ['j','J']], -['K', ['k','K']], -['L', ['l','L']], -['M', ['m','M']], -['N', ['n','N'],['ñ','Ñ']], -['O', ['o','O'],['ö','Ö'],['ô','Ô']], -['P', ['p','P']], -['Q', ['q','Q']], -['R', ['r','R']], -['S', ['s','S']], -['T', ['t','T']], -['U', ['u','U']], -['V', ['v','V']], -['W', ['w','W']], -['X', ['x','X']], -['Y', ['y','Y']], -['Z', ['z','Z']], -['Þ', ['þ','Þ']], -]; - -$sortcase = "Aa"; -#$sortcase = "aA"; - -$ligatures = [ -[['æ','Æ'], 'after', [['a','e'], ['A','e']]], -[['œ','Œ'], 'after', [['o','e'], ['O','e']]] -]; - -@special = ('?', '!', '.', 'letters', '-', '\'', '{', '}','ّ','َ','ِ','ُ','ً','ٍ','ٌ','ْ','ٔ','ء','','«','»','ـ'); - -do 'make-rules.pl'; |