-
Notifications
You must be signed in to change notification settings - Fork 6k
libtxt: use Helvetica as a fallback font on iOS 8 and earlier #4930
Conversation
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here (e.g. What to do if you already signed the CLAIndividual signers
Corporate signers
|
1 similar comment
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here (e.g. What to do if you already signed the CLAIndividual signers
Corporate signers
|
|
CLAs look good, thanks! |
1 similar comment
|
CLAs look good, thanks! |
Includes: * libtxt: add missing dependency for Mac/iOS builds (flutter/engine#4931) * libtxt: use Helvetica as a fallback font on iOS 8 and earlier (flutter/engine#4930) * Make Rect.largest match the "largest" rect used in DefaultLayerBuilder (flutter/engine#4926) * [vulkan] Add VK_ERROR_NOT_PERMITTED_EXT * Roll buildroot to 8dddd90 (flutter/engine#4928) * Set the asset bundle path when initializing the shell in the embedder API (flutter/engine#4925)
Includes: * libtxt: add missing dependency for Mac/iOS builds (flutter/engine#4931) * libtxt: use Helvetica as a fallback font on iOS 8 and earlier (flutter/engine#4930) * Make Rect.largest match the "largest" rect used in DefaultLayerBuilder (flutter/engine#4926) * [vulkan] Add VK_ERROR_NOT_PERMITTED_EXT * Roll buildroot to 8dddd90 (flutter/engine#4928) * Set the asset bundle path when initializing the shell in the embedder API (flutter/engine#4925)
|
Why is this necessary? We should be automatically falling back on all the fonts on the system anyway, so changing the ultimate backstop shouldn't make a difference. |
|
Minikin expects to be given a collection of all relevant fonts for a given text block before doing layout. The libtxt font subsystem builds the collection by asking the Skia font managers to supply fonts for the requested font family. If no font manager can match the family, then libtxt asks the font managers to match the platform's default font family. If that also fails, then layout can't proceed. Later we added a patch to Minikin that queries Skia to find a font matching any character that isn't covered by the font collection. If Skia can't find a font family, then we could try experimenting with a model where we provide an empty font collection and rely on per character fallback to find some usable font. Note that Minikin currently requires that font collections be nonempty: I'm not sure how deeply embedded this assumption is in Minikin. |
|
Ah, interesting. |
Includes: * libtxt: add missing dependency for Mac/iOS builds (flutter/engine#4931) * libtxt: use Helvetica as a fallback font on iOS 8 and earlier (flutter/engine#4930) * Make Rect.largest match the "largest" rect used in DefaultLayerBuilder (flutter/engine#4926) * [vulkan] Add VK_ERROR_NOT_PERMITTED_EXT * Roll buildroot to 8dddd90 (flutter/engine#4928) * Set the asset bundle path when initializing the shell in the embedder API (flutter/engine#4925)
Fixes flutter/flutter#16055