Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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]);
        }