blob: 070333eb7e80bf2fbe3c19677ff695a3c4b7199e [file] [log] [blame]
// Copyright 2014 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flutter code sample for FontFeature
import 'dart:ui';
import 'package:flutter/material.dart';
void main() => runApp(const ExampleApp());
class ExampleApp extends StatelessWidget {
const ExampleApp({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const MaterialApp(
home: ExampleWidget(),
);
}
}
final TextStyle titleStyle = TextStyle(
fontSize: 18,
fontFeatures: const <FontFeature>[FontFeature.enable('smcp')],
color: Colors.blueGrey[600],
);
class ExampleWidget extends StatelessWidget {
const ExampleWidget({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// The Cardo, Milonga and Raleway Dots fonts can be downloaded from
// Google Fonts (https://www.google.com/fonts).
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
const Spacer(flex: 5),
Text('regular numbers have their place:', style: titleStyle),
const Text('The 1972 cup final was a 1-1 draw.',
style: TextStyle(
fontFamily: 'Cardo',
fontSize: 24,
)),
const Spacer(),
Text('but old-style figures blend well with lower case:', style: titleStyle),
const Text('The 1972 cup final was a 1-1 draw.',
style: TextStyle(
fontFamily: 'Cardo', fontSize: 24, fontFeatures: <FontFeature>[FontFeature.oldstyleFigures()])),
const Spacer(),
const Divider(),
const Spacer(),
Text('fractions look better with a custom ligature:', style: titleStyle),
const Text('Add 1/2 tsp of flour and stir.',
style: TextStyle(
fontFamily: 'Milonga',
fontSize: 24,
fontFeatures: <FontFeature>[FontFeature.alternativeFractions()])),
const Spacer(),
const Divider(),
const Spacer(),
Text('multiple stylistic sets in one font:', style: titleStyle),
const Text('Raleway Dots', style: TextStyle(fontFamily: 'Raleway Dots', fontSize: 48)),
Text('Raleway Dots',
style: TextStyle(
fontFeatures: <FontFeature>[FontFeature.stylisticSet(1)],
fontFamily: 'Raleway Dots',
fontSize: 48,
)),
const Spacer(flex: 5),
],
),
),
);
}
}