Repository: flutter
Issue: SMP Unicode characters broken on HTML web renderer with Typography.englishLike2018
Labels: framework,engine,f: material design,a: typography,platform-web,e: web_html,has reproducible steps,P2,found in release: 2.5,found in release: 2.6,found in release: 2.7,team-web,triaged-web

Unicode characters in the SMP (U+10000 and above) show up as mojibake when rendering with the HTML web renderer but only when using `Typography.englishLike2018`. Other `Typography` constants work fine.

## Steps to Reproduce

<!-- Please include full steps to reproduce so that we can reproduce the problem. -->

1. Execute `flutter run --web-renderer html` on the code sample <!-- (see "Code sample" section below) -->
2. Note that the character (🥶 U+1F976 FREEZING FACE) shows up as what appears to be � U+FFFD REPLACEMENT CHARACTER
    
    <img width="612" alt="image" src="https://user-images.githubusercontent.com/2172537/138891812-95e03bdc-e195-471d-aa0b-442a698ffacc.png">
3. Change `Typography.englishLike2018` to `Typography.englishLike2014` (or any other `Typography` constant) and reload
4. Note that the character is rendered correctly

    <img width="612" alt="image" src="https://user-images.githubusercontent.com/2172537/138891960-0c39ef9a-d9ea-4aa4-b848-1b5ad521013b.png">

**Expected results:** <!-- what did you want to see? -->

Correctly rendered character regardless of choice of `Typography` constant.

**Actual results:** <!-- what did you see? -->

Rendering is broken only for `Typography.englishLike2018`.

<details>
<summary>Code sample</summary>

<!--
      Please create a minimal reproducible sample that shows the problem
      and attach it below between the lines with the backticks.

      To create it you can use `flutter create bug` command and update the `main.dart` file.

      Alternatively, you can use https://dartpad.dev/
      which is capable of creating and running small Flutter apps.

      Without this we will unlikely be able to progress on the issue, and because of that
      we regretfully will have to close it.
-->

```dart
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.localize(
        ThemeData.light(),
        // Broken: englishLike2018
        // OK: any other constant
        Typography.englishLike2018,
      ),
      home: const Scaffold(
        body: Center(
          child: Padding(
            padding: EdgeInsets.all(24.0),
            child: Text('\u{1F976}'),
          ),
        ),
      ),
    );
  }
}
```

</details>

<details>
  <summary>Logs</summary>

<!--
      Run your application with `flutter run --verbose` and attach all the
      log output below between the lines with the backticks. If there is an
      exception, please see if the error message includes enough information
      to explain how to solve the issue.
-->
Ran with `flutter run -d chrome --web-renderer html --verbose`:

