Closed Bug 1228799 Opened 4 years ago Closed 4 years ago

"downloadable font: not usable by platform" error if HWA disabled

Categories

(Core :: Graphics: Text, defect, major)

42 Branch
x86_64
Windows 10
defect
Not set
major

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox47 --- wontfix
firefox48 --- wontfix
firefox49 --- wontfix
firefox-esr45 --- wontfix
firefox50 --- fixed
firefox51 --- fixed

People

(Reporter: sigoshi7, Assigned: jfkthame, NeedInfo)

References

Details

(Keywords: fonts, regression, Whiteboard: [STR in comment #29] )

Attachments

(10 files)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0
Build ID: 20151029151421

Steps to reproduce:

Went to any site that used custom fonts for icons. (example: https://fonticons.com/) after updating to version 42


Actual results:

Icons show up as a box with the character code


Expected results:

Icons should have displayed normally. The issue didnt occur prior to updating, and checking downloadable fonts setting, hardware acceleration setting, starting in safe mode and refreshing firefox have all not fixed the issue. I'm running on windows 10 64 bit, and know that mozilla has been working on full 64 bit support, could something about that have created a problem in this update?
(In reply to sigoshi7 from comment #0)
> Went to any site that used custom fonts for icons. (example:
> https://fonticons.com/) after updating to version 42

So in a brand new profile,
https://support.mozilla.org/kb/profile-manager-create-and-remove-firefox-profiles

you're getting the same error on the following sites as well?
https://bugzilla.mozilla.org
https://www.google.com/fonts/specimen/Open+Sans
http://fontawesome.io/examples/
Component: Untriaged → Layout: Text
Flags: needinfo?(sigoshi7)
Keywords: fonts
OS: Unspecified → Windows 10
Product: Firefox → Core
Hardware: Unspecified → x86_64
(In reply to Gingerbread Man from comment #1)
> 
> you're getting the same error on the following sites as well?
> https://bugzilla.mozilla.org
> https://www.google.com/fonts/specimen/Open+Sans
> http://fontawesome.io/examples/

Yep, the error appears in the console for all three on a new/temporary profile as well.
Flags: needinfo?(sigoshi7)
That message should have a URI for the relevant font, right?  Do you mind pasting that in here?
Flags: needinfo?(sigoshi7)
Here's an example error message from the bugzilla homepage in it's entirety:

downloadable font: not usable by platform (font-family: "Fira Sans" style:normal weight:normal stretch:normal src index:2) source: https://bugzilla.mozilla.org/skins/contrib/Mozilla/fira/FiraSans-Regular.woff

I tried accessing the font through the uri normally, and it was completely accessible, aside from windows having no way to view it.
Flags: needinfo?(sigoshi7)
Jonathan, any idea what's going on here?
Flags: needinfo?(jfkthame)
(In reply to sigoshi7 from comment #4)
> Here's an example error message from the bugzilla homepage in it's entirety:
> 
> downloadable font: not usable by platform (font-family: "Fira Sans"
> style:normal weight:normal stretch:normal src index:2) source:
> https://bugzilla.mozilla.org/skins/contrib/Mozilla/fira/FiraSans-Regular.woff
> 
> I tried accessing the font through the uri normally, and it was completely
> accessible, aside from windows having no way to view it.

If you go to about:support what's the set of modified prefs look like? In particular, are there any with a prefix of "gfx."?
Testcase using a data URL version of the font included in comment 4.

Does this testcase render correctly? You should see a sans serif font.
If my understanding of serifs (and the errors) is correct, then the issue is still present here.
Right, the font is not loading. Does IE or Chrome show the same result? Or they load the font just fine?

Anything interesting on the about:support page (see comment 6)?
One other question -- did you recently change and/or install new virus protection software? If you disable that does the testcase display correctly?
(In reply to John Daggett (:jtd) from comment #9)
> Right, the font is not loading. Does IE or Chrome show the same result? Or
> they load the font just fine?
> 
> Anything interesting on the about:support page (see comment 6)?

Sorry, didn't see comment 6. My about:support page doesn't have any modified preferences for gfx.

I tried loading the pages in IE, and it reported to me that the website was not responding each time. the testcase did still appear with serifs, though, so I guess this is an issue on windows' end that suddenly cropped up.

I didn't change my antivirus (Malwarebytes), but on disabling it, the issue persisted.

I'll mark this as invalid since it's not firefox's problem, but if anyone has any insight on what's going on, I'd love any help I can get!
Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → INVALID
No idea, sorry. The examples here work for me in a Win10 VM, with both Firefox and MS Edge.
Flags: needinfo?(jfkthame)
(In reply to Jonathan Kew (:jfkthame) from comment #12)
> No idea, sorry. The examples here work for me in a Win10 VM, with both
> Firefox and MS Edge.

I know microsoft rolled out a bunch of windows 10 updates recently, were you running it using them?
Hello.

I encounter the same problem with one of my computer.

Test case on comment 7 does not render correctly "downloadable font: not usable by platform"

> https://bugzilla.mozilla.org
> https://www.google.com/fonts/specimen/Open+Sans
> http://fontawesome.io/examples/

Same issue on theses websites, however i can access the font by typing the url.

> did you recently change and/or install new virus protection software?

No, same issue with virus protection software off.

I tried to clear cache, reboot firefox in safe mode, repair firefox and still same issue.
Chrome, IE 11 and MSEdge works fine.

I run firefox 43.0.3 win64 so i uninstalled it and give a try on firefox win32, same problem.
I rolled back firefox 41.0.2, same issue.

> but if anyone has any insight on what's going on, I'd love any help I can get!
I do too.
So i was searching a little bit more about this problem and found something. I post all the infos here, maybe i'll help somebody else.

I reinstalled firefox 43.0.3 win64 and looking at the eventlogs i found that the windows firewall service was stoped and i had a lots of errors about AppModel-Runtime like "CreateAppContainerProfile failed with error ... it was unable to register with the firewall.".

I started the windows firewall service and then all goes back to normal. All tests cases run now fine.

Well,maybe it's just a coincidence or maybe the windows firewall is needed when windows start for some subsystems run correctly?
As with what Guillaume said, this problem occurs because of an issue with windows- so to anyone in the future coming here from a google search or whatever, look into your windows install. If it only affects firefox, as with guillaumes situation, try resetting your firewall as he did. If it affects all of your browsers, which was my situation, it was only fixed with a "reset" of windows. Good Luck!
I have same issue on Firefox DE 45.0a2 (2016-01-13) (and all versions on this week).
In 2015 all fonts load fine
(In reply to sergeyv89 from comment #17)
> I have same issue on Firefox DE 45.0a2 (2016-01-13) (and all versions on
> this week).
> In 2015 all fonts load fine

Could you describe more? All webfonts don't load? Or just some? If you open up the dev console do you see error messages?

The "downloadable font: not usable by platform" error occurs after fonts successfully download but are rejected by the font activation API's. So I'm not sure Windows Firewall problems would cause this particular error.
(In reply to John Daggett (:jtd) from comment #18)
> (In reply to sergeyv89 from comment #17)
> > I have same issue on Firefox DE 45.0a2 (2016-01-13) (and all versions on
> > this week).
> > In 2015 all fonts load fine
> 
> Could you describe more? All webfonts don't load? Or just some? If you open
> up the dev console do you see error messages?
> 
> The "downloadable font: not usable by platform" error occurs after fonts
> successfully download but are rejected by the font activation API's. So I'm
> not sure Windows Firewall problems would cause this particular error.

Same as sigoshi7@gmail.com.
For example - https://getbootstrap.com/components/, all web fonts (woff2, woff, ttf) throw error "not usable by platform"
>downloadable font: not usable by platform (font-family: "Glyphicons Halflings" style:normal weight:normal stretch:normal src index:1) source: https://getbootstrap.com/dist/fonts/glyphicons-halflings-regular.woff2 bootstrap.min.css:5:3022
>downloadable font: not usable by platform (font-family: "Glyphicons Halflings" style:normal weight:normal stretch:normal src index:2) source: https://getbootstrap.com/dist/fonts/glyphicons-halflings-regular.woff bootstrap.min.css:5:3022
>downloadable font: not usable by platform (font-family: "Glyphicons Halflings" style:normal weight:normal stretch:normal src index:3) source: https://getbootstrap.com/dist/fonts/glyphicons-halflings-regular.ttf bootstrap.min.css:5:3022

And you're right, it's windows firewall. But i've got this error when firewall service stopped. After start service all fonts load without error. And as i said, in 2015 (with firewall service down) all fonts load fine.
Duplicate of this bug: 1249173
This bug requires coordination with Microsoft if that is a bug in Windows 10, and/or a workaround in Firefox.
Severity: normal → major
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: INVALID → ---
Like i said in Bug 1249173 I can repeatedly track this error to old Firefox 34b1 where it first occured, 33b9 and earlier work OK. All with new profiles. Any programmer who could check what font regarding changes were made in v34?

BTW, does any of you with this error have other graphic card than nVidia for laptops?

Im using Comodo as my security package, antivirus is off, firewall is on, windows firewall service is off.

I made some tests with latest Nightly, you can check in my attachment. This bug is really annoying, I wish it would get more attention.
I have old desktop GeForce 7950 GT and no one antivirus or other security software
(In reply to sergeyv89 from comment #23)
> I have old desktop GeForce 7950 GT and no one antivirus or other security
> software

Okay thanks, we will see if anyone with AMD has this problem. I tried to disable nVidia driver, but it didnt solve the bug.

We have to find out what uncommon configuration is causing this error. Im thinking, maybe services? Ive disabled some manually, and I used https://www.oo-software.com/en/shutup10  to delete some microsoft spyware in Win10. 

Have you done anything of that nature?
(In reply to a8092719 from comment #22)
> Like i said in Bug 1249173 I can repeatedly track this error to old Firefox
> 34b1 where it first occured, 33b9 and earlier work OK. All with new
> profiles. Any programmer who could check what font regarding changes were
> made in v34?

I'm guessing the most likely difference is whether the GDI or DirectWrite font system is being used. Could you post the Graphics section of about:support for the 33b9 version where it works, and the 34b1 which fails?

As for working around the issue with current versions, did you try *starting* the Windows10 firewall service? You said in bug 1249173 that you have it *disabled*. Other people have reported that turning it ON fixes this problem for them.
Okay so between v 33b9 and 34b1 there are 3 changes in about:support graphics (see attachment)

1) Direct2D Enabled true -> Blocked for your graphics card because of unresolved driver issues.
2) DirectWrite Enabled true -> false
3) AzureCanvasBackend cairo -> skia


I was wondering why this bug reporter claimed it happened in v42, when I was positive it was way earlier. I guess it happens in various versions when graphic cards get blacklisted, right? So its different time for everyone, but same root. 

Other Windows 10 users are probably only about to experience this bug, once their graphic card gets blacklisted..

Ill try to enforce Direct2D and see if it helps. 

If not then Ill try to enable firewall service but even if that helped, its probably best if Firefox was fixed itself. AFAIK many 3rd party security packages disable Windows Firewall, and how is Mozilla going to advise possibly millions of people to start a service?
sorry there was a little mistake, this is correct:

1) Direct2D Enabled true -> Blocked for your graphics card because of unresolved driver issues.
2) DirectWrite Enabled true -> false
3) AzureCanvasBackend direct2d -> skia
4) AzureContentBackend direct2d -> cairo


Now I went to my other PC with Windows 7 and screenshoted about:support and DirectWrite is also disabled there, although the icons display normally on that pc all the time. Please check the attachment.
OMG OMG OMG SOLVED ITTTT (kind of)


After 3 months of suffering I solved it and found a workaround!! yayy

So if anyone has missing icons for example on expedia.com, using Firefox and Windows 10, try this:

WORKAROUND:

1) type about:config into address bar
2) search   gfx.direct2d.force-enabled
3) double click it to change it to TRUE
4) close Firefox
5) open Firefox

Now all the icons on websites render correctly, even in an addon uBlock origin. Works in Nightly and Beta as well. Haha I cant believe I solved it.

I posted the result in my attachment, with web console as well.

Now lets hope it wont have any negative side effects. Ill report back if it does. I didnt start Windows Firewall service, im confident it has nothing to do with this erorr.

Its probably still not working for lots and lots of people, so if you want me to help to get it fixed in fresh profile without enforcing direct2D, i can do some experiments or test new Nightly builds.
Attached file testcase_maestro.html
I attached testcase that affects me if hardware acceleration is OFF and it works fine in other browser (Chrome, Edge) and in Firefox 45 but only if HWA is ON. I also use Windows 10 x64 Pro, nVidia GeForce 630M graphic card. Though other websites and test cases mentioned in this thread works fine for me...
I'm having the same problem on windows 10 pro with firefox stable.  The fix in comment 28 however did not work for me.

attached is the about:support


{
  "application": {
    "name": "Firefox",
    "osVersion": "Windows_NT 10.0",
    "arch": "x86",
    "version": "47.0",
    "buildID": "20160604131506",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0",
    "safeMode": false,
    "updateChannel": "release",
    "supportURL": "https://support.mozilla.org/1/firefox/47.0/WINNT/en-US/",
    "numTotalWindows": 1,
    "numRemoteWindows": 0,
    "remoteAutoStart": false,
    "autoStartStatus": 2
  },
  "modifiedPreferences": {
    "accessibility.typeaheadfind.flashBar": 0,
    "accessibility.typeaheadfind.autostart": false,
    "accessibility.lastLoadDate": 1461716791,
    "browser.cache.disk.smart_size.first_run": false,
    "browser.cache.disk.hashstats_reported": 1,
    "browser.cache.disk.filesystem_reported": 1,
    "browser.cache.disk.capacity": 358400,
    "browser.cache.frecency_experiment": 3,
    "browser.cache.disk.smart_size.use_old_max": false,
    "browser.download.importedFromSqlite": true,
    "browser.fixup.domainwhitelist.fndnablereport01": true,
    "browser.link.open_newwindow.restriction": 0,
    "browser.places.smartBookmarksVersion": 7,
    "browser.search.useDBForOrder": true,
    "browser.sessionstore.upgradeBackup.latestBuildID": "20160604131506",
    "browser.startup.homepage_override.mstone": "47.0",
    "browser.startup.homepage_override.buildID": "20160604131506",
    "browser.tabs.insertRelatedAfterCurrent.backup": true,
    "browser.tabs.remote.disabled-for-a11y": true,
    "browser.tabs.closeWindowWithLastTab": false,
    "browser.urlbar.suggest.searches": true,
    "browser.urlbar.userMadeSearchSuggestionsChoice": true,
    "browser.zoom.full": false,
    "dom.popup_allowed_events": "change click dblclick mouseup notificationclick reset submit touchend keypress",
    "dom.apps.reset-permissions": true,
    "dom.mozApps.used": true,
    "extensions.lastAppVersion": "47.0",
    "font.internaluseonly.changed": false,
    "general.autoScroll": false,
    "gfx.crash-guard.d3d11layers.appVersion": "47.0",
    "gfx.driver-init.appVersion": "42.0",
    "gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-try-d3d11": true,
    "gfx.crash-guard.glcontext.gfx.driver-init.direct3d11-angle": true,
    "gfx.crash-guard.d3d11layers.driverVersion": "10.18.15.4256",
    "gfx.crash-guard.d3d11layers.deviceID": "0x0412",
    "gfx.driver-init.deviceID": "0x0412",
    "gfx.driver-init.driverVersion": "10.18.15.4256",
    "gfx.driver-init.status": 2,
    "gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle": true,
    "gfx.crash-guard.d3d11layers.feature-d3d11": true,
    "gfx.direct2d.force-enabled": true,
    "gfx.crash-guard.status.glcontext": 2,
    "gfx.crash-guard.d3d11layers.feature-d2d": true,
    "gfx.crash-guard.status.d3d11layers": 3,
    "gfx.driver-init.feature-d3d11": true,
    "gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-force-warp": false,
    "gfx.crash-guard.glcontext.gfx.driver-init.webgl-angle-force-d3d11": false,
    "gfx.driver-init.feature-d2d": true,
    "gfx.direct3d.last_used_feature_level_idx": 0,
    "gfx.crash-guard.status.d3d9video": 2,
    "media.gmp-eme-adobe.lastUpdate": 1461775309,
    "media.webrtc.debug.aec_log_dir": "C:\\Users\\rdevine.FND\\AppData\\Local\\Temp",
    "media.webrtc.debug.log_file": "C:\\Users\\rdevine.FND\\AppData\\Local\\Temp\\WebRTC.log",
    "media.gmp-widevinecdm.lastUpdate": 1466081936,
    "media.gmp-gmpopenh264.lastUpdate": 1454079311,
    "media.benchmark.vp9.versioncheck": 1,
    "media.gmp-eme-adobe.abi": "x86-msvc-x64",
    "media.hardware-video-decoding.failed": false,
    "media.gmp-widevinecdm.abi": "x86-msvc-x64",
    "media.gmp-gmpopenh264.version": "1.5.3",
    "media.gmp-manager.lastCheck": 1467039004,
    "media.gmp-widevinecdm.version": "1.4.8.866",
    "media.youtube-ua.override.to": "43",
    "media.gmp-eme-adobe.version": "17",
    "media.gmp.storage.version.observed": 1,
    "media.benchmark.vp9.fps": 232,
    "media.gmp-gmpopenh264.abi": "x86-msvc-x64",
    "media.gmp-manager.buildID": "20160604131506",
    "network.predictor.cleaned-up": true,
    "network.cookie.prefsMigrated": true,
    "places.history.expiration.transient_current_max_pages": 104858,
    "places.database.lastMaintenance": 1467119702,
    "plugin.importedState": true,
    "plugin.disable_full_page_plugin_for_types": "application/pdf",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_unwriteable_margin_top": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_evenpages": true,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_margin_left": "0.5",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_paper_width": "215.00",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_unwriteable_margin_right": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_headerleft": "&T",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_paper_name": "",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_bgcolor": false,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_margin_top": "0.5",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_headercenter": "",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_in_color": true,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_reversed": false,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_unwriteable_margin_bottom": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_headerright": "&U",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_footerright": "&D",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_duplex": -437918235,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_paper_data": -1,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_footercenter": "",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_edge_right": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_orientation": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_paper_size_unit": 1,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_to_file": false,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_paper_height": "279.00",
    "print.always_print_silent": false,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_resolution": 600,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_oddpages": true,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_scaling": "  1.00",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_bgimages": false,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_footerleft": "&PT",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_edge_bottom": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_page_delay": 50,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_margin_right": "0.5",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_edge_top": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_edge_left": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_shrink_to_fit": true,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_unwriteable_margin_left": 0,
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_margin_bottom": "0.5",
    "print.printer_\\\\FNDSTORE02\\Xerox_Phaser_7500DT_PS.print_paper_size_type": 0,
    "privacy.sanitize.migrateClearSavedPwdsOnExit": true,
    "privacy.donottrackheader.enabled": true,
    "privacy.sanitize.migrateFx3Prefs": true,
    "security.tls.insecure_fallback_hosts": "10.100.26.12,10.100.26.11,173.229.10.147",
    "services.sync.declinedEngines": "",
    "storage.vacuum.last.index": 1,
    "storage.vacuum.last.places.sqlite": 1466168718,
    "ui.osk.debug.keyboardDisplayReason": "IKPOS: Touch screen not found."
  },
  "lockedPreferences": {},
  "javaScript": {
    "incrementalGCEnabled": true
  },
  "accessibility": {
    "isActive": false,
    "forceDisabled": 0
  },
  "libraryVersions": {
    "NSPR": {
      "minVersion": "4.12",
      "version": "4.12"
    },
    "NSS": {
      "minVersion": "3.23 Basic ECC",
      "version": "3.23 Basic ECC"
    },
    "NSSUTIL": {
      "minVersion": "3.23",
      "version": "3.23"
    },
    "NSSSSL": {
      "minVersion": "3.23 Basic ECC",
      "version": "3.23 Basic ECC"
    },
    "NSSSMIME": {
      "minVersion": "3.23 Basic ECC",
      "version": "3.23 Basic ECC"
    }
  },
  "userJS": {
    "exists": false
  },
  "crashes": {
    "submitted": [],
    "pending": 0
  },
  "extensions": [
    {
      "name": "1Password",
      "version": "4.5.6",
      "isActive": true,
      "id": "onepassword4@agilebits.com"
    },
    {
      "name": "Adblock Plus",
      "version": "2.7.3",
      "isActive": true,
      "id": "{d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}"
    },
    {
      "name": "Firefox Hello",
      "version": "1.3.2",
      "isActive": true,
      "id": "loop@mozilla.org"
    },
    {
      "name": "Mouse Gestures Suite",
      "version": "2.3.1",
      "isActive": true,
      "id": "mousegesturessuite@lemon_juice.addons.mozilla.org"
    },
    {
      "name": "Multi-process staged rollout",
      "version": "1.0",
      "isActive": true,
      "id": "e10srollout@mozilla.org"
    },
    {
      "name": "NTRglobal Plugin",
      "version": "2.0.6.4",
      "isActive": true,
      "id": "npNTRplugin2@NTRglobal.com"
    },
    {
      "name": "Pocket",
      "version": "1.0.2",
      "isActive": true,
      "id": "firefox@getpocket.com"
    },
    {
      "name": "Tab Mix Plus",
      "version": "0.5.0.0",
      "isActive": true,
      "id": "{dc572301-7619-498c-a57d-39143191b318}"
    },
    {
      "name": "Tree Style Tab",
      "version": "0.17.2016061501",
      "isActive": true,
      "id": "treestyletab@piro.sakura.ne.jp"
    },
    {
      "name": "Vimperator",
      "version": "3.14.0",
      "isActive": true,
      "id": "vimperator@mozdev.org"
    }
  ],
  "experiments": [],
  "graphics": {
    "numTotalWindows": 1,
    "numAcceleratedWindows": 0,
    "windowLayerManagerType": "Basic",
    "windowLayerManagerRemote": true,
    "supportsHardwareH264": "No; Hardware video decoding disabled or blacklisted",
    "numAcceleratedWindowsMessage": [
      ""
    ],
    "adapterDescription": "Intel(R) HD Graphics 4600",
    "adapterVendorID": "0x8086",
    "adapterDeviceID": "0x0412",
    "adapterSubsysID": "05a51028",
    "adapterRAM": "Unknown",
    "adapterDrivers": "igdumdim64 igd10iumd64 igd10iumd64 igd12umd64 igdumdim32 igd10iumd32 igd10iumd32 igd12umd32",
    "driverVersion": "10.18.15.4256",
    "driverDate": "7-17-2015",
    "adapterDescription2": "AMD Radeon R7 200 Series",
    "adapterVendorID2": "0x1002",
    "adapterDeviceID2": "0x6610",
    "adapterSubsysID2": "0000000c",
    "adapterRAM2": "2048",
    "adapterDrivers2": "aticfx64 aticfx64 aticfx64 amdxc64 aticfx32 aticfx32 aticfx32 amdxc32 atiumd64 atidxx64 atidxx64 atiumdag atidxx32 atidxx32 atiumdva atiumd6a atitmm64",
    "driverVersion2": "15.200.1046.2",
    "driverDate2": "7-15-2015",
    "isGPU2Active": false,
    "direct2DEnabled": false,
    "directWriteEnabled": false,
    "directWriteVersion": "10.0.10240.16430",
    "direct2DEnabledMessage": [
      ""
    ],
    "webglRenderer": "Google Inc. -- ANGLE (Intel(R) HD Graphics 4600 Direct3D9Ex vs_3_0 ps_3_0)",
    "info": {
      "AzureCanvasBackend": "skia",
      "AzureCanvasAccelerated": 0,
      "AzureFallbackCanvasBackend": "cairo",
      "AzureContentBackend": "cairo"
    },
    "failures": [
      "[GFX1-]: D3D11 layers disabled due to a prior crash."
    ],
    "indices": [
      0
    ]
  }
}
fixed by updating to new version.
Tested with attachment 8728664 [details] of comment#29,
I can reproduce the problem on Nightly50.0a1 if HWA disabled.

Regression window:
https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=adfc377f2882&tochange=3b34a02b5f46

Regressed by:
d032499bafe1	John Daggett — Bug 869764. Eliminate use of t2embed library in Windows GDI case. r=emk
Blocks: 869764
Status: REOPENED → NEW
Component: Layout: Text → Graphics: Text
Flags: needinfo?(jd.bugzilla)
Flags: needinfo?(VYV03354)
Keywords: regression
Summary: "downloadable font: not usable by platform" error since updating to 42 → "downloadable font: not usable by platform" error
Whiteboard: [STR in comment #29]
Summary: "downloadable font: not usable by platform" error → "downloadable font: not usable by platform" error if HWA disabled
(In reply to a8092719 from comment #28)
> Created attachment 8723197 [details]
> Firefox bug. downloadable font- not usable by platform SOLVED WORKAROUND.png
> 
> OMG OMG OMG SOLVED ITTTT (kind of)
> 
> 
> After 3 months of suffering I solved it and found a workaround!! yayy
> 
> So if anyone has missing icons for example on expedia.com, using Firefox and
> Windows 10, try this:
> 
> WORKAROUND:
> 
> 1) type about:config into address bar
> 2) search   gfx.direct2d.force-enabled
> 3) double click it to change it to TRUE
> 4) close Firefox
> 5) open Firefox

