Nowar C², well hinted font packs for World of Warcraft and WoW Classic that support all client languages.
Make Love, Not Warcraft.
要有爱,不要魔兽争霸。
要愛,不要魔獸。
Mirrors: Gitee (release repo)
Nowar C² is shipped in 5 weights and 7 regional variants, with several features.
- 200: ExtraLight
- 300: Light
- 400: Regular
- 500: Medium
- 700: Bold
- [Morpheus (European display font) may be bolder or lighter.]
CN, TW, HK, JP and KR are “standard variants”, which have full character set support with regional Chinese character orthographies.
European | 简体中文 | 繁體中文 | 한국어 | |
---|---|---|---|---|
CN | Mainland China (UI) | Mainland China | Taiwan | S. Korea (UI) |
TW | Taiwan (UI) | Mainland China | Taiwan | S. Korea (UI) |
HK | Hong Kong (UI) | Mainland China | Hong Kong | S. Korea (UI) |
JP | Japan (UI) | Mainland China | Taiwan | S. Korea (UI) |
KR | S. Korea (UI) | Mainland China | Taiwan | S. Korea (UI) |
CL, the “classical variant”, have full character set support with classical Chinese character orthography (aka Kāngxī Dictionary forms).
European | 中文 | 한국어 | |
---|---|---|---|
CL | Classical (UI) | Classical | Classical (UI) |
GB is a variant that supports a superset of Chinese national standard GB 18030-2000. The GB distributions aim at smaller size by removing Hangul support.
European | 中文 | 한국어 | |
---|---|---|---|
GB | Mainland China (UI) | Mainland China | N/A |
- European: English, Español (AL), Português, Deutsch, Español (EU), Français, Italiano, and Русский.
- UI: Ambiguous punctations are treated as Western; CJK puctations are half-width.
Tag | Name | Description |
---|---|---|
OSF | Oldstyle | Oldstyle (non-lining), propotional figure. |
SC | Smallcaps | Small capitals for Latin. |
RP | Roleplaying | 丶 (U+4E36) is mapped to the same glyph as · (U+00B7, MIDDLE DOT). |
Pre-built feature variants: CL,OSF
, CL,SC
, GB,RP
.
- Basic Unix utils;
- Python;
- otfcc;
- ttfautohint;
- Node.js;
- 7-Zip (add to
PATH
).
When dependencies installed, run npm install
for extra packages.
Note: choose 64-bit version if possible. 32-bit version may lead to out-of-memory issue.
By default, the build system will build and hint all fonts, which costs much time (~20 hours with -j8
) and disk space (more than 100 GiB).
To build exactly what you need, modify configure.py
:
class Config:
# remove weights you don’t need
fontPackWeight = [ 200, 300, 400, 500, 700 ]
# don’t touch it
fontPackFeature = [ "OSF", "SC", "RP" ]
# set regional and feature variants here.
# items in fontPackVariant can be
# a regional variant, or
# a tuple of regional variant and feature list
# if there are feature variants, feature tags must be identically ordered as in fontPackFeature.
# e.g. `("CN", [ "OSF", "RP" ])`
fontPackVariant = [
"CN", "TW", "HK", "JP", "KR",
"CL", ("CL", [ "OSF" ]), ("CL", [ "SC" ]),
"GB", ("GB", [ "RP" ]),
]
# if you want to customize regional variant, add it here.
regionalVariant = { ... }
For example, “I enjoy Japna’s orthography, and I’d like to apply it to every language!”
class Config:
fontPackWeight = [ 400 ]
fontPackRegion = [ "JPeverywhere" ]
regionalVariant = {
"JPeverywhere": {
"Latn": "JP",
"Hans": "JP",
"Hant": "JP",
"ko": "JP",
}
}
Prepare submodules:
git submodule update --init --recursive
Run configure.py
to generate Makefile.
python configure.py
Put Source Han Sans OTF files to source/shs/
. Then, run
make -j<threads> IDH_JOBS=<threads>
The font pack will be in out/
.
Latin, Greek and Cyrillic characters are from Noto Sans by Google.
CJK Ideographs, Kana and Hangul are from Source Han Sans by Adobe.
Ideograph is autohinted with Chlorophytum.