Which version of Pango is Racket using?
2018-02-17 5:27 GMT+01:00 Joel Dueck <[email protected]>:
> 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].
> 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.