ea84dd9118374eef15a92add3a3fd28a94165fb0
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
Languages
Dart
75.4%
C++
16.4%
Objective-C++
2.7%
Java
2.7%
Objective-C
0.6%
Other
1.8%