Mercurial > hg > xemacs-beta
diff lisp/language/cyril-util.el @ 207:e45d5e7c476e r20-4b2
Import from CVS: tag r20-4b2
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:03:52 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/language/cyril-util.el Mon Aug 13 10:03:52 2007 +0200 @@ -0,0 +1,206 @@ +;;; cyril-util.el --- utilities for Cyrillic scripts + +;; Copyright (C) 1997 Free Software Foundation, Inc. + +;; Keywords: mule, multilingual, Cyrillic + +;; This file is part of XEmacs. + +;; XEmacs 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. + +;; XEmacs 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 XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Code: + +;;;###autoload +(defun setup-cyrillic-iso-environment () + "Setup multilingual environment (MULE) for Cyrillic ISO-8859-5 users." + (interactive) + (setup-8-bit-environment "Cyrillic-ISO" 'cyrillic-iso8859-5 + 'iso-8859-5 "cyrillic-yawerty")) + +;;;###autoload +(defun setup-cyrillic-koi8-environment () + "Setup multilingual environment (MULE) for Cyrillic KOI8 users." + (interactive) + (setup-8-bit-environment "Cyrillic-KOI8" 'cyrillic-iso8859-5 'koi8-r + "cyrillic-yawerty")) + +;;;###autoload +(defun setup-cyrillic-alternativnyj-environment () + "Setup multilingual environment (MULE) for Cyrillic ALTERNATIVNYJ users." + (interactive) + (setup-8-bit-environment "Cyrillic" 'cyrillic-iso8859-5 + 'alternativnyj "cyrillic-yawerty") + ;; (setq coding-category-raw-text 'alternativnyj) + ) + + +;; Display + +;; Written by Valery Alexeev <valery@math.uga.edu>. + +(defvar cyrillic-language-alist + (list '("Belorussian") '("Bulgarian") '("Macedonian") + '("Russian") '("Serbian") '("Ukrainian")) + "*List of known cyrillic languages") + +;;;###autoload +(defun standard-display-cyrillic-translit (&optional cyrillic-language) + "Display a cyrillic buffer using a transliteration. +For readability, the table is slightly +different from the one used for the input method `cyrillic-translit'. + +The argument is a string which specifies which language you are using; +that affects the choice of transliterations slightly. +Possible values are listed in 'cyrillic-language-alist'. +If the argument is t, we use the default cyrillic transliteration. +If the argument is nil, we return the display table to its standard state." + (interactive + (list + (let* ((completion-ignore-case t)) + (completing-read + "Cyrillic language (default nil): " + cyrillic-language-alist nil t nil nil nil)))) + + (or standard-display-table + (setq standard-display-table (make-display-table))) + + (if (equal cyrillic-language "") + (setq cyrillic-language nil)) + + (if (null cyrillic-language) + (setq standard-display-table (make-display-table)) + (aset standard-display-table ?,LP(B [?a]) + (aset standard-display-table ?,LQ(B [?b]) + (aset standard-display-table ?,LR(B [?v]) + (aset standard-display-table ?,LS(B [?g]) + (aset standard-display-table ?,LT(B [?d]) + (aset standard-display-table ?,LU(B [?e]) + (aset standard-display-table ?,Lq(B [?y?o]) + (aset standard-display-table ?,LV(B [?z?h]) + (aset standard-display-table ?,LW(B [?z]) + (aset standard-display-table ?,LX(B [?i]) + (aset standard-display-table ?,LY(B [?j]) + (aset standard-display-table ?,LZ(B [?k]) + (aset standard-display-table ?,L[(B [?l]) + (aset standard-display-table ?,L\(B [?m]) + (aset standard-display-table ?,L](B [?n]) + (aset standard-display-table ?,L^(B [?o]) + (aset standard-display-table ?,L_(B [?p]) + (aset standard-display-table ?,L`(B [?r]) + (aset standard-display-table ?,La(B [?s]) + (aset standard-display-table ?,Lb(B [?t]) + (aset standard-display-table ?,Lc(B [?u]) + (aset standard-display-table ?,Ld(B [?f]) + (aset standard-display-table ?,Le(B [?k?h]) + (aset standard-display-table ?,Lf(B [?t?s]) + (aset standard-display-table ?,Lg(B [?c?h]) + (aset standard-display-table ?,Lh(B [?s?h]) + (aset standard-display-table ?,Li(B [?s?c?h]) + (aset standard-display-table ?,Lj(B [?~]) + (aset standard-display-table ?,Lk(B [?y]) + (aset standard-display-table ?,Ll(B [?']) + (aset standard-display-table ?,Lm(B [?e?']) + (aset standard-display-table ?,Ln(B [?y?u]) + (aset standard-display-table ?,Lo(B [?y?a]) + + (aset standard-display-table ?,L0(B [?A]) + (aset standard-display-table ?,L1(B [?B]) + (aset standard-display-table ?,L2(B [?V]) + (aset standard-display-table ?,L3(B [?G]) + (aset standard-display-table ?,L4(B [?D]) + (aset standard-display-table ?,L5(B [?E]) + (aset standard-display-table ?,L!(B [?Y?o]) + (aset standard-display-table ?,L6(B [?Z?h]) + (aset standard-display-table ?,L7(B [?Z]) + (aset standard-display-table ?,L8(B [?I]) + (aset standard-display-table ?,L9(B [?J]) + (aset standard-display-table ?,L:(B [?K]) + (aset standard-display-table ?,L;(B [?L]) + (aset standard-display-table ?,L<(B [?M]) + (aset standard-display-table ?,L=(B [?N]) + (aset standard-display-table ?,L>(B [?O]) + (aset standard-display-table ?,L?(B [?P]) + (aset standard-display-table ?,L@(B [?R]) + (aset standard-display-table ?,LA(B [?S]) + (aset standard-display-table ?,LB(B [?T]) + (aset standard-display-table ?,LC(B [?U]) + (aset standard-display-table ?,LD(B [?F]) + (aset standard-display-table ?,LE(B [?K?h]) + (aset standard-display-table ?,LF(B [?T?s]) + (aset standard-display-table ?,LG(B [?C?h]) + (aset standard-display-table ?,LH(B [?S?h]) + (aset standard-display-table ?,LI(B [?S?c?h]) + (aset standard-display-table ?,LJ(B [?~]) + (aset standard-display-table ?,LK(B [?Y]) + (aset standard-display-table ?,LL(B [?']) + (aset standard-display-table ?,LM(B [?E?']) + (aset standard-display-table ?,LN(B [?Y?u]) + (aset standard-display-table ?,LO(B [?Y?a]) + + (aset standard-display-table ?,Lt(B [?i?e]) + (aset standard-display-table ?,Lw(B [?i]) + (aset standard-display-table ?,L~(B [?u]) + (aset standard-display-table ?,Lr(B [?d?j]) + (aset standard-display-table ?,L{(B [?c?h?j]) + (aset standard-display-table ?,Ls(B [?g?j]) + (aset standard-display-table ?,Lu(B [?s]) + (aset standard-display-table ?,L|(B [?k]) + (aset standard-display-table ?,Lv(B [?i]) + (aset standard-display-table ?,Lx(B [?j]) + (aset standard-display-table ?,Ly(B [?l?j]) + (aset standard-display-table ?,Lz(B [?n?j]) + (aset standard-display-table ?,L(B [?d?z]) + + (aset standard-display-table ?,L$(B [?Y?e]) + (aset standard-display-table ?,L'(B [?Y?i]) + (aset standard-display-table ?,L.(B [?U]) + (aset standard-display-table ?,L"(B [?D?j]) + (aset standard-display-table ?,L+(B [?C?h?j]) + (aset standard-display-table ?,L#(B [?G?j]) + (aset standard-display-table ?,L%(B [?S]) + (aset standard-display-table ?,L,(B [?K]) + (aset standard-display-table ?,L&(B [?I]) + (aset standard-display-table ?,L((B [?J]) + (aset standard-display-table ?,L)(B [?L?j]) + (aset standard-display-table ?,L*(B [?N?j]) + (aset standard-display-table ?,L/(B [?D?j]) + + (when (equal cyrillic-language "Bulgarian") + (aset standard-display-table ?,Li(B [?s?h?t]) + (aset standard-display-table ?,LI(B [?S?h?t]) + (aset standard-display-table ?,Ln(B [?i?u]) + (aset standard-display-table ?,LN(B [?I?u]) + (aset standard-display-table ?,Lo(B [?i?a]) + (aset standard-display-table ?,LO(B [?I?a])) + + (when (equal cyrillic-language "Ukrainian") ; based on the official + ; transliteration table + (aset standard-display-table ?,LX(B [?y]) + (aset standard-display-table ?,L8(B [?Y]) + (aset standard-display-table ?,LY(B [?i]) + (aset standard-display-table ?,L9(B [?Y]) + (aset standard-display-table ?,Ln(B [?i?u]) + (aset standard-display-table ?,Lo(B [?i?a])))) + + +;; +(provide 'cyril-util) + +;;; cyril-util.el ends here + +;; Local Variables: +;; buffer-file-coding-system: iso-2022-7bit +;; End: