anchor.diff:  /// ...where "light" is `FontWeight.w300`, "regular" is `FontWeight.w400` and
   /// "medium" is `FontWeight.w500`.
   ///
  -/// The [TextTheme] API was originally based on the original material (2014)
  -/// design spec, which used different text style names. For backwards
  -/// compatibility's sake, this API continues to expose the old names. The table
  -/// below should help with understanding the mapping of the API's old names and
  -/// the new names (those in terms of the 2018 material specification).
  -///
  -/// Each of the [TextTheme] text styles corresponds to one of the
  -/// styles from 2018 spec. By default, the font sizes, font weights
  -/// and letter spacings have not changed from their original,
  -/// 2014, values.
  -///
  -/// ```
  -/// NAME       SIZE   WEIGHT   SPACING  2018 NAME
  -/// display4   112.0  thin     0.0      headline1
  -/// display3   56.0   normal   0.0      headline2
  -/// display2   45.0   normal   0.0      headline3
  -/// display1   34.0   normal   0.0      headline4
  -/// headline   24.0   normal   0.0      headline5
  -/// title      20.0   medium   0.0      headline6
  -/// subhead    16.0   normal   0.0      subtitle1
  -/// body2      14.0   medium   0.0      body1 (bodyText1)
  -/// body1      14.0   normal   0.0      body2 (bodyText2)
  -/// caption    12.0   normal   0.0      caption
  -/// button     14.0   medium   0.0      button
  -/// subtitle   14.0   medium   0.0      subtitle2
  -/// overline   10.0   normal   0.0      overline
  -/// ```
  -///
  -/// Where "thin" is `FontWeight.w100`, "normal" is `FontWeight.w400` and
  -/// "medium" is `FontWeight.w500`. Letter spacing for all of the original
  -/// text styles was 0.0.
  -///
  -/// The old names are deprecated in this API.
  -///
  -/// Since the names `body1` and `body2` are used in both specifications but with
  -/// different meanings, the API uses the terms `bodyText1` and `bodyText2` for
  -/// the new API.
  -///
  -/// To configure a [Theme] for the new sizes, weights, and letter spacings,
  -/// initialize its [ThemeData.typography] value using [Typography.material2018].
  +/// By default, text styles are initialized to match the 2018 Material Design
  +/// specification as listed above. To provide backwards compatibility, the 2104
  +/// specification is also available.
  +///
  +/// To explicitly configure a [Theme] for the 2018 sizes, weights, and letter
  +/// spacings, you can initialize its [ThemeData.typography] value using
  +/// [Typography.material2018]. The [Typography] constructor defaults to this
  +/// configuration. To configure a [Theme] for the 2014 sizes, weights, and letter
  +/// spacings, initialize its [ThemeData.typography] value using
  +/// [Typography.material2014].
   ///
   /// See also:
   ///
  
positive.code:     TextStyle? caption,
      TextStyle? button,
      TextStyle? overline,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is headline1. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? display4,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is headline2. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? display3,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is headline3. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? display2,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is headline4. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? display1,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is headline5. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? headline,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is headline6. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? title,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is subtitle1. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? subhead,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is subtitle2. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? subtitle,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is bodyText1. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? body2,
      @Deprecated(
        'This is the term used in the 2014 version of material design. The modern term is bodyText2. '
        'This feature was deprecated after v1.13.8.',
      )
      TextStyle? body1,
    }) {
      assert(
        (headline1 == null && headline2 == null && headline3 == null && headline4 == null && headline5 == null && headline6 == null &&
         subtitle1 == null && subtitle2 == null &&
         bodyText1 == null && bodyText2 == null) ||
        (display4 == null && display3 == null && display2 == null && display1 == null && headline == null && title == null &&
         subhead == null && subtitle == null &&
         body2 == null && body1 == null),
        'Cannot mix 2014 and 2018 terms in call to TextTheme.copyWith().',
      );
      return TextTheme(
        headline1: headline1 ?? display4 ?? this.headline1,
        headline2: headline2 ?? display3 ?? this.headline2,
        headline3: headline3 ?? display2 ?? this.headline3,
        headline4: headline4 ?? display1 ?? this.headline4,
        headline5: headline5 ?? headline ?? this.headline5,
        headline6: headline6 ?? title ?? this.headline6,
        subtitle1: subtitle1 ?? subhead ?? this.subtitle1,
        subtitle2: subtitle2 ?? subtitle ?? this.subtitle2,
        bodyText1: bodyText1 ?? body2 ?? this.bodyText1,
        bodyText2: bodyText2 ?? body1 ?? this.bodyText2,
        caption: caption ?? this.caption,
        button: button ?? this.button,
        overline: overline ?? this.overline,
  
negative.code:   ///
    /// Typically used for captions or to introduce a (larger) headline.
    final TextStyle? overline;
  
    /// Creates a copy of this text theme but with the given fields replaced with
    /// the new values.
  