```
[ +114 ms] executing: sysctl hw.optional.arm64
[  +21 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[   +7 ms] executing: [/Applications/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +17 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] c19845a8c347adebc2c672f5e51b74855e645be2
[   +1 ms] executing: [/Applications/flutter/] git tag --points-at c19845a8c347adebc2c672f5e51b74855e645be2
[  +34 ms] Exit code 0 from: git tag --points-at c19845a8c347adebc2c672f5e51b74855e645be2
[        ] 2.7.0-3.0.pre
[  +11 ms] executing: [/Applications/flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +15 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [/Applications/flutter/] git ls-remote --get-url origin
[  +14 ms] Exit code 0 from: git ls-remote --get-url origin
[   +1 ms] https://github.com/flutter/flutter.git
[ +114 ms] executing: [/Applications/flutter/] git rev-parse --abbrev-ref HEAD
[  +13 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[   +6 ms] executing: sw_vers -productName
[  +21 ms] Exit code 0 from: sw_vers -productName
[        ] macOS
[        ] executing: sw_vers -productVersion
[  +17 ms] Exit code 0 from: sw_vers -productVersion
[        ] 12.0.1
[        ] executing: sw_vers -buildVersion
[  +18 ms] Exit code 0 from: sw_vers -buildVersion
[        ] 21A559
[  +72 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +5 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +68 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'WindowsUwpEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +34 ms] executing: sysctl hw.optional.arm64
[   +6 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[        ] executing: xcrun xcodebuild -version
[ +228 ms] Exit code 0 from: xcrun xcodebuild -version
[        ] Xcode 13.1
           Build version 13A1030d
[  +69 ms] Skipping pub get: version match.
[ +161 ms] Generating /Users/amake/Code/flutter_english_emoji_mojibake/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[ +183 ms] Launching lib/main.dart on Chrome in debug mode...
[ +122 ms] Updating assets
[  +93 ms] Waiting for connection from debug service on Chrome...
[  +70 ms] <- reset
[  +10 ms] /Applications/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /Applications/flutter/bin/cache/artifacts/engine/darwin-x64/frontend_server.dart.snapshot --sdk-root /Applications/flutter/bin/cache/flutter_web_sdk/ --incremental --target=dartdevc --debugger-module-names --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=false -DFLUTTER_WEB_USE_SKIA=false --output-dill /var/folders/my/_w2y45rx6_x0qwy6v8yzv3880000gn/T/flutter_tools.Io9NpI/flutter_tool.TrK9HI/app.dill --libraries-spec file:///Applications/flutter/bin/cache/flutter_web_sdk/libraries.json --packages /Users/amake/Code/flutter_english_emoji_mojibake/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts --track-widget-creation --filesystem-root /var/folders/my/_w2y45rx6_x0qwy6v8yzv3880000gn/T/flutter_tools.Io9NpI/flutter_tools.ZS6ELO --filesystem-scheme org-dartlang-app --initialize-from-dill build/e1ffba66f615b3b54e08e2104bac7ab8.cache.dill.track.dill --platform file:///Applications/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk_sound.dill --sound-null-safety
[  +13 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+17888 ms] Waiting for connection from debug service on Chrome... (completed in 18.0s)
[   +1 ms] Synced 28.0MB.
[        ] <- accept
[        ] Caching compiled dill
[ +101 ms] Using Google Chrome 95.0.4638.54 

[ +111 ms] executing: sysctl hw.optional.arm64
[   +7 ms] Exit code 1 from: sysctl hw.optional.arm64
[        ] sysctl: unknown oid 'hw.optional.arm64'
[ +352 ms] [CHROME]:
[   +1 ms] [CHROME]:DevTools listening on ws://127.0.0.1:51373/devtools/browser/77b44b04-7d1f-4f37-a922-8123a4bc675b
[+1105 ms] DwdsInjector: Received request for entrypoint at http://localhost:51352/main_module.bootstrap.js
[   +9 ms] MetadataProvider: Loading debug metadata...
[  +14 ms] MetadataProvider: Loaded debug metadata (sound null safety)
[   +6 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:51352/main_module.bootstrap.js
[+2597 ms] ChromeProxyService: Initializing expression compiler for main_module.bootstrap.js with sound null safety: true
[  +87 ms] DevHandler: Debug service listening on ws://127.0.0.1:51403/VDh3iPYfuUU=/ws

[  +31 ms] This app is linked to the debug service: ws://127.0.0.1:51403/VDh3iPYfuUU=/ws
[  +13 ms] Debug service listening on ws://127.0.0.1:51403/VDh3iPYfuUU=/ws
[        ] 💪 Running with sound null safety 💪
[   +4 ms] 🔥  To hot restart changes while running, press "r" or "R".
[        ] For a more detailed help message, press "h". To quit, press "q".
[   +1 ms] An Observatory debugger and profiler on Chrome is available at: http://127.0.0.1:51403/VDh3iPYfuUU=
[ +634 ms] The Flutter DevTools debugger and profiler on Chrome is available at: http://127.0.0.1:9100?uri=http://127.0.0.1:51403/VDh3iPYfuUU=
[+34681 ms] DevHandler: Stopped debug service on ws://127.0.0.1:51400

[ +147 ms] Application finished.
[   +6 ms] "flutter run" took 58,929ms.
[   +3 ms] Running shutdown hooks
[        ] Shutdown hooks complete
[        ] exiting with code 0
```

<!--
     Run `flutter analyze` and attach any output of that command below.
     If there are any analysis errors, try resolving them before filing this issue.
-->

```
Analyzing flutter_english_emoji_mojibake...                             
No issues found! (ran in 2.3s)
```

<!-- Finally, paste the output of running `flutter doctor -v` here. -->

`flutter doctor` reports errors for my Android toolchain, but they are spurious (I can build Android bundles and APKs just fine with the CLI `flutter` tool).

```
[✓] Flutter (Channel beta, 2.7.0-3.0.pre, on macOS 12.0.1 21A559 darwin-x64, locale en-JP)
    • Flutter version 2.7.0-3.0.pre at /Applications/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision c19845a8c3 (7 days ago), 2021-10-19 10:58:42 -0700
    • Engine revision bbba2b2437
    • Dart version 2.15.0 (build 2.15.0-178.1.beta)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/amake/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] IntelliJ IDEA Community Edition (version 2021.2.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5486

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.0.1 21A559 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 95.0.4638.54

! Doctor found issues in 1 category.
```

</details>


<!--
      Consider also attaching screenshots and/or videos to better
      illustrate the issue.

      You can upload them directly on GitHub.
      Beware that video file size is limited to 10MB.
-->