2009-08-19 25 views

cevap

10

Eğer Media.Fonts örneğini olamaz, ama bu onu elde nasıl bir Media.FontFamily alabilirsiniz düşünüyorum.

using System.Drawing; 
using Media = System.Windows.Media; 

Font font = new Font(new System.Drawing.FontFamily("Comic Sans MS"), 10); 
      //option 1 
      Media.FontFamily mfont = new Media.FontFamily(font.Name); 
      //option 2 does the same thing 
      Media.FontFamilyConverter conv = new Media.FontFamilyConverter(); 
      Media.FontFamily mfont1 = conv.ConvertFromString(font.Name) as Media.FontFamily; 
      //option 3 
      Media.FontFamily mfont2 = Media.Fonts.SystemFontFamilies.Where(x => x.Source == font.Name).FirstOrDefault(); 
+3

altında kullanıyorum? Belki de yüklemeden önce yazı tipinin bir önizlemesini göstermek istiyoruz. – SepehrM

+1

Yazı tipim sistemde yüklü olmayan bir yerleşik kaynaktan mı? – JacobD

5

Ben yazı henüz sistemde yüklü yapmıyorsa ne olacak kodları

private static Typeface NewTypeFaceFromFont(System.Drawing.Font f) 
{ 
    Typeface typeface = null; 

    FontFamily ff = new FontFamily(f.Name); 


    if (typeface == null) 
    { 
     typeface = new Typeface(ff, (f.Style == System.Drawing.FontStyle.Italic ? FontStyles.Italic : FontStyles.Normal), 
         (f.Style == System.Drawing.FontStyle.Bold ? FontWeights.Bold : FontWeights.Normal), 
            FontStretches.Normal); 
    } 
    if (typeface == null) 
    { 
     typeface = new Typeface(new FontFamily("Arial"), 
             FontStyles.Italic, 
             FontWeights.Normal, 
             FontStretches.Normal);    
    } 
    return typeface; 

} 
İlgili konular