Skip to content

Commit

Permalink
0.1.2: OSF variant available
Browse files Browse the repository at this point in the history
  • Loading branch information
CyanoHao committed Jan 7, 2019
1 parent b83d905 commit 7fdc186
Show file tree
Hide file tree
Showing 39 changed files with 4,296 additions and 1,979 deletions.
8 changes: 5 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
*.otd
rhr/*.ttf
nowar/*.ttf
*.7z
*.ttf
*.7z
__pycache__/
/??-?/
/OSF-?/
5,031 changes: 3,142 additions & 1,889 deletions Makefile

Large diffs are not rendered by default.

17 changes: 10 additions & 7 deletions README-Hans.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

[最新版](https://github.com/CyanoHao/Nowar-Rounded/releases)

有爱圆体有 4 种字重和 4 种地区变体。
有爱圆体有 4 种字重和 5 种地区变体。

### 字重

Expand All @@ -28,9 +28,12 @@

不同的地区变体采用了不同的字形标准。

| 地区变体\语言 | 英语和西欧诸国语言 | 俄语 | 简体中文 | 繁体中文 | 韩国语 |
| -------------- | ------------------ | ------------ | ------------ | -------- | -------- |
| CN | 中国大陆字形 | 中国大陆字形 | 中国大陆字形 | 台湾字形 | 传统字形 |
| TW | 台湾字形 | 台湾字形 | 中国大陆字形 | 台湾字形 | 传统字形 |
| HK | 香港字形 | 香港字形 | 中国大陆字形 | 香港字形 | 传统字形 |
| CL | 传统字形 | 传统字形 | 传统字形 | 传统字形 | 传统字形 |
| 地区变体\语言 | 西文 | 简体中文 | 繁体中文 | 韩国语 |
| -------------- | --------------------- | ------------ | -------- | -------- |
| CN | 中国大陆字形 | 中国大陆字形 | 台湾字形 | 传统字形 |
| TW | 台湾字形 | 中国大陆字形 | 台湾字形 | 传统字形 |
| HK | 香港字形 | 中国大陆字形 | 香港字形 | 传统字形 |
| CL | 传统字形 | 传统字形 | 传统字形 | 传统字形 |
| OSF | 传统字形(不齐线数字)| 传统字形 | 传统字形 | 传统字形 |

* 西文:英语、西班牙语(拉丁美洲)、葡萄牙语、德语、西班牙语(欧洲)、法语、意大利语、俄语。
17 changes: 10 additions & 7 deletions README-Hant.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

[最新發佈](https://github.com/CyanoHao/Nowar-Rounded/releases)

有愛圓體有 4 種字重和 4 種地區變體。
有愛圓體有 4 種字重和 5 種地區變體。

### 字重

Expand All @@ -28,9 +28,12 @@

不同的地區變體採用了不同的字形標準。

| 地區變體\語言 | 英語和西歐諸國語言 | 俄語 | 簡體中文 | 繁體中文 | 韓國語 |
| -------------- | ------------------ | ------------ | ------------ | -------- | -------- |
| CN | 中國大陸字形 | 中國大陸字形 | 中國大陸字形 | 臺灣字形 | 傳統字形 |
| TW | 臺灣字形 | 臺灣字形 | 中國大陸字形 | 臺灣字形 | 傳統字形 |
| HK | 香港字形 | 香港字形 | 中國大陸字形 | 香港字形 | 傳統字形 |
| CL | 傳統字形 | 傳統字形 | 傳統字形 | 傳統字形 | 傳統字形 |
| 地區變體\語言 | 西文 | 簡體中文 | 繁體中文 | 韓國語 |
| -------------- | --------------------- | ------------ | -------- | -------- |
| CN | 中國大陸字形 | 中國大陸字形 | 臺灣字形 | 傳統字形 |
| TW | 臺灣字形 | 中國大陸字形 | 臺灣字形 | 傳統字形 |
| HK | 香港字形 | 中國大陸字形 | 香港字形 | 傳統字形 |
| CL | 傳統字形 | 傳統字形 | 傳統字形 | 傳統字形 |
| OSF | 傳統字形(不齊線數字)| 傳統字形 | 傳統字形 | 傳統字形 |

* 西文:英語、西班牙語(拉丁美洲)、葡萄牙語、德語、西班牙語(歐洲)、法語、義大利語、俄語。
25 changes: 12 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This is Nowar Rounded, font packs for _World of Warcraft_ that support all langu

[Latest release](https://github.com/CyanoHao/Nowar-Rounded/releases)

Nowar Rounded is provided in 4 weights and 4 regional variants.
Nowar Rounded is provided in 4 weights and 5 regional variants.

### Weights

Expand All @@ -28,27 +28,26 @@ Nowar Rounded is provided in 4 weights and 4 regional variants.

The shape of Chinese characters follows different standards in different regional variants.

| Regional Variants \ Language | English and Western European | Русский | 简体中文 | 繁體中文 | 한국어 |
| ---------------------------- | ---------------------------- | -------------- | -------------- | --------- | ------- |
| CN | Mainland China | Mainland China | Mainland China | Taiwan | Classic |
| TW | Taiwan | Taiwan | Mainland China | Taiwan | Classic |
| HK | Hong Kong | Hong Kong | Mainland China | Hong Kong | Classic |
| CL | Classic | Classic | Classic | Classic | Classic |
| Regional Variants \ Language | European | 简体中文 | 繁體中文 | 한국어 |
| ---------------------------- | ---------------------------- | -------------- | --------- | ------- |
| CN | Mainland China | Mainland China | Taiwan | Classic |
| TW | Taiwan | Mainland China | Taiwan | Classic |
| HK | Hong Kong | Mainland China | Hong Kong | Classic |
| CL | Classic | Classic | Classic | Classic |
| OSF | Classic with Oldstyle Figure | Classic | Classic | Classic |

* European: English, Español (AL), Português, Deutsch, Español (EU), Français, Italiano, and Русский.

## How to Build

Dependencies: Python and [otfcc](https://github.com/caryll/otfcc).

Put Resource Han Rounded TTF files to `rhr/`, then run
```bash
./configure
make -j<threads>
```
Put Resource Han Rounded TTF files to `rhr/`, and Noto Sans TTF files to `noto/sans`, then just `make` it.

## Credit

This project is based on [Sarasa Gothic](https://github.com/be5invis/Sarasa-Gothic) by **Belleve Invis**.

Latin, Greek and Cyrillic characters are from Noto Round, which is derived from [Noto Sans](https://github.com/googlei18n/noto-fonts) by **Google**.
Latin, Greek and Cyrillic characters are from Noto Round, which is a part of Nowar Rounded project. Noto Rounded is derived from [Noto Sans](https://github.com/googlei18n/noto-fonts) by **Google**.

CJK Ideographs, Kana and Hangul are from [Resource Han Rounded](https://github.com/CyanoHao/Resource-Han-Rounded), which is derived from [Source Han Sans](https://github.com/adobe-fonts/source-han-sans) by **Adobe**.
134 changes: 85 additions & 49 deletions configure → configure.bash
Original file line number Diff line number Diff line change
@@ -1,28 +1,23 @@
Usage() {
cd out/
bash ../release-utility/generate-wow-pack-makefile.bash
make -jN
}

ver=0.1.1
ver=0.1.2

weight=(ExtraLight Light Regular Medium Bold ExtraBold)
nowarWeight=(Light Regular Medium Bold)

regionalVariant=(CN TW HK CL)
regionalVariant=(CN TW HK CL OSF)
declare -A regionRhrMap
regionRhrMap=([CN]=SC [TW]=TC [HK]=HC [CL]=K)
regionRhrMap=([CN]=SC [TW]=TC [HK]=HC [CL]=K [OSF]=K)
declare -A regionNameMap
regionNameMap=([CN]=CN [TW]=TW [HK]=HK [CL]=Classic)
regionNameMap=([CN]=CN [TW]=TW [HK]=HK [CL]=Classic [OSF]=Oldstyle)

encoding=(unspec gbk big5 korean)

cat >Makefile <<EOF
all: $(echo {CN,TW,HK,CL}-{L,R,M,B}-$ver.7z)
all: $(echo {CN,TW,HK,CL,OSF}-{L,R,M,B}-$ver.7z)
clean:
-rm -rf rhr/*.otd notor/*.otd nowar/*.otd
-rm -rf $(echo {CN,TW,HK,CL}-{L,R,M,B}/)
-rm -rf noto/*/*.otd noto/rounded/ noto/osf/
-rm -rf rhr/*.otd nowar/*.otd
-rm -rf $(echo {CN,TW,HK,CL,OSF}-{L,R,M,B}/)
EOF

Expand All @@ -31,27 +26,51 @@ for w in ${weight[@]}; do
cat >>Makefile <<EOF
nowar/NowarCompactRounded-$w.ttf: nowar/NowarCompactRounded-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/NowarCompactRounded-$w.otd: notor/NotoRounded-Condensed$w.otd
nowar/NowarCompactRounded-$w.otd: noto/rounded/NotoRounded-Condensed$w.otd
mkdir -p nowar/
python rename-morph.py $w $ver
nowar/NowarCompactRounded-OSF-$w.ttf: nowar/NowarCompactRounded-OSF-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/NowarCompactRounded-OSF-$w.otd: noto/osf/NotoRoundedOSF-Condensed$w.otd
mkdir -p nowar/
python rename-morph-osf.py $w $ver
nowar/NowarWideRounded-$w.ttf: nowar/NowarWideRounded-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/NowarWideRounded-$w.otd: notor/NotoRounded-$w.otd
nowar/NowarWideRounded-$w.otd: noto/rounded/NotoRounded-$w.otd
mkdir -p nowar/
python rename-skurri.py $w $ver
notor/NotoRounded-Condensed$w.otd: notor/NotoRounded-Condensed$w.ttf
otfccdump --ignore-hints \$< -o \$@
notor/NotoRounded-SemiCondensed$w.otd: notor/NotoRounded-SemiCondensed$w.ttf
otfccdump --ignore-hints \$< -o \$@
notor/NotoRounded-$w.otd: notor/NotoRounded-$w.ttf
otfccdump --ignore-hints \$< -o \$@
nowar/NowarWideRounded-OSF-$w.ttf: nowar/NowarWideRounded-OSF-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/NowarWideRounded-OSF-$w.otd: noto/osf/NotoRoundedOSF-$w.otd
mkdir -p nowar/
python rename-skurri-osf.py $w $ver
noto/osf/NotoRoundedOSF-Condensed$w.otd:
cd noto; make osf/NotoRoundedOSF-Condensed$w.otd
noto/osf/NotoRoundedOSF-$w.otd:
cd noto; make osf/NotoRoundedOSF-$w.otd
noto/rounded/NotoRounded-Condensed$w.otd:
cd noto; make rounded/NotoRounded-Condensed$w.otd
noto/rounded/NotoRounded-SemiCondensed$w.otd:
cd noto; make rounded/NotoRounded-SemiCondensed$w.otd
noto/rounded/NotoRounded-$w.otd:
cd noto; make rounded/NotoRounded-$w.otd
EOF

for r in ${regionalVariant[@]}; do

if [[ $r == OSF ]]; then
latinvar=osf
osf=OSF
else
latinvar=rounded
osf=''
fi
cat >>Makefile <<EOF
rhr/ResourceHanRounded$r-$w.otd: rhr/ResourceHanRounded${regionRhrMap[$r]}-$w.ttf
otfccdump --ignore-hints \$< -o \$@
Expand All @@ -62,13 +81,13 @@ EOF
cat >>Makefile <<EOF
nowar/$e-NowarCompactRoundedUI-$r-$w.ttf: nowar/$e-NowarCompactRoundedUI-$r-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/$e-NowarCompactRoundedUI-$r-$w.otd: notor/NotoRounded-Condensed$w.otd rhr/ResourceHanRounded$r-$w.otd
nowar/$e-NowarCompactRoundedUI-$r-$w.otd: noto/$latinvar/NotoRounded$osf-Condensed$w.otd rhr/ResourceHanRounded$r-$w.otd
mkdir -p nowar/
python merge-compactui.py $r $w $e $ver
nowar/$e-NowarWideRoundedUI-$r-$w.ttf: nowar/$e-NowarWideRoundedUI-$r-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/$e-NowarWideRoundedUI-$r-$w.otd: notor/NotoRounded-$w.otd rhr/ResourceHanRounded$r-$w.otd
nowar/$e-NowarWideRoundedUI-$r-$w.otd: noto/$latinvar/NotoRounded$osf-$w.otd rhr/ResourceHanRounded$r-$w.otd
mkdir -p nowar/
python merge-wideui.py $r $w $e $ver
Expand All @@ -77,19 +96,19 @@ EOF
cat >>Makefile <<EOF
nowar/$e-NowarCompactRounded-$r-$w.ttf: nowar/$e-NowarCompactRounded-$r-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/$e-NowarCompactRounded-$r-$w.otd: notor/NotoRounded-Condensed$w.otd rhr/ResourceHanRounded$r-$w.otd
nowar/$e-NowarCompactRounded-$r-$w.otd: noto/$latinvar/NotoRounded$osf-Condensed$w.otd rhr/ResourceHanRounded$r-$w.otd
mkdir -p nowar/
python merge-compact.py $r $w $e $ver
nowar/$e-NowarRounded-$r-$w.ttf: nowar/$e-NowarRounded-$r-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/$e-NowarRounded-$r-$w.otd: notor/NotoRounded-SemiCondensed$w.otd rhr/ResourceHanRounded$r-$w.otd
nowar/$e-NowarRounded-$r-$w.otd: noto/$latinvar/NotoRounded$osf-SemiCondensed$w.otd rhr/ResourceHanRounded$r-$w.otd
mkdir -p nowar/
python merge-rounded.py $r $w $e $ver
nowar/$e-NowarWideRounded-$r-$w.ttf: nowar/$e-NowarWideRounded-$r-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/$e-NowarWideRounded-$r-$w.otd: notor/NotoRounded-$w.otd rhr/ResourceHanRounded$r-$w.otd
nowar/$e-NowarWideRounded-$r-$w.otd: noto/$latinvar/NotoRounded$osf-$w.otd rhr/ResourceHanRounded$r-$w.otd
mkdir -p nowar/
python merge-wide.py $r $w $e $ver
Expand All @@ -98,7 +117,7 @@ EOF
cat >>Makefile <<EOF
nowar/$e-NowarWarcraftRounded-$r-$w.ttf: nowar/$e-NowarWarcraftRounded-$r-$w.otd
otfccbuild -O3 \$< -o \$@
nowar/$e-NowarWarcraftRounded-$r-$w.otd: notor/NotoRounded-SemiCondensed$w.otd notor/NotoRounded-Condensed$w.otd rhr/ResourceHanRounded$r-$w.otd
nowar/$e-NowarWarcraftRounded-$r-$w.otd: noto/$latinvar/NotoRounded$osf-SemiCondensed$w.otd noto/$latinvar/NotoRounded$osf-Condensed$w.otd rhr/ResourceHanRounded$r-$w.otd
mkdir -p nowar/
python merge-warcraft.py $r $w $e $ver
Expand All @@ -111,18 +130,27 @@ done
# Humanist

getMorpheus() {
# getMorpheus weight
case $1 in
Light) echo NowarCompactRounded-ExtraLight.ttf;;
Regular) echo NowarCompactRounded-Medium.ttf;;
Medium) echo NowarCompactRounded-Bold.ttf;;
Bold) echo NowarCompactRounded-ExtraBold.ttf;;
# getMorpheus regionalVariant weight
if [[ "$1" == "OSF" ]]; then
base=-OSF
else
base=""
fi
case $2 in
Light) echo NowarCompactRounded$base-ExtraLight.ttf;;
Regular) echo NowarCompactRounded$base-Medium.ttf;;
Medium) echo NowarCompactRounded$base-Bold.ttf;;
Bold) echo NowarCompactRounded$base-ExtraBold.ttf;;
esac
}

getSkurri() {
# getSkurri weight
echo NowarWideRounded-$1.ttf
# getSkurri regionalVariant weight
if [[ "$1" == "OSF" ]]; then
echo NowarWideRounded-OSF-$2.ttf
else
echo NowarWideRounded-$2.ttf
fi
}

getEnglishFont() {
Expand All @@ -137,62 +165,70 @@ getEnglishChatFont() {

getHansFont() {
# getHansFont regionalVariant weight
if [[ "$1" == "CL" ]]; then
echo NowarWarcraftRounded-$1-$2.ttf
if [[ $1 == CL || $1 == OSF ]]; then
echo NowarWarcraftRounded-CL-$2.ttf
else
echo NowarWarcraftRounded-CN-$2.ttf
fi
}

getHansCombatFont() {
# getHansFont regionalVariant weight
if [[ "$1" == "CL" ]]; then
echo NowarWideRounded-$1-$2.ttf
if [[ $1 == CL || $1 == OSF ]]; then
echo NowarWideRounded-CL-$2.ttf
else
echo NowarWideRounded-CN-$2.ttf
fi
}

getHansChatFont() {
# getHansChatFont regionalVariant weight
if [[ "$1" == "CL" ]]; then
echo NowarCompactRounded-$1-$2.ttf
if [[ $1 == CL || $1 == OSF ]]; then
echo NowarCompactRounded-CL-$2.ttf
else
echo NowarCompactRounded-CN-$2.ttf
fi
}

getHantFont() {
# getHantFont regionalVariant weight
if [[ "$1" == "HK" || "$1" == "CL" ]]; then
if [[ $1 == HK || $1 == CL ]]; then
echo NowarWarcraftRounded-$1-$2.ttf
elif [[ $1 == OSF ]]; then
echo NowarWarcraftRounded-CL-$2.ttf
else
echo NowarWarcraftRounded-TW-$2.ttf
fi
}

getHantCombatFont() {
# getHantFont regionalVariant weight
if [[ "$1" == "HK" || "$1" == "CL" ]]; then
if [[ $1 == HK || $1 == CL ]]; then
echo NowarWideRounded-$1-$2.ttf
elif [[ $1 == OSF ]]; then
echo NowarWideRounded-CL-$2.ttf
else
echo NowarWideRounded-TW-$2.ttf
fi
}

getHantNoteFont() {
# getHantFont regionalVariant weight
if [[ "$1" == "HK" || "$1" == "CL" ]]; then
if [[ $1 == HK || $1 == CL ]]; then
echo NowarRounded-$1-$2.ttf
elif [[ $1 == OSF ]]; then
echo NowarRounded-CL-$2.ttf
else
echo NowarRounded-TW-$2.ttf
fi
}

getHantChatFont() {
# getHantChatFont regionalVariant weight
if [[ "$1" == "HK" || "$1" == "CL" ]]; then
if [[ $1 == HK || $1 == CL ]]; then
echo NowarCompactRounded-$1-$2.ttf
elif [[ $1 == OSF ]]; then
echo NowarCompactRounded-CL-$2.ttf
else
echo NowarCompactRounded-TW-$2.ttf
fi
Expand All @@ -213,11 +249,11 @@ getKoreanDisplayFont() {
echo NowarCompactRounded-CL-$2.ttf
}

for rv in ${regionalVariant[@]}; do
for w in ${nowarWeight[@]}; do
for w in ${nowarWeight[@]}; do
for rv in ${regionalVariant[@]}; do
target=$rv-${w:0:1}
morpheus=$(getMorpheus $w)
skurri=$(getSkurri $w)
morpheus=$(getMorpheus $rv $w)
skurri=$(getSkurri $rv $w)
englishFont=$(getEnglishFont $rv $w)
englishChatFont=$(getEnglishChatFont $rv $w)
hansFont=$(getHansFont $rv $w)
Expand Down
Loading

0 comments on commit 7fdc186

Please sign in to comment.