summaryrefslogtreecommitdiffstats
path: root/source/x/noto-cjk-fonts-ttf/package-source.sh
diff options
context:
space:
mode:
Diffstat (limited to 'source/x/noto-cjk-fonts-ttf/package-source.sh')
-rwxr-xr-xsource/x/noto-cjk-fonts-ttf/package-source.sh97
1 files changed, 97 insertions, 0 deletions
diff --git a/source/x/noto-cjk-fonts-ttf/package-source.sh b/source/x/noto-cjk-fonts-ttf/package-source.sh
new file mode 100755
index 000000000..0f842f182
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/package-source.sh
@@ -0,0 +1,97 @@
+#!/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