From xemacs-m  Thu Feb 13 09:18:02 1997
Received: from gol1.gol.com (gol1.gol.com [202.243.48.4])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id JAA29971
	for <xemacs-beta@xemacs.org>; Thu, 13 Feb 1997 09:18:00 -0600 (CST)
Received: from pentagana.sonic.jp (root@tokyo-03-097.gol.com [202.243.51.97])
          by gol1.gol.com (8.8.4/8.8.4) with ESMTP
	  id RAA06105 for <xemacs-beta@xemacs.org>; Thu, 13 Feb 1997 17:39:35 +0900 (JST)
Received: (from jhod@localhost) by pentagana.sonic.jp (8.7.1+2.6Wbeta4/3.4W3) id RAA00292; Thu, 13 Feb 1997 17:02:35 +0900
Date: Thu, 13 Feb 1997 17:02:35 +0900
Message-Id: <199702130802.RAA00292@pentagana.sonic.jp>
From: <jhod@po.iijnet.or.jp>
To: xemacs-beta@xemacs.org
Subject: Input managers, etc...
Mime-Version: 1.0 (generated by tm-edit 7.101)
Content-Type: text/plain; charset=ISO-2022-JP

Gee, as I look at this again, I must have been more than usually
multi-tasking... Please accept the following version as a bit more
correct, with a bit more info, and a bit more standard (JHod figures
out MIME...)

The big problem with Wnn4.2 as distributed is that the imake files are
slightly broken. The quick fix is to take the Project.tmpl file in the
config dir and paste all of the lines after the line that contains the
comment 'OMRON' to your Project.tmpl in /usr/X11R6/lib/X11/config (or
whereever). I've sent a message about this to the authors, but have
not recieved a reply yet. Maybe I should just create a patched
version... <new> I will be doing this here this weekend, fixing the
imake problems, as well as some security concerns and malloc
goobers. </new>

    Steven> How to use it at a rudimentary level.  It would help if I
    Steven> could test a build by just typing at it.  Right now I can
    Steven> only test a canna link and I have no way of knowing
    Steven> whether it actually does anything.

I've never used canna with Mule or XEmacs, but here is a quick way of
checking wnn/egg. After doing the setup I explained in my first
message/patch, create a new buffer and type the following:
<C-\>
watashinonamaehanakanodesu.<space><return>
<C-\>

This should transform into the following:
$B;d$NL>A0$OCfLn$G$9!#(B

