mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Fixes https://github.com/flutter/flutter/issues/105120 I also exposed the relevant dart:ui types which had the effect of removing a large number of dart:ui imports from examples.
79 lines
2.6 KiB
Dart
79 lines
2.6 KiB
Dart
// 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 '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),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|