|
From: | B. T. Raven |
Subject: | Re: ncr (numeric character reference) to unicode |
Date: | Wed, 15 Apr 2009 20:42:49 -0500 |
User-agent: | Thunderbird 2.0.0.21 (Windows/20090302) |
Stephen Berman wrote:
On Tue, 14 Apr 2009 11:42:09 -0500 "B. T. Raven" <nihil@nihilo.net> wrote:Miles Bader wrote:"B. T. Raven" <nihil@nihilo.net> writes:Does any of you know whether nxhtml has the capability to convert sequences like this: שַׁלוֹם. (shalom in Hebrew)The following should work: (defun expand-html-encoded-chars (start end) (interactive "r") (save-excursion (goto-char start) (while (re-search-forward "&#\\([0-9]+\\);" end t) (replace-match (char-to-string (decode-char 'ucs (string-to-number (match-string 1))) ) t t)))) -MilesThanks, Eli and Miles. The conversion works fine (with uncomposed glyphs, that is, points as separate characters, same as in the html codes). I referenced the command in an alias: (defalias 'xhc 'expand-html-encoded-chars) and then tried to do the same with this function: (defun reverse-string (beg end) (interactive "r") (setq str (buffer-substring beg end)) (apply #'string (nreverse (string-to-list str)))) but it doesn't seem to work, although it doesn't produce errors in a traceback buffer. What am I missing? Thanks, EdDoes this do what you want? (defun reverse-string (beg end) (interactive "r") (xhc beg end) (let* ((beg (region-beginning)) (end (region-end)) (str1 (buffer-substring beg end)) (str2 (apply #'string (nreverse (string-to-list str1))))) (replace-string str1 str2 nil beg end))) Steve Berman
That would probably do a little more than I want. Miles' expand html function is only needed if someone sends these ncr sequences in email. Btw, why are beg and end calculated in the function if they are passed to it? This almost does what I want:
(defun reverse-bufsubstring (beg end) (interactive "r") (let* ( (str1 (buffer-substring beg end)) (str2 (apply #'string (nreverse (string-to-list str1))))) (replace-string str1 str2 nil beg end))) except that it converts same one as before into this: erofeb sa eno emasso now that has to be reversed line by line rather than character by character. Anyway, all of this is just a kludge until the gurus come up with a real bidi functionality.
Thanks again, Ed
[Prev in Thread] | Current Thread | [Next in Thread] |