load_fonts.dart
3.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import 'dart:io';
import 'package:flutter/services.dart';
Future<void> loadKaTeXFonts() async {
//https://github.com/flutter/flutter/issues/20907
if (Directory.current.path.endsWith('/test') ||
Directory.current.path.endsWith('\\test')) {
Directory.current = Directory.current.parent;
}
final katexMainLoader = FontLoader('packages/flutter_math_fork/KaTeX_Main')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Main-Regular.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Main-Italic.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Main-Bold.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Main-BoldItalic.ttf'));
final katexMathLoader = FontLoader('packages/flutter_math_fork/KaTeX_Math')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Math-Italic.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Math-BoldItalic.ttf'));
final katexAMSLoader = FontLoader('packages/flutter_math_fork/KaTeX_AMS')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_AMS-Regular.ttf'));
final katexCaligraphicLoader = FontLoader(
'packages/flutter_math_fork/KaTeX_Caligraphic')
..addFont(
getFontData('lib/katex_fonts/fonts/KaTeX_Caligraphic-Regular.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Caligraphic-Bold.ttf'));
final katexFrakturLoader = FontLoader(
'packages/flutter_math_fork/KaTeX_Fraktur')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Fraktur-Regular.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Fraktur-Bold.ttf'));
final katexSansSerifLoader = FontLoader(
'packages/flutter_math_fork/KaTeX_SansSerif')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_SansSerif-Regular.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_SansSerif-Bold.ttf'))
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_SansSerif-Italic.ttf'));
final katexScriptLoader = FontLoader(
'packages/flutter_math_fork/KaTeX_Script')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Script-Regular.ttf'));
final katexTypewriterLoader =
FontLoader('packages/flutter_math_fork/KaTeX_Typewriter')
..addFont(
getFontData('lib/katex_fonts/fonts/KaTeX_Typewriter-Regular.ttf'));
final katexSize1Loader = FontLoader('packages/flutter_math_fork/KaTeX_Size1')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Size1-Regular.ttf'));
final katexSize2Loader = FontLoader('packages/flutter_math_fork/KaTeX_Size2')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Size2-Regular.ttf'));
final katexSize3Loader = FontLoader('packages/flutter_math_fork/KaTeX_Size3')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Size3-Regular.ttf'));
final katexSize4Loader = FontLoader('packages/flutter_math_fork/KaTeX_Size4')
..addFont(getFontData('lib/katex_fonts/fonts/KaTeX_Size4-Regular.ttf'));
await Future.wait([
katexMainLoader.load(),
katexMathLoader.load(),
katexAMSLoader.load(),
katexCaligraphicLoader.load(),
katexFrakturLoader.load(),
katexSansSerifLoader.load(),
katexScriptLoader.load(),
katexTypewriterLoader.load(),
katexSize1Loader.load(),
katexSize2Loader.load(),
katexSize3Loader.load(),
katexSize4Loader.load(),
]);
}
Future<ByteData> getFontData(String name) => File(name)
.readAsBytes()
.then((bytes) => ByteData.view(Uint8List.fromList(bytes).buffer));