> It might work to drop a repaired "libpangocairo.so" into the "lib"
> directory of your Racket installation. I'll see if I can build one,
> just to see how hard that is. :)
I made the problem go away by building libpango from source and putting
the just-built libpango, libpangocairo, libpangoxft, and libpangoft
libraries into LD_PRELOAD. I can definitely make a shell script that
does this before launching slideshow as a temporary workaround.
Building libpango from scratch was really easy - download, extract,
./configure, make.
This looks like it will work! Thanks!
>> What about working around it by making slideshow's instances of
>> racket/gui think that I'm not on a high-res display, so that it uses 1.0
>> as the backing scale? I've tried setting GDK_SCALE=1 and
>> GDK_DPI_SCALE=1, but I still see the issue.
>
> You could set PLT_DISPLAY_BACKING_SCALE=1, but I think that won't help,
> because Slideshow will still scale the content to match the screen size
> (so it should arrive at the same overall scale factor).
This doesn't fix it, unfortunately, as you predicted.
> Can you set your laptop's screen to 1024x768 resolution? Then there
> would be no scaling. It seems like that might happen anyway when
> connecting to a projector, but I don't know well enough how changing
> the display works with Unix/X.
Setting it to 1024x768 fixes the text display, consistent with
expectations. I'm not confident that I can run our projectors at
precisely that resolution, however, so I don't want to rely on that
specifically! But I think the LD_PRELOAD hack is good enough for what I
need it to do, and I'll test extensively beforehand for stability.
> In another direction, you could disable kerning by adjusting your font
> description to include 'no-combine:
>
> (parameterize ([current-main-font (cons 'no-combine (current-main-font))])
> (slide
> (para "Types")))
That makes it ugly, but not quite as ugly as the over-the-top kerning.
I'll keep it in mind in case the LD_PRELOADed libpango causes some other
issue, as a potential last-minute fix if I've invested all my prep time
into an interactive Racket-Idris-slideshow thing that I don't have time
to replace at the last minute, and my other machine running stretch
doesn't work for some reason.
Thanks so much for fast and effective support turn-around! I really
appreciate it, and the sinking feeling in my gut has left.
/David