textStyle method
An editorial serif cut: the display asks for w300 (typing), w400 (results) or w500 (messages), plus three steps under Bold Text; each maps onto weight shifted by the same amount, floored at 350 (400 below 24 dp and under the Accessible lock) and capped at the font's 800. Optical size follows the font size (the display cut at 56 dp).
Implementation
@override
TextStyle textStyle(TextStyle base) {
final font = BundledFont.fromFamily(base.fontFamily);
if (!font.isBundled) return base;
final asked = (base.fontWeight ?? FontWeight.w400).value;
final size = base.fontSize ?? 14;
final floor = accessible || size < 24 ? 400 : 350;
final w = (weight + asked - 400).clamp(floor, 800).toDouble();
return base.copyWith(
fontWeight: nearestFontWeight(w),
fontVariations: font.variations(weight: w, fontSize: base.fontSize),
fontFeatures: font.features(),
);
}