Thanks to @sijo I was able to thoroughly test Coelacanth, which like I said has 6 different optical weights. Reqardless of which size I specify Typst was using the display size. Once I deleted that font file then Typst used the regular size regardless (so 24pt was just 12pt scaled x2, 6pt was 12pt x0.5, etc). The relevant output from typst list --variant
(although I’m not sure how helpful this might be) is:
Coelacanth
- Style: Normal, Weight: 200, Stretch: FontStretch(1000)
- Style: Normal, Weight: 800, Stretch: FontStretch(1000)
- Style: Italic, Weight: 200, Stretch: FontStretch(1000)
- Style: Italic, Weight: 600, Stretch: FontStretch(1000)
- Style: Italic, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 800, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 300, Stretch: FontStretch(1000)
- Style: Italic, Weight: 300, Stretch: FontStretch(1000)
- Style: Italic, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 300, Stretch: FontStretch(1000)
- Style: Italic, Weight: 800, Stretch: FontStretch(1000)
- Style: Italic, Weight: 700, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Italic, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 800, Stretch: FontStretch(1000)
- Style: Italic, Weight: 300, Stretch: FontStretch(1000)
- Style: Normal, Weight: 300, Stretch: FontStretch(1000)
- Style: Italic, Weight: 200, Stretch: FontStretch(1000)
- Style: Normal, Weight: 200, Stretch: FontStretch(1000)
- Style: Italic, Weight: 600, Stretch: FontStretch(1000)
- Style: Italic, Weight: 800, Stretch: FontStretch(1000)
- Style: Normal, Weight: 800, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 300, Stretch: FontStretch(1000)
- Style: Italic, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 200, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Italic, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 300, Stretch: FontStretch(1000)
- Style: Normal, Weight: 400, Stretch: FontStretch(1000)
- Style: Normal, Weight: 700, Stretch: FontStretch(1000)
- Style: Italic, Weight: 200, Stretch: FontStretch(1000)
- Style: Normal, Weight: 600, Stretch: FontStretch(1000)
- Style: Normal, Weight: 800, Stretch: FontStretch(1000)
- Style: Italic, Weight: 300, Stretch: FontStretch(1000)
- Style: Normal, Weight: 200, Stretch: FontStretch(1000)
- Style: Normal, Weight: 200, Stretch: FontStretch(1000)
- Style: Italic, Weight: 800, Stretch: FontStretch(1000)
I read on GitHub about multiple related cases, particularly #2098, #2469, #3315, #5455, and #5626. It was mentioned in #5626: “Optical sizes can (since #3315) be selected by manually adding the size to the font name.” So I tried using the example from Discord in terms of appending the desired point size to the name of the font, and that worked fine for Latin Modern (as in the example). However, it doesn’t work for, in my case, Coelacanth. Do I have to rename the various files for the different optical weights?