Hi,

Now I found that i18n-related patches are adopted into XFree86 CVS,
including luit's patches.

Thus, I'd like to start discussion on improving XTerm to invoke
luit to support various major encodings.

I wrote a patch for XTerm to invoke luit.  There are three encoding
modes, where two of them are already available.

  1. conventional 8bit
     (8bit encodings are supported by changing fonts)
  2. UTF-8
     (UTF-8 is supported)
  3. UTF-8 with luit
     (various encodings are supported)

To select these modes, I added three command options (-en, -lc,
and -lcc) and two resources (locale and localefilter).

Resource:

locale (class Locale)
  "true"
    UTF-8 mode for UTF-8 locales and luit mode for all others.
    As a result, always obeys the current locale.
  "medium"
    UTF-8 mode for UTF-8 locales, luit mode for east Asian and
    Thai locales, and 8bit mode for all others.
    As a result, obeys the current locale in UTF-8, east Asian,
    and Thai locales.
  "false"
    UTF-8 mode for UTF-8 locales and 8bit mode for all others.
    Same as the current version of XTerm.
  other strings
    luit mode -- regarded as an encoding name and passed to luit.

localeFilter (class LocaleFilter)
  specify the pathname of "luit".

Command Line Options:

-en encoding
  luit mode with specifying encoding (overriding locale).
-lc
  UTF-8 mode for UTF-8 locales and luit mode for others.
+lc
  UTF-8 mode for UTF-8 locales and 8bit mode for others.
-lcc
  same as localeFilter resource.

I believe that people in this mailing list don't oppose to
the basic idea for XTerm to invoke luit in order to support
various encodings.  (luit was developed for this purpose.)

However, I feel we need discussion on which mode should be
the default behavior.

If we don't need to think about backward compatibility,
I think "locale: true" mode should be the default.  However,
if we think about compatibility, "locale: medium" or
"locale: false" modes can be candidates.

Please discuss on this point.  Of course, other comments
are also welcome.  (I am thinking on sending the patch to
Thomas Dickey or to patch@xfree86 .  This is why I want
comments.)


Here is a patch for XTerm (XFree86 CVS 2002-06-04).

begin 644 xterm-20020604-luit.diff.gz
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
M>LDT6I*@Y@73>C<1TVY"IFVT"$@[EMAIL PROTECTED];!4Q2B+T`A]0Z8!!?=QN'[<9;
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
0_IJ&DQ36]07W(1.9J$<`````
`
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