我想在网络上使用像素字体。我使用@ font-face包含它但是所有浏览器都在对字体应用消除锯齿。我似乎无法找到禁用此规则的CSS规则,有人可以想到另一种禁用抗锯齿的方法吗?
答案 0 :(得分:5)
字体渲染是由操作系统和浏览器完成的,所以,到目前为止,我相信你几乎无法使用CSS。在讨论中可能会提出一些CSS规则(我已经看过提到“font-smooth”或类似的东西),但据我所知,CSS3中什么都没有,而CSS2中肯定没有。
答案 1 :(得分:2)
这个问题很陈旧,所以只想提供更新。
基于caniuse.com,它有一个CSS属性,但已从CSS3规范草稿中删除。所以它不是一个标准的解决方案。 一些Webkit,Firefox& Opera浏览器支持它,但它不一致。它主要适用于桌面和Mac OS用户
-webkit-font-smoothing: none || antialiased || subpixel-antialiased
-moz-osx-font-smoothing: auto || inherit || unset || grayscale
font-smoothing: auto || inherit || unset || grayscale
答案 2 :(得分:1)
我认为css没有抗锯齿选项。尝试cufon: http://wiki.github.com/sorccu/cufon/about
它非常易于使用,它可以很好地渲染像素字体。你可能也对Shaun Inman的Pxfon感兴趣: http://shauninman.com/archive/2009/04/17/pxr_cufon_pxfon
答案 3 :(得分:0)
如果您在8pt多尺寸(8,16,24等)上使用它们,大多数像素字体将无法正常工作
如果你处理错误的字体大小,你最终会得到别名/有雾的字符。
检查出来......
http://www.fontsquirrel.com/fonts/list/style/Pixel
......它可能会有所帮助;)
答案 4 :(得分:0)
我今天遇到了类似的问题,似乎虽然 font-smooth 在当代Firefox *中不起作用,但添加了一些过滤器:
filter: contrast(1);
然而,使用过滤器禁用抗锯齿似乎有些麻烦。顺便说一句,它不会导致完全禁用抗锯齿,只是使它以某种方式应用不同,因此位图字体正确呈现。另一方面,它会破坏非位图字体的渲染。
*在Debian 8上的Iceweasel 38.40.0上对来自http://doir.ir/fixedsys/demo.html的Fixedsys进行了测试。
答案 5 :(得分:0)
是的,这是可能的。
我也在找这个。我最终在另一个 stackoverflow 线程 (How to get "crispEdges" for SVG text?) 上找到了一个解决方案来禁用 SVG 的文本平滑(禁用抗锯齿),但该解决方案也适用于常规 HTML 元素。
诀窍是使用 SVG 过滤器,然后您可以将其添加到任何 HTML 元素中,使任何东西都变得酥脆。
<svg class="offscreen" width="0" height="0" xmlns="http://www.w3.org/2000/svg">
<defs>
<filter id="crispify">
<feComponentTransfer>
<feFuncA type="discrete" tableValues="0 1"/>
</feComponentTransfer>
</filter>
</defs>
</svg>
p {
filter: url(#crispify);
}
.offscreen {
position: absolute;
left: -100000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
p {
filter: url(#crispify) invert(1);
}