如下所示,Chrome中的Texta-Light字体与Safari完全不同.Chrome会显示我喜欢的字体,但Safari在OS X和iOS上的渲染看起来太薄了.下面的Safari图像是在iOS上拍摄的,正如您所看到的那样,字体看起来好像存在两位文本.
我找了一个解决方案,但没有找到任何有效的方法.我试过使用,-webkit-font-smoothing: subpixel-antialiased;但根据这个问题,代码不再工作了.
铬:

iOS上的Safari:

以下是上图中的代码:
h2 {
font-family: 'Texta-Light', sans-serif;
font-size: 3.5em;
line-height: 1.2em;
}
Run Code Online (Sandbox Code Playgroud)
这有什么解决方案吗?
我试图打开http://jsfiddle.net/在IE8与BrowserMode-- IE8和Document Mode--IE8开发者工具.在其他浏览器中,它工作正常,甚至在IE9中它工作正常.但是我看到了javascript中的错误IE8 and older versions of IE.
SCRIPT1010: Expected identifier
EditorCM.js?Spring, line 105 character 25
SCRIPT438: Object doesn't support property or method 'addEventListener'
heyoffline.js?Spring, line 24 character 5
SCRIPT5009: 'MooShellEditor' is undefined
jsfiddle.net, line 91 character 7
SCRIPT5007: Unable to get value of the property 'editor': object is null or undefined
Actions.js?Spring, line 130 character 5
Run Code Online (Sandbox Code Playgroud)
这就是它的呈现方式 IE8

jsfiddle是否正在使用IE8和旧版本?
我了解到明确指定图像尺寸是最佳做法.然后,浏览器可以在仍然自己下载图像的同时布局页面,从而改善(经过执行的)页面渲染时间.
这是真的?如果是这样,在HTML或CSS中指定维度是否有区别?
<img src="" width="200" height="100"><img src="" style="width: 200px; height: 100px">#myImage { width: 200px; height: 200px; }我在各种平台上对WPF应用程序进行基准测试,我需要一种简单的方法来确定WPF是使用硬件还是软件渲染.
我好像回忆起一个确定这个问题的电话,但现在不能把它放在手上.
另外,是否有一种简单的,基于代码的方式来强制一个渲染管道而不是另一个?
通过这里的图表我的意思是类似这些图像的东西:
![]()
理想的解决方案是:
我也有兴趣了解可能被用作此类工作起点的项目.如果需要一些开发来实现我想要的东西,那么我已经准备好解决它了.这个目标中最复杂的部分似乎是在合理的时间范围内获得图形布局.
我正在研究渲染管道,当我到达剪辑阶段时,我们解释说,从视图(眼睛或相机)空间我们必须传递到剪辑空间,也称为规范化设备空间(NDC),即立方体空间从-1到1.
但是,现在我不明白从这个空间到屏幕坐标空间的通道何时发生:
剪切后和光栅化之前?
光栅化后和剪刀和z测试之前?
在写入帧缓冲区之前的最后?
我在我的Android应用程序中使用自定义.ttf字体.我按照通常的方式加载它:
myTypeface = Typeface.createFromAsset( getAssets(), "myTypeface.ttf");
Run Code Online (Sandbox Code Playgroud)
然后我在我的活动中分配我的字体...非常简单的东西:
TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setTextSize(12);
tv.setTypeface(App.myTypeface);
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,在某些使用后期API的设备上(我在Asus Transformer的模拟器中特别注意到它),文本看起来更粗,宽度更均匀,垂直对齐更混乱.在最后一部分,我的意思是某些角色垂直放置得比其他角色更高或更低,给文本带来一点过山车般的感觉.
考虑下面的屏幕截图
这是在仿真器上呈现的文本,具有与Transformer相同的分辨率和dpi,但使用的是Google API等级8.

看起来很标准,对吗?
现在考虑在具有相同分辨率和dpi的模拟器中呈现的文本,但使用Google API等级15:

