代码之家  ›  专栏  ›  技术社区  ›  bvanderw

为什么.NET中的8号字体显示为8.25?

  •  17
  • bvanderw  · 技术社区  · 16 年前

    例如,当您在Microsoft无衬线字体对话框中选择8号字体时,它将返回.NET显示为8.25号的字体。

    这到底是为什么?

    2 回复  |  直到 16 年前
        1
  •  31
  •   Mark Ransom    16 年前

    一个点是1/72英寸,所以字体应该是8/72(0.111111)英寸高。Windows假定标准显示为96 dpi,除非您不遗余力地配置它。这意味着它试图创建一个10.66667像素高的字体;它四舍五入为11像素。当你把它转换回点((11/96)*72)时,它变为8.25。

        2
  •  2
  •   Brandon    16 年前

    这很可能是由于Windows字体映射器计算字体大小的方式。字体单元格的像素高度与1/72英寸时的正常“点”略有不同。

    更多信息在这里: http://msdn.microsoft.com/en-us/library/ms969909.aspx