Skip to content

操作系统:字体渲染 #184

Open
@yaofly2012

Description

@yaofly2012

一、疑问

  1. 逐步放大页面文字,黑色的文字不是纯黑色的?
  2. 同样样式的文本在不同的浏览器展示的不同?

二、字体渲染策略

文字和其他图形一样都是由像素展示在显示器上的。

策略1(第一代):黑白渲染(blank-and-white rendering)

image

  1. 圆角和斜线会有“锯齿”

策略2(第二代):灰度渲染(grayscale rendering)

image

  1. 利用像素的明暗度(文本已经不是纯色的了);
  2. “锯齿”看起来更平滑(抗锯齿(anti-aliasing))。

策略3(第三代):亚像素渲染(subpixel rendering)

image

  1. 针对LCD屏幕的
    LCD屏幕的一个像素是由红、绿、蓝三个子(亚)像素构成的,这也是该渲染策略命名来源。

三、操作系统和字体渲染策略

OS 渲染引擎&字体渲染策略 备注
windows GDI和DirectWrite,通过额外ClearType实现亚像素渲染技术 应用程序和各个版本的操作系统采用的策略不统一,导致在Windows系统下,使用什么渲染技术取决于使用什么样的字体,以及应用程序的设置
MAC OS Quartz,统一采用亚像素渲染技术 得利于软硬结合的优势,Apple在字体渲染方面更容易给用户一个统一的体验

四、CSS & 抗锯齿

4.1 font-smooth

兼容性有点差啊

参考

  1. 认识字体渲染
  2. 如何在 Windows 上享受更棒的字体渲染

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions