The :stipple face attribute is not consistently supported across all Emacs 30
builds, with incorrect or missing stipple display for NS and GTK+Cairo builds.
The following test of :stipple should lead to an image similar to the attached.
(let* ((w (window-font-width))
(stipple `(,w 1 ,(apply #'unibyte-string (make-list (/ (+ w 7) 8)
186)))))
(insert "\n" (propertize (concat (make-string 15 ?\s)
"THIS IS A TEST"
(make-string 15 ?\s))
'face `(:background "red" :foreground "blue"
:stipple ,stipple))))
Only some Emacs 30 builds correctly render this simple stipple. There has been
some progress on :stipple support recently, but it remains incomplete. To my
knowledge, the current situation for :stipple support in Emacs 30 is as follows:
NS (partially working): Commit ef6ffbdc79 from last May provided a partial fix,
but stipples are black and white only (bug#70712)
Windows (working?): patched in June (bug#71159)
PGTK (working): incorrect stipple display patched July, 2023 (bug#64969)
GTK, non-Cairo (working): appears to be working correctly
GTK + Cairo (not working uniformly): Stipples are reported to be missing with
some Cairo builds of Emacs 30
Other X11 builds (?): Unsure if these are supported (but suspect they are given
the legacy of stipple)