Subject: Re: bug#73082: 30; Inconsistent Stipple Support

From: JD Smith <[email-masked]>
Date: Sat, 7 Sep 2024 08:50:28 -0400

> On Sep 7, 2024, at 2:51 AM, Po Lu <[email-masked]> wrote:
> 
> Eli Zaretskii <[email-masked]> writes:
> 
>>> From: JD Smith <[email-masked]>
>>> Date: Fri, 6 Sep 2024 17:58:02 -0400
>>> 
>>> (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...
>> The MS-Windows build of the emacs-30 branch here shows the display you
>> expected.
> 
> You should add Haiku and Android to your list, as Emacs supports
> stipples on both of these window systems.  (And on the latter they were
> in fact implemented for your package.)
> 
> I am also interested to know precisely which Cairo builds fail to
> display them, the stipple implementations being virtually identical
> across the PGTK and the X + Cairo builds.

Thanks, this is all positive news.  Glad to learn of Android+Haiku support.  Is support on these builds arriving for Emacs 30 only?

The Cairo issue has been harder to track down.  Several users have reported Cairo builds which fail to display stipples.  I gather Cairo is the default so this must be a sporadic failure.  Recently a user with identical builds on two different machines, with the precise same version of GTK3 and Cairo, found that one system shows stipples correctly, the other omits them entirely.  On the non-working system, compiling --without-cairo resolves this.

The build version in questions is: 

￼

He's willing to test these systems.  

Thanks for your work on this.