Re: Question about Polish input method

"Ben Wing" <[email protected]> Fri, 16 May 2003 21:16:57 -0700
Newsgroups gmane.emacs.xemacs.mule
Message-ID <006501c31c2b$28429710$0201a8c0@neeeeeee>
you really need to ask martin about this.  he claims to have done something to
make this work correctly but i don't know what's missing.

----- Original Message ----- 
From: "Stephen J. Turnbull" <[email protected]>
To: "Jakub Nadolny" <[email protected]>
Cc: <[email protected]>
Sent: Thursday, May 15, 2003 6:32 AM
Subject: Re: Question about Polish input method


> >>>>> "Jakub" == Jakub Nadolny <[email protected]> writes:
>
>     Jakub> when I try to have some Polish diactrical characters, such
>     Jakub> as ą, ę, ć etc. I press right alt + letter (e.g. alt + a to
>     Jakub> have ą) and there is a message "aogonek not
>     Jakub> defined". Similar message for other letters:
>
> I don't really understand the low-level keyboard code; there is
> support for recognizing these keysyms, but they're not used for input
> by default.  Seems crazy.  If you execute the expression below, you
> should be able to use Alt + letter to enter Polish characters.  This
> assumes that you are using a Mule build; if not, you'll get a bunch of
> errors for `make-char'.  In the no-Mule case, probably (1) using
> iso8859-2 fonts and (2) executing
>
> (defun make-char (charset o1 o2)
>   (when o2
>     (error 'invalid-argument "No multibyte characters in 8-bit Emacs!" o2))
>   (if (not o1)
>       (error 'invalid-argument "Must specify a code point!")
>     (int-to-char o1)))
>
> before reexecuting the expression.
>
> If it works, please let us know.  If you get any warnings about
> redefinitions, I'd also like to know.  Thanks!
>
> If you get Polish characters, but the correspondence to keystrokes
> doesn't make sense, don't hesitate to let us know.
>
>     Jakub> So it looks like there is no input method for Polish
>     Jakub> language?  Can you help me?
>
> Besides the direct input method above, you could use the leim package
> (M-x list-packages, update the index, get and install leim), which
> provides a number of input methods including latin-2-prefix and
> latin-2-postfix.
>
> (mapcar
>   (lambda (pair)
>     (let ((keysym (car pair)) (code (cdr pair)))
>       (when (lookup-key global-map (vector keysym))
>         (warn (format
>                "Overriding existing keymapping for %s to self-insert-command"
>                keysym)))
>       (define-key global-map (vector keysym) #'self-insert-command)
>       (when (get 'EuroSign 'ascii-character)
>         (warn (format
>                "Overriding existing definition of %s to #x%02x"
>                keysym code)))
>       (put keysym 'ascii-character (make-char 'latin-iso8859-2 code))))
>   '((Aogonek             . #xa1)
>     (breve               . #xa2)
>     (Lstroke             . #xa3)
>     (Lcaron              . #xa5)
>     (Sacute              . #xa6)
>     (Scaron              . #xa9)
>     (Scedilla            . #xaa)
>     (Tcaron              . #xab)
>     (Zacute              . #xac)
>     (Zcaron              . #xae)
>     (Zabovedot           . #xaf)
>     (aogonek             . #xb1)
>     (ogonek              . #xb2)
>     (lstroke             . #xb3)
>     (lcaron              . #xb5)
>     (sacute              . #xb6)
>     (caron               . #xb7)
>     (scaron              . #xb9)
>     (scedilla            . #xba)
>     (tcaron              . #xbb)
>     (zacute              . #xbc)
>     (doubleacute         . #xbd)
>     (zcaron              . #xbe)
>     (zabovedot           . #xbf)
>     (Racute              . #xc0)
>     (Abreve              . #xc3)
>     (Lacute              . #xc5)
>     (Cacute              . #xc6)
>     (Ccaron              . #xc8)
>     (Eogonek             . #xca)
>     (Ecaron              . #xcc)
>     (Dcaron              . #xcf)
>     (Dstroke             . #xd0)
>     (Nacute              . #xd1)
>     (Ncaron              . #xd2)
>     (Odoubleacute        . #xd5)
>     (Rcaron              . #xd8)
>     (Uring               . #xd9)
>     (Udoubleacute        . #xdb)
>     (Tcedilla            . #xde)
>     (racute              . #xe0)
>     (abreve              . #xe3)
>     (lacute              . #xe5)
>     (cacute              . #xe6)
>     (ccaron              . #xe8)
>     (eogonek             . #xea)
>     (ecaron              . #xec)
>     (dcaron              . #xef)
>     (dstroke             . #xf0)
>     (nacute              . #xf1)
>     (ncaron              . #xf2)
>     (odoubleacute        . #xf5)
>     (udoubleacute        . #xfb)
>     (rcaron              . #xf8)
>     (uring               . #xf9)
>     (tcedilla            . #xfe)
>     (abovedot            . #xff)))
>
>
> -- 
> Institute of Policy and Planning Sciences     http://turnbull.sk.tsukuba.ac.jp
> University of Tsukuba                    Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
>                Ask not how you can "do" free software business;
>               ask what your business can "do for" free software.
>