;;; cyril-util.el --- utilities for Cyrillic scripts
-;; Copyright (C) 1997 Electrotechnical Laboratory, JAPAN.
-;; Licensed to the Free Software Foundation.
+;; Copyright (C) 1997 Free Software Foundation, Inc.
;; Keywords: mule, multilingual, Cyrillic
;;; Code:
;;;###autoload
-(defun setup-cyrillic-environment ()
- "Setup multilingual environment (MULE) for Cyrillic users."
+(defun setup-cyrillic-iso-environment ()
+ "Setup multilingual environment (MULE) for Cyrillic ISO-8859-5 users."
(interactive)
- (setup-8-bit-environment "Cyrillic" 'cyrillic-iso8859-5 'cyrillic-iso-8bit
- "cyrillic-yawerty")
- (setq primary-language "Cyrillic"))
+ (set-language-environment "Cyrillic-ISO"))
+
+;;;###autoload
+(defun setup-cyrillic-koi8-environment ()
+ "Setup multilingual environment (MULE) for Cyrillic KOI8 users."
+ (interactive)
+ (set-language-environment "Cyrillic-KOI8"))
+
+;;;###autoload
+(defun setup-cyrillic-alternativnyj-environment ()
+ "Setup multilingual environment (MULE) for Cyrillic ALTERNATIVNYJ users."
+ (interactive)
+ (set-language-environment "Cyrillic-ALT"))
+
+;;;###autoload
+(defun cyrillic-encode-koi8-r-char (char)
+ "Return KOI8-R external character code of CHAR if appropriate."
+ (aref (char-table-extra-slot cyrillic-koi8-r-nonascii-translation-table 0)
+ char))
+
+;;;###autoload
+(defun cyrillic-encode-alternativnyj-char (char)
+ "Return ALTERNATIVNYJ external character code of CHAR if appropriate."
+ (aref (char-table-extra-slot
+ cyrillic-alternativnyj-nonascii-translation-table 0)
+ char))
+
\f
;; Display
;; Written by Valery Alexeev <valery@math.uga.edu>.
(defvar cyrillic-language-alist
- (list '("Bulgarian") '("Macedonian") '("Serbocroatian")
- '("Russian") '("Ukrainian"))
+ (list '("Belorussian") '("Bulgarian") '("Macedonian")
+ '("Russian") '("Serbo-Croatian") '("Ukrainian"))
"*List of known cyrillic languages")
-(setq standard-display-table (make-display-table))
-
;;;###autoload
(defun standard-display-cyrillic-translit (&optional cyrillic-language)
"Display a cyrillic buffer using a transliteration.
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)
- (if (interactive-p)
- (let* ((completion-ignore-case t))
- (setq cyrillic-language
- (completing-read
- "Cyrillic language (default nil): "
- cyrillic-language-alist nil t nil nil nil))))
+ (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))