[Fontconfig] Request for implementing font substitution for CJK fonts

mpsuzuki at hiroshima-u.ac.jp mpsuzuki at hiroshima-u.ac.jp
Sat Jun 9 05:26:49 PDT 2012


Sorry for lated participation to the discussion. For first,
please let me explain what Japanese experts had ever done.
I mention about the relationship between Chinese typeface
category name and Japanese one, it does NOT mean that I'm
saying as "follow to Japanese classification". On contrally,
I want to hear the counter proposal from Chinese experts,
to prevent Japanese-specific hooks into fontconfig.


An organization, TrueType Consortium Japan had ever defined
the values of IBM FamilyClass & Panose for Japanese typefaces,
for guiding font fallbacks in 1996. Their categorizaton was

Mincho  	Class=1,	SubClass=5,	PanoseFamily=2,	PanoseSerif=2
Kyokasho(*)	Class=1,	SubClass=8,	PanoseFamily=2,	PanoseSerif=2
Soucho  	Class=1,	SubClass=3,	PanoseFamily=2,	PanoseSerif=2

Kaku-Gothic	Class=8,	SubClass=1,	PanoseFamily=2,	PanoseSerif=11
Maru-Gothic	Class=8,	SubClass=9,	PanoseFamily=2,	PanoseSerif=15

Kaisho   	Class=10,	SubClass=7,	PanoseFamily=3,	PanoseSerif=0
Gyousho  	Class=10,	SubClass=6,	PanoseFamily=3,	PanoseSerif=0
Sousho  	Class=10,	SubClass=6,	PanoseFamily=3,	PanoseSerif=0
Reisho  	Class=10,	SubClass=8,	PanoseFamily=3,	PanoseSerif=0
Pen-ji  	Class=10,	SubClass=5,	PanoseFamily=3,	PanoseSerif=0

Edo-moji	Class=9,	SubClass=2,	PanoseFamily=3,	PanoseSerif=0
Tensho  	Class=9,	SubClass=0,	PanoseFamily=3,	PanoseSerif=15
Kointai(**)	Class=9,	SubClass=1,	PanoseFamily=3,	PanoseSerif=0

Pop(Mincho)	Class=9,	SubClass=3,	PanoseFamily=4,	PanoseSerif=2
Pop(K-Gothic)	Class=9,	SubClass=3,	PanoseFamily=4,	PanoseSerif=11
Pop(M-Gothic)	Class=9,	SubClass=3,	PanoseFamily=4,	PanoseSerif=15

I will explain the typeface names if needed, so please post
a request. The rough mapping between the names for Chinese
typeface classification would be:

SungTi/SongTi/MingTi --> Mincho
HeiTi --> Gothic (***)
FangSong --> Soucho
Kaishu --> Kaisho
XingShu --> Gyosho
CaoShu --> Sousho
LiShu --> Reisho
ZhuanShu --> Tensho

