Skip to content

Commit

Permalink
Support real fonts in 'flutter test' (flutter#6913)
Browse files Browse the repository at this point in the history
* Support real fonts in 'flutter test'

Change the order of font_managers to query in font_collection
so that dynamic_font_manager fonts will be resolved.

Tested with test case in `flutter/flutter` repo:

`packages/flutter/test/rendering/localized_fonts_test.dart`

Ensured:
- A font loaded with FontLoader will be used
- The default 'Ahem' font is still loaded by default

The test above still cannot be fixed because FontLoader and the
underlying mechanisms don't cover Locale-specific font loading
and therefore a CJK font-family won't be able to be loaded as needed
for that test.

Fixes flutter#17700

* Format fixup
  • Loading branch information
gamebox authored Dec 14, 2018
1 parent 5244cf4 commit 1bc7ccf
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions shell/common/engine.cc
Original file line number Diff line number Diff line change
Expand Up @@ -90,10 +90,10 @@ bool Engine::UpdateAssetManager(
}

// Using libTXT as the text engine.
font_collection_.RegisterFonts(asset_manager_);

if (settings_.use_test_fonts) {
font_collection_.RegisterTestFonts();
} else {
font_collection_.RegisterFonts(asset_manager_);
}

return true;
Expand Down
4 changes: 2 additions & 2 deletions third_party/txt/src/txt/font_collection.cc
Original file line number Diff line number Diff line change
Expand Up @@ -95,12 +95,12 @@ void FontCollection::SetTestFontManager(sk_sp<SkFontMgr> font_manager) {
// Return the available font managers in the order they should be queried.
std::vector<sk_sp<SkFontMgr>> FontCollection::GetFontManagerOrder() const {
std::vector<sk_sp<SkFontMgr>> order;
if (test_font_manager_)
order.push_back(test_font_manager_);
if (dynamic_font_manager_)
order.push_back(dynamic_font_manager_);
if (asset_font_manager_)
order.push_back(asset_font_manager_);
if (test_font_manager_)
order.push_back(test_font_manager_);
if (default_font_manager_)
order.push_back(default_font_manager_);
return order;
Expand Down

0 comments on commit 1bc7ccf

Please sign in to comment.