From 1a99bd69ea6eb6772930275d52c414c48db7f977 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). Backport: (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a) --- 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 5bcb6221cbb..7c73d936568 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -713,7 +713,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 9e86ca9e0f9..c28e0b8899c 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el @@ -1102,6 +1102,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