webFontsTextStyle function

TextStyle webFontsTextStyle({
  1. required String fontFamily,
  2. TextStyle? textStyle,
  3. Color? color,
  4. Color? backgroundColor,
  5. double? fontSize,
  6. FontWeight? fontWeight,
  7. FontStyle? fontStyle,
  8. double? letterSpacing,
  9. double? wordSpacing,
  10. TextBaseline? textBaseline,
  11. double? height,
  12. Locale? locale,
  13. Paint? foreground,
  14. Paint? background,
  15. List<Shadow>? shadows,
  16. List<FontFeature>? fontFeatures,
  17. TextDecoration? decoration,
  18. Color? decorationColor,
  19. TextDecorationStyle? decorationStyle,
  20. double? decorationThickness,
  21. required Map<WebFontsVariant, WebFontsFile> fonts,
})

Creates a TextStyle that either uses the fontFamily for the requested

This function has a side effect of loading the font into the FontLoader, either by network or from the device file system.

Implementation

TextStyle webFontsTextStyle({
  required String fontFamily,
  TextStyle? textStyle,
  Color? color,
  Color? backgroundColor,
  double? fontSize,
  FontWeight? fontWeight,
  FontStyle? fontStyle,
  double? letterSpacing,
  double? wordSpacing,
  TextBaseline? textBaseline,
  double? height,
  Locale? locale,
  Paint? foreground,
  Paint? background,
  List<Shadow>? shadows,
  List<FontFeature>? fontFeatures,
  TextDecoration? decoration,
  Color? decorationColor,
  TextDecorationStyle? decorationStyle,
  double? decorationThickness,
  required Map<WebFontsVariant, WebFontsFile> fonts,
}) {
  textStyle ??= TextStyle();
  textStyle = textStyle.copyWith(
    color: color,
    backgroundColor: backgroundColor,
    fontSize: fontSize,
    fontWeight: fontWeight,
    fontStyle: fontStyle,
    letterSpacing: letterSpacing,
    wordSpacing: wordSpacing,
    textBaseline: textBaseline,
    height: height,
    locale: locale,
    foreground: foreground,
    background: background,
    shadows: shadows,
    fontFeatures: fontFeatures,
    decoration: decoration,
    decorationColor: decorationColor,
    decorationStyle: decorationStyle,
    decorationThickness: decorationThickness,
  );

  loadFontsIfNecessary(fontFamily, fonts);

  return textStyle.copyWith(fontFamily: fontFamily);
}