I was having this issue with FF 47.0.1 (most recent production version on this date) on a single machine with Windows 10 64bits. Not sure why and all workarounds and fixes failed, except this one. Thanks.

Regards.
Win 10 x64 Pro host with Firefox running inside Hyper-V Win 10 x64 Pro guest; both running build 10586.

FF 47 was able to bypass this issue via:
gfx.direct2d.force-enabled = true
gfx.font_rendering.directwrite.force-enabled = true

FF 48.0 breaks the work around.

Intel HD 530 (i7-6820HQ) using Intel.com driver 15.40.25.64.4463(which is reported as 20.19.15.4663 inside Intel's Control Panel).
We could still take a fix for this in beta 49.
Sounds like the workaround works because we stop using GDI; Mason, is this doing the right thing, and it's just a question of not finding the fonts (in which case, let's ask JKew.)
Flags: needinfo?(mchang)
(In reply to Milan Sreckovic [:milan] from comment #36)
> Sounds like the workaround works because we stop using GDI; Mason, is this
> doing the right thing, and it's just a question of not finding the fonts (in
> which case, let's ask JKew.)

It's not doing the right thing right now. DWrite and Cairo aren't supported, so if we fallback to GDI and we can't find the font, JKew may know what the right thing to do is.

Once we land Skia, we'll be using DWrite fonts so I expect this issue to go away and the workaround to not be required anymore.
Flags: needinfo?(mchang) → needinfo?(jkew)
As far as I can see from people's reports, there's a connection here to the Windows firewall service; if this is *disabled*, it seems to result in (some?) downloadable fonts failing to load via the APIs that we use for GDI (AddFontMemResourceEx), while still working via the DWrite APIs.

I don't know if this means that the actual download is being affected in such a way that the font data is seen as broken by AddFontMemResourceEx, or if the status of the firewall service somehow affects the behavior of AddFontMemResourceEx itself.

I suppose someone with a system where this reproduces (and with the means to hack some debugging code into gecko) could try capturing the downloaded data in both the firewall-off and firewall-on states, and see if they're identical; that might help pinpoint where the problem lies. Though given that people have seen this affecting WOFF fonts, I think it's unlikely the actual download is getting corrupted, because that would almost certainly lead to an OTS failure trying to decode the WOFF resource, rather than a successful decode followed by failure in AddFontMemResourceEx.

So my money's on an internal Windows bug (or a particularly obscure feature?) whereby the state of the Win10 firewall service is affecting the behavior of AddFontMemResourceEx, and the "workaround" is to avoid that API by using DirectWrite font services instead.
I have a machine that this is actively happening on.  If you can provide me with a set of steps to collect the appropriate logs, I can actively reproduce this.
Can you confirm whether enabling/disabling the Windows firewall affects the behavior you see, as others have reported?

There's no ready-made "set of steps", as there is no built-in mechanism to capture the actual downloaded font data. To do that -- and thus verify exactly what data we're submitting to the Windows API that's failing -- you'd need to rebuild Firefox from source, with some custom code added to dump the downloaded/decoded font data to a file. Are you set up to attempt that?
Flags: needinfo?(jkew)
(In reply to Jonathan Kew (:jfkthame) from comment #40)
> Can you confirm whether enabling/disabling the Windows firewall affects the
> behavior you see, as others have reported?
> 
> There's no ready-made "set of steps", as there is no built-in mechanism to
> capture the actual downloaded font data. To do that -- and thus verify
> exactly what data we're submitting to the Windows API that's failing --
> you'd need to rebuild Firefox from source, with some custom code added to
> dump the downloaded/decoded font data to a file. Are you set up to attempt
> that?

Have you tried my test case? https://bugzilla.mozilla.org/attachment.cgi?id=8728664

This bug still exists, I am even on different windows 10 laptop now than before, when I was posting this test case. I simply disabled hardware acceleration in FF 48 and restarted browser and this font is rendered as default font, not as maestro font. This font is base64 encoded in html document, how firewall could possibly afects this? 

I checked with and without firewall anyway, the results are the same. Maybe firewall in some scenerio can also cause the same results when fonts are loaded from remote sources, thats why some peopel say that helped them when they turned off firewall.
Attached image results.jpg
This is how testcase_maestro.html test case looks with hardware acceleration ON an OFF in FF48 browser.
I looked into the Maestro font in that testcase, and the problem there is that the font's 'cmap' and 'name' tables are incorrectly tagged as "Symbol" encoding, when it should have been "Unicode" (although the font totally abuses Unicode codepoints).

Because of this, it fails to load via AddFontMemResourceEx. This behavior was described way back in bug 534284, but a workaround has never been landed in Gecko. Apparently DirectWrite allows the font to be used despite the incorrect encoding data (perhaps internally doing something equivalent to the patch that was proposed in that bug).
But comment #32 claims that the test case in comment #29 worked before bug 869764. That's strange because the t2embed code path should have never worked according to bug 534284.
Flags: needinfo?(VYV03354)
True, that's strange. Maybe something changed about t2embed behavior since the testing in bug 534284?

There's also the fact that this explanation does _not_ account for all the issues people have described here -- e.g. problems with Fira Sans, which is not tagged as symbol-encoded -- nor for the apparent connection with the Win10 firewall service.

I suspect there are at least two unrelated issues getting confused here; in either case the visible symptom is a font that fails to load, with the "not usable by platform" error, but there may be multiple underlying causes for that.

For the case of "symbol"-tagged fonts like Maestro, I'm thinking of revisiting the patch from bug 534284; at the time, jdaggett didn't like it, but I think we should reconsider doing something along those lines to work around the problem.
This is just some preliminary code refactoring, to make the following patch simpler; there should be no actual change in functionality here.
Attachment #8782555 - Flags: review?(VYV03354)
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
And this makes the Maestro example work under GDI just as it does under DWrite. The "hack" to fix up the cmap encoding tag is only attempted if AddFontMemResourceEx fails, so there's no risk of any effect on fonts that already work.
Attachment #8782556 - Flags: review?(VYV03354)
Comment on attachment 8782555 [details] [diff] [review]
Part 1 - Move GetTableFromFontData to gfxFontUtils as a static function, and expose FindTableDirEntry helper method

Review of attachment 8782555 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/thebes/gfxFontUtils.cpp
@@ +1082,5 @@
>      // table directory entries begin immediately following SFNT header
> +    TableDirEntry *dirEntry =
> +        FindTableDirEntry(newFontData, TRUETYPE_TAG('n','a','m','e'));
> +    // function only called if font validates, so this should always be true
> +    NS_ASSERTION(dirEntry, "attempt to rename font with no name table");

MOZ_ASSERT
Attachment #8782555 - Flags: review?(VYV03354) → review+
Attachment #8782556 - Flags: review?(VYV03354) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/8a9e11afaeac8f80141daa235931da561d97d6c4
Bug 1228799 - Part 1 - Move GetTableFromFontData to gfxFontUtils as a static function, and expose FindTableDirEntry helper method. r=emk

https://hg.mozilla.org/integration/mozilla-inbound/rev/3727cb17859ae5166026965e3ab4fdefd416052e
Bug 1228799 - Part 2 - If AddFontMemResourceEx rejects a downloaded font that we tried to activate, check if its Microsoft cmap subtable is tagged as symbol-encoded, and if so fix it up and re-try the font activation. r=emk
https://hg.mozilla.org/mozilla-central/rev/8a9e11afaeac
https://hg.mozilla.org/mozilla-central/rev/3727cb17859a
Status: ASSIGNED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Duplicate of this bug: 534284
> you'd need to rebuild Firefox from source, with some custom code added

For what it's worth, the simple way to do this, usually, is to just push the relevant changes to try and then point whoever you want to test the results to the builds try produced.
Should we uplift this to 50? (49?)
Flags: needinfo?(jfkthame)
(In reply to David Bolter [:davidb] from comment #54)
> Should we uplift this to 50? (49?)

The patch is pretty well-contained and low-risk, IMO, so we could consider uplifting to 50 so as to get the fix to users sooner. I don't think a beta uplift would be justified, though: this is not a recent regression, and while the problem is annoying, it's not all that widespread (only applies to specific flawed fonts, and only affects users on non-accelerated Windows).
Flags: needinfo?(jfkthame)
Comment on attachment 8782555 [details] [diff] [review]
Part 1 - Move GetTableFromFontData to gfxFontUtils as a static function, and expose FindTableDirEntry helper method

Approval Request Comment (for both patches together)

[Feature/regressing bug #]: various -- bug 869764 apparently regressed behavior for some users; others may have been affected indirectly, by acceleration-blocklist changes and/or Windows and driver updates affecting font backend selection

[User impact if declined]: some webfonts (mostly icons/symbols) fail to load for users on Windows systems without acceleration (using GDI backend)

[Describe test coverage new/current, TreeHerder]: verified manually with attached testcase

[Risks and why]: minimal risk, existing (working) behavior is unchanged, this just adds handling for a failure case

[String/UUID change made/needed]: n/a
Attachment #8782555 - Flags: approval-mozilla-aurora?
Attachment #8782556 - Flags: approval-mozilla-aurora?
Hello sigoshi7, could you please verify this issue is fixed as expected on a latest Nightly build? Thanks!
Flags: needinfo?(sigoshi7)
Comment on attachment 8782555 [details] [diff] [review]
Part 1 - Move GetTableFromFontData to gfxFontUtils as a static function, and expose FindTableDirEntry helper method

Fixes a regression, has stabilized on Nightly for a week, Aurora50+
Attachment #8782555 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Attachment #8782556 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Flags: needinfo?(jd.bugzilla)
You need to log in before you can comment on or make changes to this bug.