From 7286c88e1362241c240a8c1e02ed54ef1a357c7a Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 5 Aug 1997 01:10:07 +0000 Subject: [PATCH] (cyrillic-language-alist): New variable. (standard-display-cyrillic-translit): Add autoload cookie. --- lisp/language/cyril-util.el | 253 ++++++++++++++++++++---------------- 1 file changed, 139 insertions(+), 114 deletions(-) diff --git a/lisp/language/cyril-util.el b/lisp/language/cyril-util.el index 1f5cb1695ac..f8291b30045 100644 --- a/lisp/language/cyril-util.el +++ b/lisp/language/cyril-util.el @@ -36,131 +36,156 @@ ;; Written by Valery Alexeev . -(defun standard-display-cyrillic-translit (cyrillic-language) +(defvar cyrillic-language-alist + (list '("Bulgarian") '("Macedonian") '("Serbocroatian") + '("Russian") '("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. For readability, the table is slightly different from the one used for the input method `cyrillic-translit'. -The argument specifies which language you are using; +The argument is a string which specifies which language you are using; that affects the choice of transliterations slightly. -Possible values are `ukranian', `bulgarian' or t (any other language). +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)))) + + (if (equal cyrillic-language "") + (setq cyrillic-language nil)) + (if (null cyrillic-language) (setq standard-display-table (make-display-table)) - (aset standard-display-table ?Ð [?a]) - (aset standard-display-table ?Ñ [?b]) - (aset standard-display-table ?Ò [?v]) - (aset standard-display-table ?Ó [?g]) - (aset standard-display-table ?Ô [?d]) - (aset standard-display-table ?Õ [?e]) - (aset standard-display-table ?ñ [?y?o]) - (aset standard-display-table ?Ö [?z?h]) - (aset standard-display-table ?× [?z]) - (aset standard-display-table ?Ø [?i]) - (aset standard-display-table ?Ù [?j]) - (aset standard-display-table ?Ú [?k]) - (aset standard-display-table ?Û [?l]) - (aset standard-display-table ?Ü [?m]) - (aset standard-display-table ?Ý [?n]) - (aset standard-display-table ?Þ [?o]) - (aset standard-display-table ?ß [?p]) - (aset standard-display-table ?à [?r]) - (aset standard-display-table ?á [?s]) - (aset standard-display-table ?â [?t]) - (aset standard-display-table ?ã [?u]) - (aset standard-display-table ?ä [?f]) - (aset standard-display-table ?å [?k?h]) - (aset standard-display-table ?æ [?t?s]) - (aset standard-display-table ?ç [?c?h]) - (aset standard-display-table ?è [?s?h]) - (aset standard-display-table ?é [?s?c?h]) - (aset standard-display-table ?ê [?~]) - (aset standard-display-table ?ë [?y]) - (aset standard-display-table ?ì [?']) - (aset standard-display-table ?í [?e?']) - (aset standard-display-table ?î [?y?u]) - (aset standard-display-table ?ï [?y?a]) - - (aset standard-display-table ?° [?A]) - (aset standard-display-table ?± [?B]) - (aset standard-display-table ?² [?V]) - (aset standard-display-table ?³ [?G]) - (aset standard-display-table ?´ [?D]) - (aset standard-display-table ?µ [?E]) - (aset standard-display-table ?¡ [?Y?o]) - (aset standard-display-table ?¶ [?Z?h]) - (aset standard-display-table ?· [?Z]) - (aset standard-display-table ?¸ [?I]) - (aset standard-display-table ?¹ [?J]) - (aset standard-display-table ?º [?K]) - (aset standard-display-table ?\» [?L]) - (aset standard-display-table ?¼ [?M]) - (aset standard-display-table ?½ [?N]) - (aset standard-display-table ?¾ [?O]) - (aset standard-display-table ?¿ [?P]) - (aset standard-display-table ?À [?R]) - (aset standard-display-table ?Á [?S]) - (aset standard-display-table ?Â [?T]) - (aset standard-display-table ?Ã [?U]) - (aset standard-display-table ?Ä [?F]) - (aset standard-display-table ?Å [?K?h]) - (aset standard-display-table ?Æ [?T?s]) - (aset standard-display-table ?Ç [?C?h]) - (aset standard-display-table ?È [?S?h]) - (aset standard-display-table ?É [?S?c?h]) - (aset standard-display-table ?Ê [?~]) - (aset standard-display-table ?Ë [?Y]) - (aset standard-display-table ?Ì [?']) - (aset standard-display-table ?Í [?E?']) - (aset standard-display-table ?Î [?Y?u]) - (aset standard-display-table ?Ï [?Y?a]) - - (aset standard-display-table ?ô [?i?e]) - (aset standard-display-table ?÷ [?i]) - (aset standard-display-table ?þ [?u]) - (aset standard-display-table ?ò [?d?j]) - (aset standard-display-table ?û [?c?h?j]) - (aset standard-display-table ?ó [?g?j]) - (aset standard-display-table ?õ [?s]) - (aset standard-display-table ?ü [?k]) - (aset standard-display-table ?ö [?i]) - (aset standard-display-table ?ø [?j]) - (aset standard-display-table ?ù [?l?j]) - (aset standard-display-table ?ú [?n?j]) - (aset standard-display-table ?ÿ [?d?z]) - - (aset standard-display-table ?¤ [?Y?e]) - (aset standard-display-table ?§ [?Y?i]) - (aset standard-display-table ?® [?U]) - (aset standard-display-table ?¢ [?D?j]) - (aset standard-display-table ?\« [?C?h?j]) - (aset standard-display-table ?£ [?G?j]) - (aset standard-display-table ?¥ [?S]) - (aset standard-display-table ?¬ [?K]) - (aset standard-display-table ?¦ [?I]) - (aset standard-display-table ?¨ [?J]) - (aset standard-display-table ?© [?L?j]) - (aset standard-display-table ?ª [?N?j]) - (aset standard-display-table ?¯ [?D?j]) - - (when (eq cyrillic-language 'bulgarian) - (aset standard-display-table ?é [?s?h?t]) - (aset standard-display-table ?É [?S?h?t]) - (aset standard-display-table ?î [?i?u]) - (aset standard-display-table ?Î [?I?u]) - (aset standard-display-table ?ï [?i?a]) - (aset standard-display-table ?Ï [?I?a])) - - (when (eq cyrillic-language 'ukranian) ; based on the official + (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 ?Ø [?y]) - (aset standard-display-table ?¸ [?Y]) - (aset standard-display-table ?Ù [?i]) - (aset standard-display-table ?¹ [?Y]) - (aset standard-display-table ?î [?i?u]) - (aset standard-display-table ?ï [?i?a])))) + (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: -- 2.39.2