起初,文本可能看起来很相似,但您可能会注意到它看起来有点大胆.但是,请查看"快速"中的"c".您会注意到它比第一次渲染中的"c"更低,并且更高.您还会注意到,如果您查看单词"quick"中字符的底部,它们不会在底部对齐.
这些问题可能看起来很小,但在有大量文字的屏幕上,它看起来真的很不专业.
有人看过这个,还是有解释?我希望在以后的API中使文本看起来统一.
非常感谢你的时间!
您可能知道某些语言是从右到左编写/读取的,我们正在尝试支持某些RTL语言.对于在HTML中使用dir ="rtl"的Web UI,大部分工作都归功于浏览器所具有的算法.但是我在文本中用括号来解决这个问题:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Bracket problems with BiDi</title>
</head>
<body>
<p style="direction: rtl;">Bracket problem: hello (world):</p>
<p style="direction: rtl;">No bracket problem: hello (world) something:</p>
<p style="direction: rtl;">Bracket problem: (?????? (????? </p>
<p style="direction: rtl;">No bracket problem: ?????? (?????) ????? </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
问题可以在这里看到: 截图
所以我希望最后一个支架留在最后.你的解决方案是什么?
这个博客文章(那里有点讨厌的页面)(顺便说一下,这不是我的博客)描述了我昨天在Internet Explorer 8中遇到的一个奇怪的错误.该bug涉及.EOT网络字体和<iframe>元素.
我没有广泛研究错误的确切触发器,但基本上是这样的情况:使用网页字体加载内容以<iframe>使框架也使用网络字体的页面被浏览器"污损".使用Web字体呈现的先前正常文本突然转变为看起来很糟糕的Arial或其他东西,单独排序.有时它会翻转,只会在鼠标移动等随机用户交互中再次降级.
那篇博文有一个例子.澄清一下,它是包含在内的页面,而不是页面中的内容<iframe>(至少,根据我的经验,情况就是如此).
是否有人找到了比该博客中建议的更好的解决方法,即强制<link>从@font-face声明到来的"重新加载"CSS 元素?(我可以做到这一点,但这只是一个小小的痛苦,而且它会迫使我将我的字体设置移出我的文档<head>,如果我记得这是一个性能问题;我将不得不四处寻找并再次发现这一点. )
编辑 - 更新
好的,这是一个测试页面.这是主(容器)页面:
<!DOCTYPE html>
<html>
<head>
<style id='font_style'>
@font-face {
font-family: 'bold-display';
src: url('DejaVuSans-Bold.eot');
}
</style>
<style>
.fancy { font-family: bold-display, "franklin gothic medium", "verdana", sans-serif; font-size: 32px; }
iframe { width: 500px; height: 200px; }
#floater {
position: absolute;
top: 100px; left: 100px;
display: none;
}
#floater.showing {
display: block;
}
</style> …Run Code Online (Sandbox Code Playgroud) 我正在开发一个项目,我将为嵌入式设备设计一个GUI,并且很乐意为此使用HTML.我希望你们能帮我找到一个适合我需要的渲染引擎.
要求:
必须将Web页面呈现到内存缓冲区中.然后我将内存缓冲区传输到显示器.
我必须通过回调或事件通知渲染引擎需要获取新项目.HTML页面,图像等.原因是我必须获取资源并将其提供给渲染引擎(原因是设备在所有配置中都没有TCP/IP,然后需要获取项目串行线,并且为了安全,我需要验证是否允许请求).
我必须能够将鼠标和键盘事件注入渲染引擎.
只有C和/或C++
必须易于移植,并且缺少对仅存在于win/linux/mac的库的依赖性.我运行的设备运行自定义操作系统...
占用空间小,内存消耗小,在渲染过程中,我可能会占用10MB的占用空间和5-10 MB的内存.但不多.
欢迎开源和商业解决方案
我不需要完整的HTML5和CSS3支持,我的意思是如果我可以使用"基本HTML和一些CSS"我非常高兴.
我看过一些WebKit,铬,壁虎,berkelium和awesomium,但并没有真正发现它们符合我的需求.
那里有什么东西接近我需要的东西吗?或者我应该放弃这个想法并以其他方式构建GUI?我感谢任何帮助!