# $Id: PKGBUILD 115898 2014-07-18 08:31:22Z fyan $
# Maintainer: Felix Yan <felixonmars@gmail.com>
# Contributor: Sascha Weaver <wzyboy@wzyboy.org>

# This font has three versions:
#
# * Multilingual versions with a default langauge:
#   (We do not package them)
#   * Multilingual version with Japanese glyphs as default priority
#   * Multilingual version with Korean glyphs as default priority
#   * Multilingual version with Simplified Chinese glyphs as default priority
#   * Multilingual version with Traditional Chinese glyphs as default priority
# * Multilingual version combined the four versions above.
#   (This version is "the best of the worlds", but it cannot be used in Windows)
#   -> adobe-source-han-sans-otc-fonts
# * Regional subsets with only characters used in CN, JP, KR or TWHK:
#   (This version is smaller and has better compatibility)
#   * Regional subset with only Japanese glyphs + Latin
#   -> adobe-source-han-sans-jp-fonts
#   * Regional subset with only Korean glyphs + Latin
#   -> adobe-source-han-sans-kr-fonts
#   * Regional subset with only Simplified Chinese glyphs + Latin
#   -> adobe-source-han-sans-cn-fonts
#   * Regional subset with only Traditional Chinese glyphs + Latin
#   -> adobe-source-han-sans-twhk-fonts

_pkgbase=adobe-source-han-sans
pkgbase=$_pkgbase-fonts
pkgname=($_pkgbase-jp-fonts $_pkgbase-kr-fonts $_pkgbase-cn-fonts $_pkgbase-twhk-fonts $_pkgbase-otc-fonts)
pkgver=1.000
pkgrel=2
pkgdesc='Adobe Source Han Sans - A set of Pan-CJK fonts designed to complement Source Sans Pro'
arch=('any')
license=('Apache')
url='http://sourceforge.net/adobe/source-han-sans'
depends=('fontconfig')
makedepends=('unzip')
install="fonts.install"
source=("http://sourceforge.net/projects/source-han-sans.adobe/files/SourceHanSansJP-$pkgver.zip"
        "http://sourceforge.net/projects/source-han-sans.adobe/files/SourceHanSansKR-$pkgver.zip"
        "http://sourceforge.net/projects/source-han-sans.adobe/files/SourceHanSansCN-$pkgver.zip"
        "http://sourceforge.net/projects/source-han-sans.adobe/files/SourceHanSansTWHK-$pkgver.zip"
        "http://sourceforge.net/projects/source-han-sans.adobe/files/SourceHanSansOTC-$pkgver.zip"
        44-source-han-sans-jp.conf
        44-source-han-sans-kr.conf
        44-source-han-sans-cn.conf
        44-source-han-sans-twhk.conf
        44-source-han-sans-otc.conf)
noextract=(SourceHanSansJP-$pkgver.zip SourceHanSansKR-$pkgver.zip SourceHanSansCN-$pkgver.zip SourceHanSansTWHK-$pkgver.zip SourceHanSansOTC-$pkgver.zip)
sha256sums=('c5930036660bea22ffceaa9e2df765776494800d330a59be7936ab3c763c4c82'
            '8eed4ad092fcf640e44f73ba510e0ed1c1cabf79776f68d02820734bbba21cf8'
            '88117aa8f8b4ab65d6f7a919a5e1b06d6c00f75b1abecccf120246536123754d'
            '2371a726757a51322243b1ed7a9fde562621b0813b5e6d6443e06847ad7bbd20'
            'd6eb107eaf7f7b7e6b775905e2f5b335c989c7b06a46fc7286d3e71c4ffde4d8'
            'f0e87368ffa91ac76b253846836da05baa120ab4f8a7bfd90fded36f4988c9e0'
            'fa8d487c7ba67489bde7b4d8558e07abb6d8bcb4d4e9db1bf454c2db23af9547'
            'd42ed0092a47cee5c7ff3972c90676109212dafc2cffb3388a8b339788a6cdb5'
            'bfcdadbe66f70baaf617c582ec69ccc6b10175020ccb1ec2de26220b09270e60'
            'd9ef4ab4db1ad22be57d7c4bfe1cc75e9e1ed5e41887fba49dd137a88401b5f2')

