МУЛЬНЫЙ xemacs и псевдографика в koi8-r.

[email protected] (Nickolay Pakoulin)
Newsgroups gmane.emacs.xemacs.user.russian
Message-ID <[email protected]>
Вот более или менее приемлимое решение.  К письму приложен лисповый файл
koi8-pgraph.el  Достаточно указать в init-файле (для МУЛИ!!!)

(when (featurep 'mule)
  (load-library "koi8-pgraph"))

и в текстах на koi8 магическим образом появится псевдографика.  Но кривая :)
То есть графические элемены будут отрисовываться посредством `-', `+', `|' и
`#'.  Зато можно теперь сохранять файлы с некириллическими символами в koi8-r.

Исходный вариант ХЕмаксовой кодировки koi8-r доступен как кодировка
original-koi8-r.

протестировано в xemacs 21.5 в Windows, в non-Win32 не тестировалось.

Можно поправить отображение текста в cp1251, если далее добавить следующие
строки:

;; Fix en-dash, em-dash, double quotes
(when (featurep 'mule)
  (let ((table (specifier-instance current-display-table)))
    (unless (char-table-p table)
      (setq table (make-char-table 'generic))
      (set-specifier current-display-table table
                   'global))
    ;; en-dash
    (put-char-table (make-char 'chinese-cns11643-1 33 57)
                    (non-cyrillic-presentation-by-name "EN DASH")
                    table)
    ;; em-dash
    (put-char-table (make-char 'chinese-cns11643-1 33 55)
                    (non-cyrillic-presentation-by-name "EM DASH")
                    table)
    (put-char-table (make-char 'chinese-gb2312 33 48)
                    (non-cyrillic-presentation-by-name "LEFT DOUBLE QUOTATION MARK")
                    table)
    (put-char-table (make-char 'chinese-gb2312 33 49)
                    (non-cyrillic-presentation-by-name "RIGHT DOUBLE QUOTATION MARK")
                    table)
    (put-char-table (make-char 'chinese-big5-1 33 38)
                    (non-cyrillic-presentation-by-name "MIDDLE DOT")
                    table)
    (put-char-table (make-char 'japanese-jisx0208 34 46)
                    (non-cyrillic-presentation-by-name "SINGLE LOW-9 QUOTATION MARK")
                    table)
    (put-char-table (make-char 'chinese-gb2312 33 45)
                    (non-cyrillic-presentation-by-name "HORIZONTAL ELLIPSIS")
                    table)))

Код сырой.  Есть поле для улучшений.  Но ломает, ведь и так работает.

Если появятся пожелания, обращайтесь.

Коля.
koi8-pgraph.el (application/emacs-lisp, 14.1 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.