2010-11-10 171 views

回答

38

“默认”字体是当前操作系统的当前系统字体。 Tahoma是Windows XP的默认系统字体,在Vista上,Windows 7是Segoe UI。

+0

但是当我打开MS Word中的默认字体为“宋体” .. – 2010-11-10 06:48:53

+9

这是默认的字体,你* *类型,但与UI的不是字体(即在Word的菜单和按钮中使用的字体)。 – bitbonk 2010-11-10 06:57:31

+0

Windows 8的任何想法? – 2014-08-30 18:34:25

3

在Windows 8上,似乎后备字体是Segoe UI,具有0.9基线和1.2行间距。

Simulating WPF default font

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:clr="clr-namespace:System;assembly=mscorlib"> 
    <Page.Resources> 
     <clr:String x:Key="someText">The quick brown fox, ABCD, 1234567890, /@#</clr:String> 
     <SolidColorBrush x:Key="lightColor">#bbbbbb</SolidColorBrush> 
     <SolidColorBrush x:Key="darkColor">#000000</SolidColorBrush> 
     <FontFamily x:Key="default">non existent font</FontFamily> 
     <FontFamily x:Key="segoe">Segoe UI</FontFamily> 
     <FontFamily x:Key="segoe_base" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/composite-font" 
       xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
       xmlns:s="clr-namespace:System;assembly=mscorlib" 
       Baseline="0.9" 
       LineSpacing="1.2"> 
     <FontFamily.FamilyNames> 
      <s:String x:Key="en-US" >Baseline Segoe UI</s:String> 
     </FontFamily.FamilyNames> 
     <FontFamily.FamilyMaps> 
      <FontFamilyMap Target="Segoe UI" /> 
     </FontFamily.FamilyMaps> 
     </FontFamily> 
    </Page.Resources> 

    <StackPanel Margin="10" Width="250"> 
     <TextBlock TextWrapping="Wrap">Segoe UI with a baseline of 0.9 and line spacing of 1.2 lines up with the default font</TextBlock> 
     <Grid Margin="5"> 
     <TextBlock Foreground="{StaticResource darkColor}" TextWrapping="Wrap" FontSize="20" FontFamily="{StaticResource default}" Text="{StaticResource someText}"/> 
     <TextBlock Foreground="{StaticResource lightColor}" TextWrapping="Wrap" FontSize="20" FontFamily="{StaticResource segoe_base}" Text="{StaticResource someText}"/> 
     </Grid> 
     <TextBlock Margin="0,10,0,0" TextWrapping="Wrap">Segoe UI with the default baseline and line spacing does not line up with the default font</TextBlock> 
     <Grid Margin="5"> 
     <TextBlock Foreground="{StaticResource darkColor}" TextWrapping="Wrap" FontSize="20" FontFamily="{StaticResource default}" Text="{StaticResource someText}"/> 
     <TextBlock Foreground="{StaticResource lightColor}" TextWrapping="Wrap" FontSize="20" FontFamily="{StaticResource segoe}" Text="{StaticResource someText}"/> 
     </Grid> 
    </StackPanel> 
    </Page> 
+1

值得一提的是,该字体系列来自'SystemFonts.MessageFontFamily'静态属性。所以如果你需要在应用程序的某个地方使用它 - 你应该从那里读取它,而不是自己构建新的FontFamily实例。 – torvin 2017-05-18 03:52:22

相关问题