Source Han Sans: OTF, OTC, Super OTC, or Subset OTF?

Before I begin the series of articles about what went into building Source Han Sans, I think that it is worth writing a few things about actually installing and using the fonts, including how to determine which of the four deployment formats best suits your needs.

The flowchart shown above is included in the detailed 21-page ReadMe file (a PDF will download when clicked), and its purpose is to help decide which fonts to use. Of course, no one needs to install all 64 font resources, and in a perfect world, only the Super OTC, which is a single font resource that includes all 28 weight and language combinations, would be necessary.

One thing that we realized as part of Source Han Sans’ development was that the infrastructure to support genuine Pan-CJK fonts has not yet fully matured, and there are currently two main pain points that prevent a truly cross-platform experience:

  • The lack of support for the ‘locl‘ (Localized Forms) GSUB feature and language-tagging. Applications such as Adobe InDesign support this feature and language-tagging, but not much else—besides modern browsers—does.
  • The lack of support for OpenType/CFF Collections (aka OTCs) in Windows OS. OTCs work in OS X Version 10.8 or later, and also in Adobe applications CS6 or greater. One work-around for Windows OS users is to install the OTCs or Super OTC into an Adobe application’s private font folder.

For those using Windows OS, only the OTFs can be used (unless the work-around described in the bullet above is used), and the choice boils down to the 65,535-glyph language-specific OTFs or the region-specific subset ones. The 65,535-glyph OTFs are recommended only if you use an application that supports the ‘locl’ GSUB feature and language-tagging. Otherwise, most users are better off installing the region-specific subset OTFs, which are not genuine Pan-CJK fonts. For both flavors of OTFs, there are sub-flavors that correspond to a language or region, which means that the default glyphs are appropriate for that language or region. If you are unable to language-tag your text, you must install and select the appropriate OTFs for your needs, in terms of language or region. If you need to support more than one language or region, you simply need to install OTFs for multiple languages or regions.

For those using OS X, if the version is 10.8 or greater, I suggest installing the OTCs. If you want all seven weights, you might as well install the Super OTC, because it’s awesome, and also because it saves 10MB of disk space thanks to a greater degree of OpenType table sharing.

As the person who built these fonts, you may be wondering which Source Han Sans fonts I am using. My primary (and only) computer is an Apple MacBook Pro running OS X Version 10.9, and I use the Super OTC due to its simplicity, in terms of being a single font resource, and its efficiency.

2 Responses to Source Han Sans: OTF, OTC, Super OTC, or Subset OTF?

  1. Edmund Tam says:

    May I know why Region-specific subset OTFs are preferred over Language-specific OTFs if the application doesn’t support ‘locl’ GSUB feature and language-tagging? I think the latter are more useful in situations like system UI and default browser font replacement even the mentioned features aren’t supported.

    • Good question. There are three main reasons why the region-specific subset fonts are recommended:

      1) They are usable on a broader range of environments.
      2) They have a smaller footprint due to including only the glyphs that are necessary for the region or language.
      3) As soon as you venture beyond the scope of a particular region, in terms of code point coverage, you may or may not see a glyph that is appropriate for that region.

      The Simplified Chinese subset OTFs have the greatest code-point coverage among the region-specific subset OTFs, and jettisoning the unused/inaccessibly glyphs cuts the number of glyphs by more than half, and also reduces the footprint.

      As I wrote in the article, in a perfect world we would deploy only the Super OTC, making installation simple.