FontFeature class
A feature tag and value that affect the selection of glyphs in a font.
{@tool sample}
This example shows usage of several OpenType font features, including Small Caps (smcp), old-style figures, fractional ligatures and stylistic sets.
class TypePage extends StatelessWidget {
// The Cardo, Milonga and Raleway Dots fonts can be downloaded from
// Google Fonts (https://www.google.com/fonts).
final titleStyle = TextStyle(
fontSize: 18,
fontFeatures: [FontFeature.enable('smcp')],
color: Colors.blueGrey[600],
);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Spacer(flex: 5),
Text('regular numbers have their place:', style: titleStyle),
Text('The 1972 cup final was a 1-1 draw.',
style: TextStyle(
fontFamily: 'Cardo',
fontSize: 24,
)),
Spacer(),
Text('but old-style figures blend well with lower case:',
style: titleStyle),
Text('The 1972 cup final was a 1-1 draw.',
style: TextStyle(
fontFamily: 'Cardo',
fontSize: 24,
fontFeatures: [FontFeature.oldstyleFigures()])),
Spacer(),
Divider(),
Spacer(),
Text('fractions look better with a custom ligature:',
style: titleStyle),
Text('Add 1/2 tsp of flour and stir.',
style: TextStyle(
fontFamily: 'Milonga',
fontSize: 24,
fontFeatures: [FontFeature.enable('frac')])),
Spacer(),
Divider(),
Spacer(),
Text('multiple stylistic sets in one font:', style: titleStyle),
Text('Raleway Dots',
style: TextStyle(fontFamily: 'Raleway Dots', fontSize: 48)),
Text('Raleway Dots',
style: TextStyle(
fontFeatures: [FontFeature.stylisticSet(1)],
fontFamily: 'Raleway Dots',
fontSize: 48,
)),
Spacer(flex: 5),
],
),
),
);
}
}
{@end-tool}
Constructors
- FontFeature(String feature, [ int value = 1 ])
-
Creates a FontFeature object, which can be added to a TextStyle to
change how the engine selects glyphs when rendering text. [...]
const
- FontFeature.disable(String feature)
-
Create a FontFeature object that disables the feature with the given tag.
const
- FontFeature.enable(String feature)
-
Create a FontFeature object that enables the feature with the given tag.
const
- FontFeature.oldstyleFigures()
-
Use oldstyle figures. [...]
const
- FontFeature.proportionalFigures()
-
Use proportional (varying width) figures. [...]
const
- FontFeature.randomize()
-
Randomize the alternate forms used in text. [...]
const
- FontFeature.slashedZero()
-
Use the slashed zero. [...]
const
- FontFeature.stylisticSet(int value)
-
Select a stylistic set. [...]
factory
- FontFeature.tabularFigures()
-
Use tabular (monospace) figures. [...]
const
Properties
- feature → String
-
The tag that identifies the effect of this feature. Must consist of 4
ASCII characters (typically lowercase letters). [...]
final
- hashCode → int
-
The hash code for this object. [...]
read-only, override
- value → int
-
The value assigned to this feature. [...]
final
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
toString(
) → String -
Returns a string representation of this object.
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed. [...]
inherited
Operators
-
operator ==(
dynamic other) → bool -
The equality operator. [...]
override