I notice that when using `FontStyle.Italic` on iOS (default device font) it’s an extreme (looks doub...
m
I notice that when using
FontStyle.Italic
on iOS (default device font) it’s an extreme (looks double) level of italic. This happens regardless when using
SpanStyle
or setting on
Text
composable. However, when combined with
FontWeight.Bold
then it looks normal-level italic (same as on Android) with bold weight, as expected. This looks really bad if you have a line of text all in italics but a mix of bold and normal weights. Here you can see the different weights applied to letter “I”. First, is no weight (normal), followed by W100….W900
👀 1
So from this, it seems applying
W300
or
W500
on iOS gives a more reasonable level of italics without having a big impact on weight. Note:
W400
is normal weight and is shown as the first and fifth “I” in the sequence. You can also see that
W600
(aka
SemiBold
) also needs to be avoided. My workaround is to use expect/actual like this (on iOS):
Copy code
actual fun FontWeight.ensureItalicSafe(): FontWeight {
    return when (this) {
        FontWeight.W400 -> FontWeight.W300
        FontWeight.W600 -> FontWeight.W500
        else -> this
    }
}
BTW, this was all run on an iPhone 16e, so I guess might be different on other devices/simulators.