Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Aug 2002 14:37:06 +0700
From:      Tasanakorn Phaipool <tas@thdiy.com>
To:        ache@freebsd.org
Cc:        freebsd-i18n@freebsd.org
Subject:   th_TH.TIS620 locale
Message-ID:  <200208221437.06866.tas@thdiy.com>

next in thread | raw e-mail | index | archive | help

--------------Boundary-00=_UHI81PTKMPCIFXCI4BVV
Content-Type: text/plain;
  charset="tis-620"
Content-Transfer-Encoding: quoted-printable

Hi,
Please review :
I want to add Thai locale support for FreeBSD.

My current problem is thai sorting.
Because of some thai vowel must be place be for a consonant.
(<SaraE>,<SaraAe>,<SaraO>,<SaraAiMaimuan>,<SaraAiMaimalai>)
But it must be sorted by consonant fist.
Ex.
<KoKai><KoKai>
<KoKai><KhoKhai>
<KoKai><SaraE>
<SaraAe><KoKai>
<KhoKhai><KoKai>
<KhoKhai><KhoKhwai>

When I put 8-Bit Thai charactor as symbol chain, It seem to wok.
But ache say colldef table will be 7bit code.
When I put hexadecimal chain it does not wok


For more information :

Thai Support in GNU/Linux
  http://linux.thai.net/thep/
Basic Concept of Thai Language
  http://www.fedu.uec.ac.jp/ZzzThai/thailang/
Thai Unicode
  http://www.unicode.org/charts/PDF/U0E00.pdf
If you want more information please let me know.=20

----------------------------------
Tasanakorn Phaipool

--------------Boundary-00=_UHI81PTKMPCIFXCI4BVV
Content-Type: text/x-diff;
  charset="tis-620";
  name="th_TH.TIS620.diff"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename="th_TH.TIS620.diff"

diff -ruN share.cvs/colldef/Makefile share.new/colldef/Makefile
--- share.cvs/colldef/Makefile=09Mon Aug 19 18:10:45 2002
+++ share.new/colldef/Makefile=09Mon Aug 19 21:23:14 2002
@@ -27,6 +27,7 @@
 =09=09ru_RU.KOI8-R \
 =09=09sv_SE.ISO8859-1 \
 =09=09sv_SE.ISO8859-15 \
+=09=09th_TH.TIS620 \
 =09=09uk_UA.ISO8859-5 \
 =09=09uk_UA.KOI8-U
=20
@@ -73,6 +74,7 @@
 ru_RU.KOI8-R.out:       map.KOI8-R
 sv_SE.ISO8859-15.out:   map.ISO8859-15
 sv_SE.ISO8859-1.out:    map.ISO8859-1
+th_TH.TIS620:=09=09map.TIS620
 uk_UA.ISO8859-5.out:=09map.ISO8859-5
 uk_UA.KOI8-U.out:       map.KOI8-U
