/// <summary> /// Gets the font family from application data local settings if it has been overridden. /// </summary> /// <param name="fontFamily">the font family</param> /// <param name="defaultName">the default font name</param> /// <returns>the font family name</returns> private static string GetDefaultFontFamily(Model.FontFamily fontFamily, string defaultName) { object fontName; var keyName = string.Format(CultureInfo.InvariantCulture, "FontFamilies.{0}", fontFamily); if (Windows.Storage.ApplicationData.Current.LocalSettings.Values.TryGetValue(keyName, out fontName)) { return((string)fontName); } return(defaultName); }
/// <summary> /// Gets the font family from application data local settings if it has been overridden. /// </summary> /// <param name="fontFamily">the font family</param> /// <param name="defaultName">the default font name</param> /// <returns>the font family name</returns> private static string GetDefaultFontFamily(Model.FontFamily fontFamily, string defaultName) { string fontName; var keyName = string.Format(CultureInfo.InvariantCulture, "FontFamilies.{0}", fontFamily); if (IsolatedStorageSettings.ApplicationSettings.TryGetValue(keyName, out fontName)) { return(fontName); } return(defaultName); }
/// <summary> /// Convert from <see cref="Model.FontFamily"/> to <see cref="FontCapitals"/> /// </summary> /// <param name="value">a <see cref="Model.FontFamily"/></param> /// <param name="targetType">a <see cref="FontCapitals"/> type</param> /// <param name="parameter">parameter not used</param> /// <param name="culture">culture not used</param> /// <returns>if the <see cref="Model.FontFamily"/> is SmallCaps, then return <see cref="FontCapitals.SmallCaps"/></returns> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null) { return(DependencyProperty.UnsetValue); } Model.FontFamily fontFamily = (Model.FontFamily)value; if (fontFamily == Model.FontFamily.Smallcaps) { return(FontCapitals.SmallCaps); } return(DependencyProperty.UnsetValue); }
/// <summary> /// Gets the Windows Phone Font Family name /// </summary> /// <param name="fontFamily">the caption font family</param> /// <returns>the Windows Phone font family name</returns> public static string GetFontFamilyName(Model.FontFamily fontFamily) { if (fontFamilyMap == null) { fontFamilyMap = new Dictionary <Model.FontFamily, string>(); fontFamilyMap[Model.FontFamily.Default] = null; fontFamilyMap[Model.FontFamily.MonospaceSerif] = GetDefaultFontFamily(Model.FontFamily.MonospaceSerif, "Courier New"); fontFamilyMap[Model.FontFamily.ProportionalSerif] = GetDefaultFontFamily(Model.FontFamily.ProportionalSerif, "Times New Roman"); // Windows Phone does not have a real monospace sans serif like Consolas. fontFamilyMap[Model.FontFamily.MonospaceSansSerif] = GetDefaultFontFamily(Model.FontFamily.MonospaceSansSerif, "Calibri"); fontFamilyMap[Model.FontFamily.ProportionalSansSerif] = GetDefaultFontFamily(Model.FontFamily.ProportionalSansSerif, "Tahoma"); fontFamilyMap[Model.FontFamily.Casual] = GetDefaultFontFamily(Model.FontFamily.Casual, "Comic Sans MS"); // Windows Phone does not have a real cursive font like Segoe Script. fontFamilyMap[Model.FontFamily.Cursive] = GetDefaultFontFamily(Model.FontFamily.Cursive, "Calibri Light"); fontFamilyMap[Model.FontFamily.Smallcaps] = GetDefaultFontFamily(Model.FontFamily.Smallcaps, "Tahoma"); } return(fontFamilyMap[fontFamily]); }