Jason Simmons de34a3e272
libtxt: extend Minikin to find a fallback font if its font collection can not match a given character (#4623)
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)
2018-01-31 13:56:44 -08:00
2018-01-23 16:12:43 -05:00
2017-01-20 13:40:45 -08:00

Flutter Engine

Build Status

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.

Community

Join us in our Gitter chat room or join our mailing list, flutter-dev@googlegroups.com.

Languages
Dart 75%
C++ 16.5%
Objective-C++ 2.9%
Java 2.8%
Objective-C 0.7%
Other 1.9%