Repository: flutter
Issue: [SelectionArea] The height of highlight is different when english/non-english characters are used together
Labels: framework,f: material design,a: internationalization,has reproducible steps,P2,f: selection,team-design,triaged-design,found in release: 3.24,found in release: 3.25

### Steps to reproduce

Run sample code.

### Related issues:

https://github.com/flutter/flutter/issues/54935

### Expected results

The height of highlight should be the same.

<img width="396" alt="image" src="https://github.com/user-attachments/assets/c7df0818-5b7a-42d9-a0af-4833457f61eb">

### Actual results

The height of highlight is different.

<img width="392" alt="image" src="https://github.com/user-attachments/assets/23e416d4-caf2-499c-bef5-6ba5679a9996">

### Code sample

<details open><summary>Code sample</summary>

```dart
void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: const Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            SelectionArea(
              child: Text('abc啊啊啊'),
            )
          ],
        ),
      ),
    );
  }
```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

<img width="578" alt="截屏2024-08-28 14 42 20" src="https://github.com/user-attachments/assets/8ca57271-3c8d-4f9b-a9b8-d702343adbf1">

</details>


### Logs

_No response_

### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[!] Flutter (Channel [user-branch], 3.22.0-39.0.pre.2, on macOS 14.4 23E214 darwin-arm64, locale zh-Hans-CN)
    ! Flutter version 3.22.0-39.0.pre.2 on channel [user-branch] at /Users/yangjiakang/flutter/framework
      Currently on an unknown channel. Run `flutter channel` to switch to an official channel.
      If that doesn't fix the issue, reinstall Flutter by following instructions at
      https://flutter.dev/docs/get-started/install.
    ! Upstream repository unknown source is not a standard remote.
      Set environment variable "FLUTTER_GIT_URL" to unknown source to dismiss this error.
    • Framework revision d02292dbc4 (3 个月前), 2024-05-20 21:25:37 -0700
    • Engine revision c2ef01f6f1
    • Dart version 3.5.0 (build 3.5.0-172.0.dev)
    • DevTools version 2.36.0-dev.10
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly
      to perform update checks and upgrades.
```
</details>