Re: Help on multilinguality on systems

> From: Drazen Kacar <dave@public.srce.hr>
> 
> Gary Adams - Sun Microsystems Labs BOS wrote:
> 
> > The 20.0 release of Xemacs includes the integrated MULE modules along with
> 
> Are MULE modules in XEmacs and FSFmacs fully compatible? I've heard about
> some problems, but I can't remember any more.
> 

Take a quick look at the Xemacs FAQ :

  http://www.xemacs.org/faq/xemacs-faq.html#internationalization
  
There were some changes made to the original MULE 2.3 branch of nemacs
that were brought up to date for Xemacs 20.0 and Emacs (FSF GNU version).

It is possible to distinguish which flavor of MULE/emacs a user is running, 
in case you have code dependent on a particular version :

  http://www.xemacs.org/faq/xemacs-faq.html#Q1_3_6  

The following is a snippet from the NEWS (C-h n) file from 20.2 beta.

-----------------------------------------------------------------

* Major Differences Between 19.14 and 20.0
===========================================

XEmacs 20.0 is the first public release to have support for MULE
(Multi-Lingual Emacs).  The --with-mule configuration flag must be
used to enable Mule support.

Many bugs have been fixed.  An effort has been made to eradicate all
XEmacs crashes, although we are not quite done yet.  The overall
quality of XEmacs should be higher than any previous release.  XEmacs
now compiles with nary a warning with some compilers.

-- Multiple character sets can be displayed in a buffer.  The file
   mule-doc/demo in the distribution contains a greeting in many
   different languages.

-- Although the Mule work is for all languages, particular effort has
   been invested in Japanese, with particular focus on Japanese users
   of Sun WorkShop.  Many menubar labels have been translated into
   Japanese.  Martin Buchholz, the maintainer of MULE features within
   XEmacs normaly runs XEmacs in a Japanese language environment.
   Some of the other contributors are Japanese, most importantly
   Morioka Tomohiko, author of the TM package, providing MIME support
   for Mail and News.

-- Input for complex Asian languages is supported via XIM, a mechanism
   introduced in X11R5 to allow applications to get localized input
   without knowledge of the language.  The way XIM works is that when
   the locale has a complex character set, such as Japanese, and extra
   minibuffer-like status window appears attached to various
   application windows, and indicates the status of the input method.
   Composed input in XEmacs should work the same as with other
   applications.  If Motif and Mule support is configured into XEmacs,
   then XIM support is automatically configured in as well.

-- TM (Tools for Mime) now comes with XEmacs.  This provides MIME
   (Multi-purpose Internet Multi-media Extensions?) support for Mail
   and News.  The primary author is Morioka Tomohiko.

-- Japanese input can also be input using the `canna' input method.
   This support was contributed by Morioka Tomohiko.  Setting up canna
   usually requires more user effort (and better knowledge of Japanese!)
   than XIM, but provides a better-integrated input method.

-- A mini-tutorial on using Mule:

   -- Every time data passes between XEmacs and the rest of the
      environment, via file or process input or output, XEmacs must
      convert between its internal multi-character representation and
      the external representation (`coding system').  Many
      difficulties with Mule are related to controlling these coding
      system conversions.

      -- file-coding-system, file-coding-system-for-read,
         overriding-file-coding-system, and file-coding-system-alist
         are used to determine the coding systems used on file input
         and output.

      -- For each process, (set-process-input-coding-system) and
         (set-process-output-coding-system) determine the coding
         system used for I/O from the process.

      -- Many other things are encoded using pathname-coding-system:
         -- file and directory names
         -- window manager properties: window title, icon name
         -- process names and process arguments
         -- XIM input.

      -- In many cases, you will want to have the same values for all
         the above variables in many cases.  For example, in a
         Japanese environment, you will want to use the 'euc-japan
         coding system consistently, except when running certain
         processes that do byte-oriented, rather than
         character-oriented I/O, such as gzip, or when processing Mail
         or News, where ISO2022-based coding systems are the norm,
         since they support multiple character sets.

   -- To add support for a new language or character set, start by
      trying to copy code in japanese-hooks.el.

   -- The traditional pre-Mule data conversion is equivalent to the
      'binary coding system under Mule.  In this case all characters
      are treated as iso8859-1 (i.e. characters for English + Western
      European languages).

   -- many fileio-related commands such as find-file and write-file
      take an extra argument, coding-system, which specifies the
      encoding to be used with the file on disk.  For example, here is
      a command that converts from the Japanese EUC to ISO2022 format:

         xemacs -batch -eval '(progn (find-file
         "locale-start.el.euc" (quote euc-japan)) (write-file
         "locale-start.el" nil (quote iso-2022-8-unix)))'

      Interactively, you can be prompted for a coding system by
      providing a prefix argument to the fileio command.  In
      particular, C-u C-x C-f is a useful sequence to edit a file
      using a particular coding system.

   -- In an Asian locale (i.e. if $LANG is set to ja, ko, or zh),
      XEmacs automatically sets up a language environment assuming
      that the operating system encodes information in the national
      version of EUC, which supports English and the national
      language, but typically no other character sets.

