Repository: flutter
Issue: Incorrect letter spacing applied over Indic Text
Labels: engine,a: internationalization,dependency: skia,a: typography,has reproducible steps,P2,team-engine,triaged-engine,found in release: 3.19,found in release: 3.20

### Steps to reproduce

1. Display a text in screen using Text widget with unicode text **(In this case an Indic language, Malalyalam**)  (Use the code given below to duplicate the issue. (Issue can be verified in Dartpad and android emulator. I didn't checked with other platforms, but I believe the results will be similar)
2. Apply TextStyle with LetterSpacing property
3. Text will be rendered with **incorrect spacing between them** (Please check the screenshots given below)

In indic languages usually multiple unicode characters forms a single letter. 
eg. "നോ" is built up with unicode points U+0D28 and U+0D4B
Flutter is applying space between all these characters.

**_Please check the correct outputs with MS Word and HTML using CodePen given below._** 

Note: There is no effect in the results by applying **different fonts**

### Expected results

**Letter spacing applied for sample text in MS Word**

![image](https://github.com/flutter/flutter/assets/130891149/b72264f5-e04c-494b-94e4-0d8e9b5abb1f)

**Letter spacing applied for sample text using HTML & CSS**


```
<p>Without spacing =>  മനോഹരമായി</p>

<p class="loose">With spacing =>  മനോഹരമായി</p>

.loose {
  letter-spacing: 25px;
  font-size: 55px;
}
```


![image](https://github.com/flutter/flutter/assets/130891149/47672161-6579-4710-92e0-3f81be5909f5)

**Sample text with grapheme extraction**

![image](https://github.com/flutter/flutter/assets/130891149/d3048e39-bd4e-4d7b-916e-270ba5787786)


### Actual results

**Flutter output with incorrect spacing**

![image](https://github.com/flutter/flutter/assets/130891149/f09bb937-8db0-4a93-8a15-3f0c051dfc29)

**Incorrect spacing are marked with red arrow in below image**

![image](https://github.com/flutter/flutter/assets/130891149/0f31b5d5-43de-4e4b-9f53-8243d8244536)


### Code sample

<details open><summary>Code sample</summary>

```dart
import 'package:flutter/material.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) {
    String sampleText = 'മനോഹരമായി';

    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: SelectionArea(
          child: Text(
            sampleText,
            style: TextStyle(fontSize: 55, letterSpacing: 25),
          ),
        ),
      ),
    );
  }
}

```

</details>


### Screenshots or Video

<details open>
<summary>Screenshots / Video demonstration</summary>

[Upload media here]

</details>


### Logs

<details open><summary>Logs</summary>

```console
[Paste your logs here]
```

</details>


### Flutter Doctor output

<details open><summary>Doctor output</summary>

```console
[√] Flutter (Channel stable, 3.19.0, on Microsoft Windows [Version 10.0.19045.4046], locale en-IN)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[√] Chrome - develop for the web
[X] Visual Studio - develop Windows apps
    X Visual Studio not installed; this is necessary to develop Windows apps.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2023.1)
[√] VS Code (version 1.87.0)
[√] Connected device (3 available)
[√] Network resources
```

</details>