_jp=(
SourceHanSansJP-Bold.otf
SourceHanSansJP-ExtraLight.otf
SourceHanSansJP-Heavy.otf
SourceHanSansJP-Light.otf
SourceHanSansJP-Medium.otf
SourceHanSansJP-Normal.otf
SourceHanSansJP-Regular.otf
)
_kr=(
SourceHanSansKR-Bold.otf
SourceHanSansKR-ExtraLight.otf
SourceHanSansKR-Heavy.otf
SourceHanSansKR-Light.otf
SourceHanSansKR-Medium.otf
SourceHanSansKR-Normal.otf
SourceHanSansKR-Regular.otf
)
_cn=(
SourceHanSansCN-Bold.otf
SourceHanSansCN-ExtraLight.otf
SourceHanSansCN-Heavy.otf
SourceHanSansCN-Light.otf
SourceHanSansCN-Medium.otf
SourceHanSansCN-Normal.otf
SourceHanSansCN-Regular.otf
)
_twhk=(
SourceHanSansTWHK-Bold.otf
SourceHanSansTWHK-ExtraLight.otf
SourceHanSansTWHK-Heavy.otf
SourceHanSansTWHK-Light.otf
SourceHanSansTWHK-Medium.otf
SourceHanSansTWHK-Normal.otf
SourceHanSansTWHK-Regular.otf
)
_otc=(
SourceHanSans-Bold.ttc
SourceHanSans-ExtraLight.ttc
SourceHanSans-Heavy.ttc
SourceHanSans-Light.ttc
SourceHanSans-Medium.ttc
SourceHanSans-Normal.ttc
SourceHanSans-Regular.ttc
)

function _package {
    cd "$srcdir"

    case "$1" in
        $_pkgbase-jp-fonts)
            fonts=(${_jp[@]})
            unzip -j SourceHanSansJP-$pkgver.zip
            _fontconfig_filename=44-source-han-sans-jp.conf
            pkgdesc="Adobe Source Han Sans - Japanese OpenType/CFF fonts";;
        $_pkgbase-kr-fonts)
            fonts=(${_kr[@]})
            unzip -j SourceHanSansKR-$pkgver.zip
            _fontconfig_filename=44-source-han-sans-kr.conf
            pkgdesc="Adobe Source Han Sans - Korean OpenType/CFF fonts";;
        $_pkgbase-cn-fonts)
            fonts=(${_cn[@]})
            unzip -j SourceHanSansCN-$pkgver.zip
            _fontconfig_filename=44-source-han-sans-cn.conf
            pkgdesc="Adobe Source Han Sans - Simplified Chinese OpenType/CFF fonts";;
        $_pkgbase-twhk-fonts)
            fonts=(${_twhk[@]})
            unzip -j SourceHanSansTWHK-$pkgver.zip
            _fontconfig_filename=44-source-han-sans-twhk.conf
            pkgdesc="Adobe Source Han Sans - Traditional Chinese OpenType/CFF fonts";;
        $_pkgbase-otc-fonts)
            fonts=(${_otc[@]})
            unzip -j SourceHanSansOTC-$pkgver.zip
            _fontconfig_filename=44-source-han-sans-otc.conf
            pkgdesc="Adobe Source Han Sans - Pan-CJK OpenType/CFF Collection fonts";;
    esac

    # Prepare destination directory
    install -dm755 "$pkgdir/usr/share/fonts/adobe-source-han-sans"

    # Install fonts
    for font in "${fonts[@]}"; do
        install -m644 "$font" "$pkgdir/usr/share/fonts/adobe-source-han-sans"
    done

    # Install fontconfig fix
    install -d "$pkgdir/etc/fonts/conf.d"
    install -Dm644 "$srcdir/$_fontconfig_filename" "$pkgdir/etc/fonts/conf.avail/$_fontconfig_filename"
    ln -s ../conf.avail/$_fontconfig_filename "$pkgdir/etc/fonts/conf.d/$_fontconfig_filename"
}

for _pkgname in ${pkgname[@]}; do
    eval "function package_$_pkgname() { _package $_pkgname; }"
done
