source-han-sans icon indicating copy to clipboard operation
source-han-sans copied to clipboard

Source Han Sans CFF2 VF (or any CFF2 font) causes Windows text rendering to blank out (Windows 10 and 11)

Open NightFurySL2001 opened this issue 3 years ago • 14 comments

In Windows 10 20H2, using Source Han Sans with localized CJK name (e.g. 思源黑体 VF or 思源黑體 VF) enabled on system (either using a localized version of Windows or choosing the support option in language settings) will crash the Windows rendering engine when trying to use the font in Windows font choice or Microsoft Office. All system UI texts immediately went to blank (e.g. Windows Explorer) or become excessively small (e.g. Google Chrome web address bar). I have checked that having a non-localized CJK font on system (in my case, Source Han Sans VF as I did not enable Japanese on my system) do not cause the problem, however using the font causes some complication in some software such as Microsoft Office PowerPoint, and only the Extralight version will show up.

Edit: I have installed the OTC version of Variable font SourceHanSans-VF.ttc before the testing, not the Japanese SourceHanSans-VF.otf font. The font did appear as separate language families (SC/TC/HC/JP/KR) in the Settings - Fonts, however they are not appearing as separate languages in system, only Source Han Sans VF (JP) is appearing in Control Panel - Fonts, Microsoft Office and Adobe CC 2018. This might seem to be another problem that is unrelated to this issue. Further testing with OTF only do provide the same result as the above comment.

I know this is not under the scope of Source Han Sans but this seem to be a major bug in Windows and I am afraid others will encounter the same problem. Please suggest further action and anyone to get in contact with.

NightFurySL2001 avatar Apr 08 '21 14:04 NightFurySL2001

This is a known issue on Windows with some CFF2 variable fonts. I'll add this to the bug report.

The OTC problem sounds like another issue, but definitely something to address.

punchcutter avatar Apr 09 '21 09:04 punchcutter

Microsoft reports that there should be a fix in a future release for the text rendering crash. I have added TTF variable fonts to the builds now so you can use those to avoid this particular problem. I will leave this issue open for now since the core issue hasn't been resolved.

punchcutter avatar Apr 29 '21 09:04 punchcutter

Thank you. It is verified that the TTF (glyf) versions of variable fonts do not crash the rendering engine, including the TTC.

P/S: is it normal for Word 2016 to only show one Regular weight name but displaying ExtraLight?

NightFurySL2001 avatar Apr 29 '21 15:04 NightFurySL2001

Word doesn't officially support variable fonts yet, but there does seem to be some kind of bug somewhere in Windows with showing the weights for the full Source Han Sans set. It will show all weights for the Subsets as well as other variable fonts, but for the full fonts only the default master is shown which is ExtraLight.

punchcutter avatar Apr 29 '21 18:04 punchcutter

Snipaste_2021-05-26_13-39-31 Snipaste_2021-05-26_11-50-33 Snipaste_2021-05-27_12-56-49

tuo21 avatar Jun 01 '21 02:06 tuo21

@tuo21 请先用TTF版本

punchcutter avatar Jun 01 '21 03:06 punchcutter

From https://blogs.windows.com/windows-insider/2021/06/17/releasing-windows-10-build-19043-1081-21h1-to-beta-release-preview-channels/

  • We fixed an issue that causes fontdrvhost.exe to stop working when Compact Font Format version 2 (CFF2) fonts are installed.

punchcutter avatar Aug 21 '21 11:08 punchcutter

I doubt if Microsoft has really fixed the issue.

First off, The KB5003690 preview is now listed as "expired". It cannot be installed through Windows Update now. Nor it can be downloaded manually, as we can no longer find it at Microsoft Update Catalog.

As this KB5003690 (version 1081) is a preview, it is not automatically installed on my PC. But the support page says “the latest security quality update is cumulative and contains all the addressed issues in this update”, so I suppose this update should have been superceded by some other newer update(s), like the KB5004237 (version 1110) released on July 13, 2021 which is a release quality update.

Given that (1) I have just installed the latest cumulative update (September 14, 2021 - KB5005565), which bumps my OS build number to 19043.1237, and (2) the build number of fontdrvhost.exe on my PC is 10.0.19041.1165, signed on 31 July 2021, I believe my system should have already included the fix(es) mentioned in KB5004296, unless Microsoft retracted the fix for some unknown reasons.

If this is correct, the thing is, my system still crashes hardly when a CFF2 OTF font is installed and activated (e.g. chosen in Word, selected in the font list, etc.).

tamcy avatar Sep 18 '21 01:09 tamcy

Microsoft has not fixed it. They said it was fixed and then later said there were still problems.

punchcutter avatar Sep 18 '21 03:09 punchcutter

Source Han Sans: A Thorough Guide on How to Expose Critical Flaws in Font Implementation and Development Cycle (that even their own software doesn't correctly support it sometimes).

NightFurySL2001 avatar Sep 18 '21 08:09 NightFurySL2001

We have no control over when Microsoft fixes the problem on their end. I pinned this issue and added a note to the release download for now.

punchcutter avatar Sep 18 '21 10:09 punchcutter

~~I was actually joking about the issue when subset CFF fonts first came out and some Adobe software had some subset character display failure: https://github.com/adobe-fonts/source-han-sans/issues/67, at least that was fixed in time~~

NightFurySL2001 avatar Sep 19 '21 06:09 NightFurySL2001

Could you add Arab language to font? 能否把阿拉伯语也加入字体里?(英语不好见谅)

i12cu84 avatar Oct 14 '22 09:10 i12cu84

From https://support.microsoft.com/en-us/topic/october-26-2023-kb5031455-os-build-22621-2506-preview-6513c5ec-c5a2-4aaf-97f5-44c13d29e0d4

  • This update addresses an issue that affects fontdrvhost.exe. It stops responding when you use Compact Font Format version 2 (CFF2) fonts.

I tested the patch before release and it seemed to be fixed. Updating Windows 11 to this version also seems good so far with some minimal testing.

punchcutter avatar Oct 28 '23 09:10 punchcutter

After installing the Windows 11 23H2 update it is now possible for users to use the static instances in an OTF variable (full, not subset) font, in applications without formal variable font support: shsvf

(font name for ExtraLight appears trimmed due to the 31 (or 32?) characters limitation in Windows, this is not a font issue)

22H2 is the last version of Windows 10 so this probably won't be available on Windows 10.

tamcy avatar Nov 27 '23 10:11 tamcy

This was fixed for Windows 10 and Windows 11

punchcutter avatar Mar 06 '24 19:03 punchcutter