(translated, 'My name is Nakano' This is the historical sentance that
Wnn was created for (and where the name came from. Wnn's big claim to
fame is it not only includes a rather comprehensive Kana-to-Kanji
dictionary, but also does rudamentary lexical parsing and probability
analysis to come up with a fitting conversion at the sentance level.) 
<new> I inadvertantly inserted the name of one of my co-workers for
Mr. Nakano... How embarrasing </new>

    Steven> I went out and bought a Japanese/English dictionary.  Can
    Steven> you easily explain how I can type Japanese in?

Well, real easy doesn't exist, but here's a quick runthrough: Japanese
sylablry are mostly single-pheneme, which means that all sounds (there
are roughly 50) are created with a consonant, followed by a vowel, with
the exception with the sound 'n' which can stand by itself, and the
fact that all vowels are also stand alone. The Hepburn system of
romanizing Japanese (the most common, and one of the ones used by Egg
to input Japanese from a roman keyboard) comes out thusly: 

 $B$"(B $B$+(B $B$,(B $B$5(B  $B$6(B $B$?(B  $B$@(B $B$J(B $B$^(B $B$O(B $B$P(B $B$Q(B $B$i(B $B$d(B $B$o(B
 $B%"(B $B%+(B $B%,(B $B%5(B  $B%6(B $B%?(B  $B%@(B $B%J(B $B%^(B $B%O(B $B%P(B $B%Q(B $B%i(B $B%d(B $B%o(B
  a ka ga sa  za ta  da na ma ha ba pa ra ya wa

 $B$$(B $B$-(B $B$.(B $B$7(B  $B$8(B $B$A(B  $B$B(B $B$K(B $B$_(B $B$R(B $B$S(B $B$T(B $B$j(B
 $B%$(B $B%-(B $B%.(B $B%7(B  $B%8(B $B%A(B  $B%B(B $B%K(B $B%_(B $B%R(B $B%S(B $B%T(B $B%j(B
  i ki gi shi ji chi di ni mi hi bi pi ri

 $B$&(B $B$/(B $B$0(B $B$9(B  $B$:(B $B$D(B  $B$E(B $B$L(B $B$`(B $B$U(B $B$V(B $B$W(B $B$k(B $B$f(B           $B$s(B
 $B%&(B $B%/(B $B%0(B $B%9(B  $B%:(B $B%D(B  $B%E(B $B%L(B $B%`(B $B%U(B $B%V(B $B%W(B $B%k(B $B%f(B           $B%s(B
  u ku gu su  zu tsu du nu mu fu bu pu ru yu            n

 $B$((B $B$1(B $B$2(B $B$;(B  $B$<(B $B$F(B  $B$G(B $B$M(B $B$a(B $B$X(B $B$Y(B $B$Z(B $B$l(B
 $B%((B $B%1(B $B%2(B $B%;(B  $B%<(B $B%F(B  $B%G(B $B%M(B $B%a(B $B%X(B $B%Y(B $B%Z(B $B%l(B
  e ke ge se  ze te  de ne me he be pe re

 $B$*(B $B$3(B $B$4(B $B$=(B  $B$>(B $B$H(B  $B$I(B $B$N(B $B$b(B $B$[(B $B$\(B $B$](B $B$m(B $B$h(B $B$r(B
 $B%*(B $B%3(B $B%4(B $B%=(B  $B%>(B $B%H(B  $B%I(B $B%N(B $B%b(B $B%[(B $B%\(B $B%](B $B%m(B $B%h(B $B%r(B
  o ko go so  zo to  do no mo ho bo po ro yo wo

(the top characters are hiragana characters [used for native words]
and the lower ones are katakana characters [used for foriegn words])

There are also combinants that use a consonant plus 'ya' 'yu' or 'yo',
therefore coming out as 'kya'($B$-$c(B), 'kyu'($B$-$e(B), 'kyo'($B$-$g(B), etc.
(the 's' row comes out a little differently, 'sha' 'shu' 'sho', since
that's the way it sounds to Western ears) Lastly, there is a doubled
consonant sound that is symbolized by a small version of the character
'tsu'($B$D(B) that is entered by simply typing the doubled consonant. An
example is the Japanization of the english word 'apple' which comes
out 'appuru'($B%"%C%W%k(B).

<new> The Japanese Ministry of Education has another rominazation
system, commonly called SI, where most the entries with the
exceptions of the naked vowels and 'n' are two characters, or align
neatly under a clasification table without regard to the way a Western
ear hears them. The following table shows the differences between
them. As far as I know most input methods support both.

Hepburn: shi ji sha shu sho jya jyu jyo chi tsu cha chu cho fu
SI     : si  zi sya syu syo ja  ju  jo  ti  tu  tya tyu tyo hu

Also, small versions of the vowel symbols (as well as certain other
characters) can be accessed by prefixing them with an 'x' (a $B$"(B, xa $B$!(B)
</new>

Egg uses C-\ to switch in and out of 'its:' mode (shown by a character
inside the [--] on the modeline), where the its: maps
that are loaded control which grouping of keys produce which
character. The default its: map is hiragana ([$B$"(B]), followed by
katakana ([$B%"(B]), zenkaku lowercase ([$B#a(B]), and zenkaku upercase
([$B#A(B]). The zenkaku are mappings to the full-width roman characters. Once
in its: mode, entering text will put you into 'fence' submode ([$B4A(B]),
where vertical bars appear around the characters you are currently
entering. Inside fence mode, M-C-k will switch to katakana entry,
M-C-h switches to hiragana, M-z switches to zenkaku (full-width)
lowercase and M-Z switches to zenkaku uppercase. Spacebar will send
the contents of the fence to the jserver process for lookup in the
dictionary, hitting it again will send it again (getting the next
lookup, if there is one) and return accepts the entry and takes you
out of fence. I am currently working on extending the functionality to
allow user overides of 'word' breakage, as well a mousable mode line
menu and finding the source of the damn problem with deleting
characters in fence mode (THAT is new and XEmacs specific... I wonder
where it's comming from)

(btw: there are its: maps for hangul (Korean) pinyin & zhuyin (Chinese) as
well, but I've not played with them)

Hope this helps some.

<new> I will be extending Egg quite a bit this weekend. As I'm really
starting to work with it, it's frustrating the crap out of me, 
so I'm re-writing portions to suit my style, and trying to make it
easier to use.</new>
--Jareth

