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)
application:performActionForShortcutItem:completionHandler: on iOS 9.0+. And fix some tests. (#4600)
Flutter Engine
Flutter is a new way to build high-performance, cross-platform mobile apps. Flutter is optimized for today's, and tomorrow's, mobile devices. We are focused on low-latency input and high frame rates on Android and iOS.
The Flutter Engine is the runtime environment for hosting Flutter applications. Most developers will interact with Flutter via the Flutter Framework and APIs, which run inside the engine.
Flutter is an early-stage open-source project. We are still adding features. However, you can build demos and examples today. We hope you try it out and send us feedback.
-
For information about using Flutter to build apps, please see the getting started guide.
-
For information about contributing to the Flutter framework, please see the main Flutter repository.
-
For information about contributing code to the engine itself, please see CONTRIBUTING.md.
Community
Join us in our Gitter chat room or join our mailing list, flutter-dev@googlegroups.com.