This is based on current Japanese cultural recognizations of
typefaces, so the classification is incorrect from the viewpoint
of the historical development of the writing systems, and too
cursory (e.g. Edo-moji is a name calling various calligraphic
styles for different purposes, see http://en.wikipedia.org/wiki/Edomoji ).

(*) Kyokasho is a typeface based on Mincho, designed for the
textbooks in the elementary schools. A core charset for the
educations in elementary schools are requested to simulate
the Kaishu typeface (by government), to prevent the confusion
by seeing different glyphic shapes between Mincho and Kaishu.

(**) Kointai is a name saying "a typeface looking like old
sealing stamp". It sounds aslike if it were post-Qin seal
scripts, but the glyphs of the products in Japanese markets
with this name look like as "damaged (or poorly stone-rubbed)

(***) Often Japanese Sans-Serif typefaces are distinguished by
the edge shape of the end of strokes; if the angles are left
at the end (looking like the rectangle), they are called as
Kaku-Gothic - if the edge is blunted/rounded, they are called
as Maru-Gothic. However, there is a remarkable tendency that
Maru-Gothic typefaces are designed to be more geometrically
and puffed, so a confusion between Kaku- and Maru-Gothic is
becoming popular gradually.


As I've written before, I think the variety of the typeface
families bundled to the liberated (e.g. GNU/Linux), or the
minimum configuration of the personal computers (e.g. Microsoft
Windows without Microsoft Office, nor additional language pack)
would not be so large. In Japan, a pair of Serif & Sans Serif
(called Mincho & Gothic) is recognized as the minimum configuration.
Other fonts, Rounded-Gothic, Kaisho, Kyokasho, Gyosho, Sousho
etc are quite exceptional. Even on Microsoft Windows, the bare
operating systems do not have. Although Microsoft Office bundles
these typefaces, it is rare that the office documents using them.

Thus, Japanese popular scenario of font substitution during
the cross platform document interchange would be the fallback
from non-basic families (Rounded-Gothic, Kaisho, etc) to 
basic families (Gothic, Mincho). I think most Japanese people
do not complain that the substitution from Kaisho to Mincho.

# I think Japanese publishing using Kaisho fonts are quite few.

Thus, the fine granurarity classifications of Kaisho, Gyosho,
Sousho are not discussed, because they are not recognized as
essential. Although Kaishu by Wang Xishin and by Yang Zhenqing
show remarkable contrast, the computer users having 2 different
Kaishu fonts for them were expected to be quite quite few.

In addition, because of the difference of the user community,
the charset supported by the fonts are often different.
The basic typefaces, Mincho & Gothic are always exposed to
the pressure to wider charset. But such pressure to non-basic
typefaces, like Kisho, is not so strong.


For automatic, zero-configured, or hardwired font substitution
of Chinese fonts, following discussions are expected.

1) the definition of the basic categories of the fonts.
   if what kind of features are required for the category,
   it should be noted.

   for example, if a system has only 2 typefaces, Mincho and
   Gothic, Gothic is always designed to be "heavier" than
   Mincho, because Gothic is basically used for the titles etc.

2) the investigation of the instances of the basic categories
   that are commonly availbable on the users environment.
   about the Microsoft products,
   would be good resource to check if the fonts are avaible
   in the minimum configuration, or the users must have some
   extra products.

3) the discussion of the mapping from the basic categories to 
   the instances. For example, if BeiWeiKaiShu fonts are missing,
   it should be substituted by other (non-Beiwei) Kaishu? Or,
   fallback to FangSong is better?

If there is any referential materials already, please let me


On Fri, 8 Jun 2012 19:08:02 +0800
BlissSam <m13253 at hotmail.com> wrote:

>Sorry for the delay of this mail. For I am busy these couple of days.
>So let us provide a tool to generate fallback rules instead of making
>user write XML conf on their own from scratch. Also it can generate
>some other things useful (e.g. preference, anti-alias and so on).
>Simply allow a method of `bind' some font families together and tell
>fontconfig that these fonts are `compatible', so fontconfig will choose
>other fonts if one is missing.
>And the font substitution can be more smart, user can specify whether
>only to fallback when a font is missing, or to replace whenever that
>font is installed; also, some users may want to substitute only on
>screen or when printing.
>> Date: Tue, 5 Jun 2012 09:25:39 +0200
>> Subject: Re: [Fontconfig] Request for implementing font substitution
>for CJK fonts > From: nicolas.mailhot at laposte.net
>> To: m13253 at hotmail.com
>> CC: akira at tagoh.org; fontconfig at lists.freedesktop.org
>> Hi,
>> What we do in Fedora is shipping fallback rules with the font
>themselves in > the same package so if font foo is installed the
>package also declares to > fontconfig it's an acceptable substitute for
>bar, but if the user didn't > install foo the system does not waste
>time processing rules for fonts which > are not available.
>> And BTW it's very dangerous to declare a substitution rule for a
>popular font, > because your substitution font will then be used in
>lots of contexts and if > it's not as good (design or coverage-wise) as
>the original font users won't be > happy at all.
>> --
>> Nicolas Mailhot
>Fontconfig mailing list
>Fontconfig at lists.freedesktop.org

More information about the Fontconfig mailing list