- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
首先是一些背景信息。
似乎使用 CSS3 @font-face 规则可以在任何浏览器、任何版本的 Windows(XP 及更高版本)上以意想不到和不希望的方式与 ClearType 字体渲染交互。
我首先将其记录为 Google Font Directory bug当我遇到它时。进一步的研究似乎产生了相互矛盾的信息;启用或禁用 ClearType 可以帮助或损害 @font-face 字体在 Windows 的任何 Web 浏览器中的呈现方式。 ClearType 是有益还是有害似乎完全取决于所使用的字体,以及它们内置了什么样的提示。
例如,thread on TypeKit's support site似乎指向禁用 ClearType 时的字体渲染问题。但是,jQuery plug-in开发用于在启用 ClearType 时改进字体渲染,但该插件仅适用于 Internet Explorer。有趣的是,当启用 ClearType 时,插件演示页面上使用的字体呈现效果不佳,但当它被禁用时,两个演示页面呈现相同/正确。
鉴于所有这些背景信息和先前的研究,我的问题是:
无论 Windows ClearType 设置如何,确保现代浏览器在所有平台上都能正常呈现字体的最佳方式/妥协是什么?
我的第一个想法是使用默认包含@font-face 字体的样式表。 JavaScript 可以检测用户的操作系统,如果检测到 Windows,则可以通过编程方式修改样式表类以使用不包含 @font-face 字体的字体系列,以便使用系统原生的后备字体。后来才知道还有人想到了this .虽然这是一个 hacky 和不优雅的解决方案。理想情况下,我希望我的网络字体可以在任何平台上使用,而不依赖于 sIFR 或 Cufon 之类的东西。
有没有人有指点或更好的想法?
最佳答案
这是一个大问题,是自 2012 年 7 月以来 Google Chrome 中的官方错误。在 2013 年 8 月,这似乎在大多数情况下得到了修复。然而,仍然有一些字体看起来前卫和像素化的例子。
给元素一个体面的文字描边:
// try around, find the setting that fits your font-size
webkit-text-stroke: 0.6px;
// alternative RGBa syntax, allows finer settings with alpha-transparency
-webkit-text-stroke: 1px rgba(0, 0, 0, 0.1);
我写了一篇关于这个主题的大型博客文章,包括大量屏幕截图和 4 种不同的解决方案来解决这个问题:看看这里:
关于windows - 使 CSS3 @font-face 字体渲染在 Windows 上与 ClearType 兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086408/
我有一个位图,其背景需要用另一个位图的一部分替换。在我的 WindowsXP 上启用 ClearFont 之前一切正常。 为了更好地解释我的问题,让我们将第一个位图标记为 bmpDestination
使用 GDI+ 在玻璃上绘制文本: graphics.DrawString(s, Length(s), font, MakePointF(x, y), brush); 您会注意到启用 ClearTyp
我遇到了一些非常奇怪的事情! 我有一个用 JS (jQuery) 隐藏的 div。像这样: $('#myDiv').hide(); 然后当我像这样进行淡入时: $("#myDiv").fadeIn('
我有一个很好地使用 GDI 的 Win32 GUI 应用程序。它需要在指定坐标处的位图上绘制文本,然后将其删除并替换为原始位图。 我进行如下操作: 选择字体(GetStockObject(DEFAUL
我有一个透明的 Window 可以正常工作,但是 TextBox 会忽略 ClearType。 RenderOptions.ClearTypeHint="Enabled" 已设置但没有任何反应。没有其
对于IE7,可以添加 filter: none; 到主体 css 以通过 CSS 禁用字体上的 cleartype。我不喜欢它给出的模糊外观,而且它在浏览器之间并不真正一致。 IE; Firefox
我需要通过 cmd (或任何脚本,如 VBS/JS)或从注册表启用/禁用 ClearType(或“调整 Windows 的外观和性能 > 平滑屏幕字体边缘”) 无需注销或重新启动 Windows。 也
在我的应用程序中,我想在运行时在某些文本框控件上设置 Consolas 字体。由于 Consolas 是一种 ClearType 字体,并且只有在启用 ClearType 时才看起来不错,所以我想检查
WinRT 是否提供回退到软件 ClearType 字体呈现的选项(就像 Direct2D 通过“Direct2D 和 GDI 互操作性”所做的那样),或者我们将只能使用有点模糊的硬件字体抗锯齿? 最
所以新的 WPF 4 文本渲染看起来很棒,但是在窗口上启用毛玻璃效果需要您将背景更改为透明,这当然会禁用 ClearType 渲染。 使用提供的 RenderOptions.ClearTypeHint
我有一个主窗体 (WinForm),它应该在没有 ClearType 的情况下呈现其内容。更准确地说,该表单中的 RichTextBox 应该在没有 ClearType 的情况下呈现其文本。在最终用户
有据可查(例如 here ),IE9 忽略了操作系统范围的字体平滑设置(也称为抗锯齿)。即使在 Windows 中禁用字体平滑和 ClearType,IE 仍然显示抗锯齿字体,这使得一些用户难以阅读,
嗯,这是 IE 和 jQuery 的一个众所周知的错误: IE is losing ClearType 我要问的是:在应用“修复”之前,是否有可能以某种方式消除丑陋的过渡效果。在 IE 中测试一下:
我遇到了一个相当常见的问题(或者看起来是这样,经过一番谷歌搜索后......),IE 在使用 jQuery 动画不透明度时会弄乱粗体文本和透明 png。 您可以在此处查看示例:http://dev.g
我有这个小脚本,可以在单击按钮时切换联系表单: $(document).ready(function(){ $("#button").click(function () { $("
我正在尝试将 ClearType 添加到 vile 编辑器 GUI 模式“winvile”中的字体。我对代码不熟悉。 我搜索了所有 LOGFONT 结构并在 ntwinio.c 中找到了一些结构和 w
我正在使用下面的 C# 代码来制作一张带有文字的图片 // Create font. Parameter is a global variable Font o
谁能告诉我为什么 ClearType 在下面的简单 SharpDX 示例中拾取背景的透明度?以及如何阻止它这样做。 它将两行纯黑色文本呈现为半透明位图。第一行使用 Grayscale 渲染,第二行使用
我想知道:您对 Visual Studio 2010 编辑器(Beta 2)中的文本呈现满意吗?在我的主显示器上它看起来非常模糊,即使使用字体大小 12! 使用字体大小 10 或 11 时,这太可怕了
对于我们的 Windows Mobile 应用程序,我想在设备上启用 ClearType 选项。根据this MSDN 上的文章应该通过设置以下注册表项来完成: HKEY_LOCAL_MACHINE\
我是一名优秀的程序员,十分优秀!