| // 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. |
| |
| import 'dart:ui'; |
| |
| import 'package:flutter/material.dart'; |
| |
| /// Flutter code sample for [FontFeature]. |
| |
| void main() => runApp(const ExampleApp()); |
| |
| class ExampleApp extends StatelessWidget { |
| const ExampleApp({super.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({super.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), |
| ], |
| ), |
| ), |
| ); |
| } |
| } |