mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
In https://g-issues.skia.org/issues/305780908 Skia is removing the default SkFontMgr. Previous work consolidated all references to txt/platform.h and this replaces those last references. I attempted to mirror the existing functionality, which still responds to GN flags and the target platform. After this PR, Flutter should not be depending on the default fontmgr (and the defines in flutter_defines.gni) will maintain that behavior until the legacy functions/methods are deleted from Skia. There were a few tests that I missed on an earlier PR which relied on the default font (helper added in #47493). These tests were failing because they were making some assertions related to TextBlobs, which didn't work if the (now-empty) Typeface they loaded had no glyphs. Thus, I added a few extra asserts to make sure these textblobs *had* glyphs which make the failing tests less mysterious, should this issue crop up again. I cleaned up Flutter's BUILD.gn file for Skia a bit, deleting unused targets related to the font managers. This involved fixing an implicit dependency from //third_party/glfw/ to `Gdi32.lib` on Windows. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests. - [ ] I updated/added relevant documentation (doc comments with `///`). - [x] I signed the [CLA]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style [testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
Description
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
androidapp-frameworkcross-platformdartdart-platformdesktopflutterflutter-packagefuchsiaioslinux-desktopmacosmaterial-designmobilemobile-developmentskiawebweb-frameworkwindows
2.5 GiB
Languages
Dart
75%
C++
16.5%
Objective-C++
2.9%
Java
2.8%
Objective-C
0.7%
Other
1.9%