summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/texk/upmendex/ChangeLog14
-rwxr-xr-xBuild/source/texk/upmendex/configure22
-rw-r--r--Build/source/texk/upmendex/configure.ac2
-rw-r--r--Build/source/texk/upmendex/fwrite.c32
-rw-r--r--Build/source/texk/upmendex/sort.c35
5 files changed, 80 insertions, 25 deletions
diff --git a/Build/source/texk/upmendex/ChangeLog b/Build/source/texk/upmendex/ChangeLog
index c701226b534..992f47194d6 100644
--- a/Build/source/texk/upmendex/ChangeLog
+++ b/Build/source/texk/upmendex/ChangeLog
@@ -1,3 +1,17 @@
+2022-09-04 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * version 1.02 Stable version.
+ * configure.ac: Bump version.
+ * fwrite.c:
+ Support U+1B132, U+1B155 Hiragana/Katakana Letter Small Ko.
+ They have not been supported yet but will be supported in ICU collator.
+ Support U+0626 Arabic Letter Yeh with Hamza Above for Uyghur.
+ Support U+0149 Latin Small Letter N Preceded By Apostrophe for Afrikaans.
+ Support digraphs dd, ff, ng, ph, rh for Welsh.
+ * sort.c: Add Latin Extended-F and -G.
+ Add CJK Unified Ideograph Extension H, Cyrillic Extended-D,
+ Devanagari Extended-A and Arabic Extended-C in Unicode 15.0.
+
2022-09-02 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* main.c:
diff --git a/Build/source/texk/upmendex/configure b/Build/source/texk/upmendex/configure
index 66ca5cbaec5..c7e2bba9173 100755
--- a/Build/source/texk/upmendex/configure
+++ b/Build/source/texk/upmendex/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for upmendex (TeX Live) 1.01.
+# Generated by GNU Autoconf 2.71 for upmendex (TeX Live) 1.02.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -626,8 +626,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='upmendex (TeX Live)'
PACKAGE_TARNAME='upmendex--tex-live-'
-PACKAGE_VERSION='1.01'
-PACKAGE_STRING='upmendex (TeX Live) 1.01'
+PACKAGE_VERSION='1.02'
+PACKAGE_STRING='upmendex (TeX Live) 1.02'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1390,7 +1390,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) 1.01 to adapt to many kinds of systems.
+\`configure' configures upmendex (TeX Live) 1.02 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1462,7 +1462,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of upmendex (TeX Live) 1.01:";;
+ short | recursive ) echo "Configuration of upmendex (TeX Live) 1.02:";;
esac
cat <<\_ACEOF
@@ -1587,7 +1587,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-upmendex (TeX Live) configure 1.01
+upmendex (TeX Live) configure 1.02
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2268,7 +2268,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 1.01, which was
+It was created by upmendex (TeX Live) $as_me 1.02, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -8806,7 +8806,7 @@ fi
# Define the identity of the package.
PACKAGE='upmendex--tex-live-'
- VERSION='1.01'
+ VERSION='1.02'
# Some tools Automake needs.
@@ -18942,7 +18942,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-upmendex (TeX Live) config.lt 1.01
+upmendex (TeX Live) config.lt 1.02
configured by $0, generated by GNU Autoconf 2.71.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -21114,7 +21114,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 1.01, which was
+This file was extended by upmendex (TeX Live) $as_me 1.02, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21182,7 +21182,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-upmendex (TeX Live) config.status 1.01
+upmendex (TeX Live) config.status 1.02
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/upmendex/configure.ac b/Build/source/texk/upmendex/configure.ac
index bbf8fd9157d..0455b889478 100644
--- a/Build/source/texk/upmendex/configure.ac
+++ b/Build/source/texk/upmendex/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)],[1.01])
+AC_INIT([upmendex (TeX Live)],[1.02])
AC_PREREQ([2.71])
AC_CONFIG_SRCDIR([main.c])
AC_CONFIG_AUX_DIR([../../build-aux])
diff --git a/Build/source/texk/upmendex/fwrite.c b/Build/source/texk/upmendex/fwrite.c
index bfbc14dbb9d..79d2be49a1a 100644
--- a/Build/source/texk/upmendex/fwrite.c
+++ b/Build/source/texk/upmendex/fwrite.c
@@ -812,6 +812,8 @@ static void index_normalize(UChar *istr, UChar *ini, int *chset)
ini[0]=0x307B; break; /* ほ */
case 0x1B000: /* 𛀀 */
ini[0]=0x3048; break; /* え */
+ case 0x1B132: case 0x1B155:
+ ini[0]=0x3053; break; /* こ */
case 0x1B150: case 0x1B164:
ini[0]=0x3090; break; /* ゐ */
case 0x1B151: case 0x1B165:
@@ -908,6 +910,15 @@ static void index_normalize(UChar *istr, UChar *ini, int *chset)
return;
}
else if (is_devanagari(&ch)||is_thai(&ch)||is_arabic(&ch)||is_hebrew(&ch)) {
+ if (ch==0x626) { /* Arabic Letter Yeh with Hamza Above for Uyghur */
+ strY[0]=0x626; strY[1]=L'\0'; /* Yeh with Hamza Above */
+ strZ[0]=0x628; strZ[1]=L'\0'; /* Beh */
+ order = ucol_strcoll(icu_collator, strZ, -1, strY, -1);
+ if (order==UCOL_LESS) {
+ ini[0]=strY[0]; ini[1]=strY[1];
+ return;
+ }
+ }
if (ch==0x929||ch==0x931||ch==0x934||(0x958<=ch&&ch<=0x95F) /* Devanagary */
||(0x622<=ch&&ch<=0x626)||ch==0x6C0||ch==0x6C2||ch==0x6D3 /* Arabic */
||(0xFB50<=ch&&ch<=0xFDFF) /* Arabic Presentation Forms-A */
@@ -958,7 +969,7 @@ static void index_normalize(UChar *istr, UChar *ini, int *chset)
}
}
if (ch==0x0C6||ch==0x0E6||ch==0x152||ch==0x153||ch==0x132||ch==0x133
- ||ch==0x0DF||ch==0x1E9E||ch==0x13F||ch==0x140||ch==0x490||ch==0x491) {
+ ||ch==0x0DF||ch==0x1E9E||ch==0x13F||ch==0x140||ch==0x149||ch==0x490||ch==0x491) {
strX[0] = u_toupper(ch); strX[1] = 0x00; /* ex. "Æ" "Œ" */
switch (ch) {
case 0x0C6: case 0x0E6: /* Æ æ */
@@ -974,6 +985,8 @@ static void index_normalize(UChar *istr, UChar *ini, int *chset)
strZ[0] = 0x49; break; /* I */
case 0x13F: case 0x140: /* Ŀ ŀ */
strZ[0] = 0x4C; break; /* L */
+ case 0x149: /* ʼn */
+ strZ[0] = 0x4E; break; /* N */
case 0x490: case 0x491: /* Ґ ґ */
strZ[0] = 0x413; break; /* Г */
}
@@ -1041,9 +1054,22 @@ static void index_normalize(UChar *istr, UChar *ini, int *chset)
}
}
}
+ /* NG for Welsh */
+ if (strX[0]==0x4E && strX[1]==0x47) { /* NG */
+ strY[0]=0x4E; strY[1]=L'\0'; /* N */
+ strZ[0]=0x4E; strZ[1]=0x47; strZ[2]=0x5A; strZ[3]=L'\0'; /* NGZ */
+ order = ucol_strcoll(icu_collator, strZ, -1, strY, -1);
+ if (order==UCOL_LESS) {
+ ini[0]=strX[0]; ini[1]=strX[1]; /* NG */
+ ini[2]=L'\0';
+ return;
+ }
+ }
/* other digraphs */
- if(((strX[0]==0x43 || strX[0]==0x44 || strX[0]==0x53 || strX[0]==0x54 || strX[0]==0x58 || strX[0]==0x5A)
- && strX[1]==0x48) || /* CH DH SH TH XH ZH */
+ if(((strX[0]==0x43 || strX[0]==0x44 || strX[0]==0x50 || strX[0]==0x52 || strX[0]==0x53 || strX[0]==0x54 ||
+ strX[0]==0x58 || strX[0]==0x5A) && strX[1]==0x48) || /* CH DH PH RH SH TH XH ZH */
+ (strX[0]==0x44 && strX[1]==0x44) || /* DD */
+ (strX[0]==0x46 && strX[1]==0x46) || /* FF */
(strX[0]==0x4C && strX[1]==0x4C) || /* LL */
((strX[0]==0x47 || strX[0]==0x4C || strX[0]==0x4E) && strX[1]==0x4A) || /* GJ LJ NJ */
(strX[0]==0x52 && strX[1]==0x52) || /* RR */
diff --git a/Build/source/texk/upmendex/sort.c b/Build/source/texk/upmendex/sort.c
index bcecd765cf4..94716fc764f 100644
--- a/Build/source/texk/upmendex/sort.c
+++ b/Build/source/texk/upmendex/sort.c
@@ -415,8 +415,6 @@ static int unescape(const unsigned char *src, UChar *dest)
int is_latin(UChar *c)
{
- UChar32 c32;
-
if (((*c>=L'A')&&(*c<=L'Z'))||((*c>=L'a')&&(*c<=L'z'))) return 1;
else if ((*c==0x00AA)||(*c==0x00BA)) return 1; /* Latin-1 Supplement */
else if ((*c>=0x00C0)&&(*c<=0x00D6)) return 1;
@@ -436,6 +434,7 @@ int is_latin(UChar *c)
&&(*c<=0x24E9)) return 1; /* CIRCLED LATIN SMALL LETTER */
if (is_surrogate_pair(c)) {
+ UChar32 c32;
c32=U16_GET_SUPPLEMENTARY(*c,*(c+1));
if ((c32>=0x10780) && (c32<=0x107BF)) return 2; /* Latin Extended-F */
else if ((c32>=0x1DF00) && (c32<=0x1DFFF)) return 2; /* Latin Extended-G */
@@ -471,8 +470,6 @@ int is_numeric(UChar *c)
int is_jpn_kana(UChar *c)
{
- UChar32 c32;
-
if (*c==0x30A0) return 0; /* KATAKANA-HIRAGANA DOUBLE HYPHEN */
else if (*c==0x30FB) return 0; /* KATAKANA MIDDLE DOT */
else if ((*c>=0x3040)&&(*c<=0x30FF)) return 1; /* Hiragana, Katakana */
@@ -482,6 +479,7 @@ int is_jpn_kana(UChar *c)
else if ((*c>=0x3300)&&(*c<=0x3357)) return 1; /* Squared Katakana words */
if (is_surrogate_pair(c)) {
+ UChar32 c32;
c32=U16_GET_SUPPLEMENTARY(*c,*(c+1));
if ((c32>=0x1B130) && (c32<=0x1B16F)) return 2; /* Small Kana Extensions */
else if ((c32==0x1B000)) return 2; /* KATAKANA LETTER ARCHAIC E */
@@ -507,8 +505,6 @@ int is_kor_hngl(UChar *c)
int is_hanzi(UChar *c)
{
- UChar32 c32;
-
if ((*c>=0x2E80) /* CJK Radicals Supplement */
&&(*c<=0x2FDF)) return 1; /* Kangxi Radicals */
else if ((*c>=0x31C0)&&(*c<=0x31EF)) return 1; /* CJK Strokes */
@@ -518,10 +514,11 @@ int is_hanzi(UChar *c)
else if ((*c>=0xF900)&&(*c<=0xFAFF)) return 1; /* CJK Compatibility Ideographs */
if (is_surrogate_pair(c)) {
+ UChar32 c32;
c32=U16_GET_SUPPLEMENTARY(*c,*(c+1));
if ((c32>=0x20000) && /* CJK Unified Ideographs Extension B,C,D,E,F */
/* CJK Compatibility Ideographs Supplement */
- (c32<=0x3134F)) return 2; /* CJK Unified Ideographs Extension G */
+ (c32<=0x323AF)) return 2; /* CJK Unified Ideographs Extension G,H */
}
return 0;
}
@@ -541,7 +538,13 @@ int is_cyrillic(UChar *c)
else if ((*c>=0x1C80)&&(*c<=0x1C8F)) return 1; /* Cyrillic Extended-C */
else if ((*c>=0x2DE0)&&(*c<=0x2DFF)) return 1; /* Cyrillic Extended-A */
else if ((*c>=0xA640)&&(*c<=0xA69F)) return 1; /* Cyrillic Extended-B */
- else return 0;
+
+ if (is_surrogate_pair(c)) {
+ UChar32 c32;
+ c32=U16_GET_SUPPLEMENTARY(*c,*(c+1));
+ if ((c32>=0x1E030) && (c32<=0x1E08F)) return 2; /* Cyrillic Extended-D */
+ }
+ return 0;
}
int is_greek(UChar *c)
@@ -558,7 +561,13 @@ int is_devanagari(UChar *c)
&&(*c<=0x096F)) return 0; /* Devanagari Digit */
else if ((*c>=0x0900)&&(*c<=0x097F)) return 1; /* Devanagari */
else if ((*c>=0xA8E0)&&(*c<=0xA8FF)) return 1; /* Devanagari Extended */
- else return 0;
+
+ if (is_surrogate_pair(c)) {
+ UChar32 c32;
+ c32=U16_GET_SUPPLEMENTARY(*c,*(c+1));
+ if ((c32>=0x11B00) && (c32<=0x11B5F)) return 2; /* Devanagari Extended-A */
+ }
+ return 0;
}
int is_thai(UChar *c)
@@ -600,7 +609,13 @@ int is_arabic(UChar *c)
&&(*c<=0x08FF)) return 1; /* Arabic Extended-A */
else if ((*c>=0xFB50)&&(*c<=0xFDFF)) return 1; /* Arabic Presentation Forms-A */
else if ((*c>=0xFE70)&&(*c<=0xFEFF)) return 1; /* Arabic Presentation Forms-B */
- else return 0;
+
+ if (is_surrogate_pair(c)) {
+ UChar32 c32;
+ c32=U16_GET_SUPPLEMENTARY(*c,*(c+1));
+ if ((c32>=0x10EC0) && (c32<=0x10EFF)) return 2; /* Arabic Extended-C */
+ }
+ return 0;
}
int is_hebrew(UChar *c)