-- Command line processing should work much better now - no more order
   dependencies.

-- Many many package upgraded (thanks go to countless maintainers):

  -- ediff 2.64 (Michael Kifer)
  -- Gnus 5.2.40 (Lars Magne Ingebrigtsen)
  -- w3 3.0.51  (Bill Perry)
  -- ilisp 5.8 (Chris McConnell, Ivan Vasquez, Marco Antoniotti, Rick
     Campbell)
  -- VM 5.97     (Kyle Jones)
  -- etags 11.78 (Francesco Potorti`)
  -- ksh-mode.el 2.9
  -- vhdl-mode.el 2.73 (Rod Whitby)
  -- id-select.el (Bob Weiner)
  -- EDT/TPU emulation modes should work now for the first time.
  -- viper 2.92 (Michael Kifer) is now the `official' vi emulator for XEmacs.
  -- big-menubar should work much better now.
  -- mode-motion+.el 3.16
  -- backup-dir 2.0 (Greg Klanderman)
  -- ps-print.el-3.05 (Jacques Duthen Prestataire)
  -- lazy-lock-1.15 (Simon Marshall)
  -- reporter 3.3 (Barry Warsaw)
  -- hm--html-menus 5.0 (Heiko Muenkel)
  -- cc-mode 4.322 (Barry Warsaw)
  -- elp 2.37 (Barry Warsaw)


-- Many new packages have been added:
  -- m4-mode 1.8 (Andrew Csillag)
  -- crisp.el - crisp/brief emulation (Gary D. Foster)
  -- Johan Vroman's iso-acc.el has been ported to XEmacs by Alexandre Oliva
  -- psgml-1.01 (Lennart Staflin, James Clark)
  -- python-mode.el 2.83 (Barry Warsaw)
  -- vrml-mode.el (Ben Wing)
  -- enriched.el, face-menu.el (Boris Goldowsky, Michael Sperber)
  -- sh-script.el (Daniel Pfeiffer)
  -- decipher.el (Christopher J. Madsen)

-- New function x-keysym-on-keyboard-p helps determine keyboard
   characteristics for key rebinding:

  x-keysym-on-keyboard-p: (KEYSYM &optional DEVICE)
    -- a built-in function.
  Return true if KEYSYM names a key on the keyboard of DEVICE.
  More precisely, return true if pressing a physical key
  on the keyboard of DEVICE without any modifier keys generates KEYSYM.
  Valid keysyms are listed in the files /usr/include/X11/keysymdef.h and in
  /usr/lib/X11/XKeysymDB, or whatever the equivalents are on your system.

-- Installed info files are now compressed (support courtesy of Joseph J Nuspl)

-- (load-average) works on Solaris, even if you're not root. Thanks to
   Hrvoje Niksic.

-- OffiX drag-and-drop support added

-- lots of syncing with 19.34 elisp files, most by Steven Baur

Received on Wednesday, 30 April 1997 11:49:49 UTC