Зачеркнутый в терминале Emacs - PullRequest
0 голосов
/ 29 ноября 2018

Я пытаюсь получить зачеркивание для работы в терминальном Emacs.Когда я добавляю зачеркивание по маршруту face, ничего не происходит.Я могу, однако, вставить текст с зачеркиванием в Emacs, и он отображается правильно.Когда я describe-char на нем, он говорит (сделано с i):

Composed with the following character(s) "̶" by these characters:  
i (#x69)
- (#x336)

Я знаю, что многие терминалы не могут обрабатывать зачеркивания, но я знаю, что мои могут,потому что вы можете вставить их в него.Я изо всех сил пытаюсь понять, почему редактирование лица не работает, но я могу вставить зачеркивание.

1 Ответ

0 голосов
/ 30 ноября 2018

Звучит так, как будто вы хотите вставить составные символы, чтобы вычеркнуть их, чтобы вы изменили содержимое буфера.Я не думаю, что у меня есть все угловые случаи, но это начало:

(defun strikeout-region (b e)
  "Use \"COMBINING LONG STROKE OVERLAY\" unicode char to strike out the region."
  (interactive "r")
  (when (use-region-p)
    (save-mark-and-excursion
      (goto-char b)
      (while (and (<= (point) e)
                (not (eobp)))
        (unless (looking-back "[[:space:]]" (1- (point)))
          (insert-char #x336)
          (setq e (1+ e)))
        (forward-char 1)))))

Но, возможно, вы пытаетесь отобразить определенное лицо (как установлено, например, через font-lock), а затем установитеЗачеркнутая собственность - верный способ сделать это.Мой терминал (rxvt-unicode) также может отображать составные символы, но я не могу заставить его отображать лицо с зачеркиванием.

...