mirror of
git://slackware.nl/current.git
synced 2024-12-28 09:59:53 +01:00
98 lines
3.8 KiB
Bash
98 lines
3.8 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
|
||
|
# All rights reserved.
|
||
|
#
|
||
|
# Redistribution and use of this script, with or without modification, is
|
||
|
# permitted provided that the following conditions are met:
|
||
|
#
|
||
|
# 1. Redistributions of this script must retain the above copyright
|
||
|
# notice, this list of conditions and the following disclaimer.
|
||
|
#
|
||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
|
||
|
# This pulls down the full noto-cjk archive from github and then packages the
|
||
|
# two font files that we want as well as the documentation into a "source"
|
||
|
# tarball. Note that since 100% of the contents of this are placed into the
|
||
|
# package .txz, there's not really any reason to keep the source archive after
|
||
|
# packaging it.
|
||
|
|
||
|
cd $(dirname $0) ; CWD=$(pwd)
|
||
|
|
||
|
VERSION=${VERSION:-2.001}
|
||
|
|
||
|
# Create a temporary extraction directory:
|
||
|
EXTRACT_DIR=$(mktemp -d)
|
||
|
|
||
|
# The Noto Sans CJK font types to package. Valid types are "all", or any of
|
||
|
# these (comma delimited): Black, Bold, DemiLight, Light, Medium, Regular, Thin.
|
||
|
SANS_TYPES=${SANS_TYPES:-all}
|
||
|
|
||
|
# The Noto Serif CJK font types to package. Valid types are "all", or any of
|
||
|
# these (comma delimited): Black, Bold, ExtraLight, Light, Medium, Regular, SemiBold.
|
||
|
SERIF_TYPES=${SERIF_TYPES:-Regular}
|
||
|
|
||
|
( cd $EXTRACT_DIR
|
||
|
# Does the source exist in $CWD? If so, just copy it here:
|
||
|
if [ -r $CWD/NotoSansV${VERSION}.tar.gz ]; then
|
||
|
cp -a $CWD/NotoSansV${VERSION}.tar.gz .
|
||
|
else
|
||
|
# Fetch the source:
|
||
|
lftpget https://github.com/googlefonts/noto-cjk/archive/NotoSansV${VERSION}.tar.gz
|
||
|
fi
|
||
|
OUTPUT_TIMESTAMP=$(tar tvvf NotoSansV${VERSION}.tar.gz | head -n 1 | tr -d / | rev | cut -f 2,3 -d ' ' | rev)
|
||
|
tar xf NotoSansV${VERSION}.tar.gz
|
||
|
rm NotoSansV${VERSION}.tar.gz
|
||
|
mv *oto* noto-cjk
|
||
|
rm -rf noto-cjk/.git
|
||
|
mkdir -p tmp/fonts
|
||
|
# Move the selected Noto Sans fonts to tmp/fonts:
|
||
|
if [ "$SANS_TYPES" = "all" ]; then
|
||
|
# Use the all-in-one font:
|
||
|
mv --verbose noto-cjk/NotoSansCJK.ttc.zip tmp/fonts
|
||
|
else
|
||
|
echo $SANS_TYPES | tr "," "\n" | while read fonttype ; do
|
||
|
mv --verbose noto-cjk/NotoSansCJK-${fonttype}.ttc tmp/fonts
|
||
|
done
|
||
|
fi
|
||
|
# Move the selected Noto Serif fonts to tmp/fonts:
|
||
|
if [ "$SERIF_TYPES" = "all" ]; then
|
||
|
SERIF_TYPES="Black,Bold,ExtraLight,Light,Medium,Regular,SemiBold"
|
||
|
fi
|
||
|
echo $SERIF_TYPES | tr "," "\n" | while read fonttype ; do
|
||
|
mv --verbose noto-cjk/NotoSerifCJK-${fonttype}.ttc tmp/fonts
|
||
|
done
|
||
|
# Remove the fonts that we won't be packaging:
|
||
|
rm noto-cjk/*.{ttc,otf,zip}
|
||
|
# If we moved the zip file, now we have to extract the font:
|
||
|
if [ -r tmp/fonts/NotoSansCJK.ttc.zip ]; then
|
||
|
( cd tmp/fonts
|
||
|
unzip NotoSansCJK.ttc.zip NotoSansCJK.ttc
|
||
|
rm NotoSansCJK.ttc.zip
|
||
|
)
|
||
|
fi
|
||
|
# Copy the license, readmes:
|
||
|
mkdir -p tmp/docs
|
||
|
mv noto-cjk/* tmp/docs
|
||
|
cd tmp
|
||
|
# Fix permissions:
|
||
|
find . -type f -exec chmod 644 {} \;
|
||
|
# Create source archive:
|
||
|
rm -f $CWD/NotoSansCJK_subset-${VERSION}.tar*
|
||
|
tar cvf $CWD/NotoSansCJK_subset-${VERSION}.tar .
|
||
|
plzip -9 -v $CWD/NotoSansCJK_subset-${VERSION}.tar
|
||
|
touch -d "$OUTPUT_TIMESTAMP" $CWD/NotoSansCJK_subset-${VERSION}.tar.lz
|
||
|
)
|
||
|
|
||
|
# Cleanup:
|
||
|
rm -rf $EXTRACT_DIR
|