@@ -15,10 +15,12 @@ const int _kSoftLineBreak = 0;
1515const int _kHardLineBreak = 100 ;
1616
1717final List <String > _testFonts = < String > ['FlutterTest' , 'Ahem' ];
18- String _computeEffectiveFontFamily (String fontFamily) {
19- return ui_web.debugEmulateFlutterTesterEnvironment && ! _testFonts.contains (fontFamily)
20- ? _testFonts.first
21- : fontFamily;
18+ List <String > _computeEffectiveFontFamilies (List <String > fontFamilies) {
19+ if (! ui_web.debugEmulateFlutterTesterEnvironment) {
20+ return fontFamilies;
21+ }
22+ final Iterable <String > filteredFonts = fontFamilies.where (_testFonts.contains);
23+ return filteredFonts.isEmpty ? _testFonts : filteredFonts.toList ();
2224}
2325
2426class SkwasmLineMetrics extends SkwasmObjectWrapper <RawLineMetrics > implements ui.LineMetrics {
@@ -359,7 +361,7 @@ class SkwasmTextStyle implements ui.TextStyle {
359361 textStyleSetTextBaseline (handle, textBaseline! .index);
360362 }
361363
362- final List <String > effectiveFontFamilies = fontFamilies;
364+ final List <String > effectiveFontFamilies = _computeEffectiveFontFamilies ( fontFamilies) ;
363365 if (effectiveFontFamilies.isNotEmpty) {
364366 withScopedFontList (effectiveFontFamilies,
365367 (Pointer <SkStringHandle > families, int count) =>
@@ -438,8 +440,8 @@ class SkwasmTextStyle implements ui.TextStyle {
438440 }
439441
440442 List <String > get fontFamilies => < String > [
441- if (fontFamily != null ) _computeEffectiveFontFamily ( fontFamily! ) ,
442- if (fontFamilyFallback != null ) ...fontFamilyFallback! . map (_computeEffectiveFontFamily) ,
443+ if (fontFamily != null ) fontFamily! ,
444+ if (fontFamilyFallback != null ) ...fontFamilyFallback! ,
443445 ];
444446
445447 final ui.Color ? color;
@@ -576,16 +578,13 @@ final class SkwasmStrutStyle extends SkwasmObjectWrapper<RawStrutStyle> implemen
576578 ui.TextLeadingDistribution ? leadingDistribution,
577579 }) {
578580 final StrutStyleHandle handle = strutStyleCreate ();
579- if (fontFamily != null || fontFamilyFallback != null ) {
580- final List <String > fontFamilies = < String > [
581- if (fontFamily != null ) fontFamily,
582- if (fontFamilyFallback != null ) ...fontFamilyFallback,
583- ];
584- if (fontFamilies.isNotEmpty) {
585- withScopedFontList (fontFamilies,
586- (Pointer <SkStringHandle > families, int count) =>
587- strutStyleSetFontFamilies (handle, families, count));
588- }
581+ final List <String > effectiveFontFamilies = _computeEffectiveFontFamilies (< String > [
582+ if (fontFamily != null ) fontFamily,
583+ if (fontFamilyFallback != null ) ...fontFamilyFallback,
584+ ]);
585+ if (effectiveFontFamilies.isNotEmpty) {
586+ withScopedFontList (effectiveFontFamilies, (Pointer <SkStringHandle > families, int count) =>
587+ strutStyleSetFontFamilies (handle, families, count));
589588 }
590589 if (fontSize != null ) {
591590 strutStyleSetFontSize (handle, fontSize);
@@ -728,9 +727,11 @@ class SkwasmParagraphStyle extends SkwasmObjectWrapper<RawParagraphStyle> implem
728727 (renderer.fontCollection as SkwasmFontCollection ).defaultTextStyle.copy ();
729728 final TextStyleHandle textStyleHandle = textStyle.handle;
730729
731- if (fontFamily != null ) {
732- withScopedFontList (< String > [fontFamily],
733- (Pointer <SkStringHandle > families, int count) =>
730+ final List <String > effectiveFontFamilies = _computeEffectiveFontFamilies (< String > [
731+ if (fontFamily != null ) fontFamily
732+ ]);
733+ if (effectiveFontFamilies.isNotEmpty) {
734+ withScopedFontList (effectiveFontFamilies, (Pointer <SkStringHandle > families, int count) =>
734735 textStyleAddFontFamilies (textStyleHandle, families, count));
735736 }
736737 if (fontSize != null ) {
0 commit comments