Exemple #1
0
        public static bool AreFontsEqual(FontFamily lhs, FontFamily rhs, IDocumentContext documentContext)
        {
            if (FontEmbedder.GetFontNameFromSource(lhs) == FontEmbedder.GetFontNameFromSource(rhs))
            {
                return(true);
            }
            bool flag1 = lhs == null || lhs.Source == null;
            bool flag2 = rhs == null || rhs.Source == null;

            if (flag1 && flag2)
            {
                return(true);
            }
            if (flag1 || flag2)
            {
                return(false);
            }
            if (lhs.Source == rhs.Source)
            {
                return(true);
            }
            string fontFamilyPath1 = FontEmbedder.GetFontFamilyPath(lhs.Source);
            string fontFamilyPath2 = FontEmbedder.GetFontFamilyPath(rhs.Source);
            bool   flag3           = !string.IsNullOrEmpty(fontFamilyPath1);
            bool   flag4           = !string.IsNullOrEmpty(fontFamilyPath2);

            if (!flag3 && !flag4 || (!flag3 || !flag4))
            {
                return(false);
            }
            return(FontEmbedder.GetFontNameFromSource(FontEmbedder.MakeDesignTimeFontFamily(lhs, documentContext)) == FontEmbedder.GetFontNameFromSource(FontEmbedder.MakeDesignTimeFontFamily(rhs, documentContext)));
        }
Exemple #2
0
 public static FontFamily MakeDesignTimeFontReference(FontFamily fontFamily, IDocumentContext documentContext)
 {
     if (fontFamily.Source != null && fontFamily.Source.IndexOf('#') != -1)
     {
         return(FontEmbedder.MakeDesignTimeFontFamily(fontFamily, documentContext));
     }
     return(fontFamily);
 }
Exemple #3
0
 public object Convert(object o, Type targetType, object parameter, CultureInfo culture)
 {
   IDocumentContext documentContext = this.SceneNodeObjectSet.DocumentContext;
   FontFamily fontFamily1 = this.SceneNodeObjectSet.DesignerContext.PlatformConverter.ConvertToWpf(documentContext, o) as FontFamily;
   if (fontFamily1 == null)
     return o;
   string source = fontFamily1.Source;
   Uri result;
   bool flag = !Uri.TryCreate(source, UriKind.RelativeOrAbsolute, out result) ? !Path.IsPathRooted(source) : !result.IsAbsoluteUri;
   if (string.IsNullOrEmpty(source) || !flag || source.IndexOf('#') == -1)
     return (object) new UnknownSourceFontFamilyItem(fontFamily1, this.SceneNodeObjectSet);
   FontFamily fontFamily2 = fontFamily1;
   return (object) new UnknownSourceFontFamilyItem(FontEmbedder.MakeDesignTimeFontFamily(fontFamily2, documentContext), fontFamily2, this.SceneNodeObjectSet);
 }