Для стилизации текста во Flutter используется виджет TextStyle, экземпляр которого устанавливается в свойство style виджета Text.
Виджет создается с помощью следующего конструктора:
TextStyle TextStyle({
  bool inherit = true,
  Color? color,
  Color? backgroundColor,
  double? fontSize,
  FontWeight? fontWeight,
  FontStyle? fontStyle,
  double? letterSpacing,
  double? wordSpacing,
  TextBaseline? textBaseline,
  double? height,
  TextLeadingDistribution? leadingDistribution,
  Locale? locale,
  Paint? foreground,
  Paint? background,
  List<Shadow>? shadows,
  List<FontFeature>? fontFeatures,
  List<FontVariation>? fontVariations,
  TextDecoration? decoration,
  Color? decorationColor,
  TextDecorationStyle? decorationStyle,
  double? decorationThickness,
  String? debugLabel,
  String? fontFamily,
  List<String>? fontFamilyFallback,
  String? package,
  TextOverflow? overflow,
})
В данном случае абсолютно все параметры являются необязательными, то есть виджет может быть создан с помощью следующей записи:
TextStyle()
Наиболее часто используемые параметры:
inherit - по умолчанию true. Обозначает, что значения для НЕ установленных свойств будут использоваться из стилей родительского виджета.
color - определяет цвет текста.
backgroundColor - определяет цвет фона текста.
fontSize - изменяет размер шрифта.
fontWeight - определяет жирность шрифта. Может принимать следующие значения:
- FontWeight.w100 - наиболее тонкий шрифт
 - FontWeight.w200 - Extra-light (очень тонкий)
 - FontWeight.w300 - Light (тонкий)
 - FontWeight.w400 - Normal / regular / plain (обычный)
 - FontWeight.w500 - Medium (средний)
 - FontWeight.w600 - Semi-bold (полужирный)
 - FontWeight.w700 - Bold (жирный)
 - FontWeight.w800 - Extra-bold (очень жирный)
 - FontWeight.w900 - наиболее жирный шрифт
 - FontWeight.bold - устанавливает значение FontWeight.w700 (жирный шрифт)
 - FontWeight.normal - устанавливает значение FontWeight.w400 (обычный шрифт)
 
fontStyle - определяет стиль шрифта. Может принимать следующие значения:
- FontStyle.normal - обычный шрифт
 - FontStyle.italic - наклонный шрифт
 
letterSpacing - устанавливает расстояние между буквами.
wordSpacing - устанавливает расстояние между словами.
textBaseline - определяет базовую линию. Может принимать следующие значения:
- TextBaseline.alphabetic - используется для выравнивания нижнего края буквенных символов

 - TextBaseline.ideographic - используется для идеографических символов (рисунки/иероглифы)

 
height - определяет высоту строки. Если значение не установлено, тогда высота строки будет определяться только метриками шрифта. Если значение установлено, тогда высота строки будет вычислена по формуле fontSize * height.
locale - определяет языковую среду, в которой будет показан текст.
foreground - позволяет раскрасить текст различными цветами, например, использовать градиент. При это значение color должно быть null.
Пример градиентного текста:
TextStyle(
  fontSize: 30,
  foreground: Paint()
    ..shader = const LinearGradient(
      colors: <Color>[
        Colors.red,
        Colors.yellow,
      ],
    ).createShader(
     const Rect.fromLTWH(0.0, 0.0, 400.0, 30.0),
    ),
),
Результат:

background - позволяет раскрасить фон текста. Можно, например, также, использовать градиент. При это значение backgroundColor должно быть null.
shadows - список, содержащий тени, которые будут отображаться под текстом.
В список добавлена одна тень серого цвета со смещением 2 по горизонтали и вертикали и радиусом распыления 2:
TextStyle(
  fontSize: 30,
  shadows: <Shadow>[
    Shadow(
      offset: Offset(2.0, 2.0),
      blurRadius: 2.0,
      color: Colors.grey,
    ),
  ],
),
Результат:

decoration - дополнительные "декорации", которые будут отрисованы рядом с текстом. Может принимать значения:
- TextDecoration.lineThrough - перечеркивает каждую строку текста
 - TextDecoration.none - убирает декорации
 - TextDecoration.overline - проводит линию над каждой строкой текста
 - TextDecoration.underline - подчеркивает каждую строку текста
 
decorationColor - изменяет цвет линии декорации.
decorationStyle - стилизует линию декорации.
- TextDecorationStyle.double - отрисовывает две линии
 - TextDecorationStyle.dashes - отрисовывает пунктирную линию
 - TextDecorationStyle.dotted - отрисовывает линию из точек
 - TextDecorationStyle.solid - отрисовывает обычную сплошную линию
 - TextDecorationStyle.wavy - отрисовывает волнистую линию
 
decorationThickness - мультипликатор, определяет ширину линии декорации путем умножения его значения на значение шрифта.
Пример, текст подчеркнут пунктирной линией фиолетового цвета, с изначальной шириной умноженной на 2:
TextStyle(
  fontSize: 30,
  decoration: TextDecoration.underline,
  decorationStyle: TextDecorationStyle.dashed,
  decorationColor: Colors.purpleAccent,
  decorationThickness: 2,
)
Результат:

fontFamily - название шрифта, который должен использоваться (Roboto, helvetice и т.д.).
fontFamilyFallback - список шрифтов, которые будут использоваться (по приоритету), если шрифт из fontFamily не найден.
overflow - определяет поведение, если текст превысил доступное ему пространство. Доступные значения:
- TextOverflow.visible - оставляет текст видимым при переполнении
 - TextOverflow.fade - делает текст невидимым при переполнении
 - TextOverflow.ellipsis - при переполнении заменяет не вместившийся текст троеточием
 - TextOverflow.clip - обрезает не вместившийся текст
 
Cкомбинированные значения свойств виджета TextStyle, для стилизации текста "Hello, World!":
Text(
  'Hello, World!',
  style: TextStyle(
    fontSize: 30,
    color: Colors.lightBlue,
    fontWeight: FontWeight.bold,
    letterSpacing: 4,
    shadows: <Shadow>[
      Shadow(
        offset: Offset(2.0, 2.0),
        blurRadius: 10.0,
        color: Colors.lightBlueAccent,
      ),
    ],
  ),
),
Итоговый результат: жирный текст голубого цвета с небольшим смещением-тенью, у которого увеличено расстояние между буквами:

Видео: