*** empty log message ***

This commit is contained in:
Dave Love
2001-11-04 17:08:08 +00:00
parent c18c9008ca
commit 7115232b8e
6 changed files with 1521 additions and 0 deletions

View File

@@ -1,3 +1,17 @@
2001-11-04 Dave Love <fx@gnu.org>
* Makefile.in (LATIN): Add welsh.
(UNICODE): New.
(MISC): Add georgian.
(WORLD): Add UNICODE.
* quail/welsh.el, quail/georgian.el, quail/rfc1345.el:
* quail/uni-input.el, quail/sgml-input.el: New file.
* quail/cyrillic.el ("bulgarian-pho", "belarusian"): New methods.
* quail/latin-alt.el ("dutch"): New method.
2001-10-27 Francesco Potorti` <pot@gnu.org>
* quail/latin-post.el ("italian-postfix"): Undo previous change.

83
leim/quail/georgian.el Normal file
View File

@@ -0,0 +1,83 @@
;;; georgian.el --- Quail package for inputting Georgian characters -*-coding: utf-8;-*-
;; Copyright (C) 2001 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;; Georgian input following the Yudit map from Mark Leisher
;; <mleisher@crl.nmsu.edu>.
;;; Code:
(require 'quail)
(quail-define-package
"georgian" "Georgian" "" t
"A common Georgian transliteration (using Unicode)"
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
("a" ?ა)
("b" ?ბ)
("g" ?გ)
("d" ?დ)
("e" ?ე)
("v" ?ვ)
("z" ?ზ)
("t" ?თ)
("i" ?ი)
(".k" ?კ)
("l" ?ლ)
("m" ?მ)
("n" ?ნ)
("o" ?ო)
(".p" ?პ)
("\+z" ?ჟ)
("r" ?რ)
("s" ?ს)
(".t" ?ტ)
("u" ?უ)
("p" ?ფ)
("k" ?ქ)
(".g" ?ღ)
("q" ?)
("\+s" ?შ)
("\+c" ?ჩ)
("c" ?ც)
("j" ?ძ)
(".c" ?წ)
(".\+c" ?ჭ)
("x" ?ხ)
("\+j" ?ჯ)
("h" ?ჰ)
("q1" ?ჴ)
("e0" ?ჱ)
("o1" ?ჵ)
("i1" ?ჲ)
("w" ?ჳ)
("f" ?ჶ)
;; Presumably, these are GEORGIAN LETTER YN, GEORGIAN LETTER ELIFI,
;; accepted for U+10F7, U+10F8 -- fx
("y" ?) ;; Letter not in Unicode (private use code).
("e1" ?) ;; Letter not in Unicode (private use code).
)
;;; georgian.el ends here

BIN
leim/quail/rfc1345.el Normal file

Binary file not shown.

1060
leim/quail/sgml-input.el Normal file

File diff suppressed because it is too large Load Diff

161
leim/quail/uni-input.el Normal file
View File

@@ -0,0 +1,161 @@
;;; uni-input.el --- Hex Unicode input method
;; Copyright (C) 2001 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;; Provides an input method for entering characters by hex unicode in
;; the form `uxxxx', similarly to the Yudit editor.
;; This is not really a Quail method, but uses some Quail functions.
;; There is probably A Better Way.
;; Compare `ucs-insert', which explicitly inserts a unicoded character
;; rather than supplying an input method.
;;; Code:
(require 'quail)
;; Maybe stolen from Mule-UCS -- I don't remember.
(define-ccl-program utf-8-ccl-encode
`(4 (if (r0 < ?\x80)
((write r0))
(if (r0 < #x800)
((write ((r0 >> 6) | ?\xC0))
(write ((r0 & ?\x3F) | ?\x80)))
(if (r0 < #x10000)
((write ((r0 >> 12) | ?\xE0))
(write (((r0 >> 6) & ?\x3F) | ?\x80))
(write ((r0 & ?\x3F) | ?\x80)))
(if (r0 < #x200000)
((write ((r0 >> 18) | ?\xF0))
(write (((r0 >> 12) & ?\3F) | ?\x80))
(write (((r0 >> 6) & ?\x3F) | ?\x80))
(write ((r0 & ?\x3F) | ?\x80)))
(if (r0 < #x4000000)
((write ((r0 >> 24) | ?\xF8))
(write (((r0 >> 18) & ?\x3F) | ?\x80))
(write (((r0 >> 12) & ?\x3F) | ?\x80))
(write (((r0 >> 6) & ?\x3F) | ?\x80))
(write ((r0 & ?\x3f) | ?\x80)))
((write ((r0 >> 30) | ?\xFC))
(write (((r0 >> 24) & ?\x3F) | ?\x80))
(write (((r0 >> 18) & ?\x3F) | ?\x80))
(write (((r0 >> 12) & ?\x3F) | ?\x80))
(write (((r0 >> 6) & ?\x3F) | ?\x80))
(write ((r0 & ?\x3f) | ?\x80))))))))))
(defun ucs-input-method (key)
(if (or buffer-read-only
(and (/= key ?U) (/= key ?u)))
(list key)
(quail-setup-overlays nil)
(let ((current-prefix-arg)
(last-command-char key))
(call-interactively 'self-insert-command))
(let ((modified-p (buffer-modified-p))
(buffer-undo-list t)
(input-method-function nil)
(echo-keystrokes 0)
(help-char nil)
(events (list key))
(str " "))
(unwind-protect
(catch 'non-digit
(progn
(dotimes (i 4)
(let ((seq (read-key-sequence nil))
key)
(if (and (stringp seq)
(= 1 (length seq))
(setq key (aref seq 0))
(memq key '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 ?a
?b ?c ?d ?e ?f ?A ?B ?C ?D ?E ?F)))
(progn
(push key events)
(let ((last-command-char key)
(current-prefix-arg))
(call-interactively 'self-insert-command)))
(let ((last-command-char key)
(current-prefix-arg))
(condition-case nil
(call-interactively (key-binding seq))))
(quail-delete-region)
(throw 'non-digit (append (reverse events)
(listify-key-sequence seq))))))
(quail-delete-region)
(let* ((n (string-to-number (apply 'string
(cdr (nreverse events)))
16))
(c (decode-char 'ucs n))
(status (make-vector 9 nil)))
(if c
(list c)
(aset status 0 n)
(string-to-list (ccl-execute-on-string
'utf-8-ccl-encode status ""))))))
(quail-delete-overlays)
(set-buffer-modified-p modified-p)
(run-hooks 'input-method-after-insert-chunk-hook)))))
(defun ucs-input-activate (&optional arg)
"Activate UCS input method.
With arg, activate UCS input method if and only if arg is positive.
While this input method is active, the variable
`input-method-function' is bound to the function `ucs-input-method'."
(if (and arg
(< (prefix-numeric-value arg) 0))
(unwind-protect
(progn
(quail-hide-guidance-buf)
(quail-delete-overlays)
(setq describe-current-input-method-function nil))
(kill-local-variable 'input-method-function))
(setq inactivate-current-input-method-function 'ucs-input-inactivate)
(setq describe-current-input-method-function 'ucs-input-help)
(quail-delete-overlays)
(if (eq (selected-window) (minibuffer-window))
(add-hook 'minibuffer-exit-hook 'quail-exit-from-minibuffer))
(add-hook 'kill-buffer-hook 'quail-kill-guidance-buf nil t)
(set (make-local-variable 'input-method-function)
'ucs-input-method)))
(defun ucs-input-inactivate ()
"Inactivate UCS input method."
(interactive)
(ucs-input-activate -1))
(defun ucs-input-help ()
(interactive)
(with-output-to-temp-buffer "*Help*"
(princ "\
Input method: ucs (mode line indicator:U)
Input as Unicode: U<hex> or u<hex>, where <hex> is a four-digit hex number.")))
(register-input-method "ucs" "UTF-8" 'ucs-input-activate "U+"
"Unicode input as hex in the form Uxxxx.")
(provide 'uni-input)
;;; uni-input.el ends here

203
leim/quail/welsh.el Normal file
View File

@@ -0,0 +1,203 @@
;;; welsh.el --- Quail package for inputting Welsh characters -*-coding: iso-2022-7bit;-*-
;; Copyright (C) 2001 Free Software Foundation, Inc.
;; Author: Dave Love <fx@gnu.org>
;; Keywords: i18n
;; This file is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;; This file is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;; Welsh input following the Yudit map by david@sheetmusic.org.uk.
;; This is set up to produce utf-8. A Latin-8 version of most of it
;; is commented-out at the end.
;;; Code:
(require 'quail)
(quail-define-package
"welsh" "Welsh" "$,1!4(B" t
"Welsh postfix input method, using Unicode"
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
("A\\" ?,A@(B)
("A/" ?,AA(B)
("A^" ?,AB(B)
("A+" ?,AB(B)
("A\"" ?,AD(B)
("a\\" ?,A`(B)
("a/" ?,Aa(B)
("a^" ?,Ab(B)
("a+" ?,Ab(B)
("a\"" ?,Ad(B)
("E\\" ?,AH(B)
("E/" ?,AI(B)
("E^" ?,AJ(B)
("E+" ?,AJ(B)
("E\"" ?,AK(B)
("e\\" ?,Ah(B)
("e/" ?,Ai(B)
("e^" ?,Aj(B)
("e+" ?,Aj(B)
("e\"" ?,Ak(B)
("I\\" ?,AL(B)
("I/" ?,AM(B)
("I^" ?,AN(B)
("I+" ?,AN(B)
("I\"" ?,AO(B)
("i\\" ?,Al(B)
("i/" ?,Am(B)
("i^" ?,An(B)
("i+" ?,An(B)
("i\"" ?,Ao(B)
("O\\" ?,AR(B)
("O/" ?,AS(B)
("O^" ?,AT(B)
("O+" ?,AT(B)
("O\"" ?,AV(B)
("o\\" ?,Ar(B)
("o/" ?,As(B)
("o^" ?,At(B)
("o+" ?,At(B)
("o\"" ?,Av(B)
("U\\" ?,AY(B)
("U/" ?,AZ(B)
("U^" ?,A[(B)
("U+" ?,A[(B)
("U\"" ?,A\(B)
("u\\" ?,Ay(B)
("u/" ?,Az(B)
("u^" ?,A{(B)
("u+" ?,A{(B)
("u\"" ?,A|(B)
("Y\\" ?$,1or(B)
("Y/" ?,A](B)
("Y^" ?$,1!6(B)
("Y+" ?$,1!6(B)
("Y\"" ?$,1!8(B)
("y\\" ?$,1os(B)
("y/" ?,A}(B)
("y\"" ?,A(B)
("y^" ?$,1!7(B)
("y+" ?$,1!7(B)
("W\\" ?$,1n`(B)
("W/" ?$,1nb(B)
("W^" ?$,1!4(B)
("W+" ?$,1!4(B)
("W\"" ?$,1nd(B)
("w\\" ?$,1na(B)
("w/" ?$,1nc(B)
("w^" ?$,1!5(B)
("w+" ?$,1!5(B)
("w\"" ?$,1ne(B)
;; "hawlfraint" (copyright). Dyma arwyddlun hawlfraint.
("(h)" ?$,1W(B))
;; (quail-define-package
;; "welsh" "Welsh" "$,1!4(B" t
;; "Welsh postfix input method, using Latin-8"
;; nil t nil nil nil nil nil nil nil nil t)
;; (quail-define-rules
;; ("A\\" ?,A@(B)
;; ("A/" ?,AA(B)
;; ("A^" ?,AB(B)
;; ("A+" ?,AB(B)
;; ("A\"" ?,AD(B)
;; ("a\\" ?,A`(B)
;; ("a/" ?,Aa(B)
;; ("a^" ?,Ab(B)
;; ("a+" ?,Ab(B)
;; ("a\"" ?,Ad(B)
;; ("E\\" ?,AH(B)
;; ("E/" ?,AI(B)
;; ("E^" ?,AJ(B)
;; ("E+" ?,AJ(B)
;; ("E\"" ?,AK(B)
;; ("e\\" ?,Ah(B)
;; ("e/" ?,Ai(B)
;; ("e^" ?,Aj(B)
;; ("e+" ?,Aj(B)
;; ("e\"" ?,Ak(B)
;; ("I\\" ?,AL(B)
;; ("I/" ?,AM(B)
;; ("I^" ?,AN(B)
;; ("I+" ?,AN(B)
;; ("I\"" ?,AO(B)
;; ("i\\" ?,Al(B)
;; ("i/" ?,Am(B)
;; ("i^" ?,An(B)
;; ("i+" ?,An(B)
;; ("i\"" ?,Ao(B)
;; ("O\\" ?,AR(B)
;; ("O/" ?,AS(B)
;; ("O^" ?,AT(B)
;; ("O+" ?,AT(B)
;; ("O\"" ?,AV(B)
;; ("o\\" ?,Ar(B)
;; ("o/" ?,As(B)
;; ("o^" ?,At(B)
;; ("o+" ?,At(B)
;; ("o\"" ?,Av(B)
;; ("U\\" ?,AY(B)
;; ("U/" ?,AZ(B)
;; ("U^" ?,A[(B)
;; ("U+" ?,A[(B)
;; ("U\"" ?,A\(B)
;; ("u\\" ?,Ay(B)
;; ("u/" ?,Az(B)
;; ("u^" ?,A{(B)
;; ("u+" ?,A{(B)
;; ("u\"" ?,A|(B)
;; ("Y\\" ?,A,(B)
;; ("Y/" ?,A](B)
;; ("Y^" ?,A^(B)
;; ("Y+" ?,A^(B)
;; ("Y\"" ?,A/(B)
;; ("y\\" ?,A<(B)
;; ("y/" ?,A}(B)
;; ("y\"" ?,A(B)
;; ("y^" ?,A~(B)
;; ("y+" ?,A~(B)
;; ("W\\" ?,A((B)
;; ("W/" ?,A*(B)
;; ("W^" ?,AP(B)
;; ("W+" ?,AP(B)
;; ("W\"" ?,A=(B)
;; ("w\\" ?,A8(B)
;; ("w/" ?,A:(B)
;; ("w^" ?,Ap(B)
;; ("w+" ?,Ap(B)
;; ("w\"" ?,A>(B))
;;; welsh.el ends here