From 4ae9ee3197f4d1686ee6761818e365fd03544bd3 Mon Sep 17 00:00:00 2001 From: Takuji Tanaka Date: Sat, 17 Sep 2022 13:22:22 +0000 Subject: upmendex: Fix a bug on Thai words git-svn-id: svn://tug.org/texlive/trunk@64420 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/upmendex/ChangeLog | 5 +++++ Build/source/texk/upmendex/fwrite.c | 11 ++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Build/source/texk/upmendex/ChangeLog b/Build/source/texk/upmendex/ChangeLog index 083e393613e..752a08a0c99 100644 --- a/Build/source/texk/upmendex/ChangeLog +++ b/Build/source/texk/upmendex/ChangeLog @@ -1,3 +1,8 @@ +2022-09-17 TANAKA Takuji + + * fwrite.c: + Fix a bug on Thai words started with vowel followed by consonant. + 2022-09-11 TANAKA Takuji * version 1.03 Stable version. diff --git a/Build/source/texk/upmendex/fwrite.c b/Build/source/texk/upmendex/fwrite.c index ae5e91e808b..bd8aebb5268 100644 --- a/Build/source/texk/upmendex/fwrite.c +++ b/Build/source/texk/upmendex/fwrite.c @@ -927,11 +927,20 @@ static void index_normalize(UChar *istr, UChar *ini, int *chset) u_strcpy(ini,hz_index[lo-1].idx); return; } + else if (is_thai(&ch)) { + if (istr[0]>=0x0E2F && (istr[1]>0x0E00 && istr[1]<0x0E2F)) { + /* Vowel followed by Consonant */ + ini[0]=istr[1]; + } else { + ini[0]=istr[0]; + } + return; + } else if (is_devanagari(istr)==2) { ini[0]=istr[0]; ini[1]=istr[1]; ini[2]=L'\0'; return; } - else if (is_devanagari(&ch)||is_thai(&ch)||is_arabic(&ch)||is_hebrew(&ch)) { + else if (is_devanagari(&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 */ -- cgit v1.2.3