Emacs: exibe usando seqüências de escape hexadecimais

3

O Emacs exibe caracteres sem glifos como sequências de escape octal "\ OOO", por exemplo, desde o início de um arquivo PDF:

%PDF-1.4
%4372
1 0 obj
[/PDF/ImageB/ImageC/ImageI/Text]
endobj
4 0 obj
<</Length 5 0 R/Filter/FlateDecode>>
stream
937116j5
endstream

Posso definir algumas configurações (relativamente simples) para obter aquelas em seqüências de escape hexadecimais "\ xFF"? Como:

%PDF-1.4
%\xE4\xE3\xCF\xD2
1 0 obj
[/PDF/ImageB/ImageC/ImageI/Text]
endobj
4 0 obj
<</Length 5 0 R/Filter/FlateDecode>>
stream
9\xD3\xCF\x91\xD1\xEEj\xC5
endstream

(usando o modo de texto, ou modo fundamental, ou ... mas não o modo hexl)

    
por Rolazaro Azeveires 13.12.2013 / 23:11

1 resposta

2

Eu nunca toquei isso antes, mas ler um pouco o manual do Elisp e fazer experiências me faz pensar que algo assim é o que você está procurando:

(let ((ii          128)
      (new-dtable  (make-display-table))
      (hex-string  nil))
  (while (< ii 256) ; Convert decimal codes 128 to 255.
    (setq hex-string  (format "%X" ii))
    (aset new-dtable ii
          (vector
           (make-glyph-code ?\ 'escape-glyph)
           (make-glyph-code ?x 'escape-glyph)
           (make-glyph-code (aref hex-string 0) 'escape-glyph)
           (make-glyph-code (aref hex-string 1) 'escape-glyph)))
    (setq ii  (1+ ii)))
  (set-window-display-table (selected-window) new-dtable))

Se você usar, digamos, C-q 3 4 4 RET , que normalmente insere a seqüência de escape octal 4 , ela inserirá um glifo mostrando xE4 .

A parte relevante do manual do Elisp que eu olhei são aqueles sob o nó Character Display .

    
por 14.12.2013 / 04:51

Tags