From 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Fri, 25 Dec 2015 07:45:27 +0100 Subject: [PATCH] Default web pages to right-to-left * eww.el (eww-mode): Most web pages are left-to-right, so make that the default (bug#19801). * shr.el (shr-tag-html): Respect "dir" attributes (left-to-right, right-to-left). --- lisp/net/eww.el | 3 ++- lisp/net/shr.el | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lisp/net/eww.el b/lisp/net/eww.el index 65ff733726d..620913fecde 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -717,7 +717,8 @@ the like." (setq-local desktop-save-buffer #'eww-desktop-misc-data) ;; multi-page isearch support (setq-local multi-isearch-next-buffer-function #'eww-isearch-next-buffer) - (setq truncate-lines t) + (setq truncate-lines t + bidi-paragraph-direction 'left-to-right) (buffer-disable-undo) (setq buffer-read-only t)) diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 905c9c5c76d..a7fdf9e1181 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -1109,6 +1109,15 @@ ones, in case fg and bg are nil." ;;; Tag-specific rendering rules. +(defun shr-tag-html (dom) + (let ((dir (dom-attr dom 'dir))) + (cond + ((equal dir "ltr") + (setq bidi-paragraph-direction 'left-to-right)) + ((equal dir "rtl") + (setq bidi-paragraph-direction 'right-to-left)))) + (shr-generic dom)) + (defun shr-tag-body (dom) (let* ((start (point)) (fgcolor (or (dom-attr dom 'fgcolor) (dom-attr dom 'text))) -- 2.39.2