Revert "Revert "Remove TextTheme deprecations (#83924)" (#86171)"

This reverts commit 79a43be22abeed2e184beb5009bd506bd47fb436.
diff --git a/packages/flutter/lib/src/material/text_theme.dart b/packages/flutter/lib/src/material/text_theme.dart
index 2a92fd3..9d1387f 100644
--- a/packages/flutter/lib/src/material/text_theme.dart
+++ b/packages/flutter/lib/src/material/text_theme.dart
@@ -24,8 +24,6 @@
 ///
 /// ![](https://storage.googleapis.com/spec-host-backup/mio-design%2Fassets%2F1W8kyGVruuG_O8psvyiOaCf1lLFIMzB-N%2Ftypesystem-typescale.png)
 ///
-/// ## Migrating from the 2014 names
-///
 /// The Material Design typography scheme was significantly changed in the
 /// current (2018) version of the specification
 /// ([https://material.io/design/typography](https://material.io/design/typography)).
@@ -51,46 +49,16 @@
 /// ...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).
+/// 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.
 ///
-/// 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].
+/// 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:
 ///
@@ -111,88 +79,20 @@
   /// If you do decide to create your own text theme, consider using one of
   /// those predefined themes as a starting point for [copyWith] or [apply].
   const TextTheme({
-    TextStyle? headline1,
-    TextStyle? headline2,
-    TextStyle? headline3,
-    TextStyle? headline4,
-    TextStyle? headline5,
-    TextStyle? headline6,
-    TextStyle? subtitle1,
-    TextStyle? subtitle2,
-    TextStyle? bodyText1,
-    TextStyle? bodyText2,
+    this.headline1,
+    this.headline2,
+    this.headline3,
+    this.headline4,
+    this.headline5,
+    this.headline6,
+    this.subtitle1,
+    this.subtitle2,
+    this.bodyText1,
+    this.bodyText2,
     this.caption,
     this.button,
     this.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() constructor.',
-       ),
-       headline1 = headline1 ?? display4,
-       headline2 = headline2 ?? display3,
-       headline3 = headline3 ?? display2,
-       headline4 = headline4 ?? display1,
-       headline5 = headline5 ?? headline,
-       headline6 = headline6 ?? title,
-       subtitle1 = subtitle1 ?? subhead,
-       subtitle2 = subtitle2 ?? subtitle,
-       bodyText1 = bodyText1 ?? body2,
-       bodyText2 = bodyText2 ?? body1;
+  });
 
   /// Extremely large text.
   final TextStyle? headline1;
@@ -239,109 +139,6 @@
   /// Typically used for captions or to introduce a (larger) headline.
   final TextStyle? overline;
 
-  /// Extremely large text.
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [headline1].
-  @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? get display4 => headline1;
-
-  /// Very, very large text.
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [headline2].
-  @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? get display3 => headline2;
-
-  /// Very large text.
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [headline3].
-  @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? get display2 => headline3;
-
-  /// Large text.
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [headline4].
-  @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? get display1 => headline4;
-
-  /// Used for large text in dialogs.
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [headline5].
-  @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? get headline => headline5;
-
-  /// Used for the primary text in app bars and dialogs.
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [headline6].
-  @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? get title => headline6;
-
-  /// Used for the primary text in lists (e.g., [ListTile.title]).
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [subtitle1].
-  @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? get subhead => subtitle1;
-
-  /// For medium emphasis text that's a little smaller than [subhead].
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this [subtitle2].
-  @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? get subtitle => subtitle2;
-
-  /// Used for emphasizing text that would otherwise be [body1].
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this `body1`, and it is exposed in this API as
-  /// [bodyText1].
-  @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? get body2 => bodyText1;
-
-  /// Used for the default text style for [Material].
-  ///
-  /// This was the name used in the material design 2014 specification. The new
-  /// specification calls this `body2`, and it is exposed in this API as
-  /// [bodyText2].
-  @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? get body1 => bodyText2;
-
-
   /// Creates a copy of this text theme but with the given fields replaced with
   /// the new values.
   ///
@@ -396,77 +193,18 @@
     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,
+      headline1: headline1 ?? this.headline1,
+      headline2: headline2 ?? this.headline2,
+      headline3: headline3 ?? this.headline3,
+      headline4: headline4 ?? this.headline4,
+      headline5: headline5 ?? this.headline5,
+      headline6: headline6 ?? this.headline6,
+      subtitle1: subtitle1 ?? this.subtitle1,
+      subtitle2: subtitle2 ?? this.subtitle2,
+      bodyText1: bodyText1 ?? this.bodyText1,
+      bodyText2: bodyText2 ?? this.bodyText2,
       caption: caption ?? this.caption,
       button: button ?? this.button,
       overline: overline ?? this.overline,