Uwe Brauer writes:
- I an iso-accentuate and iso-unaccentuate whole regions,
changing 8 bit to 7 bit and back.
I don't understand what the expected effect is here. It would be easy
enough to write
(defun pseudo-accentuate-internal (start end operation)
(let ((start (min start end))
(end (max start end))) ; yes, this works as desired
(while (< (point) end)
(insert (int-to-char (funcall operation (char-to-int (char-after)))))
(defsubst pseudo-accentuate (start end)
(pseudo-accentuate-internal start end #'(lambda (n) (logior #x80 n))))
(defsubst pseudo-unaccentuate (start end)
(pseudo-accentuate-internal start end #'(lambda (n) (logand #x7F n))))
giving aeiou -> áåéïõ -> aeiou, but also bcd -> âãä -> bcd. Is that
what you expect?
There are also more complex functions that are available in
latin-unity (`latin-unity-remap' and `latin-unity-recode' IIRC) that
can handle translations to or from other ISO Latin sets.
XEmacs-Beta mailing list