What is the difference between fontSize and textScaleFactor in Flutter?

As far as I understand, textScaleFactoris used for accessibility.

There is an Android system option that increases text size (not the overall UI scale).

There doesn't seem to be a technical difference.

From the TextStyle docs:

  /// During painting, the [fontSize] is multiplied by the current
  /// `textScaleFactor` to let users make it easier to read text by increasing
  /// its size.

There's no difference between them in the rendering. What changes are their purpose.

Font-size is usually a per-component value. While the scale factor is more global. The fact that you can override the scale factor directly on the Text is just a bonus.

In your typical application, you'll have the following:

MediaQuery(
  data: MediaQuery.of(context).copyWith(textScaleFactor: 2.0),
  child: Whatever(
    child: Text("Foo", style: Theme.of(context).textTheme.headline),
  ),
);

Basically, consider textScaleFactor as a zoom option. While font-size is used to separate a title from its content.

Tags:

Flutter