mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 03:31:45 +08:00
resolveFontDescriptor fixed
This commit is contained in:
BIN
apps/fonts/Material-Design-Iconic-Font.ttf
Normal file
BIN
apps/fonts/Material-Design-Iconic-Font.ttf
Normal file
Binary file not shown.
5
apps/ui-tests-app/font/material-icons.xml
Normal file
5
apps/ui-tests-app/font/material-icons.xml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<Page xmlns="http://schemas.nativescript.org/tns.xsd">
|
||||||
|
<StackLayout>
|
||||||
|
<Label text="" style="font-family: Material-Design-Iconic-Font" />
|
||||||
|
</StackLayout>
|
||||||
|
</Page>
|
@ -86,32 +86,32 @@ function resolveFontDescriptor(fontFamilyValue: string, symbolicTraits: number):
|
|||||||
|
|
||||||
for (var i = 0; i < fonts.length; i++) {
|
for (var i = 0; i < fonts.length; i++) {
|
||||||
var fontFamily = getFontFamilyRespectingGenericFonts(fonts[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
|
// This is a font family - we should apply symbolic traits if there are such
|
||||||
var fontFaceAttribute = "";
|
var fontFaceAttributes = [];
|
||||||
|
|
||||||
if (!symbolicTraits) {
|
if (!symbolicTraits) {
|
||||||
fontFaceAttribute = "Regular";
|
fontFaceAttributes.push("Regular");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (symbolicTraits & UIFontDescriptorSymbolicTraits.UIFontDescriptorTraitBold) {
|
if (symbolicTraits & UIFontDescriptorSymbolicTraits.UIFontDescriptorTraitBold) {
|
||||||
fontFaceAttribute += " Bold";
|
fontFaceAttributes.push("Bold");
|
||||||
}
|
}
|
||||||
if (symbolicTraits & UIFontDescriptorSymbolicTraits.UIFontDescriptorTraitItalic) {
|
if (symbolicTraits & UIFontDescriptorSymbolicTraits.UIFontDescriptorTraitItalic) {
|
||||||
fontFaceAttribute += " Italic";
|
fontFaceAttributes.push("Italic");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var fontAttributes = NSMutableDictionary.alloc().init();
|
var fontAttributes = NSMutableDictionary.alloc().init();
|
||||||
fontAttributes.setObjectForKey(fontFamily, "NSFontFamilyAttribute");
|
fontAttributes.setObjectForKey(fontFamily, "NSFontFamilyAttribute");
|
||||||
fontAttributes.setObjectForKey(fontFaceAttribute.trim(), "NSFontFaceAttribute");
|
fontAttributes.setObjectForKey(fontFaceAttributes.join(" "), "NSFontFaceAttribute");
|
||||||
|
|
||||||
result = UIFontDescriptor.fontDescriptorWithFontAttributes(fontAttributes);
|
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) {
|
if (result) {
|
||||||
return result;
|
return result;
|
||||||
|
Reference in New Issue
Block a user