=20
diff -ruN share.cvs/colldef/map.TIS620 share.new/colldef/map.TIS620
--- share.cvs/colldef/map.TIS620=09Thu Jan  1 07:00:00 1970
+++ share.new/colldef/map.TIS620=09Thu Aug 22 13:37:01 2002
@@ -0,0 +1,215 @@
+NU \x00
+SH \x01
+SX \x02
+EX \x03
+ET \x04
+EQ \x05
+AK \x06
+BL \x07
+BS \x08
+HT \x09
+LF \x0a
+VT \x0b
+FF \x0c
+CR \x0d
+SO \x0e
+SI \x0f
+DL \x10
+D1 \x11
+D2 \x12
+D3 \x13
+D4 \x14
+NK \x15
+SY \x16
+EB \x17
+CN \x18
+EM \x19
+SB \x1a
+EC \x1b
+FS \x1c
+GS \x1d
+RS \x1e
+US \x1f
+SP \x20
+! \x21
+" \x22
+Nb \x23
+DO \x24
+% \x25
+& \x26
+' \x27
+( \x28
+) \x29
+* \x2a
++ \x2b
+, \x2c
+- \x2d
+. \x2e
+/ \x2f
+0 \x30
+1 \x31
+2 \x32
+3 \x33
+4 \x34
+5 \x35
+6 \x36
+7 \x37
+8 \x38
+9 \x39
+: \x3a
+; \x3b
+< \x3c
+=3D \x3d
+> \x3e
+? \x3f
+At \x40
+A \x41
+B \x42
+C \x43
+D \x44
+E \x45
+F \x46
+G \x47
+H \x48
+I \x49
+J \x4a
+K \x4b
+L \x4c
+M \x4d
+N \x4e
+O \x4f
+P \x50
+Q \x51
+R \x52
+S \x53
+T \x54
+U \x55
+V \x56
+W \x57
+X \x58
+Y \x59
+Z \x5a
+<( \x5b
+// \x5c
+)> \x5d
+'> \x5e
+_ \x5f
+'! \x60
+a \x61
+b \x62
+c \x63
+d \x64
+e \x65
+f \x66
+g \x67
+h \x68
+i \x69
+j \x6a
+k \x6b
+l \x6c
+m \x6d
+n \x6e
+o \x6f
+p \x70
+q \x71
+r \x72
+s \x73
+t \x74
+u \x75
+v \x76
+w \x77
+x \x78
+y \x79
+z \x7a
+(! \x7b
+!! \x7c
+!) \x7d
+'? \x7e
+DT \x7F
+KoKai \xa1
+KhoKhai \xa2
+KhoKhuat \xa3
+KhoKhwai \xa4
+KhoKhon \xa5
+KhoRakhang \xa6
+NgoNgu \xa7
+ChoChan \xa8
+ChoChing \xa9
+ChoChang \xaa
+SoSo \xab
+ChoChoe \xac
+YoYing \xad
+DoChada \xae
+ToPatak \xaf
+ThoThan \xb0
+ThoNagmontho \xb1
+ThoPhuthao \xb2
+NoNen \xb3
+DoDek \xb4
+ToTao \xb5
+ThoThung \xb6
+ThoThanhan \xb7
+ThoThong \xb8
+NoNu \xb9
+BoBaimai \xba
+PoPla \xbb
+PhoPhung \xbc
+FoFa \xbd
+PhoPhan \xbe
+FoFan \xbf
+PhoSamphao \xc0
+MoMa \xc1
+YoYak \xc2
+RoRue \xc3
+Ru \xc4
+LoLing \xc5
+Lu \xc6
+WoWaen \xc7
+SoSala \xc8
+SoRusi \xc9
+SoSua \xca
+HoHip \xcb
+LoChula \xcc
+OAng \xcd
+HoNokhuk \xce
+Paiyannoi \xcf
+SaraA \xd0
+MaiHanAkat \xd1
+SaraAa \xd2
+SaraAm \xd3
+SaraI \xd4
+SaraIi \xd5
+SaraUe \xd6
+SaraUee \xd7
+SaraU \xd8
+SaraUu \xd9
+Phinthu \xda
+SymbolBaht \xdf
+SaraE \xe0
+SaraAe \xe1
+SaraO \xe2
+SaraAiMaimuan \xe3
+SaraAiMaimalai \xe4
+Lakkhangyao \xe5
+Maiyamok \xe6
+Maitaikhu \xe7
+MaiEk \xe8
+MaiTho \xe9
+MaiTri \xea
+MaiChattawa \xeb
+Thanthakhat \xec
+Nikhahit \xed
+Yamakkan \xee
+Fongman \xef
+Zero \xf0
+One \xf1
+Two \xf2
+Three \xf3
+Four \xf4
+Five \xf5
+Six \xf6
+Seven \xf7
+Eight \xf8
+Nine \xf9
+Angkhankhu \xfa
+Khomut \xfb
diff -ruN share.cvs/colldef/th_TH.TIS620.src share.new/colldef/th_TH.TIS6=
20.src
--- share.cvs/colldef/th_TH.TIS620.src=09Thu Jan  1 07:00:00 1970
+++ share.new/colldef/th_TH.TIS620.src=09Thu Aug 22 13:56:16 2002
@@ -0,0 +1,78 @@
+# TIS620=20
+#
+#
+charmap map.TIS620
+order \
+# controls
+=09<NU>;...;<US>;\
+#
+=09<SP>;!;\";<Nb>;<DO>;\
+=09%;&;';\(;\);*;+;\,;-;.;/;\
+# digits
+=09(0,<Zero>);(1,<One>);(2,<Two>);(3,<Three>);(4,<Four>);\
+=09(5,<Five>);(6,<Six>);(7,<Seven>);(8,<Eight>);(9,<Nine>);\
+#
+=09:;\;;\<;=3D;>;?;<At>;\
+# uppercase
+=09A;...;Z;\
+#
+=09[;\\;];^;_;`;\
+# lowercase
+=09a;...;z;\
+#
+=09\{;|;\};~;<DT>;\
+#
+=09<KoKai>;\
+=09<KhoKhai>;\
+=09<KhoKhuat>;\
+=09<KhoKhwai>;\
+=09<KhoKhon>;\
+=09<KhoRakhang>;\
+=09<NgoNgu>;\
+=09<ChoChan>;\
+=09<ChoChing>;\
+=09<ChoChang>;\
+=09<SoSo>;\
+=09<ChoChoe>;\
+=09<YoYing>;\
+=09<DoChada>;\
+=09<ToPatak>;\
+=09<ThoThan>;\
+=09<ThoNagmontho>;\
+=09<ThoPhuthao>;\
+=09<NoNen>;\
+=09<DoDek>;\
+=09<ToTao>;\
+=09<ThoThung>;\
+=09<ThoThanhan>;\
+=09<ThoThong>;\
+=09<NoNu>;\
+=09<BoBaimai>;\
+=09<PoPla>;\
+=09<PhoPhung>;\
+=09<FoFa>;\
+=09<PhoPhan>;\
+=09<FoFan>;\
+=09<PhoSamphao>;\
+=09<MoMa>;\
+=09<YoYak>;\
+=09<RoRue>;\
+=09<Ru>;\
+=09<LoLing>;\
+=09<Lu>;\
+=09<WoWaen>;\
+=09<SoSala>;\
+=09<SoRusi>;\
+=09<SoSua>;\
+=09<HoHip>;\
+=09<LoChula>;\
+=09<OAng>;\
+=09<HoNokhuk>;\
+=09<Nikhahit>;\
+=09<SaraA>;<MaiHanAkat>;<SaraAa>;<SaraAm>;<SaraI>;<SaraIi>;<SaraUe>;<Sar=
aUee>;<SaraU>;<SaraUu>;\
+=09<SaraE>;<SaraAe>;<SaraO>;<SaraAiMaimuan>;<SaraAiMaimalai>;\
+=09<Khomut>;\
+=09<Paiyannoi>;<Phinthu>;\xdb;...;\xde;<SymbolBaht>;<Lakkhangyao>;<Maiya=
mok>;<Maitaikhu>;\
+=09<MaiEk>;<MaiTho>;<MaiTri>;<MaiChattawa>;<Thanthakhat>;<Yamakkan>;<Fon=
gman>;\
+=09<Angkhankhu>;\
+=09\x80;...;\xa0;\xfc;...;\xff
diff -ruN share.cvs/mklocale/Makefile share.new/mklocale/Makefile
--- share.cvs/mklocale/Makefile=09Mon Aug 19 18:10:55 2002
+++ share.new/mklocale/Makefile=09Mon Aug 19 21:24:42 2002
@@ -17,6 +17,7 @@
 =09=09ru_RU.CP866 \
 =09=09ru_RU.ISO8859-5 \
 =09=09ru_RU.KOI8-R \
+=09=09th_TH.TIS620 \
 =09=09uk_UA.KOI8-U \
 =09=09zh_CN.eucCN \
 =09=09zh_TW.Big5
diff -ruN share.cvs/mklocale/th_TH.TIS620.src share.new/mklocale/th_TH.TI=
S620.src
--- share.cvs/mklocale/th_TH.TIS620.src=09Thu Jan  1 07:00:00 1970
+++ share.new/mklocale/th_TH.TIS620.src=09Mon Aug 19 18:12:08 2002
@@ -0,0 +1,33 @@
+/*
+ * LOCALE_CTYPE for TIS620 set
+ *
+ */
+
+ENCODING=09"NONE"
+VARIABLE        TIS620 charset, initially submitted by <tas@thdiy.com>
+
+ALPHA           'A' - 'Z' 'a' - 'z'
+ALPHA=09=090xa1 - 0xce 0xd0 - 0xd9 0xe0 - 0xe4 0xe5 0xe7 0xe8 - 0xeb 0xe=
c
+BLANK           ' ' '\t' 0xa0
+CONTROL         0x00 - 0x1f 0x7f - 0x9f
+DIGIT=09=09'0' - '9'
+GRAPH           0x21 - 0x7e=20
+GRAPH =09=090xcf 0xdf 0xe6 0xef 0xfa 0xfb 0xda 0xed 0xee
+LOWER           'a' - 'z'
+PRINT           0x20 - 0x7e=20
+PRINT =09=090xcf 0xdf 0xe6 0xef 0xfa 0xfb 0xda 0xed 0xee
+PUNCT=09=090x21 - 0x2f 0x3a - 0x40 0x5b - 0x60 0x7b - 0x7e=20
+PUNCT=09=090xcf 0xdf 0xe6 0xef 0xfa 0xfb
+SPACE           0x09 - 0x0d 0x20 0xa0
+UPPER           'A' - 'Z'
+XDIGIT          '0' - '9' 'a' - 'f' 'A' - 'F'
+
+MAPLOWER       =09<'A' - 'Z' : 'a'>
+MAPLOWER       =09<'a' - 'z' : 'a'>
+
+MAPUPPER       =09<'A' - 'Z' : 'A'>
+MAPUPPER       =09<'a' - 'z' : 'A'>
+
+TODIGIT       =09<'0' - '9' : 0>
+TODIGIT       =09<'A' - 'F' : 10>
+TODIGIT       =09<'a' - 'f' : 10>
diff -ruN share.cvs/monetdef/Makefile share.new/monetdef/Makefile
--- share.cvs/monetdef/Makefile=09Mon Aug 19 18:10:55 2002
+++ share.new/monetdef/Makefile=09Mon Aug 19 21:25:57 2002
@@ -42,6 +42,7 @@
 =09=09sk_SK.ISO8859-2 \
 =09=09sl_SI.ISO8859-2 \
 =09=09sv_SE.ISO8859-1 \
+=09=09th_TH.TIS620 \
 =09=09tr_TR.ISO8859-9 \
 =09=09uk_UA.ISO8859-5 \
 =09=09uk_UA.KOI8-U \
diff -ruN share.cvs/monetdef/th_TH.TIS620.src share.new/monetdef/th_TH.TI=
S620.src
--- share.cvs/monetdef/th_TH.TIS620.src=09Thu Jan  1 07:00:00 1970
+++ share.new/monetdef/th_TH.TIS620.src=09Mon Aug 19 18:12:08 2002
@@ -0,0 +1,35 @@
+#
+# WARNING: spaces may be essential at the end of lines
+# WARNING: empty lines are essential too
+#
+# int_curr_symbol (last character always SPACE)
+THB=20
+# currency_symbol
+=DF
+# mon_decimal_point
+.
+# mon_thousands_sep
+,
+# mon_grouping, separated by ;
+3;3
+# positive_sign
+
+# negative_sign
+-
+# int_frac_digits
+2
+# frac_digits
+2
+# p_cs_precedes
+1
+# p_sep_by_space
+2
+# n_cs_precedes
+1
+# n_sep_by_space
+2
+# p_sign_posn
+4
+# n_sign_posn
+4
+# EOF
diff -ruN share.cvs/msgdef/Makefile share.new/msgdef/Makefile
--- share.cvs/msgdef/Makefile=09Mon Aug 19 18:10:56 2002
+++ share.new/msgdef/Makefile=09Mon Aug 19 21:26:20 2002
@@ -33,6 +33,7 @@
 =09=09ru_RU.KOI8-R \
 =09=09sl_SI.ISO8859-2 \
 =09=09sv_SE.ISO8859-1 \
+=09=09th_TH.TIS620 \
 =09=09tr_TR.ISO8859-9 \
 =09=09uk_UA.ISO8859-5 \
 =09=09uk_UA.KOI8-U \
diff -ruN share.cvs/msgdef/th_TH.TIS620.src share.new/msgdef/th_TH.TIS620=
=2Esrc
--- share.cvs/msgdef/th_TH.TIS620.src=09Thu Jan  1 07:00:00 1970
+++ share.new/msgdef/th_TH.TIS620.src=09Mon Aug 19 18:12:07 2002
@@ -0,0 +1,9 @@
+#
+# WARNING: spaces may be essential at the end of lines
+# WARNING: empty lines are essential too
+#
+# yesexpr
+^[yYsS].*
+# noexpr
+^[nN].*
+# EOF
diff -ruN share.cvs/numericdef/Makefile share.new/numericdef/Makefile
--- share.cvs/numericdef/Makefile=09Mon Aug 19 18:10:56 2002
+++ share.new/numericdef/Makefile=09Thu Aug 22 14:04:52 2002
@@ -34,6 +34,7 @@
 =09=09sk_SK.ISO8859-2 \
 =09=09sl_SI.ISO8859-2 \
 =09=09sv_SE.ISO8859-1 \
+=09=09th_TH.TIS620 \
 =09=09tr_TR.ISO8859-9 \
 =09=09uk_UA.ISO8859-5 \
 =09=09uk_UA.KOI8-U \
diff -ruN share.cvs/numericdef/hi_IN.ISCII-DEV.out share.new/numericdef/h=
i_IN.ISCII-DEV.out
--- share.cvs/numericdef/hi_IN.ISCII-DEV.out=09Thu Jan  1 07:00:00 1970
+++ share.new/numericdef/hi_IN.ISCII-DEV.out=09Mon Aug 19 18:12:07 2002
@@ -0,0 +1,3 @@
+.
+,
+2;3
diff -ruN share.cvs/numericdef/th_TH.TIS620.src share.new/numericdef/th_T=
H.TIS620.src
--- share.cvs/numericdef/th_TH.TIS620.src=09Thu Jan  1 07:00:00 1970
+++ share.new/numericdef/th_TH.TIS620.src=09Mon Aug 19 18:12:07 2002
@@ -0,0 +1,11 @@
+#
+# WARNING: spaces may be essential at the end of lines
+# WARNING: empty lines are essential too
+#
+# decimal_point
+.
+# thousands_sep
+,
+# grouping, separated by ;
+3;3
+# EOF
diff -ruN share.cvs/timedef/Makefile share.new/timedef/Makefile
--- share.cvs/timedef/Makefile=09Mon Aug 19 18:10:55 2002
+++ share.new/timedef/Makefile=09Thu Aug 22 14:03:05 2002
@@ -37,6 +37,7 @@
 =09=09sk_SK.ISO8859-2 \
 =09=09sl_SI.ISO8859-2 \
 =09=09sv_SE.ISO8859-1 \
+=09=09th_TH.TIS620 \
 =09=09tr_TR.ISO8859-9 \
 =09=09uk_UA.ISO8859-5 \
 =09=09uk_UA.KOI8-U \
diff -ruN share.cvs/timedef/th_TH.TIS620.src share.new/timedef/th_TH.TIS6=
20.src
--- share.cvs/timedef/th_TH.TIS620.src=09Thu Jan  1 07:00:00 1970
+++ share.new/timedef/th_TH.TIS620.src=09Mon Aug 19 18:12:07 2002
@@ -0,0 +1,101 @@
+#
+# WARNING: spaces may be essential at the end of lines
+# WARNING: empty lines are essential too
+#
+# Short month names
+#
+=C1.=A4.
+=A1.=BE.
+=C1=D5.=A4.
+=E0=C1.=C2.
+=BE.=A4.
+=C1=D4.=C2.
+=A1.=A4.
+=CA.=A4.
+=A1.=C2.
+=B5.=A4.
+=BE.=C2.
+=B8.=A4.
+#
+# Long month names
+#
+=C1=A1=C3=D2=A4=C1
+=A1=D8=C1=C0=D2=BE=D1=B9=B8=EC
+=C1=D5=B9=D2=A4=C1
+=E0=C1=C9=D2=C2=B9
+=BE=C4=C9=C0=D2=A4=C1
+=C1=D4=B6=D8=B9=D2=C2=B9
+=A1=C3=A1=AE=D2=A4=C1
+=CA=D4=A7=CB=D2=A4=C1
+=A1=D1=B9=C2=D2=C2=B9
+=A4=D8=C5=D2=A4=C1
+=BE=C4=C9=A8=D4=A1=D2=C2=B9
+=B8=D1=B9=C7=D2=A4=C1
+#
+# Short weekday names
+#
+=CD=D2.
+=A8.
+=CD.
+=BE.
+=BE=C4.
+=C8.
+=CA.
+#
+# Long weekday names
+#
+=CD=D2=B7=D4=A4=C2=EC
+=A8=D1=B9=B7=C3=EC
+=CD=D1=A7=A4=D2=C3
+=BE=D8=B8
+=BE=C4=CB=D1=CA=BA=B4=D5
+=C8=D8=A1=C3=EC
+=E0=CA=D2=C3=EC
+#
+# X_fmt
+#
+%H:%M:%S
+#
+# x_fmt
+#
+%d/%m/%Y
+#
+# c_fmt
+#
+%a %e %b %Y,%X
+#
+# am
+#
+AM
+#
+# pm
+#
+PM
+#
+# date_fmt
+#
+%a %e %b %Y,%X %Z
+#
+# Long months names (alternative)
+#
+January
+February
+March
+April
+May
+June
+July
+August
+September
+October
+November
+December
+#
+# md_order
+#
+dm
+#
+# ampm_fmt
+#
+%I:%M:%S %p
+# EOF

--------------Boundary-00=_UHI81PTKMPCIFXCI4BVV--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-i18n" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208221437.06866.tas>