7

像ClearType这样的亚像素字体渲染显着提高了字体显示分辨率并提高了屏幕可读性。我将如何编程字体的子像素渲染(通常),以及如何在 iPad(iOS 设备上的 C、C++ 或 Objective-C)上实现?iPad 上某些尺寸的字体非常模糊,我知道 iPad 的显示屏可以很好地使用这种技术......

那么,我将如何为 iPad 开发字体渲染引擎(例如,我如何访问子像素?我是否使用 OpenGL?是否存在用 C、C++ 或 Objective-C 编写的开源字体渲染引擎? Mac OS X?)?

4

1 回答 1

14

iPad 上的每个像素都是一个由红色、绿色和蓝色分量组成的矩形,因此人们可能会认为亚像素字体渲染对于设备来说是一个不错的选择。

但是请考虑到该设备可以轻松地从纵向模式更改为横向模式,并且应用程序有望响应这种变化。这意味着您的子像素字体机制也必须响应该更改,并且您需要为每种字体提供两个单独的子像素描述。

现在考虑一个事实,即开发人员希望能够编写在单次购买/下载中运行在平板电脑和手机上的通用应用程序。但请看下图中各代手机的不同像素配置。回想一下,这些中的每一个都需要在纵向模式和横向模式下以不同的方式描述字体。现在你有大量的字体描述。

现在回想一下,我们说的是便携式设备,其中最宝贵的资源是电池,而亚像素字体渲染的计算量更大。

我猜这与导致 Apple 避开亚像素字体渲染,转而希望显示技术将像素密度提高到不再需要的程度(iPhone 上的视网膜显示4 是朝着这个方向迈出的第一步。)

我敢打赌,在 iPad 的某个未来版本中,我们将拥有一个具有相似密度的显示器,这并不重要。您为 iPad 应用程序发明亚像素字体渲染机制所付出的任何努力都将在那时立即付诸东流,因此我建议您不要沿着这条路走下去。

在此处输入图像描述

于 2011-04-10T18:26:40.713 回答