From patchwork Tue Jul 25 16:48:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mike FABIAN X-Patchwork-Id: 1812758 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=server2.sourceware.org; envelope-from=libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=HbCIDdlX; dkim-atps=neutral Received: from server2.sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4R9NK41gN5z1ydq for ; Wed, 26 Jul 2023 02:48:56 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E7879385AFB2 for ; Tue, 25 Jul 2023 16:48:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E7879385AFB2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1690303733; bh=8DLknz8tMN+k48bGpdQSwrsA3n5rfPnf4X/d9iYXH2o=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=HbCIDdlXpoeBZSvOzWiF5s4zMtSupxdHMyPbGnYnAPLyTLuobvcOf8NttUSlB21oE +9onCMQ21wAuwJ9GKDR6WwUw7Q7+royLz2cmPKJOpYoxL9qYE2NYgMA/iMs7hCGe+C a6+HMYcocB0gu3WIA/p1TxwLZ0bBSTeA87xs0xHo= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 7B0953858280 for ; Tue, 25 Jul 2023 16:48:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7B0953858280 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-37-hnXOIkNxMNiWAD3wh-OPqQ-1; Tue, 25 Jul 2023 12:48:24 -0400 X-MC-Unique: hnXOIkNxMNiWAD3wh-OPqQ-1 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-3fd2d331e1eso15164565e9.3 for ; Tue, 25 Jul 2023 09:48:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690303702; x=1690908502; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8DLknz8tMN+k48bGpdQSwrsA3n5rfPnf4X/d9iYXH2o=; b=VcGT4ym3iRSryTzg9JnyA2bL7KMU3KfSPzz4l680Wbysy2j12zLt8+lBmesRKn/0nJ bTpb1r6IBE2DC8UeifZhRsv4ulEbthtziTifafXsbbSZY/RhAWr6q9Ycf28DjyjCWRoz klm6aCGMR7yGbQi/91PzGSgoJS2IvdbrZpQ4GF3X1/F/LPhsw+clR4z6Dwc2wwc7r/OD vCg5mAPEOdxuYGY+ZbJHxRIqTA5Mm+KgIZaan3IAcrtNCzLPHlqCYNfRXStCcCZZsiup texwhKP/9mW4oM8VGtKZ8b1dbPYku0iC0rdsncpQs0RdQR8/UX/yEKw3YWCYlEfbQ2+n K0nA== X-Gm-Message-State: ABy/qLa5wI7V0XEU7CMb+0i+lKBUNRgPfBDHe6Mcys66bjeWWHx++i5l FiAkTYQPUcMhbiLE9/UZZJ+Du8wPbcd0rNA3EBpRwLKAX81XoZVmoIGtp5ZLdg4mJJwdYy8Qa2M nwKkg+pSgCTKt0HdUAK8NoUZrPT4= X-Received: by 2002:a05:600c:2158:b0:3fc:2dfb:3cd3 with SMTP id v24-20020a05600c215800b003fc2dfb3cd3mr9464120wml.41.1690303701911; Tue, 25 Jul 2023 09:48:21 -0700 (PDT) X-Google-Smtp-Source: APBJJlHPY/SEFzn1wv1bcXQUfksPSEmIMn0flVnBIC3rpjZJSJEEya+I59sXJzK+TuQUzld/3lxI9w== X-Received: by 2002:a05:600c:2158:b0:3fc:2dfb:3cd3 with SMTP id v24-20020a05600c215800b003fc2dfb3cd3mr9464098wml.41.1690303701390; Tue, 25 Jul 2023 09:48:21 -0700 (PDT) Received: from hathi.site (p200300efa7383400de78c06a7fee1f3e.dip0.t-ipconnect.de. [2003:ef:a738:3400:de78:c06a:7fee:1f3e]) by smtp.gmail.com with ESMTPSA id v4-20020adff684000000b0031431fb40fasm16977813wrp.89.2023.07.25.09.48.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Jul 2023 09:48:20 -0700 (PDT) Received: by hathi.site (Postfix, from userid 10030) id 3D9AD860B1; Tue, 25 Jul 2023 18:48:20 +0200 (CEST) To: libc-alpha@sourceware.org Cc: Mike FABIAN Subject: [PATCH 1/2] Adapt collation in th_TH locale to use the iso14651_t1_common file and sync the collation with CLDR Date: Tue, 25 Jul 2023 18:48:11 +0200 Message-ID: <20230725164811.1961209-1-mfabian@redhat.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, BODY_8BITS, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Mike FABIAN via Libc-alpha From: Mike FABIAN Reply-To: Mike FABIAN Errors-To: libc-alpha-bounces+incoming=patchwork.ozlabs.org@sourceware.org Sender: "Libc-alpha" I made it to agree as much as possible with the rules from CLDR (see: https://github.com/unicode-org/cldr/blob/main/common/collation/th.xml). It seems to be impossible to follow the CLDR rules &[before 1]๚<ฯ # should be "variable" and &๛<ๆ # should be "variable" exactly though. These ask for a primary difference in punctuation characters whose primary weight should be "IGNORE". But using a secondary differnence instead still sorts the test data correctly and the previously used collation in th_TH used tertiary differences for these characters. There was old localedata/th_TH.in test data in TIS-620 encoding which was not used (it was not in the localedata/Makefile). I converted this to UTF-8 and moved it to localedata/th_TH.UTF-8.in and added it to localedata/Makefile. Using the existing collation rules in the th_TH locale did not sort that test file completely correct, I think my new collation rules based on iso14651_t1 are better. --- localedata/Makefile | 2 + localedata/locales/th_TH | 828 ++++---------------------------------- localedata/th_TH.UTF-8.in | 163 ++++++++ 3 files changed, 252 insertions(+), 741 deletions(-) create mode 100644 localedata/th_TH.UTF-8.in diff --git a/localedata/Makefile b/localedata/Makefile index 3619b6d47e..0fdbaae563 100644 --- a/localedata/Makefile +++ b/localedata/Makefile @@ -111,6 +111,7 @@ test-input := \ syr.UTF-8 \ szl_PL.UTF-8 \ tg_TJ.UTF-8 \ + th_TH.UTF-8 \ tk_TM.UTF-8 \ tr_TR.UTF-8 \ tt_RU.UTF-8 \ @@ -303,6 +304,7 @@ LOCALES := \ syr.UTF-8 \ szl_PL.UTF-8 \ tg_TJ.UTF-8 \ + th_TH.UTF-8 \ tk_TM.UTF-8 \ tr_TR.ISO-8859-9 \ tr_TR.UTF-8 \ diff --git a/localedata/locales/th_TH b/localedata/locales/th_TH index 7a10376e80..f97b6bdcb4 100644 --- a/localedata/locales/th_TH +++ b/localedata/locales/th_TH @@ -62,750 +62,96 @@ END LC_CTYPE LC_COLLATE -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" -collating-element from "" - -collating-symbol -collating-symbol -collating-symbol -collating-symbol -collating-symbol - -order_start forward;forward;forward;forward - -% definitions of extra collating symbols - - - - - - -UNDEFINED IGNORE;IGNORE;IGNORE;IGNORE - -% punctuation marks, ordered after ISO/IEC 14651 - IGNORE;IGNORE;;IGNORE % SPACE - IGNORE;IGNORE;;IGNORE % LOW LINE - IGNORE;IGNORE;;IGNORE % HYPHEN-MINUS - IGNORE;IGNORE;;IGNORE % COMMA - IGNORE;IGNORE;;IGNORE % SEMICOLON - IGNORE;IGNORE;;IGNORE % COLON - IGNORE;IGNORE;;IGNORE % EXCLAMATION MARK - IGNORE;IGNORE;;IGNORE % QUESTION MARK - IGNORE;IGNORE;;IGNORE % SOLIDUS - IGNORE;IGNORE;;IGNORE % FULL STOP - IGNORE;IGNORE;;IGNORE % THAI CHARACTER PAIYANNOI - IGNORE;IGNORE;;IGNORE % THAI CHARACTER MAIYAMOK - IGNORE;IGNORE;;IGNORE % GRAVE ACCENT - IGNORE;IGNORE;;IGNORE % CIRCUMFLEX - IGNORE;IGNORE;;IGNORE % TILDE - IGNORE;IGNORE;;IGNORE % APOSTROPHE - IGNORE;IGNORE;;IGNORE % QUOTATION MARK - IGNORE;IGNORE;;IGNORE % LEFT PAREN. - IGNORE;IGNORE;;IGNORE % LT BRACKET - IGNORE;IGNORE;;IGNORE % LEFT CURLY BRACKET - IGNORE;IGNORE;;IGNORE % RIGHT CURLY BRACKET - IGNORE;IGNORE;;IGNORE % RT BRACKET - IGNORE;IGNORE;;IGNORE % RIGHT PAREN. - IGNORE;IGNORE;;IGNORE % COMMERCIAL AT - IGNORE;IGNORE;;IGNORE % THAI CHARACTER SYMBOL BAHT - IGNORE;IGNORE;;IGNORE % DOLLAR SIGN - IGNORE;IGNORE;;IGNORE % THAI CHARACTER FONGMAN - IGNORE;IGNORE;;IGNORE % THAI CHARACTER ANGKHANKHU - IGNORE;IGNORE;;IGNORE % THAI CHARACTER KHOMUT - IGNORE;IGNORE;;IGNORE % ASTERISK - IGNORE;IGNORE;;IGNORE % BACK SOLIDUS - IGNORE;IGNORE;;IGNORE % AMPERSAND - IGNORE;IGNORE;;IGNORE % NUMBER SIGN - IGNORE;IGNORE;;IGNORE % PERCENT - IGNORE;IGNORE;;IGNORE % PLUS - IGNORE;IGNORE;;IGNORE % LESS THAN - IGNORE;IGNORE;;IGNORE % EQUAL - IGNORE;IGNORE;;IGNORE % GREATER THAN - IGNORE;IGNORE;;IGNORE % VERTICAL LINE - -% Thai tone marks and diacritics - IGNORE;;; % THAI CHARACTER YAMAKKAN - IGNORE;;; % THAI CHARACTER PINTHU - IGNORE;;; % THAI CHARACTER THANTHAKHAT - IGNORE;;; % THAI CHARACTER MAITAIKHU - IGNORE;;; % THAI CHARACTER MAI EK - IGNORE;;; % THAI CHARACTER MAI THO - IGNORE;;; % THAI CHARACTER MAI TRI - IGNORE;;; % THAI CHARACTER MAI CHATTAWA - -% Arabic and Thai decimal digits - ;;; % DIGIT ZERO - ;;; % THAI DIGIT ZERO - ;;; % DIGIT ONE - ;;; % THAI DIGIT ONE - ;;; % DIGIT TWO - ;;; % THAI DIGIT TWO - ;;; % DIGIT THREE - ;;; % THAI DIGIT THREE - ;;; % DIGIT FOUR - ;;; % THAI DIGIT FOUR - ;;; % DIGIT FIVE - ;;; % THAI DIGIT FIVE - ;;; % DIGIT SIX - ;;; % THAI DIGIT SIX - ;;; % DIGIT SEVEN - ;;; % THAI DIGIT SEVEN - ;;; % DIGIT EIGHT - ;;; % THAI DIGIT EIGHT - ;;; % DIGIT NINE - ;;; % THAI DIGIT NINE - -% Latin 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 +% Copy the template from ISO/IEC 14651 +copy "iso14651_t1" +% CLDR collation rules for Thai: +% (see: https://github.com/unicode-org/cldr/blob/main/common/collation/th.xml) % -% Thai consonants, with leading vowels rearrangement +%[normalization on] +%[alternate shifted] +%[reorder Thai] +% # +% # The following tailoring is an adjustment of the +% # DUCET collation order for PAIYANNOI, MAIYAMOK, +% # NIKHAHIT, LAKKHANGYAO, and PHINTHU. This gives +% # a sort order as defined in the Royal Institute +% # Dictionary 2542 B.E. Edition (1999 A.D.). +% # +% &[before 1]๚<ฯ # should be "variable" % - ;;; % THAI CHARACTER KO KAI - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER KHO KHAI - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER KHO KHUAT - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER KHO KHWAI - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER KHO KHON - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER KHO RAKHANG - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER NGO NGU - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER CHO CHAN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER CHO CHING - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER CHO CHANG - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER SO SO - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER CHO CHOE - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER YO YING - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER DO CHADA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER TO PATAK - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER THO THAN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER THO NANGMONTHO - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER THO PHUTHAO - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER NO NEN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER DO DEK - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER TO TAO - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER THO THUNG - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER THO THAHAN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER THO THONG - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER NO NU - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER BO BAIMAI - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER PO PLA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER PHO PHUNG - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER FO FA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER PHO PHAN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER FO FAN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER PHO SAMPHAO - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER MO MA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER YO YAK - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER RO RUA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER RU - - ;;; % THAI CHARACTER LO LING - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER LU - - ;;; % THAI CHARACTER WO WAEN - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER SO SALA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER SO RUSI - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER SO SUA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER HO HIP - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER LO CHULA - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER O ANG - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER HO NOKHUK - "";;; - "";;; - "";;; - "";;; - "";;; - - ;;; % THAI CHARACTER NIKHAHIT - -% order of Thai vowels - ;;; % THAI CHARACTER SARA A - ;;; % THAI CHARACTER MAI HAN-AKAT - ;;; % THAI CHARACTER SARA AA - ;;; % THAI CHARACTER LAKKHANGYAO - ;;; % THAI CHARACTER SARA AM - ;;; % THAI CHARACTER SARA I - ;;; % THAI CHARACTER SARA II - ;;; % THAI CHARACTER SARA UE - ;;; % THAI CHARACTER SARA UEE - ;;; % THAI CHARACTER SARA U - ;;; % THAI CHARACTER SARA UU - ;;; % THAI CHARACTER SARA E - ;;; % THAI CHARACTER SARA AE - ;;; % THAI CHARACTER SARA O - ;;; % THAI CHARACTER SARA AI MAIMUAN - ;;; % THAI CHARACTER SARA AI MAIMALAI - -order_end +% &๛<ๆ # should be "variable" +% +% &๎<<์ +% &[before 1]ะ<ํ +% &า<<<ๅ +% &าํ<<<ํา<<<ำ +% &ๅํ<<<ํๅ +% &ไ<ฺ +% # consider: order pali virama as secondary different from yammacan (another old virama) +% # &๎ +% # <<ฺ +% # + +collating-element from "" +% This is already defined in iso14651_t1: +% collating-element from "" % decomposition of THAI CHARACTER SARA AM + +collating-element from "" % LAKKHANGYAO + NIKHAHIT +collating-element from "" % NIKHAHIT + LAKKHANGYAO +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Finished defining collating-elements and collating-symbols +% +% One dummy reorder-after statement here to avoid a syntax error +% because the first rule reordering stuff starts without a reorder-after: +collating-symbol +reorder-after % FULL STOP + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% &[before 1]๚<ฯ # should be "variable" +% ๚ U+0E5A should keep "IGNORE" as the primary weight (as defined in iso14651_t1_common). +% Therefore, I cannot sort ฯ U+0E2F before ๚ U+0E5A as a primary difference. +% Sorting it before as a secondary difference works though. To sort the existing test data +% in the correct order, this seems good enough. The previous collation in +% this th_TH locale, which did not use 'copy "iso14651_t1"' had these characters +% as a tertinary difference: +% IGNORE;IGNORE;;IGNORE % THAI CHARACTER PAIYANNOI +% IGNORE;IGNORE;;IGNORE % THAI CHARACTER ANGKHANKHU + IGNORE;"";IGNORE; % ฯ THAI CHARACTER PAIYANNOI + IGNORE;"";IGNORE; % ๚ THAI CHARACTER ANGKHANKHU +% &๛<ๆ # should be "variable" +% ๛ U+0E5B should keep "IGNORE" as the primary weight (as defined in iso14651_t1_common). +% Therefore I cannot sort ๆ U+0E46 after ๛ U+0E5B as a primary difference. +% Sorting it after as a secondary differnce works though and it seems good enough +% to sort the existing test data in the correct order. The previous collation in +% this th_TH locale, which did not use 'copy "iso14651_t1"' had these characters +% as a tertinary difference: +% IGNORE;IGNORE;;IGNORE % THAI CHARACTER MAIYAMOK +% IGNORE;IGNORE;;IGNORE % THAI CHARACTER KHOMUT + IGNORE;"";IGNORE; % ๛ THAI CHARACTER KHOMUT + IGNORE;"";IGNORE; % ๆ THAI CHARACTER MAIYAMOK +% &๎<<์ + IGNORE;;IGNORE; % ๎ THAI CHARACTER YAMAKKAN + IGNORE;;IGNORE; % ์ THAI CHARACTER THANTHAKHAT +% &[before 1]ะ<ํ + "";;; % ํ THAI CHARACTER NIKHAHIT + "";;; % ะ THAI CHARACTER SARA A +% &า<<<ๅ + ;;; % า THAI CHARACTER SARA AA + ;;; % ๅ THAI CHARACTER LAKKHANGYAO +% &าํ<<<ํา<<<ำ + ;;; % าํ decomposition of THAI CHARACTER SARA AM + ;;; % ํา decomposition of THAI CHARACTER SARA AM + ;;; % ำ THAI CHARACTER SARA AM +% &ๅํ<<<ํๅ + ;;; % LAKKHANGYAO + NIKHAHIT + ;;; % NIKHAHIT + LAKKHANGYAO +% &ไ<ฺ +reorder-after + + +reorder-end END LC_COLLATE diff --git a/localedata/th_TH.UTF-8.in b/localedata/th_TH.UTF-8.in new file mode 100644 index 0000000000..06263dda34 --- /dev/null +++ b/localedata/th_TH.UTF-8.in @@ -0,0 +1,163 @@ +* +. +๎ +์ +ฯ +๚ +๛ +ๆ +0 +๐ +0000 +๐๐๐๐ +10 +๑๐ +9 +๙ +9999 +๙๙๙๙ +a +A +๎A +์a +ฯä +๚a +๛ä +ๆa +b +B +กก +กรรม +กรรม์ +กราบ +กะเกณฑ์ +กัก +ก้าว +กำ +กิน +กี่ +กึ๋น +กุน +กูด +เก้ง +เกล้า +เกลียว +เก้า +เกาะ +เกี่ยว +เกี๊ยะ +เกือก +แกง +แกะ +โกน +โกร๋น +ใกล้ +ไก่ +ไกล +ข้น +ขนาบ +ขาง +ข่าง +ข้าง +ข้างๆ +ข้างกระดาน +ข้างขึ้น +ข้างควาย +ข้างๆ คูๆ +ข้างเงิน +ข้างแรม +ข้างออก +เข็ด +เขน +เข็น +เข่น +แข็ง +แข่ง +แข้ง +แข้งขวา +แข็งขัน +แข่งขัน +แขน +แขวะ +ฃวด +ครรภ- +ครรภ์ +ฅอ +งาม +จุมพล +จุํพล +ฉาก +ชาย +ซาบ +ญาณ +ฎีกา +ฐาน +ฑาหะ +เฒ่า +เณร +ดนตรี +ตลาด +ถนน +ทูลเกล้า +ทูลเกล้าฯ +ทูลเกล้าทูลกระหม่อม +ธนาคาร +น้า +น้ำ +นี้ +บุญญา +บุญหลง +ปา +ป่า +ป้า +ป๊า +ป๋า +ปาน +ป่าน +ป้าน +แป้ง +ผัด +ฝา +ฯพณฯ +พณิชย์ +ฟาง +ภาษี +ม้า +ย่อง +รอง +ฤทธิ์ +ฤษี +ฤๅษี +ลลิตา +ฦๅชา +วก +ศาล +ษมา +สกุล +หริภุญชัย +หฤทัย +หลง +แหง่ +แห่ง +แหนม +แหนหวง +แหบ +แหม +อาน +ฮา +ไฮโล +ํ +ํä +ะ +ะa +า +ๅ +ๅํ +ํๅ +ๅa +าä +าํ +ํา +ำ +ไ +ฺ