16得票3回答
在IE9中禁用ClearType(文本反锯齿)

众所周知(例如此处),IE9忽略了操作系统的字体平滑设置(也称为抗锯齿)。即使在Windows中禁用了字体平滑和ClearType,IE仍然显示反锯齿字体,这些字体对一些用户来说阅读起来很困难,尤其是在小字号下。 如何在IE9中禁用所有字体反锯齿(包括ClearType或其他方式)? 更多...

11得票2回答
DirectWrite:获取字体高度

我的目标: 我想获得一个IDWriteTextFormat字体的高度,以便计算在给定高度的IDWriteTextLayout中可以容纳多少行文本。 我的问题: 目前我正在使用以下代码来计算可见行数:inline int kmTextCtrl::GetVisLines() const { ...

10得票2回答
如何在使用DirectWrite时平衡基于脚本的OpenType功能与其他OpenType功能?

全面披露:我正在开发我的libui GUI框架的文本API。这个API在Windows上使用DirectWrite,在OS X上使用Core Text,在其他Unix系统上使用Pango(它使用HarfBuzz进行OpenType shaping)。我想指定的文本格式属性之一是要使用的一组Op...

7得票2回答
使用DirectWrite进行部分连字选择

使用IDWriteTextLayout中的HitTestTextPosition样式API,我无法正确处理像Calibri这样的字体中“ti”、“ffi”或其他连字内部的文本位置。它总是返回在连字之后或之前的位置,而不是内部位置,比如t|i或f|f|i。 使用DirectWrite API在...

7得票1回答
如何在DirectWrite中呈现混合颜色文本?

我希望使用DirectWrite进行混合颜色文本格式化(准确地说是语法高亮),但似乎找不到一种方法来实现,无论是在布局(Layout)还是排版(Typography)选项中都没有。唯一的选择是在渲染文本时传递Brush,但这对我来说不起作用,因为我基本上只有一个布局。求助!