summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rwxr-xr-xsource/ap/inxi/fetch-inxi.sh52
-rwxr-xr-xsource/ap/inxi/inxi.SlackBuild123
-rw-r--r--source/ap/inxi/slack-desc19
-rw-r--r--source/k/kernel-configs/config-generic-5.4.54 (renamed from source/k/kernel-configs/config-generic-5.4.53)2
-rw-r--r--source/k/kernel-configs/config-generic-5.4.54.x64 (renamed from source/k/kernel-configs/config-generic-5.4.53.x64)2
-rw-r--r--source/k/kernel-configs/config-generic-smp-5.4.54-smp (renamed from source/k/kernel-configs/config-generic-smp-5.4.53-smp)2
-rw-r--r--source/k/kernel-configs/config-huge-5.4.54 (renamed from source/k/kernel-configs/config-huge-5.4.53)2
-rw-r--r--source/k/kernel-configs/config-huge-5.4.54.x64 (renamed from source/k/kernel-configs/config-huge-5.4.53.x64)2
-rw-r--r--source/k/kernel-configs/config-huge-smp-5.4.54-smp (renamed from source/k/kernel-configs/config-huge-smp-5.4.53-smp)2
-rw-r--r--source/x/hack-fonts-ttf/CHANGELOG.md904
-rw-r--r--source/x/hack-fonts-ttf/LICENSE.md45
-rw-r--r--source/x/hack-fonts-ttf/README.md226
-rw-r--r--source/x/hack-fonts-ttf/doinst.sh9
-rwxr-xr-xsource/x/hack-fonts-ttf/hack-fonts-ttf.SlackBuild102
-rw-r--r--source/x/hack-fonts-ttf/hack-fonts-ttf.url4
-rw-r--r--source/x/hack-fonts-ttf/slack-desc19
-rw-r--r--source/x/noto-cjk-fonts-ttf/70-noto-cjk.conf147
-rw-r--r--source/x/noto-cjk-fonts-ttf/README.Slackware25
-rw-r--r--source/x/noto-cjk-fonts-ttf/doinst.sh9
-rwxr-xr-xsource/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.SlackBuild70
-rw-r--r--source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.url1
-rwxr-xr-xsource/x/noto-cjk-fonts-ttf/package-source.sh97
-rw-r--r--source/x/noto-cjk-fonts-ttf/slack-desc19
-rw-r--r--source/x/noto-fonts-ttf/doinst.sh9
-rw-r--r--source/x/noto-fonts-ttf/fonts-to-skip.txt96
-rwxr-xr-xsource/x/noto-fonts-ttf/noto-fonts-ttf.SlackBuild64
-rw-r--r--source/x/noto-fonts-ttf/noto-fonts-ttf.url1
-rwxr-xr-xsource/x/noto-fonts-ttf/package-source.sh114
-rw-r--r--source/x/noto-fonts-ttf/slack-desc19
29 files changed, 2180 insertions, 6 deletions
diff --git a/source/ap/inxi/fetch-inxi.sh b/source/ap/inxi/fetch-inxi.sh
new file mode 100755
index 000000000..1f2e2e4b8
--- /dev/null
+++ b/source/ap/inxi/fetch-inxi.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Copyright 2019, 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.
+
+
+PKGNAM=inxi
+
+# Pull a stable branch + patches
+BRANCH=${1:-master}
+
+# Clear download area:
+rm -rf ${PKGNAM}
+
+# Clone repository:
+git clone https://github.com/smxi/${PKGNAM}
+
+# checkout $BRANCH:
+( cd ${PKGNAM}
+ git checkout $BRANCH || exit 1
+)
+
+HEADISAT="$( cd ${PKGNAM} && git log -1 --format=%h )"
+DATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%Y%m%d )"
+LONGDATE="$( cd ${PKGNAM} && git log -1 --format=%cd --date=format:%c )"
+# Cleanup. We're not packing up the whole git repo.
+( cd ${PKGNAM} && find . -type d -name ".git*" -exec rm -rf {} \; 2> /dev/null )
+mv ${PKGNAM} ${PKGNAM}-${DATE}_${HEADISAT}
+tar cf ${PKGNAM}-${DATE}_${HEADISAT}.tar ${PKGNAM}-${DATE}_${HEADISAT}
+plzip -9 -f ${PKGNAM}-${DATE}_${HEADISAT}.tar
+rm -rf ${PKGNAM}-${DATE}_${HEADISAT}
+touch -d "$LONGDATE" ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz
+echo
+echo "${PKGNAM} branch $BRANCH with HEAD at $HEADISAT packaged as ${PKGNAM}-${DATE}_${HEADISAT}.tar.lz"
+echo
diff --git a/source/ap/inxi/inxi.SlackBuild b/source/ap/inxi/inxi.SlackBuild
new file mode 100755
index 000000000..2e5e02b07
--- /dev/null
+++ b/source/ap/inxi/inxi.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, MN, 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=inxi
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-noarch-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+cd $TMP
+rm -rf ${PKGNAM}-${VERSION}
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
+
+# Make sure ownerships and permissions are sane:
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+mkdir -p $PKG/usr/bin
+cp -a inxi $PKG/usr/bin/inxi
+chown root:root $PKG/usr/bin/inxi
+chmod 755 $PKG/usr/bin/inxi
+mkdir -p $PKG/usr/man/man1
+cp -a inxi.1 $PKG/usr/man/man1/inxi.1
+chown root:root $PKG/usr/man/man1/inxi.1
+chmod 644 $PKG/usr/man/man1/inxi.1
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Add some docs:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* README* *changelog* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a inxi.changelog file, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r inxi.changelog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat inxi.changelog | head -n 1000 > $DOCSDIR/inxi.changelog
+ touch -r inxi.changelog $DOCSDIR/inxi.changelog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-noarch-$BUILD.txz
diff --git a/source/ap/inxi/slack-desc b/source/ap/inxi/slack-desc
new file mode 100644
index 000000000..3b33f582e
--- /dev/null
+++ b/source/ap/inxi/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+inxi: inxi (system information tool)
+inxi:
+inxi: inxi is a command line system information script built for console and
+inxi: IRC. It is also used a debugging tool for forum technical support to
+inxi: quickly ascertain users' system configurations and hardware. inxi
+inxi: shows system hardware, CPU, drivers, Xorg, Desktop, Kernel, gcc
+inxi: version(s), processes, RAM usage, and a wide variety of other useful
+inxi: information.
+inxi:
+inxi: Homepage: https://github.com/smxi/inxi
+inxi:
diff --git a/source/k/kernel-configs/config-generic-5.4.53 b/source/k/kernel-configs/config-generic-5.4.54
index 0832b5921..949874fb8 100644
--- a/source/k/kernel-configs/config-generic-5.4.53
+++ b/source/k/kernel-configs/config-generic-5.4.54
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.53 Kernel Configuration
+# Linux/x86 5.4.54 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-generic-5.4.53.x64 b/source/k/kernel-configs/config-generic-5.4.54.x64
index 0473bacaa..fb01658ed 100644
--- a/source/k/kernel-configs/config-generic-5.4.53.x64
+++ b/source/k/kernel-configs/config-generic-5.4.54.x64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.53 Kernel Configuration
+# Linux/x86 5.4.54 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-generic-smp-5.4.53-smp b/source/k/kernel-configs/config-generic-smp-5.4.54-smp
index 880b9c8dd..2a85bccb5 100644
--- a/source/k/kernel-configs/config-generic-smp-5.4.53-smp
+++ b/source/k/kernel-configs/config-generic-smp-5.4.54-smp
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.53 Kernel Configuration
+# Linux/x86 5.4.54 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-huge-5.4.53 b/source/k/kernel-configs/config-huge-5.4.54
index 3aea80756..e5e2defb7 100644
--- a/source/k/kernel-configs/config-huge-5.4.53
+++ b/source/k/kernel-configs/config-huge-5.4.54
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.53 Kernel Configuration
+# Linux/x86 5.4.54 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-huge-5.4.53.x64 b/source/k/kernel-configs/config-huge-5.4.54.x64
index ec95f0ec6..09226320e 100644
--- a/source/k/kernel-configs/config-huge-5.4.53.x64
+++ b/source/k/kernel-configs/config-huge-5.4.54.x64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.53 Kernel Configuration
+# Linux/x86 5.4.54 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-huge-smp-5.4.53-smp b/source/k/kernel-configs/config-huge-smp-5.4.54-smp
index 41dce4bd3..686af2092 100644
--- a/source/k/kernel-configs/config-huge-smp-5.4.53-smp
+++ b/source/k/kernel-configs/config-huge-smp-5.4.54-smp
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.53 Kernel Configuration
+# Linux/x86 5.4.54 Kernel Configuration
#
#
diff --git a/source/x/hack-fonts-ttf/CHANGELOG.md b/source/x/hack-fonts-ttf/CHANGELOG.md
new file mode 100644
index 000000000..b5e616e0f
--- /dev/null
+++ b/source/x/hack-fonts-ttf/CHANGELOG.md
@@ -0,0 +1,904 @@
+# Version 3.003
+
+- U+005B, increased length of square brackets' horizontal strokes (symmetrically reducing left and right sidebearing), all variants
+- U+005D, increased length of square brackets' horizontal strokes (symmetrically reducing left and right sidebearing), all variants
+- U+0051, extended length of tail, all variants
+- U+051A, extended length of tail, all variants
+- U+0061, simplified and improved contours, all variants
+- U+0062, simplified and improved contours, all variants
+- U+0063, simplified and improved contours, all variants
+- U+0064, simplified and improved contours, all variants
+- U+0065, simplified and improved contours, all variants
+- U+0066, simplified and improved contours, all variants
+- U+0067, simplified and improved contours, all variants
+- U+0068, simplified and improved contours, all variants
+- U+0069, simplified and improved contours, all variants
+- U+006A, simplified and improved contours, all variants
+- U+006B, simplified and improved contours, all variants
+- U+006C, simplified and improved contours, all variants
+- U+006D, simplified and improved contours, all variants
+- U+006E, simplified and improved contours, all variants
+- U+006F, simplified and improved contours, all variants
+- U+0070, simplified and improved contours, all variants
+- U+0071, simplified and improved contours, all variants
+- U+0072, simplified and improved contours, all variants
+- U+0073, simplified and improved contours, all variants
+- U+0074, simplified and improved contours, all variants
+- U+0075, simplified and improved contours, all variants
+- U+0076, simplified and improved contours, all variants
+- U+0077, simplified and improved contours, all variants
+- U+0078, simplified and improved contours, all variants
+- U+0079, simplified and improved contours, all variants
+- U+007A, simplified and improved contours, all variants
+- added config/fontconfig/45-Hack.conf for use on Linux distros to define Hack as a monospaced typeface
+- added ttdiff.sh shell script for OpenType table diffs of ttx XML dumps of font binaries
+- added checksum.py to scripts directory, supports the generation of SHA1 checksum files of font binaries and ttx dumps of OpenType tables
+- ttfautohint-build.sh, fixed backtick and expr syntax shellcheck warnings (SC2003/2006)
+- converted to Semaphore CI (from Travis CI) as CI testing service, eliminated .travis.yml settings file
+
+
+# Version 3.002
+
+- bugfix for https://github.com/source-foundry/Hack/issues/377 (affects Windows users)
+- bugfix for https://github.com/source-foundry/Hack/issues/379 (affects Linux users)
+- bugfix included removal of blue zone reference font in ttfautohint instruction set processing (-R flag). This led to variable lowercase glyph heights on Linux and Windows platforms
+
+# Version 3.001
+
+- U+017F, added long s glyph to all four variant sets, completes Latin Extended A character sets
+- U+2024, added onedotenleader glyph to all four variant sets (general punctuation set)
+- U+2025, added twodotenleader glyph to all four variant sets (general punctuation set)
+- U+2027, added hyphenationpoint glyph to all four variant sets (general punctuation set)
+- U+2032, added minute glyph to all four variant sets (general punctuation set)
+- U+2033, added second glyph to all four variant sets (general punctuation set)
+- U+2034, modified glyph name to "millisecond" in all four variant sets (general punctuation set)
+- U+2012, modified figure dash to width of numeral glyphs in all four variant sets
+- U+2013, modified en dash to half width of em in all four variant sets
+- U+2014, modified em dash, slight adjustment to height in all four variant sets, horizontal position in italic and bold italic sets
+- U+0031, increased angle of top stroke vs. horizontal, all sets (legibility vs. U+006C)
+- U+0031, increased length of the top stroke, all sets (legibility vs. U+006C)
+- U+0031, decreased width of the top stroke, bold and bold italic sets (legibility vs. U+006C)
+- removed name table, ID=5 record ttfautohint metadata (previously included in this version string)
+- updated Harbuzz build dependency to v1.7.4
+- updated FreeType build dependency to v2.8.1
+- removed FreeType build patches in ttfautohint-build.sh script (not necessary after above upgrade)
+- modified ttfautohint-build.sh license to MIT License
+- added ink CSS file templates for automated git sha1 short code writes for releases
+- added new CSS file template build shell script
+- added new make target for CSS template file builds (make css)
+
+
+# Version 3.000
+
+### New license
+
+- Eliminated Hack Open Font License
+- Added MIT License for Hack work
+- These license changes eliminated the Reserved Font Name "Hack" in the typeface license
+- No changes to co-licensure with the Bitstream Vera license from upstream source
+
+### New source and build tooling
+
+- converted to valid UFO v2 source files with cubic curves
+- added automated build from scratch approach with make + FLOSS software only for desktop fonts
+- added automated build from scratch approach with make + FLOSS software only for web fonts (complete sets and subsets)
+- added automated cross platform build dependency installation as a make target
+- added ttfautohint build from source scripting support (includes support for builds on OS X platform)
+- added automated ttf build autohinting scripting with ttfautohint as part of the make build workflow
+- added Font Bakery fstype post-compilation fix
+- added Font Bakery DSIG table post-compilation fix
+- modified default zopfli iterations to 3 from 15 for woff builds (improved build time vs file size balance)
+- created a (workaround) approach to web font subset builds from UFO source files with fontmake
+- created new font archive preparation script
+- repository path modifications to support above changes
+- eliminated old, unnecessary repository scripts
+- added fontmake build dependency
+- added fontTools build dependency
+- added ttfautohint build dependency (includes Harfbuzz and FreeType build dependencies)
+- added Font Bakery fstype post-compilation fix dependency (script housed in repo)
+- added Font Bakery DSIG table fix dependency (script housed in repo)
+- added sfnt2woff-zopfli build dependency
+- added woff2 build dependency (uses customized Source Foundry fork that is modified to address build bug on OS X platforms)
+- added Source Foundry SRC vendor ID to source files
+
+### Continuous integration testing
+
+- added Travis CI desktop font build testing on Linux and OS X platforms
+- added Travis CI web font build testing on Linux and OS X platforms
+- added ufolint UFO source file linting to CI testing
+- added shellcheck shell script source file linting to CI testing
+
+### Desktop font build changes
+
+- eliminated otf builds
+
+### Web font build changes
+
+- eliminated eot web font builds
+- eliminated ttf web font builds
+- modified CSS file paths (affects web font CDN URL for all v3.0+ builds)
+
+### Design changes
+
+- added U+0114 and U+0115, all sets
+- added U+012C and U+012D, all sets
+- added U+014E and U+014F, all sets
+- Bold set: reduced dimensions of middle dot glyph (U+00B7)
+- improved design of the Powerline glyph set (addresses alignment rendering on Linux and Windows platforms)
+- added web font subset character set targets of ASCII, Latin-1, Latin Extended A, General Punctuation, and Currency sets
+- ttfautohint updated to v1.6
+- added Regular set as blue zone reference font for ttfautohint ttf build autohinting
+- defined x height pixel grid rounding up size range as 6ppem - 10ppem for ttfautohint ttf build autohinting
+- examined and improved manual hinting adjustments across the entire ASCII glyph set x sizes 8 - 14 ppem
+- Regular set: modified manual hints U+0023 @ size 13
+- Regular set: modified manual hints U+0025 @ sizes 10, 11, 14
+- Regular set: modified manual hints U+002B @ sizes 12, 13
+- Regular set: modified manual hints U+0030 @ 8, 12, 13, 14
+- Bold set: modified manual hints U+0021 @ size 14
+- Bold set: modified manual hints U+0025 @ sizes 10, 11, 14
+- Bold set: modified manual hints U+002B @ sizes 10, 11
+- Bold set: modified manual hints U+0038 @ sizes 12, 13, 14
+- Italic set: modified manual hints U+0025 @ sizes 10, 11, 14
+- BoldItalic set: modified manual hints U+002B @ sizes 10, 11
+
+
+### Documentation changes
+
+- added design guidelines to CONTRIBUTING.md documentation
+- added issue reporting guidelines to CONTRIBUTING.md documentation
+- added pull request guidelines to CONTRIBUTING.md documentation
+- added contributors definition to CONTRIBUTING.md documentation
+- added build documentation in docs/BUILD.md
+- added Frequently Asked Questions documentation as FAQ.md
+
+### Fixes
+
+- modified openTypeNamePreferredSubfamilyName key definition in fontinfo.plist to support proper naming on Windows platform
+- added middle dot glyph (U+00B7) to BoldItalic set
+- fixed superscript OpenType features scripts in features.fea x all four variant sets
+
+
+
+# Version 2.020
+
+- divided the vertical stroke in the pipe glyph (U+007C), italic and bold italic sets
+- modified U+007C hints in TrueType builds at 6, 7, 10, 11, 12, 13, 14 ppem italic set
+- modified U+007C hints in TrueType builds at 6, 7, 10, 14 ppem bold italic set
+- modified slant angle and stroke length (U+005C), italic and bold italic sets
+- centered U+007C and U+005C, all sets
+- modified zero (U+0030) oval fill hints in regular set
+- added Powerline glyphs to the bold, italic, and bold italic sets
+- U+2502 upper terminal to 1950, lower terminal to -530, all sets
+- U+2503 upper terminal to 1950, lower terminal to -530, all sets
+- U+250C lower terminal to -530, all sets
+- U+250D lower terminal to -530, all sets
+- U+250E lower terminal to -530, all sets
+- U+250F lower terminal to -530, all sets
+- U+2510 lower terminal to -530, all sets
+- U+2511 lower terminal to -530, all sets
+- U+2512 lower terminal to -530, all sets
+- U+2513 lower terminal to -530, all sets
+- U+2514 upper terminal to 1950, all sets
+- U+2515 upper terminal to 1950, all sets
+- U+2516 upper terminal to 1950, all sets
+- U+2517 upper terminal to 1950, all sets
+- U+2518 upper terminal to 1950, all sets
+- U+2519 upper terminal to 1950, all sets
+- U+251A upper terminal to 1950, all sets
+- U+251B upper terminal to 1950, all sets
+- U+251C upper terminal to 1950, lower terminal to -530, all sets
+- U+251D upper terminal to 1950, lower terminal to -530, all sets
+- U+251E upper terminal to 1950, lower terminal to -530, all sets
+- U+251F upper terminal to 1950, lower terminal to -530, all sets
+- U+2520 upper terminal to 1950, lower terminal to -530, all sets
+- U+2521 upper terminal to 1950, lower terminal to -530, all sets
+- U+2522 upper terminal to 1950, lower terminal to -530, all sets
+- U+2523 upper terminal to 1950, lower terminal to -530, all sets
+- U+2524 upper terminal to 1950, lower terminal to -530, all sets
+- U+2525 upper terminal to 1950, lower terminal to -530, all sets
+- U+2526 upper terminal to 1950, lower terminal to -530, all sets
+- U+2527 upper terminal to 1950, lower terminal to -530, all sets
+- U+2528 upper terminal to 1950, lower terminal to -530, all sets
+- U+2529 upper terminal to 1950, lower terminal to -530, all sets
+- U+252A upper terminal to 1950, lower terminal to -530, all sets
+- U+252B upper terminal to 1950, lower terminal to -530, all sets
+- U+252C lower terminal to -530, all sets
+- U+252D lower terminal to -530, all sets
+- U+252E lower terminal to -530, all sets
+- U+252F lower terminal to -530, all sets
+- U+2530 lower terminal to -530, all sets
+- U+2531 lower terminal to -530, all sets
+- U+2532 lower terminal to -530, all sets
+- U+2533 lower terminal to -530, all sets
+- U+2534 upper terminal to 1950, all sets
+- U+2535 upper terminal to 1950, all sets
+- U+2536 upper terminal to 1950, all sets
+- U+2537 upper terminal to 1950, all sets
+- U+2538 upper terminal to 1950, all sets
+- U+2539 upper terminal to 1950, all sets
+- U+253A upper terminal to 1950, all sets
+- U+253B upper terminal to 1950, all sets
+- U+252C upper terminal to 1950, lower terminal to -530, all sets
+- U+252D upper terminal to 1950, lower terminal to -530, all sets
+- U+253E upper terminal to 1950, lower terminal to -530, all sets
+- U+253F upper terminal to 1950, lower terminal to -530, all sets
+- U+2540 upper terminal to 1950, lower terminal to -530, all sets
+- U+2541 upper terminal to 1950, lower terminal to -530, all sets
+- U+2542 upper terminal to 1950, lower terminal to -530, all sets
+- U+2543 upper terminal to 1950, lower terminal to -530, all sets
+- U+2544 upper terminal to 1950, lower terminal to -530, all sets
+- U+2545 upper terminal to 1950, lower terminal to -530, all sets
+- U+2546 upper terminal to 1950, lower terminal to -530, all sets
+- U+2547 upper terminal to 1950, lower terminal to -530, all sets
+- U+2548 upper terminal to 1950, lower terminal to -530, all sets
+- U+2549 upper terminal to 1950, lower terminal to -530, all sets
+- U+254A upper terminal to 1950, lower terminal to -530, all sets
+- U+254B upper terminal to 1950, lower terminal to -530, all sets
+- U+2551 upper terminal to 1950, lower terminal to -530, all sets
+- U+2552 lower terminal to -530, all sets
+- U+2553 lower terminals to -530, all sets
+- U+2554 lower terminals to -530, all sets
+- U+2555 lower terminal to -530, all sets
+- U+2556 lower terminals to -530, all sets
+- U+2557 lower terminals to -530, all sets
+- U+2558 upper terminal to 1950, all sets
+- U+2558 upper terminals to 1950, all sets
+- U+2559 upper terminals to 1950, all sets
+- U+255A upper terminals to 1950, all sets
+- U+255B upper terminal to 1950, all sets
+- U+255C upper terminals to 1950, all sets
+- U+255D upper terminals to 1950, all sets
+- U+255E upper terminal to 1950, lower terminal to -530, all sets
+- U+255F upper terminals to 1950, lower terminals to -530, all sets
+- U+2560 upper terminals to 1950, lower terminals to -530, all sets
+- U+2561 upper terminal to 1950, lower terminal to -530, all sets
+- U+2562 upper terminals to 1950, lower terminals to -530, all sets
+- U+2563 upper terminals to 1950, lower terminals to -530, all sets
+- U+2564 lower terminal to -530, all sets
+- U+2565 lower terminals to -530, all sets
+- U+2566 lower terminals to -530, all sets
+- U+2567 upper terminal to 1950, all sets
+- U+2568 upper terminals to 1950, all sets
+- U+2569 upper terminals to 1950, all sets
+- U+256A upper terminal to 1950, lower terminal to -530, all sets
+- U+256B upper terminals to 1950, lower terminals to -530, all sets
+- U+256C upper terminals to 1950, lower terminals to -530, all sets
+- U+256D lower terminal to -530, all sets
+- U+256E lower terminal to -530, all sets
+- U+256F upper terminal to 1950, all sets
+- U+2570 upper terminal to 1950, all sets
+- U+2571 adjusted horizontal position and length of strokes
+- U+2572 adjusted horizontal position and length of strokes
+- U+2573 adjusted horizontal position and length of strokes
+- U+2575 upper terminal to 1950, all sets
+- U+2577 lower terminal to -530, all sets
+- U+2578 horizontal alignment of superior margin of the stroke (1 unit adjustment)
+- U+2579 upper terminal to 1950, all sets
+- U+257B lower terminal to -530, all sets
+- U+257D upper terminal to 1950, lower terminal to -530, all sets
+- U+257F upper terminal to 1950, lower terminal to -530, all sets
+- updated OpenType name table field 1 0 0
+- updated OpenType name table field 3 1 1033
+- new [Windows installer](https://github.com/source-foundry/Hack-windows-installer)
+- added line spacing adjustment shell scripts
+- added font-tables.py OpenType table reporting script
+- updated dev-versioner.py OpenType table versioning script to support UTF16 big endian encoding of nameID=5, platformID=3 name table
+
+
+# Version 2.019 (release build)
+
+ttf, otf, webfont builds
+
+- removed SVG from webfont releases
+- Corrected U+2588 glyph shape in regular set (had inappropriately small width and height)
+- decreased width U+2580 all sets
+- decreased width U+2581 all sets
+- decreased width U+2582 all sets
+- decreased width U+2583 all sets
+- decreased width U+2584 all sets
+- decreased width U+2585 all sets
+- decreased width U+2586 all sets
+- decreased width U+2857 all sets
+- adjusted left sidebearing U+2589 all sets
+- adjusted left sidebearing U+258A all sets
+- adjusted left sidebearing U+258B all sets
+- adjusted left sidebearing U+258C all sets
+- adjusted left sidebearing U+258D all sets
+- adjusted left sidebearing U+258E all sets
+- adjusted left sidebearing U+258F all sets
+- adjusted right sidebearing U+2590 all sets
+- decreased width of U+2594 all sets
+- adjusted right sidebearing U+2595 all sets
+- adjusted left sidebearing U+2596 all sets
+- adjusted right sidebearing U+2597 all sets
+- adjusted left sidebearing U+2598 all sets
+- decreased width of U+2599 all sets
+- decreased width of U+259A all sets
+- decreased width of U+259B all sets
+- decreased width of U+259C all sets
+- adjusted right sidebearing U+259D all sets
+- decreased width of U+259E all sets
+- decreased width of U+259F all sets
+- increased upper terminal position to 1950 units U+2580 all sets
+- increased upper terminal position to 1950 units U+2588 all sets
+- increased upper terminal position to 1950 units U+2589 all sets
+- increased upper terminal position to 1950 units U+258A all sets
+- increased upper terminal position to 1950 units U+258B all sets
+- increased upper terminal position to 1950 units U+258C all sets
+- increased upper terminal position to 1950 units U+258D all sets
+- increased upper terminal position to 1950 units U+258E all sets
+- increased upper terminal position to 1950 units U+258F all sets
+- increased upper terminal position to 1950 units U+2590 all sets
+- increased upper terminal position to 1950 units U+2594 all sets
+- increased upper terminal position to 1950 units U+2595 all sets
+- increased upper terminal position to 1950 units U+2598 all sets
+- increased upper terminal position to 1950 units U+2599 all sets
+- increased upper terminal position to 1950 units U+259A all sets
+- increased upper terminal position to 1950 units U+259B all sets
+- increased upper terminal position to 1950 units U+259C all sets
+- increased upper terminal position to 1950 units U+259D all sets
+- increased upper terminal position to 1950 units U+259E all sets
+- increased upper terminal position to 1950 units U+259F all sets
+- reverted Cyrillic lower case es glyph (U+0441) to Latin lower case c shape
+- reverted Cyrillic upper case es glyph (U+0421) to Latin upper case C shape
+
+
+# Version 2.018 (release build)
+
+ttf, otf, webfont builds
+
+Patch for missing glyphs in regular set:
+
+- added U+016C (upper case U breve), regular set - Issue #21
+- added U+016D (lower case u breve), regular set - Issue #21
+
+
+# Version 2.017 (release build)
+
+ttf, otf, webfont builds
+
+Changes vs. release v2.015:
+
+- increased vertical position of the tilde (U+007E) to improve alignment with other glyphs - Issue #23
+- increased width of the vertical stroke on the dollar symbol (U+0024) - Issue #92
+- modified Cyrillic upper case C (U+0421) to differentiate from Latin C - Issues #22 & #29
+- modified Cyrillic lower case c (U+0441) to differentiate from Latin c - Issues #22 & #29
+- modified upper case theta (U+0398) to differentiate from lower case theta - Issue #36
+- added U+0132 (IJ) glyph - Issue #52
+- added U+0133 (ij) glyph - Issue #52
+- added U+013F (upper case L dot) glyph - Issue #52
+- added U+0140 (lower case l dot) glyph - Issue #52
+- added U+0162 (upper case T cedilla) glyph - Issue #52
+- added U+0163 (lower case t cedilla) glyph - Issue #52
+- added U+0138 (kgreenlandic) glyph - Issue #52
+- added U+266A (musical note) glyph - Issue #52
+- added U+0149 (lower case n apostrophe) - Issue #52
+- added U+1EF9 (lower case y tilde) glyph - Issue #102
+- added U+1EF8 (upper case Y tilde) glyph - Issue #102
+- added U+1EBD (lower case e tilde) glyph - Issue #102
+- added U+1EBC (upper case E tilde) glyph - Issue #102
+- added U+2116 (numero) glyph - Issues #22 & #114
+- added U+01A4 (p hook) glyph - Issue #105
+- added U+0108 (upper case C circumflex) - Issue #21
+- added U+0109 (lower case c circumflex) - Issue #21
+- added U+011C (upper case G circumflex) - Issue #21
+- added U+011D (lower case g circumflex) - Issue #21
+- added U+0124 (upper case H circumflex) - Issue #21
+- added U+0125 (lower case h circumflex) - Issue #21
+- added U+0134 (upper case J circumflex) - Issue #21
+- added U+0135 (lower case j circumflex) - Issue #21
+- added U+015C (upper case S circumflex) - Issue #21
+- added U+015D (lower case s circumflex) - Issue #21
+- added U+016C (upper case U breve) - Issue #21
+- added U+016D (lower case u breve) - Issue #21
+- added U+20B7 (spesmilo) - Issue #21
+- fixed missing null glyph (U+0000) in regular, italic, bolditalic sets
+- removed duplicate CR glyph (U+000D) in all sets - Issue #149
+- updated ttfautohint to version 1.4.1 for TrueType (.ttf) build instruction sets
+
+# Version 2.016 (testing build)
+
+- increased vertical position of the tilde (U+007E) to improve alignment with other glyphs - Issue #23
+- increased width of the vertical stroke on the dollar symbol (U+0024) - Issue #92
+- modified Cyrillic upper case C (U+0421) to differentiate from Latin C - Issues #22 & #29
+- modified Cyrillic lower case c (U+0441) to differentiate from Latin c - Issues #22 & #29
+- modified upper case theta (U+0398) to differentiate from lower case theta - Issue #36
+- added U+1EF9 (lower case y tilde) glyph - Issue #102
+- added U+1EF8 (upper case Y tilde) glyph - Issue #102
+- added U+1EBD (lower case e tilde) glyph - Issue #102
+- added U+1EBC (upper case E tilde) glyph - Issue #102
+- added U+2116 (numero) glyph - Issues #22 & #114
+- added U+01A4 (p hook) glyph - Issue #105
+- added U+0108 (upper case C circumflex) - Issue #21
+- added U+0109 (lower case c circumflex) - Issue #21
+- added U+011C (upper case G circumflex) - Issue #21
+- added U+011D (lower case g circumflex) - Issue #21
+- added U+0124 (upper case H circumflex) - Issue #21
+- added U+0125 (lower case h circumflex) - Issue #21
+- added U+0134 (upper case J circumflex) - Issue #21
+- added U+0135 (lower case j circumflex) - Issue #21
+- added U+015C (upper case S circumflex) - Issue #21
+- added U+015D (lower case s circumflex) - Issue #21
+- added U+016C (upper case U breve) - Issue #21
+- added U+016D (lower case u breve) - Issue #21
+- added U+20B7 (spesmilo) - Issue #21
+- updated ttfautohint to version 1.4 for TrueType (.ttf) build instruction sets
+
+
+# Version 2.015 (release build)
+
+ttf, otf, webfont builds
+
+Changes vs. release v2.013:
+
+- new vertical metrics = decreased line spacing height - Issues #28, #32, #39, #41, #95, #103
+- adjusted vertical position of the colon to a higher position, improves alignment with other punctuation glyphs (U+003A) - Issue #66
+- changed vertical position of the dash (U+002D) so that regular and oblique, bold and bold oblique are properly aligned - Issue #107
+- updated hinting algorithm for bold set (improved point position over stem of lowercase j/i for some text sizes) - Issue #84
+- underscore (U+005F) centered, increased width, increased height & aligned vertical position closer to baseline - Issues #97, #98, #100, 103,
+- increased vertical position of dieresis mark on lowercase u dieresis (U+00FC) - Issue #61
+- increased vertical position of dieresis mark on lowercase i dieresis (U+00EF)
+- increased vertical position of dieresis mark on lowercase e dieresis (U+00EB)
+- decreased vertical position of the asterisk (U+002A) - Issue #34
+- new design for ascii tilde - broader curves, taller glyph with goal to improve appearance at small text sizes where it tended to render like a dash (U+007E) - Issue #37
+- new ttf build autohinting script (./postbuild_processing/tt-hinting/autohint.sh)
+- new ttf build autohinting Control Instructions File - bold set (./postbuild_processing/tt-hinting/Hack-Bold-TA.txt)
+- new ttf build release script (./postbuild_processing/tt-hinting/release.sh)
+- new web font release script (./postbuild_processing/webfonts/releasewebfonts.sh)
+- new vfb to UFO source file conversion script (./tools/makeufo.sh)
+- new UFO source file types - includes separate source files for TrueType (`*-TT.ufo`) and PostScript (`*-PS.ufo`) releases
+- source file path changes: now includes separate `ufo` and `vfb` directories under the `./source` repository directory
+- Hack Open Font license updated to version 2.0. The license changes better define the Hack project as a derivative project of the Bitstream Vera Sans Mono typeface project and are intended to make the license more consistent with the Bitstream Vera libre, open source license under which Hack is co-licensed. There are no new restrictions on use of the fonts with these license changes. Embedding permissions are made explicit in this version of the Hack Open Font license.
+
+
+# Version 2.014 (testing build)
+
+- ttf only build for testing
+- updated hinting algorithm for bold set (corrected incorrect point position of lowercase j/i at some sizes) - Issue #84
+- adjusted vertical metrics - Issues #28, #32, #39, #41, #95, #103
+- centered, increased width, & adjusted vertical position of underscore - Issues #97, #98, #100, 103,
+- increased vertical position of dieresis mark on lowercase u dieresis (U+00FC) - Issue #61
+- increased vertical position of dieresis mark on lowercase i dieresis (U+00EF)
+- increased vertical position of dieresis mark on lowercase e dieresis (U+00EB)
+- decreased vertical position of the asterisk (U+002A) - Issue #34
+- new design for ascii tilde (U+007E) - Issue #37
+
+
+# Version 2.013 (release build)
+
+ttf, otf, webfont builds
+
+Changes vs. release v2.010
+
+- Fixed missing middle dot glyph (U+00B7), adjusted width of U+00B7 em box to address spacing issues in editors that highlight empty spaces (Issues #27 & 46)
+- Powerline glyph alignment and size adjustments (Issue #33)
+- Fixed name tables to address:
+ - incorrect oblique rendering with Java type renderers on OS X (Issue #26)
+ - incorrect italic + bold + bold oblique rendering in some syntax highlighters (Issues #42, #50, #60)
+ - backslash character took inappropriate vertical alignment because of incorrect slant angle in some editors (Issue #67)
+- Changed oblique and bold oblique font names to "Hack Italic" and "Hack Bold Italic" to address Windows listings
+- Changed oblique and bold oblique webfont names to "hack-italic-webfont.[xxx]" and "hack-bolditalic-webfont.[xxx]"
+- Changed oblique and bold oblique basic Latin + Latin-1 webfont subsets to the names "hack-italic-latin-webfont.[xxx]" and "hack-bolditalic-latin-webfont.[xxx]"
+- Changed license name from "Modified SIL Open Font License" to "Hack Open Font License" to comply with SIL regulations for SIL Open Font License modifications
+- Removed all license references to SIL to comply with SIL regulations for modifications of the SIL Open Font License
+- Removed SIL Open Font License preamble from the Hack Open Font License to comply with SIL regulations for modifications of the SIL Open Font License
+- Removed the following statement from Hack Open Font License condition #3: "This restriction only applies to the primary font name as presented to the users." to address a reserved font name conflict with the Bitstream Vera license
+- Modified the build directory structure for the Hack web fonts
+- Added Hack webfont CSS files to the build directory
+
+# Version 2.012 (testing build)
+
+- ttf only build for testing
+- Powerline glyph alignment and size adjustments (Issue #33)
+- Fixed name tables to address:
+ - incorrect oblique rendering with Java type renderers on OS X (Issue #26)
+ - incorrect italic + bold + bold oblique rendering in some syntax highlighters (Issues #42, #50, #60)
+ - backslash character took inappropriate vertical alignment because of incorrect slant angle in some editors (Issue #67)
+
+# Version 2.011 (testing build)
+
+- ttf only build for testing
+- fixed missing middle dot glyph (U+00B7), adjusted width of U+00B7 em box to address spacing issues in editors that highlight empty spaces (Issues 27 & 46)
+
+
+# Version 2.010
+
+### New Glyphs
+
+- New glyphs for Revised Western European (ISO-8859-15, Latin-9) character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Central European (ISO-8859-2, Latin-2) character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for South European (ISO-8859-3, Latin-3) character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Vietnamese character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Pan African Latin character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Cyrillic (ISO-8859-5) character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Greek (ISO-8859-7) character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Armenian character set (shapes from DejaVu Sans Mono typeface)
+- New glyphs for Georgian character set (shapes from DejaVu Sans Mono typeface)
+- New punctuation glyphs
+- New Powerline glyphs
+- New number glyphs
+- New scientific inferior numerals
+- New superscript numerals
+- New subscript numerals
+- New symbol glyphs
+- New **dotlessi**
+- New **iacute**
+- New **icircumflex**
+- New **idieresis**
+- New **igrave**
+- New **imacron**
+- New **iogonek**
+- New **itilde**
+- New **uppercase upsilon**
+- New **uppercase upsilon tonos**
+- New uni0069
+- New uni0457
+- New uni0458
+
+
+### Modified Glyphs
+
+##### Latin Character Set
+
+- Modified **uppercase Q** - added flared tail and modified tail angle
+- Modified **uppercase F** - central arm lowered to fill open gap at the base
+- Modified **lowercase a** - added curved tail/spur
+- Modified **lowercase b** - decreased width of terminal, opened angle
+- Modified **lowercase d** - decreased width of terminal, opened angle
+- Modified **lowercase g** - decreased width of terminal, opened angle
+- Modified **lowercase i** - rounded corners of the dot, oriented dot position left of center relative to vertical stem, adjusted vertical position of the horizontal stem to x-height, lengthened the vertical stem to slightly overshoot baseline with the curved tail, decreased width of horizontal stem
+- Modified **lowercase j** - rounded corners of the dot, oriented dot position left of center relative to vertical stem
+- Modified **lowercase l** - lengthened the vertical stem to overshoot the baseline with the curved tail
+- Modified **lowercase m** - decreased width of terminal, opened angle
+- Modified **lowercase n** - decreased width of terminal, opened angle
+- Modified **lowercase p** - decreased width of terminal, opened angle
+- Modified **lowercase q** - decreased width of terminal, opened angle
+- Modified **lowercase r** - decreased width of terminal, opened angle
+- Modified **lowercase t** - added angle to the upper terminal, increased length of the vertical stem to allow the curved tail to slightly overshoot the baseline
+- Modified **lowercase y** - modified curves
+- Modified **0** - modified width and length of central oval fill, improved symmetry of the oval fill in all sets
+- Modified **2** - rounded the upper left corner of the base, decreased width of the spine of the hook
+- Modified **Abreve** - modified curves
+- Modified **Aogonek** - modified curve, decreased the width of the tail to meet typeface metrics
+- Modified **Eogonek** - modified tail curve
+- Modified **Iogonek** - modified tail curve
+- Modified **Itilde** - modified tilde curve
+- Modified **Ohorn** - modified horn curve
+- Modified **Oslash** - modified curves
+- Modified **Oslashacute** - modified curves
+- Modified **Otilde** - modified tilde curve
+- Modified **Racute** - modified bowl and leg curves
+- Modified **Rcaron** - modiifed bowl and leg curves
+- Modified **Rcommaaccent** - modified bowl and leg curves
+- Modified **Scommaaccent** - modified curves
+- Modified **Tcommaaccent** - modified comma accent curves
+- Modified **Ucircumflex** - modified curves
+- Modified **Udieresis** - modified curves
+- Modified **Ugrave** - modified curves
+- Modified **Uhorn** - modified curves
+- Modified **Uhungarumlaut** - modified curves
+- Modified **Umacron** - modified curves
+- Modified **Uogonek** - modified curves
+- Modified **Uring** - modified curves
+- Modified **Utilde** - modified curves
+- Modified **agrave** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **aacute** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **abreve** - decreased width of upper terminal to create an angled stem
+- Modified **acircumflex** - decreased width of terminal, opened angle
+- Modified **atilde** - decreased width of terminal, opened angle
+- Modified **adieresis** - decreased width of terminal, opened angle
+- Modified **amacron** - decreased width of upper terminal to create an angled stem
+- Modified **aring** - decreased width of terminal, opened angle
+- Modified **dcroat** - decreased width of terminal, opened angle
+- Modified **dcaron** - decreased width of lower terminal to create angled stem
+- Modified **ecaron** - modified curves
+- Modified **ecircumflex** - modified curves
+- Modified **edieresis** - modified curves
+- Modified **egrave** - modified curves
+- Modified **emacron** - modified curves
+- Modified **eogonek** - modified curves
+- Modified **gbreve** - modified curves of bowl and tail
+- Modified **gcaron** - modified curves of bowl and tail, decreased width of upper terminal to create angled stem
+- Modified **gcommaaccent** - modified curves of bowl and tail, decreased width of upper terminal to create angled stem
+- Modified **gdotaccent** - modified curves of bowl and tail, decreased width of upper terminal to create angled stem
+- Modified **hbar** - adjusted curves
+- Modified **dotlessi** - decreased width of horizontal stem
+- Modified **iacute** - decreased width of horizontal stem
+- Modified **icircumflex** - decreased width of horizontal stem
+- Modified **idieresis** - decreased width of horizontal stem
+- Modified **igrave** - decreased width of horizontal stem
+- Modified **imacron** - decreased width of horizontal stem
+- Modified **iogonek** - decreased width of horizontal stem
+- Modified **itilde** -decreased width of horizontal stem
+- Modified **nacute** - adjusted curves
+- Modified **ncaron** - adjusted curves
+- Modified **ncommaaccent** - adjusted curves
+- Modified **eng** - adjusted curves, decreased the upper terminal width to create an angled stem
+- Modified **nacute** - decreased width of upper terminal to create angled stem
+- Modified **ncaron** - decreased width of upper terminal to create angled stem
+- Modified **ncommaaccent** - decreased width of upper terminal to create angled stem
+- Modified **ntilde** - adjusted curves
+- Modified **ohorn** - adjusted curves
+- Modified **ohungarumlaut** - adjusted curves
+- Modified **omacron** - adjusted curves
+- Modified **oslash** - adjusted curves
+- Modified **oslashacute** - adjusted curves
+- Modified **otilde** - adjusted curves
+- Modified **racute** - adjusted curves, decreased width of upper terminal to create angled stem
+- Modified **rcaron** - adjusted curves, decreased width of upper terminal to create angled stem
+- Modified **rcommaaccent** - adjusted curves, decreased width of upper terminal to create angled stem
+- Modified **sacute** - adjusted curves
+- Modified **scedila** - adjusted curves
+- Modified **scommaaccent** - adjusted curves
+- Modified **lowercase t** - decreased length of the left terminal to angle the horizontal stem
+- Modified **tbar** - decreased length of the left terminal to angle the horizontal stem
+- Modified **tcaron** - decreased length of the left terminal to angle the horizontal stem
+- Modified **tcommaaccent** - adjusted curves, decreased length of the left terminal to angle the horizontal stem
+- Modified **uhorn** - adjusted curves, decreased width of lower terminal to create angled stem
+- Modified **uhungarumlaut** - adjusted curves, decreased width of lower terminal to create angled stem
+- Modified **umacron** - adjusted curves, decreased width of lower terminal to create angled stem
+- Modified **uogonek** - adjusted curves, decreased width of lower terminal to create angled stem
+- Modified **uring** - adjusted curves, decreased width of lower terminal to create angled stem
+- Modified **utilde** - adjusted curves, decreased width of lower terminal to create angled stem
+- Modified **yacute** - adjusted curves
+- Modified **ycircumflex** - adjusted curves
+- Modified **ydieresis** - adjusted curves
+- Modified **ygrave** - adjusted curves
+- Modified **zdotaccent** - rounded corners of dot
+- Modified **gbreve** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **ntilde** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **ugrave** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **uacute** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **ucircumflex** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **udieresis** - decreased width of terminal, opened angle in regular and bold sets
+- Modified **exclamdown** - rounded corners of the dot
+- Modified **dieresis** - rounded corners
+- Modified **questionmarkdown** - rounded corners of the dot
+- Modified **ordfeminine** - decreased width of lower terminal on the a character to create angled stem
+- Modified **Adieresis** - rounded corners of dieresis component of glyph
+- Modified **Edieresis** - rounded corners of dieresis component of glyph
+- Modified **Idieresis** - rounded corners of dieresis component of glyph
+- Modified **Odieresis** - rounded corners of dieresis component of glyph
+- Modified **Udieresis** - rounded corners of dieresis component of glyph
+- Modified **Ydieresis** - rounded corners of dieresis component of glyph
+- Modified **adieresis** - rounded corners of dieresis component of glyph
+- Modified **edieresis** - rounded corners of dieresis component of glyph
+- Modified **idieresis** - rounded corners of dieresis component of glyph
+- Modified **odieresis** - rounded corners of dieresis component of glyph
+- Modified **udieresis** - rounded corners of dieresis component of glyph
+- Modified **ydieresis** - rounded corners of dieresis component of glyph
+- Modified **Idotaccent** - rounded corners of the dot
+- Modified **dotaccent** - rounded corners of the dot
+- Modified **ellipsis** - rounded corners of the dots
+- Modified **periodcentered** - rounded corners of the dot
+
+
+##### Greek Character Set
+
+- Modified **upsilondieresistonos** - adjusted vertical position to properly position on the baseline
+- Modified **iotadieresistonos** - adjusted vertical position to properly position on the baseline
+- Modified **eth** - altered curve of the neck
+- Modified **uppercase eta** - modified the curves
+- Modified **uppercase theta** - modified the curves
+- Modified **uppercase omicron** - modified the curves
+- Modified **uppercase rho** - modified the curves
+- Modified **uppercase psi** - modified the curves
+- Modified **uppercase upsilon** - new glyph style (change from Latin Y shape)
+- Modified **uppercase omega** - modified the curves
+- Modified **uppercase alphatonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase epsilontonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase etatonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase iotatonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase omicrontonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase upsilontonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase omegatonos** - adjusted right and left sidebearings, corrected position of the tonos symbol
+- Modified **uppercase iotadieresis** - rounded the dieresis points
+- Modified **uppercase upsilondieresis** - new upsilon shape, rounded the dieresis points
+- Modified **lowercase alpha** - adjusted curves
+- Modified **lowercase beta** - adjusted curves
+- Modified **lowercase gamma** - adjusted curves
+- Modified **lowercase delta** - adjusted curves
+- Modified **lowercase epsilon** - adjusted curves
+- Modified **lowercase zeta** - adjusted curves
+- Modified **lowercase eta** - decreased width of the top terminal to create angled stem, adjusted curves
+- Modified **lowercase theta** - adjusted curves
+- Modified **lowercase iota** - adjusted curves
+- Modified **lowercase lambda** - adjusted curves
+- Modified **lowercase mu** - adjusted curves
+- Modified **lowercase nu** - adjusted curves
+- Modified **lowercase xi** - adjusted curves
+- Modified **lowercase omicron** - adjusted curves
+- Modified **lowercase pi** - adjusted curves
+- Modified **lowercase rho** - adjusted curves
+- Modified **lowercase sigmafinal** - adjusted curves
+- Modified **lowercase sigma** - adjusted curves
+- Modified **lowercase tau** - adjusted curves
+- Modified **lowercase upsilon** - adjusted curves
+- Modified **lowercase phi** - adjusted curves
+- Modified **lowercase chi** - adjusted curves
+- Modified **lowercase psi** - adjusted curves
+- Modified **lowercase omega** - adjusted curves
+- Modified **lowercase iotatonos** - adjusted curves
+- Modified **lowercase iotadieresis** - rounded points of the dieresis, adjusted curves
+- Modified **iotadieresistonos** - rounded corners of points of dieresis mark, appropriately positioned tonos mark, adjusted curves
+- Modified **lowercase upsilontonos** - adjusted curves
+- Modified **lowercase upsilondieresis** - rounded points of dieresis mark, adjusted curves
+- Modified **upsilondieresistonos** - rounded corners of points of dieresis mark, appropriately positioned tonos mark, adjusted curves
+- Modified **lowercase omicrontonos** - adjusted curves
+- Modified **lowercase omegatonos** - adjusted curves
+- Modified **lowercase alphatonos** - adjusted curves
+- Modified **lowercase epsilontonos** - adjusted curves
+- Modified **lowercase etatonos** - decreased width of top terminal to create angled stem, adjusted curves
+
+
+##### Cyrillic Character Set
+
+- Modified curves in uni0411, uni0412, uni0401, uni0417, uni041B, uni041E, uni0420, uni0421, uni0423, uni040E, uni0424, uni0427, uni042F, uni042C, uni042A, uni042B, uni0409, uni040A, uni0405, uni0404, uni042D, uni0408, uni040B, uni042E, uni0402, uni0462, uni0472, uni0494, uni0498, uni04AA, uni04BA, uni04CB, uni04D0, uni04D2, uni04D6, uni04D8, uni04DA, uni04DC, uni04DE, uni04E0, uni04E4, uni04E6, uni04E8, uni04EA, uni04EC, uni04EE, uni04F0, uni04F2, uni04F4, uni04F8, uni0510, uni051A, uni0430, uni0431, uni0432, uni0434, uni0435, uni0450, uni0451, uni0437, uni0439, uni043B, uni043E, uni0440, uni0441, uni0443, uni045E, uni0444, uni0447, uni044F, uni044C, uni044A, uni044B, uni0459, uni045A, uni0455, uni0454, uni044D, uni0456, uni0457, uni0458, uni045B, uni044E, uni0452, uni0463, uni0473, uni0499, uni04AB, uni04BB, uni04CC, uni04D1, uni04D3, uni04D7, uni04D9, uni04DB, uni04DD, uni04DF, uni04E1, uni04E5, uni04E7, uni04E9, uni04EB, uni04ED, uni04EF, uni04F1, uni04F3, uni04F5, uni04F9, uni0511, uni051B, uni04D5
+- Rounded corners of points of dieresis marks in uni0401, uni0407, uni04D2, uni04DA, uni04DC, uni04DE, uni04E4, uni04E6, uni04EA, uni04EC, uni04F0, uni04F4, uni04F8, uni0451, uni0457, uni04D3, uni04DB, uni04DD, uni04DF, uni04E5, uni04E7, uni04EB, uni04ED, uni04F1, uni04F5, uni04F9
+- Rounded corners of dots in uni0456, uni0458
+- Modified **lowercase i** glyphs (uni0456, uni0457) so that they are consistent with the shape of the Hack Latin lowercase i
+- Modified **uni0430** - decreased width of lower terminal to create angle
+- Modified **uni0440** - decreased width of upper terminal to create angle
+- Modified **uni04D1** - decreased width of lower terminal to create angle
+- Modified **uni04D3** - decreased width of lower terminal to create angle
+- Modified **uni051B** - decreased width of upper terminal to create angle
+- Numerous metrics changes to better align the Cyrillic glyphs in a fixed width format
+
+##### Armenian Character Set
+
+- Modified curves in uni0531, uni0532, uni0533, uni0534, uni0535, uni0536, uni0538, uni0539, uni053A, uni053B, uni053D, uni053E, uni053F, uni0540, uni0541, uni0542, uni0543, uni0544, uni0545, uni0546, uni0547, uni0548, uni0549, uni054A, uni054B, uni054C, uni054D, uni054E, uni054F, uni0550, uni0551, uni0553, uni0554, uni0555, uni0556, uni0561, uni0562, uni0563, uni0564, uni0565, uni0566, uni0568, uni0569, uni056A, uni056B, uni056D, uni056E, uni056F, uni0570, uni0571, uni0572, uni0573, uni0574, uni0575, uni0576, uni0577, uni0578, uni0579, uni057A, uni057B, uni057C, uni057D, uni057E, uni057F, uni0580, uni0581, uni0583, uni0584, uni0585, uni0586, uni0587
+- Modified **uni0563** - decreased width of the upper terminal to create angle
+- Modified **uni0564** - decreased width of the upper terminal to create angle
+- Modified **uni0566** - decreased width of the upper terminal to create angle
+- Modified **uni0568** - decreased width of the upper terminal to create angle
+- Modified **uni0569** - decreased width of the upper terminal to create angle
+- Modified **uni0572** - decreased width of the upper terminal to create angle
+- Modified **uni0573** - decreased width of the upper terminal to create angle
+- Modified **uni0574** - decreased width of the upper terminal to create angle
+- Modified **uni0576** - decreased width of the upper terminal to create angle
+- Modified **uni0578** - decreased width of the upper terminal to create angle
+- Modified **uni057C** - decreased width of the upper terminal to create angle
+- Modified **uni057D** - decreased width of the upper terminal to create angle
+- Modified **uni0580** - decreased width of the upper terminal to create angle
+- Modified **uni0581** - decreased width of the upper terminal to create angle
+- Modified **uni0584** - decreased width of the upper terminal to create angle
+
+
+##### Georgian Character Set
+
+- Modified curves in uni10D0, uni10D1, uni10D2, uni10D3, uni10D4, uni10D5, uni10D6, uni10D7, uni10D8, uni10D9, uni10DA, uni10DB, uni10DC, uni10DD, uni10DE, uni10DF, uni10E0, uni10E1, uni10E2, uni10E3, uni10E4, uni10E5, uni10E6, uni10E7, uni10E8, uni10E9, uni10EA, uni10EB, uni10EC, uni10ED, uni10EE, uni10EF, uni10F0, uni10F1, uni10F2, uni10F3, uni10F4, uni10F5, uni10F6, uni10F7, uni10F8, uni10F9, uni10FA, uni10FC, uni055C, uni055E
+- Rounded corners of points in uni10FB, uni0589
+
+
+##### Punctuation Character Set
+
+- Modified curves in uni2047, questiondown, uni203D, uni203F, uni2048, uni2049, uni204B, uni2E18, uni2E1F, uni2E2E, uni2E18.case, questiondown.case, uni208E, uni207E, uni2768, uni2769, uni276B, uni27C5, uni27C6, uni2987, uni2988, uni055C, uni055E, uni061F, H18533, circle, uni25EF, uni25D0, uni25D1, uni25D2, uni25D3, uni25D6, uni25D7, uni25D4, uni25D5, uni25F4, uni25F5, uni25F6, uni25F7, uni25CD, uni25C9, uni25CE, openbullet, invbullet, invcircle, uni25DA, uni25DB, uni25E0, uni25E1, uni25DC, uni25DD, uni25DE, uni25DF, ampersand, copyright, registered, section, degree
+- Modified **dong** - decreased width of the lower terminal to create an angled stem
+- Modified **uni20A5** - decreased width of the upper terminal to create an angled stem
+- Modified **uni225D** - decreased width of the lower terminal on the d character to create an angled stem
+- Modified **uni225E** - decreased width of the upper terminal to create an angled stem
+
+
+##### Symbol Character Set
+
+- Modified curves in cent, colonmonetary, dong, euro, florin, lira, peseta, sterling, uni0E3F, uni20A0, uni20A2, uni20A5, uni20A8, uni20AA, uni20AF, uni20B0, uni20B1, uni20B2, uni20B4, uni20B5, uni20B9, approxequal, asciitilde, circlemultiply, circleplus, congruent, element, emptyset, infinity, integral, integralbt, integraltp, intersection, notelement, notsubset, partialdiff, percent, perthousand, propersubset, propersuperset, proportional, reflexsubset, reflexsuperset, similar, suchthat, therefore, uni2031, uni2126, uni2201, uni220A, uni220C, uni220D, uni2218, uni221B, uni222C, uni222D, uni2235, uni2236, uni2237, uni2238, uni2239, uni223A, uni223B, uni223D, uni2241, uni2242, uni2243, uni2244, uni2246, uni2247, uni2249, uni224A, uni224B, uni224C, uni224E, uni224F, uni2250, uni2251, uni2252, uni2253, uni2254, uni2255, uni2256, uni2257, uni2258, uni225D, uni225E, uni225F, uni2272, uni2273, uni2274, uni2275, uni227C, uni227D, uni227E, uni227F, uni2285, uni2288, uni2289, uni228B, uni228D, uni2296, uni2298, uni2299, uni229A, uni229B, uni229C, uni229D, uni22B8, uni22CD, uni22D0, uni22D1, uni22DE, uni22DF, uni22E0, uni22E1, uni22E6, uni22E7, uni22E8, uni22E9, uni22EF, uni23A8, uni23AC, uni27DC, uni2A00, uni2A6A, uni2A6B, union, uni219C, uni219D, uni21AD, uni21A9, uni21AA, uni21AB, uni21AC, uni21B6, uni21B7, uni21BA, uni21BB, uni21F4, H18533, circle, uni25EF, uni25D0, uni25D1, uni25D2, uni25D3, uni25D6, uni25D7, uni25D4, uni25D5, uni25F4, uni25F5, uni25F6, uni25F7, uni25CD, uni25C9, uni25CE, openbullet, invbullet, invcircle, uni25DA, uni25DB, uni25E0, uni25E1, uni25DC, uni25DD, uni25DE, uni25DF, at, ampersand, copyright, registered, section, degree, uni0606, uni03F6
+
+### Metrics Changes
+
+- Changed line gap / typo line gap to 275 units
+- Modified **uppercase P** - increased right sidebearing to equal sidebearing of uppercase O glyph
+- Modified **uppercase Z** - changed to right = left sidebearing (shifts orientation to left) for regular, bold, oblique sets
+- Modified **uppercase Z** - reduced left sidebearing for bold oblique set, not necessary to make this equal as with above sets
+- Modified **lowercase a** - reduced left sidebearing
+- Modified **lowercase c** - reduced left sidebearing
+- Modified **lowercase e** - increased left sidebearing
+- Modified **lowercase g** - increased left sidebearing
+- Modified **lowercase i** - increased left sidebearing
+- Modified **lowercase j** - increased left sidebearing
+- Modified **lowercase k** - reduced left sidebearing
+- Modified **lowercase r** - reduced left sidebearing
+- Modified **3** - increased left sidebearing
+- Modified **Zacute** - centered glyph (reduced left sidebearing, increased right sidebearing)
+- Modified **Zcaron** - centered glyph (reduced left sidebearing, increased right sidebearing)
+- Modified **Zdotaccent** - centered glyph (reduced left sidebearing, increased right sidebearing)
+- Modified **aacute** - increased left sidebearing
+- Modified **abreve** - increased left sidebearing
+- Modified **acircumflex** - increased left sidebearing
+- Modified **adieresis** - increased left sidebearing
+- Modified **agrave** - increased left sidebearing
+- Modified **amacron** - increased left sidebearing
+- Modified **aogonek** - increased left sidebearing
+- Modified **aring** - increased left sidebearing
+- Modified **atilde** - increased left sidebearing
+- Modified **kcommaaccent** - decreased left sidebearing
+- Modified **racute** - decreased left sidebearing
+- Modified **rcaron** - decreased left sidebearing
+- Modified **rcommaaccent** - decreased left sidebearing
+- Mofified **Mu** - increased left sidebearing
+- Modified **Zeta** - reduced left sidebearing to center the glyph
+- Modified **Rho** - reduced left sidebearing
+- Modified **Phi** - increased left sidebearing
+- Modified **left guillemet** - increased right sidebearing
+- Modified **right guillemet** - increased left sidebearing
+- Modified **left brace** - increased right sidebearing
+- Modified **right brace** - increased left sidebearing
+- Modified **left bracket** - increased right sidebearing
+- Modified **right bracket** - increased left sidebearing
+- Modified **left parenthesis** - increased right sidebearing
+- Modified **right parenthesis** - increased left sidebearing
+- Adjusted spacing on all diacritic marks in the regular, bold, oblique, and bold oblique set
+
+### True Type Instructions / PostScript Hinting
+
+- New TrueType instructions / PostScript hinting across the entire glyph set
+
+### Removed
+
+- Removed **fi** and **fl** ligatures. Spacing issues that require these ligatures are not present in this monospaced typeface
+
+
+# Version 1.3
+
+### Modified Glyphs
+
+- Curve adjustments & curve smoothing across all glyphs in the font collection
+- hinting improvements
+
+### Build Files
+
+- New binary build system - should result in improved cross-platform compatibility for font binaries
+
+
+# Version 1.2
+
+### Modified Glyphs
+
+- Modified **lowercase i** glyph. Removed serif and added curved tail
+- Modified **hyphen** glyph. Widened
+- Modified **zero** glyph. Adjusted alignment and shape of the oval fill
+- Modified **left parenthesis** glyph. Increased right sidebearing length
+- Modified **right parenthesis** glyph. Increased left sidebearing length
+
+### Source
+
+- Converted to UFO formatted source
+
+
+# Version 1.0.1
+
+- Modified the SIL license to permit dual licensing with the Bitstream Vera license. This modification removed the stipulation that multiple licenses are not possible (preamble and section #5) and was intended to create the new Reserved Font Name Hack for this typeface modification and preserve the right (for myself and others) to define Reserved Font Names for all future fonts derived from this typeface. There are no other modifications to either license under which this font is released.
+- This release did not introduce changes to the glyphs included in the typeface
+
+
+# Version 1.0.0
+- Branched Bitstream Vera Sans Mono 1.10 release
+
+## Changes
+
+### New Glyphs
+
+- New **exclamation point** glyph. Circular full stop point, tapered line, increased weight relative to other characters.
+- New **asterisk** glyph. Glyph shape from Source Code Pro. Modified vertical position of the glyph to orient closer to the ascender.
+- New **period** glyph. Circular full stop point, modified from square glyph.
+- New **comma** glyph. Rounded comma shape from Source Code Pro, modified from square glyph.
+- New **colon** glyph. Circular colon points, modified from square points.
+- New **semicolon** glyph. Circular point and rounded comma shape from Source Code Pro, increased vertical spacing between the shapes
+
+
+### Modified Glyphs
+- Modified **percent** glyph. Increased line length and added vertical line ends.
+- Modified **zero** glyph. Changed circular fill to oval fill.
+- Modified **left square bracket** glyph. Increased height of the glyph.
+- Modified **right square bracket** glyph. Increased height of the glyph.
+- Modified **left curly bracket** glyph. Modified vertical position, increased length of the horizontal stem, decreased left sidebearing
+- Modified **right curly bracket** glyph. Modified vertical position, increased length of the horizontal stem, decreased right sidebearing
+- Modified **question mark** glyph. Changed square full stop point to circular full stop point.
+- Modified **hyphen** glyph. Raised vertical alignment to center `->` character combinations.
+
+### Font Styles
+- **Regular** - includes all changes indicated above
+- **Regular Oblique** - includes all changes indicated above
+- **Bold** - includes all changes indicated above
+- **Bold Oblique** - includes all changes indicated above
+
+
diff --git a/source/x/hack-fonts-ttf/LICENSE.md b/source/x/hack-fonts-ttf/LICENSE.md
new file mode 100644
index 000000000..08927e504
--- /dev/null
+++ b/source/x/hack-fonts-ttf/LICENSE.md
@@ -0,0 +1,45 @@
+The work in the Hack project is Copyright 2018 Source Foundry Authors and licensed under the MIT License
+
+The work in the DejaVu project was committed to the public domain.
+
+Bitstream Vera Sans Mono Copyright 2003 Bitstream Inc. and licensed under the Bitstream Vera License with Reserved Font Names "Bitstream" and "Vera"
+
+### MIT License
+
+Copyright (c) 2018 Source Foundry Authors
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+### BITSTREAM VERA LICENSE
+
+Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated documentation files (the "Font Software"), to reproduce and distribute the Font Software, including without limitation the rights to use, copy, merge, publish, distribute, and/or sell copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions:
+
+The above copyright and trademark notices and this permission notice shall be included in all copies of one or more of the Font Software typefaces.
+
+The Font Software may be modified, altered, or added to, and in particular the designs of glyphs or characters in the Fonts may be modified and additional glyphs or characters may be added to the Fonts, only if the fonts are renamed to names not containing either the words "Bitstream" or the word "Vera".
+
+This License becomes null and void to the extent applicable to Fonts or Font Software that has been modified and is distributed under the "Bitstream Vera" names.
+
+The Font Software may be sold as part of a larger software package but no copy of one or more of the Font Software typefaces may be sold by itself.
+
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
+
+Except as contained in this notice, the names of Gnome, the Gnome Foundation, and Bitstream Inc., shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Font Software without prior written authorization from the Gnome Foundation or Bitstream Inc., respectively. For further information, contact: fonts at gnome dot org.
diff --git a/source/x/hack-fonts-ttf/README.md b/source/x/hack-fonts-ttf/README.md
new file mode 100644
index 000000000..0d9e56cef
--- /dev/null
+++ b/source/x/hack-fonts-ttf/README.md
@@ -0,0 +1,226 @@
+
+# Hack
+
+[![GitHub release](https://img.shields.io/github/release/source-foundry/hack.svg?style=flat)](https://github.com/source-foundry/Hack/releases/latest)
+[![Build Status](https://semaphoreci.com/api/v1/sourcefoundry/hack/branches/master/shields_badge.svg)](https://semaphoreci.com/sourcefoundry/hack)
+[![Contributors](https://img.shields.io/badge/contributors-129-orange.svg?style=flat)](https://github.com/source-foundry/Hack/blob/master/docs/CONTRIBUTORS.md)
+[![Join the chat at https://gitter.im/source-foundry/Hack](https://badges.gitter.im/source-foundry/Hack.svg)](https://gitter.im/source-foundry/Hack)
+[![Github All Releases](https://img.shields.io/github/downloads/source-foundry/hack/total.svg?style=flat)](https://github.com/source-foundry/Hack/releases/latest)
+[![](https://data.jsdelivr.com/v1/package/npm/hack-font/badge?style=rounded)](https://www.jsdelivr.com/package/npm/hack-font)
+
+Don't like the development noise from the repository but want to keep up with changes? Check out our [gitter Hack channel](https://gitter.im/source-foundry/Hack). Have a quick question that doesn't require an issue report? Drop by our [gitter Help channel](https://gitter.im/source-foundry/Help) and ask away.
+
+### A typeface designed for source code
+
+Hack is designed to be a workhorse typeface for source code. It has deep roots in the free, open source typeface community and expands upon the contributions of the [Bitstream Vera](https://www.gnome.org/fonts/) & [DejaVu](https://dejavu-fonts.github.io/) projects. The large x-height + wide aperture + low contrast design make it legible at commonly used source code text sizes with a sweet spot that runs in the 8 - 14 range. The full set of changes to the upstream source are available in the [changelog](CHANGELOG.md).
+
+The project is in active development, and we welcome your input and contributions. You may view our design objectives and instructions on how to contribute in [CONTRIBUTING.md](CONTRIBUTING.md).
+
+Frequently asked questions are answered in our [FAQ](FAQ.md).
+
+### Contents
+
+* [Features](#overview-of-features)
+* [Quick installation](#quick-installation)
+* [Package manager installation](#package-managers)
+* [Web font usage](#web-font-usage)
+* [Additional tools for font customization](#additional-tools-for-hack-font-customization)
+* [Resources](#resources)
+* [Contributing](#contributing)
+* [Build tools](#built-with)
+* [Acknowledgments](#acknowledgments)
+* [License](#license)
+
+
+### Specimen
+
+<a href="http://source-foundry.github.io/Hack/font-specimen.html"><img src="img/hack-specimen-3-crunch.png" alt="Hack &mdash; a typeface designed for source code" width="728"></a>
+
+## Overview of features
+
+- **Typeface Name**: Hack
+- **Category**: Monospaced
+- **Character set support**: ASCII, Latin-1, Latin Extended A, Greek, Cyrillic
+- **Powerline Support**: Yes, included by default
+- **Included Styles**: Regular, Bold, Italic, Bold Italic
+
+## Quick installation
+
+**NOTE ON FONT UPDATES**
+*If you are updating your version of Hack, be sure to remove the previously installed version and clear your font cache first to avoid conflicts that can lead to platform-specific rendering errors. Many platforms/distros offer package managers that automate this process. We release a Windows installer to automate the install/update process on the Windows platform. See below for additional details.*
+
+### Linux
+
+1. Download the [latest version of Hack][ttf_latest].
+2. Extract the files from the archive (`.zip`).
+3. Copy the font files to either your system font folder (often `/usr/share/fonts/`) or user font folder (often `~/.local/share/fonts/` or `/usr/local/share/fonts`).
+4. Copy the font configuration file in `config/fontconfig/` to either the system font configuration folder (often `/etc/fonts/conf.d/`) or the font user folder (often `~/.config/fontconfig/conf.d`)
+5. Clear and regenerate your font cache and indexes with the following command:
+
+```
+$ fc-cache -f -v
+```
+
+You can confirm that the fonts are installed with the following command:
+
+```
+$ fc-list | grep "Hack"
+```
+
+Some Linux users may find that font rendering is improved on their distro with [these instructions](https://wiki.manjaro.org/index.php?title=Improve_Font_Rendering).
+
+### macOS
+
+1. Download the [latest version of Hack][ttf_latest].
+2. Extract the files from the archive (`.zip`) and click to open them.
+3. Follow the instructions from your operating system.
+4. Enjoy!
+
+
+### Windows
+
+[![Hack Windows Installer](https://img.shields.io/badge/Windows-Installer-blue.svg?style=flat-square)](https://github.com/source-foundry/Hack-windows-installer/releases/latest)
+
+The [Hack Windows Installer](https://github.com/source-foundry/Hack-windows-installer/releases/latest) simplifies installation on the Windows platform. The tool guides you through the installation process and addresses some common rendering issues that occur with font installs/updates on the Windows platform. This tool is the recommended installation approach for Windows users.
+
+
+### Chrome/ChromeOS
+
+To use with [Secure Shell](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo),
+edit the following fields in Options:
+
+ - font-family: `"Hack"`
+ - user-css: `https://cdn.jsdelivr.net/npm/hack-font@3/build/web/hack.css`
+
+## Package managers
+
+We highly recommend the convenience of a community developed package manager or other auto-updating utility if this is available on your platform. While the package manager releases may be a bit delayed relative to the repository releases, the packages distributed through these package managers were designed to tune and automate font installs and updates on your system.
+
+We are aware of Hack support in the following package managers (with associated package names):
+
+- **Arch Linux**: `ttf-hack`
+- **Chocolatey (Windows)**: `hackfont`
+- **Debian**: `fonts-hack-ttf`
+- **Fedora / CentOS**: `dnf-plugins-core :: heliocastro/hack-fonts :: hack-fonts`
+- **Gentoo Linux**: `media-fonts/hack`
+- **Homebrew Cask (OS X)**: `homebrew/cask-fonts/font-hack`
+- **Open BSD**: `fonts/hack-fonts`
+- **OpenSUSE**: `hack-fonts`
+- **Ubuntu**: `fonts-hack-ttf`
+- **Visual Studio Package Manager**: `hack.font`
+
+For installation issues with Hack packages, please contact the package maintainer directly.
+
+
+## Web font usage
+
+Hack is available in the woff and woff2 web font formats. **Bold** and *italic* styles are included by default and work out-of-the-box via the `<strong>` and `<em>` tags.
+
+Hack is available through the jsDelivr and cdnjs CDN services:
+
+[![jsDelivr](https://img.shields.io/badge/jsDelivr-Hack_web_font_CDN-blue.svg?style=flat-square)](https://www.jsdelivr.com/package/npm/hack-font)
+[![cdnjs](https://img.shields.io/badge/cdnjs-Hack_web_font_CDN-blue.svg?style=flat-square)](https://cdnjs.com/libraries/hack-font)
+
+The following snippets provide examples of Hack web font use through the jsDelivr CDN. Adjust the URL paths to those provided by cdnjs (click the link above to find the appropriate URL) to switch to the cdnjs CDN.
+
+#### 1. Add Hack to HTML
+
+Include one of the following in the &lt;head&gt; section of your HTML file:
+
+**Subset web fonts**
+
+```html
+<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/hack-font@3/build/web/hack-subset.css">
+```
+
+**Full character set web fonts**
+
+```html
+<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/hack-font@3/build/web/hack.css">
+```
+
+#### 2. Add Hack to CSS
+
+
+```css
+pre, code { font-family: Hack, monospace; }
+```
+
+See the [WEBFONT_USAGE.md](docs/WEBFONT_USAGE.md) documentation for additional details, including instructions on how to download, host, and serve the web fonts on your web server.
+
+## Additional tools for Hack font customization
+
+### Customize your build with alternate glyph styles
+
+The [alt-hack](https://github.com/source-foundry/alt-hack) library includes a (growing) collection of alternate glyph styles that can be used to customize your Hack fonts. Don't like the default zero style? Swap out the UFO design source with a slashed zero or dotted zero and build new fonts that work better for you.
+
+We welcome contributions of new alternate glyph styles in the alt-hack repository. Design something new that works well with rest of the typeface and submit a pull request to the alt-hack repository so that others can use it in their custom builds.
+
+Detailed build instructions are available on the [alt-hack repository README.md](https://github.com/source-foundry/alt-hack). Font renaming instructions to support side-by-side installs with upstream Hack are available below.
+
+### Line spacing adjustments
+
+[font-line](https://github.com/source-foundry/font-line) is a tool that modifies the default line spacing used in the Hack design (20% UPM).
+
+The following gist installs font-line and modifies line spacing for all desktop font files contained in the same directory:
+
+- [linespace.sh](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174) ([download .zip](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174/archive/f3f93dea87d64ddc4684a61cbc96ddf79d30824a.zip))
+
+### Install modified and unmodified versions of Hack on the same system
+
+If you modify the upstream Hack source or the released font binaries and would like to install your modified fonts on the same system with the Hack fonts as released here, you can use the [fontname.py Python script](https://github.com/chrissimpkins/fontname.py) to define a new font name in the binary files. For example, you can install `Hack` on your platform along with a 15% UPM line spacing adjusted version as `Hack Fifteen`. Modify default glyphs with those in our [alt-hack repository](https://github.com/source-foundry/alt-hack) or design your own and define your creation with any name that you'd like. Following installation, your renamed fonts should show under the name that you define with the script so that you can switch between any of them as you need.
+
+Usage details and examples are provided on the fontname.py repository README.
+
+
+## Resources
+* [Full specimen](http://source-foundry.github.io/Hack/font-specimen.html)
+* [Changelog](CHANGELOG.md)
+* [Project website](http://sourcefoundry.org/hack/)
+* [Contributors](docs/CONTRIBUTORS.md)
+
+
+## Contributing
+
+We welcome contributions to Hack! Please review our [CONTRIBUTING.md](CONTRIBUTING.md) document for details.
+
+
+## Built With
+
+Hack is built with the following free, open source projects:
+
+- [Font Bakery](https://github.com/googlefonts/fontbakery) - post-compilation modifications
+- [fontmake](https://github.com/googlei18n/fontmake) - UFO to ttf compilation
+- [fontTools](https://github.com/fonttools/fonttools) - OpenType table read/write
+- [font-v](https://github.com/source-foundry/font-v) - font version string editor
+- [ink](https://github.com/chrissimpkins/ink) - stream editor for text file templating
+- [OpenFV](https://github.com/openfv/openfv) - open specification for semantic typeface versioning
+- [sfnt2woff_zopfli](https://github.com/bramstein/sfnt2woff-zopfli) - ttf to woff web font compilation
+- [ttfautohint](https://www.freetype.org/ttfautohint/) - ttf instruction sets
+- [uni](https://github.com/source-foundry/uni) - Unicode code point search
+- [ufodiff](https://github.com/source-foundry/ufodiff) - UFO source diffs
+- [ufoLib](https://github.com/unified-font-object/ufoLib) - UFO source file reads/writes/testing
+- [ufolint](https://github.com/source-foundry/ufolint) - UFO source file linting for CI testing
+- [woff2](https://github.com/google/woff2) - ttf to woff2 web font compilation
+
+
+## Acknowledgments
+
+We would like to acknowledge and thank the [jsDelivr](https://www.jsdelivr.com/) and [cdnjs](https://cdnjs.com) teams for their support of the Hack project through their free web font CDN services. We greatly appreciate the tremendous support of open source software development by the [Semaphore CI](https://semaphoreci.com/) team. Their free CI testing service and rapid, excellent technical support have been tremendous assets for our project. Lastly, a huge thanks go out to all of those who do the unrecognized work to get Hack out there to users so that it is easy to access, install, upgrade, and use. There are redistribution package managers, review committee members, testers, and others across platforms/distros/applications who perform this thankless work and often go unrecognized. Your efforts are much appreciated.
+
+
+## License
+
+**Hack** work is &copy; 2018 Source Foundry Authors. MIT License
+
+**Bitstream Vera Sans Mono** &copy; 2003 Bitstream, Inc. (with Reserved Font Names _Bitstream_ and _Vera_). Bitstream Vera License.
+
+The font binaries are released under a license that permits unlimited print, desktop, web, and software embedding use for commercial and non-commercial applications.
+
+See [LICENSE.md](https://github.com/source-foundry/Hack/blob/master/LICENSE.md) for the full texts of the licenses.
+
+
+
+<!-- Link to the latest release archive for README.md file -->
+
+[ttf_latest]: https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.zip
diff --git a/source/x/hack-fonts-ttf/doinst.sh b/source/x/hack-fonts-ttf/doinst.sh
new file mode 100644
index 000000000..2056d0734
--- /dev/null
+++ b/source/x/hack-fonts-ttf/doinst.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
+ mkfontscale usr/share/fonts/TTF 2> /dev/null
+ mkfontdir usr/share/fonts/TTF 2> /dev/null
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f 2> /dev/null
+fi
diff --git a/source/x/hack-fonts-ttf/hack-fonts-ttf.SlackBuild b/source/x/hack-fonts-ttf/hack-fonts-ttf.SlackBuild
new file mode 100755
index 000000000..c10dda9a0
--- /dev/null
+++ b/source/x/hack-fonts-ttf/hack-fonts-ttf.SlackBuild
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+# Copyright 2016 Eric Hameleers, Eindhoven, NL
+# 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=hack-fonts-ttf
+SRCNAM=Hack
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 2 -d - | rev | cut -f 2 -d v)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# This is a noarch package:
+ARCH=noarch
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr/share/fonts/TTF
+
+cd $PKG/usr/share/fonts/TTF
+tar xvf $CWD/${SRCNAM}-v${VERSION}-ttf.tar.?z || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a $CWD/*.md $PKG/usr/doc/${PKGNAM}-$VERSION
+chown root:root $PKG/usr/doc/${PKGNAM}-$VERSION/*
+chmod 644 $PKG/usr/doc/${PKGNAM}-$VERSION/*
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/hack-fonts-ttf/hack-fonts-ttf.url b/source/x/hack-fonts-ttf/hack-fonts-ttf.url
new file mode 100644
index 000000000..8df4ff0bf
--- /dev/null
+++ b/source/x/hack-fonts-ttf/hack-fonts-ttf.url
@@ -0,0 +1,4 @@
+https://github.com/source-foundry/Hack/raw/master/CHANGELOG.md
+https://github.com/source-foundry/Hack/raw/master/LICENSE.md
+https://github.com/source-foundry/Hack/raw/master/README.md
+https://github.com/chrissimpkins/Hack
diff --git a/source/x/hack-fonts-ttf/slack-desc b/source/x/hack-fonts-ttf/slack-desc
new file mode 100644
index 000000000..19a3f3048
--- /dev/null
+++ b/source/x/hack-fonts-ttf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+hack-fonts-ttf: hack-fonts-ttf (TrueType monospaced font)
+hack-fonts-ttf:
+hack-fonts-ttf: Hack is a typeface designed for writing source code. It expands upon
+hack-fonts-ttf: the contributions of the Bitstream Vera and DejaVu projects. Hack
+hack-fonts-ttf: includes monospaced regular, bold, oblique, and bold oblique sets to
+hack-fonts-ttf: cover all of your syntax highlighting needs.
+hack-fonts-ttf:
+hack-fonts-ttf: Homepage: http://sourcefoundry.org/hack/
+hack-fonts-ttf:
+hack-fonts-ttf:
+hack-fonts-ttf:
diff --git a/source/x/noto-cjk-fonts-ttf/70-noto-cjk.conf b/source/x/noto-cjk-fonts-ttf/70-noto-cjk.conf
new file mode 100644
index 000000000..c1052bb4c
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/70-noto-cjk.conf
@@ -0,0 +1,147 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+ <match target="pattern">
+ <test name="lang">
+ <string>ja</string>
+ </test>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Serif CJK JP</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>ko</string>
+ </test>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Serif CJK KR</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>zh-cn</string>
+ </test>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Serif CJK SC</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>zh-tw</string>
+ </test>
+ <test name="family">
+ <string>serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Serif CJK TC</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>ja</string>
+ </test>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans CJK JP</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>ko</string>
+ </test>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans CJK KR</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>zh-cn</string>
+ </test>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans CJK SC</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>zh-tw</string>
+ </test>
+ <test name="family">
+ <string>sans-serif</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans CJK TC</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>ja</string>
+ </test>
+ <test name="family">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans Mono CJK JP</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>ko</string>
+ </test>
+ <test name="family">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans Mono CJK KR</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>zh-cn</string>
+ </test>
+ <test name="family">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans Mono CJK SC</string>
+ </edit>
+ </match>
+
+ <match target="pattern">
+ <test name="lang">
+ <string>zh-tw</string>
+ </test>
+ <test name="family">
+ <string>monospace</string>
+ </test>
+ <edit name="family" mode="prepend">
+ <string>Noto Sans Mono CJK TC</string>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/source/x/noto-cjk-fonts-ttf/README.Slackware b/source/x/noto-cjk-fonts-ttf/README.Slackware
new file mode 100644
index 000000000..5e96671c6
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/README.Slackware
@@ -0,0 +1,25 @@
+NOTE:
+Slackware only uses the 118MB 'NotoSansCJK.ttc' and 24 MB
+'NotoSerifCJK-Regular.ttc' files, which are part of the
+1.8 GB archive 'noto-cjk-NotoSansV2.001.tar.gz'.
+Saves tons of space.
+
+If you'd like to package more of the fonts, see the script
+./package-source.sh. You can pass options to it to include
+more (or less) fonts.
+
+From https://www.google.com/get/noto/help/cjk/ :
+
+Super OpenType/CFF Collection (Super OTC)
+This is all-in-one packaging. A super OTC includes all font instances,
+one for each of the seven weights and 4 languages for Noto Sans CJK
+and Noto Serif CJK. It allows you to install all fonts (weight and
+language variations) at once on platforms where OTC format is supported.
+In addition, it takes about 10MB less disk space than separate OTF files.
+
+Sans-serif NotoSansCJK.ttc 36 OTF font files in total:
+NotoSansCJK{jp,kr,sc,tc}-[weight].otf and
+NotoSansMonoCJK{jp,kr,sc,tc}-{Regular, Bold}.otf.
+
+Serif NotoSerifCJK.ttc 28 OTF font files in total:
+NotoSerifCJK{jp,kr,sc,tc}-[weight].otf
diff --git a/source/x/noto-cjk-fonts-ttf/doinst.sh b/source/x/noto-cjk-fonts-ttf/doinst.sh
new file mode 100644
index 000000000..2056d0734
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/doinst.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
+ mkfontscale usr/share/fonts/TTF 2> /dev/null
+ mkfontdir usr/share/fonts/TTF 2> /dev/null
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f 2> /dev/null
+fi
diff --git a/source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.SlackBuild b/source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.SlackBuild
new file mode 100755
index 000000000..193c0b56d
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.SlackBuild
@@ -0,0 +1,70 @@
+#!/bin/bash
+
+# Copyright 2015, 2018, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2015, 2018, 2020 Patrick J. Volkerding, Sebeka, MN 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=noto-cjk-fonts-ttf
+VERSION=${VERSION:-$(echo NotoSansCJK_subset-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+ARCH=noarch
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Install the fonts/docs:
+( cd $PKG
+ tar xf $CWD/NotoSansCJK_subset-${VERSION}.tar.lz
+ mkdir -p usr/share/fonts/TTF
+ mv fonts/* usr/share/fonts/TTF
+ rmdir fonts
+ mkdir -p usr/doc/${PKGNAM}-${VERSION}
+ mv docs/* usr/doc/${PKGNAM}-${VERSION}
+ rmdir docs
+ cp -a $CWD/README.Slackware usr/doc/${PKGNAM}-${VERSION}
+ chown root:root usr/doc/${PKGNAM}-${VERSION}/*
+ chmod 644 usr/doc/${PKGNAM}-${VERSION}/*
+)
+
+# Add a font configuration file (taken from Arch repository):
+mkdir -p $PKG/etc/fonts/conf.avail
+cp -a $CWD/70-noto-cjk.conf $PKG/etc/fonts/conf.avail
+chown root:root $PKG/etc/fonts/conf.avail/70-noto-cjk.conf
+chmod 644 $PKG/etc/fonts/conf.avail/70-noto-cjk.conf
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.url b/source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.url
new file mode 100644
index 000000000..74a2107df
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/noto-cjk-fonts-ttf.url
@@ -0,0 +1 @@
+https://github.com/googlefonts/noto-cjk
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
diff --git a/source/x/noto-cjk-fonts-ttf/slack-desc b/source/x/noto-cjk-fonts-ttf/slack-desc
new file mode 100644
index 000000000..da075b494
--- /dev/null
+++ b/source/x/noto-cjk-fonts-ttf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+noto-cjk-fonts-ttf: noto-cjk-fonts-ttf (Google's Noto CJK fonts)
+noto-cjk-fonts-ttf:
+noto-cjk-fonts-ttf: Noto Sans CJK and Noto Serif CJK comprehensively cover Simplified
+noto-cjk-fonts-ttf: Chinese, Traditional Chinese, Japanese, and Korean in a unified font
+noto-cjk-fonts-ttf: family. This includes the full coverage of CJK Ideographs with
+noto-cjk-fonts-ttf: variation support for 4 regions, Kangxi radicals, Japanese Kana,
+noto-cjk-fonts-ttf: Korean Hangul, and other CJK symbols and letters in the Basic
+noto-cjk-fonts-ttf: Multilingual Plane of Unicode. It also provides limited coverage of
+noto-cjk-fonts-ttf: CJK Ideographs in Plane 2 of Unicode as necessary to support standards
+noto-cjk-fonts-ttf: from China and Japan.
+noto-cjk-fonts-ttf: Homepage: https://www.google.com/get/noto/help/cjk/
diff --git a/source/x/noto-fonts-ttf/doinst.sh b/source/x/noto-fonts-ttf/doinst.sh
new file mode 100644
index 000000000..2056d0734
--- /dev/null
+++ b/source/x/noto-fonts-ttf/doinst.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir -o -x /usr/X11R6/bin/mkfontdir ]; then
+ mkfontscale usr/share/fonts/TTF 2> /dev/null
+ mkfontdir usr/share/fonts/TTF 2> /dev/null
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f 2> /dev/null
+fi
diff --git a/source/x/noto-fonts-ttf/fonts-to-skip.txt b/source/x/noto-fonts-ttf/fonts-to-skip.txt
new file mode 100644
index 000000000..d9048251d
--- /dev/null
+++ b/source/x/noto-fonts-ttf/fonts-to-skip.txt
@@ -0,0 +1,96 @@
+# This information was found here: http://wiki.linuxfromscratch.org/blfs/wiki/noto-fonts
+#
+# List of fonts that are not packaged, and why. Fonts that are commented out
+# *will* be installed, and there might be a few here that in spite of being
+# listed at the above URL are commented out to be installed. Perhaps this is
+# because they don't take up much space, or maybe they are just cool. :-)
+#
+##############################################################################
+# === Historic writing systems === #
+# Some of these lasted into the 20th century, but they are all now obsolete: #
+##############################################################################
+Bamum
+Brahmi
+Carian
+Cuneiform
+Cypriot
+Deseret
+Egyptian Hieroglyphs
+Glagolitic
+Gothic
+Imperial Aramaic
+Inscriptional Pahlavi
+Inscriptional Parthian
+Kharoshthi
+Linear B
+Lycian
+Lydian
+Meetei Mayek
+Ogham
+Old Persian
+Old South Arabian
+Old Turkic
+Osmanya
+Phags Pa
+Phoenician
+Runic
+Shavian
+Syriac Estrangela
+Syriac Western
+Tagalog
+Tagbanwa
+Ugaritic
+######################################################################################
+# === Scripts now only used for religious texts === #
+# Whilst in theory people might put their religious texts on the web in the original #
+# scripts, so far that has not happened. #
+######################################################################################
+Avestan
+Balinese
+Coptic
+Mandaic
+###################################################################
+# === Scripts which may still be used for decorative purposes === #
+# It seems unlikely that Batak will ever be found on the web. #
+# Mongolian script is written vertically and therefore cannot be #
+# used in current web pages (although it seems to work well in #
+# xelatex ;-) N.B. Current Mongolian uses a cyrillic alphabet, #
+# for which both regular Noto Sans and Noto Serif should work #
+# perfectly. #
+###################################################################
+Batak
+Mongolian
+##############################################################################
+# === Scripts which are current, or might still be, but with no web text === #
+# Several of these are minority languages - some are persecuted, others #
+# might eventually have web pages created. #
+##############################################################################
+Buginese
+Buhid
+Canadian Aboriginal
+Cham
+Cherokee
+Ethiopic
+Hanunoo
+Javanese
+Kaithi
+Kayah Li
+Lepcha
+Limbu
+Lisu
+New Tai Lue
+NKo
+Ol Chiki
+Rejang
+Samaritan
+Saurashtra
+Sundanese
+Syloti Nagri
+Syriac Eastern
+Tai Le
+Tai Tham
+Tai Viet
+Tibetan
+Tifinagh
+Vai
+Yi
diff --git a/source/x/noto-fonts-ttf/noto-fonts-ttf.SlackBuild b/source/x/noto-fonts-ttf/noto-fonts-ttf.SlackBuild
new file mode 100755
index 000000000..8131db48c
--- /dev/null
+++ b/source/x/noto-fonts-ttf/noto-fonts-ttf.SlackBuild
@@ -0,0 +1,64 @@
+#!/bin/bash
+
+# Copyright 2015, 2018, 2020 Eric Hameleers, Eindhoven, NL
+# Copyright 2015, 2018, 2020 Patrick J. Volkerding, Sebeka, MN 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.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=noto-fonts-ttf
+VERSION=${VERSION:-$(echo noto-fonts-subset-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+ARCH=noarch
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+# Install the fonts/docs:
+( cd $PKG
+ tar xf $CWD/noto-fonts-subset-${VERSION}.tar.lz
+ chmod 755 .
+ mkdir -p usr/share/fonts/TTF
+ mv fonts/* usr/share/fonts/TTF
+ rmdir fonts
+ mkdir -p usr/doc/${PKGNAM}-${VERSION}
+ mv docs/* usr/doc/${PKGNAM}-${VERSION}
+ rmdir docs
+ chown root:root usr/doc/${PKGNAM}-${VERSION}/*
+ chmod 644 usr/doc/${PKGNAM}-${VERSION}/*
+)
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/x/noto-fonts-ttf/noto-fonts-ttf.url b/source/x/noto-fonts-ttf/noto-fonts-ttf.url
new file mode 100644
index 000000000..0e03c414d
--- /dev/null
+++ b/source/x/noto-fonts-ttf/noto-fonts-ttf.url
@@ -0,0 +1 @@
+https://github.com/googlefonts/noto-fonts/
diff --git a/source/x/noto-fonts-ttf/package-source.sh b/source/x/noto-fonts-ttf/package-source.sh
new file mode 100755
index 000000000..2e11c8724
--- /dev/null
+++ b/source/x/noto-fonts-ttf/package-source.sh
@@ -0,0 +1,114 @@
+#!/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-font archive from github and then packages
+# the languages and weights that are most commonly used 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:-v2017-10-24-phase3-second-cleanup}
+PKGVER=${PKGVER:-$(echo $VERSION | cut -d v -f 2- | cut -d - -f 1-3 | tr -d -)}
+
+# If both .ttc and .ttf formats exist, which to prefer:
+GOOD_FORMAT=${GOOD_FORMAT:-ttf}
+
+# Take non-Noto fonts?
+PACKAGE_NON_NOTO=${PACKAGE_NON_NOTO:-NO}
+
+# Package uncommonly used weights?
+PACKAGE_UNCOMMON_WEIGHTS=${PACKAGE_UNCOMMON_WEIGHTS:-NO}
+
+# Package unique unhinted fonts? This used to be needed solely for the symbol
+# font, but there are hinted versions now. Suggest NO.
+PACKAGE_UNHINTED_FONTS=${PACKAGE_UNHINTED_FONTS:-NO}
+
+# Create a temporary extraction directory:
+EXTRACT_DIR=$(mktemp -d)
+
+( cd $EXTRACT_DIR
+ # Does the source exist in $CWD? If so, just copy it here:
+ if [ -r $CWD/${VERSION}.tar.gz ]; then
+ cp -a $CWD/${VERSION}.tar.gz .
+ else
+ # Fetch the source:
+ lftpget https://github.com/googlefonts/noto-fonts/archive/${VERSION}.tar.gz
+ fi
+ OUTPUT_TIMESTAMP=$(tar tvvf ${VERSION}.tar.gz | head -n 1 | tr -d / | rev | cut -f 2,3 -d ' ' | rev)
+ tar xf ${VERSION}.tar.gz
+ rm ${VERSION}.tar.gz
+ mv *oto* noto-fonts
+ # Remove the fonts listed in fonts-to-skip.txt:
+ cat $CWD/fonts-to-skip.txt | while read line ; do
+ if [ ! "$(echo $line | cut -b 1)" = "#" ]; then
+ RMFONT="$(echo $line | tr -d " ")"
+ rm -f --verbose noto-fonts/*hinted/NotoSans${RMFONT}-*.*
+ rm -f --verbose noto-fonts/*hinted/NotoSerif${RMFONT}-*.*
+ fi
+ done
+ # Remove UI fonts:
+ rm -f --verbose noto-fonts/*hinted/Noto{Sans,Serif}*UI-*.{ttc,ttf}
+ # Remove the unhinted font if a hinted version exists:
+ for hintedfont in noto-fonts/hinted/* ; do
+ rm -f --verbose noto-fonts/unhinted/$(basename $hintedfont)
+ done
+ # Remove duplicates:
+ if [ "$GOOD_FORMAT" = "ttc" ]; then
+ BAD_FORMAT="ttf"
+ else
+ BAD_FORMAT="ttc"
+ fi
+ for file in noto-fonts/*hinted/*.${GOOD_FORMAT} ; do
+ rm -f --verbose noto-fonts/*hinted/$(basename $file .${GOOD_FORMAT}).${BAD_FORMAT}
+ done
+ if [ "$PACKAGE_UNHINTED_FONTS" = "NO" ]; then
+ rm -f --verbose noto-fonts/unhinted/*
+ fi
+ mkdir fonts
+ mv noto-fonts/*hinted/* fonts
+ # Unless we selected to take non-Noto fonts (these are usually the ChromeOS
+ # fonts), eliminate any fonts that do not begin with Noto:
+ if [ "$PACKAGE_NON_NOTO" = "NO" ]; then
+ mkdir fonts-tmp
+ mv fonts/Noto* fonts-tmp
+ rm -rf --verbose fonts
+ mv fonts-tmp fonts
+ fi
+ if [ "$PACKAGE_UNCOMMON_WEIGHTS" = "NO" ]; then
+ rm -f --verbose fonts/*{Condensed,SemiBold,Extra}*.{ttc,ttf}
+ fi
+ mkdir docs
+ mv noto-fonts/{FAQ*,LICENSE*,NEWS*,README*,issue_*} docs
+ rm -r noto-fonts
+ # Fix permissions:
+ find . -type f -exec chmod 644 {} \;
+ # Create source archive:
+ rm -f $CWD/noto-fonts-subset-${PKGVER}.tar*
+ tar cvf $CWD/noto-fonts-subset-${PKGVER}.tar .
+ plzip -9 -v $CWD/noto-fonts-subset-${PKGVER}.tar
+ touch -d "$OUTPUT_TIMESTAMP" $CWD/noto-fonts-subset-${PKGVER}.tar.lz
+)
+
+# Cleanup:
+rm -rf $EXTRACT_DIR
diff --git a/source/x/noto-fonts-ttf/slack-desc b/source/x/noto-fonts-ttf/slack-desc
new file mode 100644
index 000000000..9cabecd7a
--- /dev/null
+++ b/source/x/noto-fonts-ttf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+noto-fonts-ttf: noto-fonts-ttf (Google's Noto fonts)
+noto-fonts-ttf:
+noto-fonts-ttf: When text is rendered by a computer, sometimes characters are
+noto-fonts-ttf: displayed as "tofu". They are little boxes to indicate your device
+noto-fonts-ttf: doesn't have a font to display the text. Google has been developing a
+noto-fonts-ttf: font family called Noto, which aims to support all languages with a
+noto-fonts-ttf: harmonious look and feel. The name noto is to convey the idea that
+noto-fonts-ttf: Google's goal is to see "no more tofu". Noto has multiple styles and
+noto-fonts-ttf: weights, and is freely available to all.
+noto-fonts-ttf:
+noto-fonts-ttf: Homepage: https://github.com/googlefonts/noto-fonts