Parameters Modified from SHS (excl. PostScript name)

!! Parameters mentioned in this article won't be applied among releases further than Wave 13.

We added and modified some parameters among all of those "features.otc.???" files.

(We only talk about Langage-Specific Releases, not Region-Specific Releases, since nobody want to see glyph-blank-box while using these fonts.)
  • OS X Yosemite has serious problem regarding how to handle the <hhea> LineGap of the fallbacked fonts among its UILabel elements in Finder. This could cause display malfunction among multi-line filenames (under file and folder icons in its icon view) unless the display font has its <hhea> lineGap parameter set as zero. In this case, Adobe Source Han Sans use LineGap = 0 since SHS Official Release 1.002. Besides, this bug has been solved since OS X El Capitan Developer Beta 7.
P.S.: Special thanks to Kobayashi Ken (a.k.a. Dr. Ken Lunde, the programmer of Source Han Sans) for his suggestion on pointing out which parameter should be modified and his tips on using AFDKO, otherwise I couldn't get this achieved. But we have to clear the LineGap and add its reasonable value up to the Ascender in order to deal with the following problem (based on the source code pack of Adobe official SHS 1.002~1.004):

First, you need to Find

table hhea {
  Ascender 1160;
  Descender -320;

You just need to change them into the following:

table hhea {
  Ascender 1000;
  Descender -234;

This set of HHEA Ascender & Descender parameters are finely tweaked for GUI font fallback purposes only in Mac OS X; No other changes needed regarding OS/2 table.

Those steps above could let the SHS display correctly as System's CJK GUI font while you are doing CJK filename's renaming:


And it shows the better display lineHeight than STHeiti in iMessages:


And it shows multi-line filename well in Finder:


And, you won't find any descender-cut problem:


More screenshots (for both Traditional and Simplified Yosemite GUI):

Last edited Sep 20, 2015 at 2:45 AM by ShikiSuen, version 12