I suspect one needs to blend with a transparent white temp canvas, not black, for the TT glyphs to render correctly.
In
transformBy: aDisplayTransform clippingTo: aClipRect during: aBlocksmoothing: cellSize

*snip*
start to: 2 do:
[:i | "If i=1 we first make a shadow and erase it for opaque whites in B&W"
subCanvas := self class extent: patchRect extent depth: self depth.
i=1ifTrue: [ warp combinationRule: Form erase ]
ifFalse: [ warp combinationRule: rule].
*rule = Form blend ifTrue: ["If we want a subcanvas to actually blend nicely, it better be translucent white than translucent black..." *
*].*

Unfortunately, the merging of Color and AlphaColor seems to have broken pretty much every path I could think of to transform translucent black pixels into translucent white pixels (or, maybe doing something like that easily has never worked),
I do not know. Now we paid attention and we are interested in improvments.
and I CBA to fix every method in Color dealing with alpha -> pixel conversion, so this remains a theory.
CBA?


Cheers,
Henry

Reply via email to