mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Minikin layout uses a FontCollection containing a list of pre-selected fonts for a particular font family. This patch extends the FontCollection to invoke a hook provided by libtxt if layout sees a character that can not be rendered by any font in the collection. * Change the Minikin lock to a recursive mutex. This is required because the fallback font provider may create new fonts during a layout operation that already holds the lock. * Implement a fallback font provider hook that queries Skia for fonts matching an unrecognized character. * Maintain a cache of fallback fonts. Prepopulate the cache with fonts covering some commonly used character classes. * Add a last resort font list for cases where Skia's font manager can not find any font for a character (similar to Blink's FontCache::getLastResortFallbackFont)
libtxt: extend Minikin to find a fallback font if its font collection can not match a given character (flutter/engine#4595)
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%