If you change the font of the default variable-pitch face (set-face-font 'variable-pitch "Arial-15") then shr renders h1 tags as regular size text. This is because variable-pitch is listed first in the face  setting and if it is set with size then it overrides the settings coming later: (defun shr-tag-h1 (dom)   (shr-heading dom (if shr-use-fonts                '(variable-pitch (:height 1.3 :weight bold))              'bold)))