Hi,

I am now working on improving luit to support several non-ISO-2022
encodings such as GBK, GB18030, UTF-8, and Shift_JIS.  Here is a
tentative patch to add GBK and UTF-8.

Since this is a radical modification to luit, I would like to ask
comments from people, especially from Juliusz, before I continue
the improvement.


To achieve this, I added a mechanism to add encodings which are
free from luit's ISO-2022 encoder/decoder.  I implemented two
encodings of GBK and UTF-8 by using this mechanism (T_NONFONTENC).
I also added TCVN as an ISO-2022-compliant character set.

First I implemented GBK by adding a new type of T_127192 and I added
an exception processing of EURO for GBK.  However, I noticed that
luit will have an ugly amount of exception handlings in ISO-2022
parser by continuing this approach.

After asking comments, I would like to add Shift_JIS.  So far I have
no idea how to add GB18030 because fontenc doesn't (and won't) have
GB18030 mapping.

begin 644 luit-utf8-20020606.diff.gz
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
[EMAIL PROTECTED]&:DEY5$80N1Q,6!"O4,7(!>U_Q6"%4H<$+`[X3V,#,2STV/-^,1&L=:
M1B1(GM8D$9&X[PYTC^"LETNI'#V*Y>Y0D@J&`3W--):LW23=6USR\CI$QWE`
MT&<!190306^7E(>^FG=R\L7[F@@_?P)[(!'O3Y:Y[K8@XPHNU0LZT+1Q]]CE
M87>I!]^SST(H/J8^!0P8GY)+YN194AKM4#10<AZ_<*17"8L)=7K$_*GV.:@\
M(62Z\1S!'[EMAIL PROTECTED])LD7^(]*+U(BY<HD_;HY$XD='Z9/$U4L$[HV3__
M/F9U<D0%5.)]3VQB^POELO4"\Z@G<J>G,D61C:M]+BM&HB?^(D$*"DJ(ZA/9
MZ6F-BR$[A4<R^DQ&0HK4$WTYC5A.-2$ZE5O[ILFN[[2G<PN<,BGY3J>'?DXN
MLQTY4[#$'B)!:9[7^>J!4[U@RYL+T-D:D9SY4U(<SW\.ZDI>7",0Q^2&JP*I
MY<Q:3;"<A"R--$MU#TLS8#E)L]2R+(<]%Y?$R'4)SSS/.N[I`A_APFRX3B.;
M\E$)+F)B@O!_J,S07+F=T)1*9B3WD_B9&27U.:J?F.4_(49*/C)>*`=,)86C
M1(TU]'T>C+>=A&+5@XJ)OF*2G*G\/Y.TL9Z^$3G2B%+^YQ8]TJ3:89.JODG-
MQYNTWWSYD/DQ:34B?:H#_+I[R`4/C]G-*OYV]K@;G-7A^Y75P1N<U;^\P5D]
M&V^#)\4JO0_5:VVYE;O!J<J_+G!^7>#\NL#Y=8'SKR]PJ`%,7TQTTNT_[#J@
M9_];*#N*[S@%%]'N.'YRG91:\0EFEUZYH\0^Q1Y%O*MQ9JK]#RZG/;^_,```
`
end


---
Tomohiro KUBOTA <[EMAIL PROTECTED]>
http://www.debian.or.jp/~kubota/
"Introduction to I18N"  http://www.debian.org/doc/manuals/intro-i18n/
_______________________________________________
I18n mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/i18n

Reply via email to