We're using Pango 1.36.6. I try to keep track of the versions in
https://github.com/racket/racket/blob/master/racket/src/native-libs/README.txt At Sat, 17 Feb 2018 09:20:14 -0800 (PST), Joel Dueck wrote: > I wouldn’t know for sure, but looking at the github repo for racket/draw > [1] …it looks like, maybe, 1.0.0?? > > If so, maybe that’s the problem. > > [1]: > https://github.com/racket/draw/blob/master/draw-lib/racket/draw/unsafe/pango.rk > t > > On Saturday, February 17, 2018 at 4:56:28 AM UTC-6, Jens Axel Søgaard wrote: > > > > Which version of Pango is Racket using? > > > > 2018-02-17 5:27 GMT+01:00 Joel Dueck <[email protected] <javascript:>>: > > > >> I appreciate it. I had already tried bold and italic, but your note did > >> give me the idea to try specifying the weights directly, e.g. "IBM Plex > >> Sans, weight=700" —which, sadly, didn't solve my problem, but may have > >> made > >> the problem itself a bit more clear. > >> > >> Going off of the list of weights in Pango’s documentation [1] I cooked up > >> this test: > >> > >> #lang racket > >> (require pict) > >> > >> > >> > >> (define weights > >> '("100" ; thin (since Pango 1.24) > >> "200" ; ultralight > >> "300" ; light > >> "350" ; semilight (since Pango 1.36.7) > >> "380" ; book (since Pango 1.24) > >> "400" ; default > >> "500" ; normal (since Pango 1.24) > >> "600" ; semibold > >> "700" ; bold > >> "800" ; ultrabold > >> "900" ; heavy > >> "1000")); ultraheavy (since Pango 1.24) > >> > >> (define (compare-weights font-name) > >> (apply vl-append (map (lambda (f) (text font-name (string-append > >> font-name ", weight=" f) 34)) weights))) > >> > >> > >> When I do (compare-weights "IBM Plex Sans") it becomes obvious that > >> Racket is actually only able to use four of Plex Sans’s seven weights (on > >> macOS). > >> > >> Input Serif [2] is another good example. It has six weights but this test > >> shows only three of them being used. > >> > >> [1]: > >> https://developer.gnome.org/pango/stable/pango-Fonts.html#PangoWeight > >> [2]: http://input.fontbureau.com > >> > >> On Friday, February 16, 2018 at 3:48:51 PM UTC-6, Robby Findler wrote: > >>> > >>> I'm not sure what the right answer is here, but in some specific cases > >>> that have happened to me along these lines, I've found that specifying > >>> 'italic or 'bold works out. > >>> > >>> Sorry that's not much to go on. > >>> > >>> Robby > >>> > >>> > >>> On Thu, Feb 15, 2018 at 2:44 PM, Joel Dueck <[email protected]> wrote: > >>> > Greetings, long time lurker/first time posting here. I have been > >>> working on > >>> > this one for a couple of days and can't seem to figure it out. > >>> > > >>> > I'm having an issue where on macOS, there are some fonts/variants > >>> returned > >>> > by get-face-list that I can't actually use with a drawing function > >>> like > >>> > text. > >>> > > >>> > #lang racket > >>> > (require pict racket/draw) > >>> > > >>> > (define (list-fonts str) > >>> > (filter (lambda(s) (string=? str (substring s 0 (min (string-length > >>> str) > >>> > (string-length s))))) > >>> > (get-face-list #:all-variants? #t))) > >>> > > >>> > (define (demo-font str) > >>> > (apply vl-append (map (lambda (f) (text f f 30)) (list-fonts str)))) > >>> > > >>> > Attached is a screenshot comparison of the results of this code on > >>> Windows > >>> > and macOS, both using Racket 6.12. > >>> > > >>> > To sum up the problem “narratively”, as it were: on Windows, among the > >>> > strings returned by get-face-list is "IBM Plex Sans Text, Medium" and > >>> I can > >>> > do (text "Hello" "IBM Plex Sans Text, Medium" 30), and pict will draw > >>> using > >>> > that font. > >>> > > >>> > But on macOS, where get-face-list will include the string "IBM Plex > >>> Sans, > >>> > Text" (note comma), if I do (text "Hello" "IBM Plex Sans, Text"), I > >>> instead > >>> > get the result in the default sans serif font. > >>> > > >>> > Furthermore, all of IBM Plex Sans’s 16 weights work properly on > >>> > macOS/Racket—except the "Text" weight! > >>> > > >>> > A similar problem happens with some other fonts on macOS, e.g. Halyard > >>> Micro > >>> > Regular and Halyard Micro Book — the Regular weight works but the Book > >>> > weight displays using the Regular weight, despite using the exact > >>> string > >>> > found in get-face-list as the font/variant name in the call to text. > >>> > > >>> > I did my main example using IBM Plex Sans since it's a free font [1] > >>> should > >>> > anyone wish to replicate my results for themselves. > >>> > > >>> > How would I best go about finding out what is happening here? Are > >>> certain > >>> > words like “book” or “text” just not recognized/useable as a font > >>> weight on > >>> > macOS? Apologies if I’m missing something obvious! > >>> > > >>> > [1]: https://ibm.github.io/type/ > >>> > > >>> > -- > >>> > You received this message because you are subscribed to the Google > >>> Groups > >>> > "Racket Users" group. > >>> > To unsubscribe from this group and stop receiving emails from it, send > >>> an > >>> > email to [email protected]. > >>> > For more options, visit https://groups.google.com/d/optout. > >>> > >> -- > >> You received this message because you are subscribed to the Google Groups > >> "Racket Users" group. > >> To unsubscribe from this group and stop receiving emails from it, send an > >> email to [email protected] <javascript:>. > >> For more options, visit https://groups.google.com/d/optout. > >> > > > > > > > > -- > > -- > > Jens Axel Søgaard > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

