Repository: flutter
Issue: This character "็" breaks the FittedBox widget (Potentially breaks down all widgets that look at their child Size to build)  
Labels: platform-android,framework,a: internationalization,a: typography,platform-web,a: error message,a: layout,has reproducible steps,P2,found in release: 2.10,found in release: 2.11,team-framework,triaged-framework

Preface: When debugging, it gives me this error: 'Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.'

## Steps to Reproduce
1.  Use the code below and test it in any editor/ide.
2.  The FittedBox is an example of a widget that builds looking at its child.
3.  The code compiles and builds but as soon as it tries to build FittedBox, it throws:
'package:flutter/src/rendering/box.dart': Failed assertion: line 319 pos 12: 'width > 0.0': is not true.
package:flutter/…/rendering/box.dart:319'

**Expected results:** 
The expected result is that the letter: "็ wouldn't be considered as an apostrophe.


**Actual results:**
Run the sample code in an code editor/ide.


<details>
<summary>Code sample</summary>

```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(
      title: 'Flutter Demo',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Bugged Character'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final String title;

  const MyHomePage({
    Key? key,
    required this.title,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            FittedBox(
              child: Text(
                "็_",
                style: Theme.of(context).textTheme.headline4,
              ),
            ),
            FittedBox(
              child: Text(
                "็hello",
                style: Theme.of(context).textTheme.headline4,
              ),
            ),
            FittedBox(
              child: Text(
                "็",
                style: Theme.of(context).textTheme.headline4,
              ),
            ),
            Row(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                FittedBox(
                  child: Text(
                    "็",
                    style: Theme.of(context).textTheme.headline4,
                  ),
                ),
                FittedBox(
                  child: Text(
                    "็",
                    style: Theme.of(context).textTheme.headline4,
                  ),
                ),
                const FittedBox(
                  fit: BoxFit.scaleDown,
                  child: Text(
                    "็",
                    style: TextStyle(fontSize: 16),
                  ),
                ),
              ],
            ),
          ],
        ),
      ),
    );
  }
}

```
</details>

**Temporary Solution**

name ==  "็" ? ' "็ ' : name