diff --git a/apps/fonts/Material-Design-Iconic-Font.ttf b/apps/fonts/Material-Design-Iconic-Font.ttf new file mode 100644 index 000000000..5d489fdd1 Binary files /dev/null and b/apps/fonts/Material-Design-Iconic-Font.ttf differ diff --git a/apps/ui-tests-app/font/material-icons.xml b/apps/ui-tests-app/font/material-icons.xml new file mode 100644 index 000000000..472e27721 --- /dev/null +++ b/apps/ui-tests-app/font/material-icons.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/ui/styling/font.ios.ts b/ui/styling/font.ios.ts index 501a150c8..da01ef6fb 100644 --- a/ui/styling/font.ios.ts +++ b/ui/styling/font.ios.ts @@ -86,32 +86,32 @@ function resolveFontDescriptor(fontFamilyValue: string, symbolicTraits: number): for (var i = 0; i < fonts.length; i++) { var fontFamily = getFontFamilyRespectingGenericFonts(fonts[i]); - if (systemFontFamilies.has(fontFamily)) { + + if (systemFonts.has(fontFamily)) { + // This is an actual font - don't apply symbolic traits + result = UIFontDescriptor.fontDescriptorWithNameSize(fontFamily, 0); + } else if (systemFontFamilies.has(fontFamily)) { // This is a font family - we should apply symbolic traits if there are such - var fontFaceAttribute = ""; + var fontFaceAttributes = []; if (!symbolicTraits) { - fontFaceAttribute = "Regular"; + fontFaceAttributes.push("Regular"); } else { if (symbolicTraits & UIFontDescriptorSymbolicTraits.UIFontDescriptorTraitBold) { - fontFaceAttribute += " Bold"; + fontFaceAttributes.push("Bold"); } if (symbolicTraits & UIFontDescriptorSymbolicTraits.UIFontDescriptorTraitItalic) { - fontFaceAttribute += " Italic"; + fontFaceAttributes.push("Italic"); } } var fontAttributes = NSMutableDictionary.alloc().init(); fontAttributes.setObjectForKey(fontFamily, "NSFontFamilyAttribute"); - fontAttributes.setObjectForKey(fontFaceAttribute.trim(), "NSFontFaceAttribute"); + fontAttributes.setObjectForKey(fontFaceAttributes.join(" "), "NSFontFaceAttribute"); result = UIFontDescriptor.fontDescriptorWithFontAttributes(fontAttributes); - } - else if (systemFonts.has(fontFamily)) { - // This is an actual font - don't apply symbolic traits - result = UIFontDescriptor.fontDescriptorWithNameSize(fontFamily, 0); - } + } if (result) { return result;