繁体   English   中英

如何在Firefox中启用HTML5画布文本?

[英]How to enable HTML5 canvas text in Firefox?

我可以在Firefox配置文件A中看到画布(线条,工程图等),但是看不到画布文本。

我在Windows 7上使用的是无EME的Firefox 38.0.5,但对Firefox文件夹没有做任何事情。 我可以在其他个人资料B上看到画布文本。

这是我希望能够看到的示例: HTML canvas fillText()方法

  • 配置文件A:画布显示为白色矩形。
  • 简介B:我看到“世界你好!灿烂的笑容”。

我尝试了about:config并搜索了“画布”,但是两个配置文件中的条目都相同。

在“ 检测HTML5功能-画布文本”中说:

您的浏览器支持画布文本API

如果加载w3schools网站,则会在浏览器控制台中获得以下日志:

NS_ERROR_FAILURE:组件返回失败代码:0x80004005(NS_ERROR_FAILURE)[nsITaskbarTabPreview.invalidate] WindowsPreviewPerTab.jsm:406:0

未声明HTML文档的字符编码。 如果文档包含来自US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码。 页面的字符编码必须在文档或传输协议中声明。 tryit.asp

POST ... w3schoolslink ... tags / tryit_view.asp [HTTP / 1.1 200 OK 210ms]

未声明带框文档的字符编码。 如果在没有框架的情况下进行查看,则该文件可能看起来有所不同。 tryit_view.asp

最后两个,如果我在同一w3schools页面上单击“查看结果”。

不要告诉我重置Firefox。 我花了数年的时间按照自己的方式自定义它。

您是否可能在两个配置文件中都没有使用的字体?

在试图显示不属于所用字体的“字母”的情况下,我已经将这些矩形视为文本。 例如,我试图显示用unicode定义的音乐符号,但是我知道的大多数字体都不支持它们。

前言

看来Firefox 41.0.1中不存在此问题。

修复1-TL; DR

gfx.direct2d.disabled设置为false

Fix2-替代

  • gfx.direct2d.disabledtrue
  • gfx.canvas.azure.backends设置为cairo

使用Fix1具有在网页和view-source中破坏字体的副作用(至少对我而言),而这可用于在禁用Direct2d的同时仍渲染画布文本的情况。

在绊倒这个之后,我进行了测试:
错误842521-在Skia和Cairo后端同时启用DirectWrite时,PDF.js不会呈现文本

Fix1的长答案

虽然这实际上不是编程问题,但希望可以迁移而不是删除它,但我有一个可能的解决方案。

我遇到了同样的问题,即我的常规Firefox配置文件不会显示画布文本,而全新的配置文件没有问题。 使用安全模式也无效。

通过about:config首选项,最终我将gfx.direct2d.disabled切换为false ,然后在重新启动浏览器后可以使用canvas中的文本。

gfx.direct2d.disabled设置为true的可能原因是通过取消选中Options > Advanced Use hardware acceleration when available来禁用硬件加速。

请注意,Firefox不会考虑仅切换该首选项来重新启用硬件加速,因为仅在更改layers.acceleration.disabled时才会发生,这显然对这个问题没有影响。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM