Browse Source

Merge branch 'dev' into jdw1996-differentiate-q

* dev:
  [README.md] updated Linux font cache clear instructions and added information about font rendering improvements on Linux platform
  [README.md] documentation text updates (minor)
  [README.md] Mac OS X --> macOS in documentation
  3.2.0
  [README.md] updated download link to v3.002 release builds
  [CHANGELOG.md] updated for v3.002
  [archiver.sh] updated archiver script
  Hack v3.002;[e813aeef7]-release builds + CSS builds
  Version 3.002;[f1c8c7abc]-dev : Possible FIX build for issues https://github.com/source-foundry/Hack/issues/377 and https://github.com/source-foundry/Hack/issues/379. Removes -R flag from ttfautohint settings to eliminate blue zone linking between bold/italic/bolditalic and regular variants.
  removed use of -R flag in ttfautohint in an attempt to address bug in https://github.com/source-foundry/Hack/issues/377, this eliminates the regular set as the blue zone reference font
  modified build-ttf.sh script to replace -I flag and remove -n flag (adds ttfautohint metadata back to the name ID 5 record), another attempt to address hinting issue in #377
  converted to compilation and hinting on Linux.  hinting with ttfautohint 1.7, Harfbuzz 1.5, FreeType 2.8
  [ttfautohint-build.sh] revert ttfautohint build dependencies: FreeType back to v2.8 (from v2.8.1), Harfbuzz back to v1.5.0 (from 1.7.4)

# Conflicts:
#	build/ttf/Hack-Bold.ttf
#	build/ttf/Hack-BoldItalic.ttf
#	build/ttf/Hack-Italic.ttf
#	build/ttf/Hack-Regular.ttf
Chris Simpkins 7 years ago
parent
commit
ee5809c9ef

+ 6 - 0
CHANGELOG.md

@@ -1,3 +1,9 @@
+# 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

+ 20 - 14
README.md

@@ -9,7 +9,7 @@ Hack v3 is here!  [Click here to learn what's new](https://medium.com/source-wor
 
 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](http://dejavu-fonts.org/wiki/Main_Page) 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 8px - 14px 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 contributing instructions in [CONTRIBUTING.md](CONTRIBUTING.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).
 
@@ -48,16 +48,22 @@ Frequently asked questions are answered in our [FAQ](FAQ.md).
 
 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/`).
+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. Clear and regenerate your font cache and indexes with the following set of commands:
 
 ```
-$ fc-cache
-$ mkfontscale <install_path>
-$ mkfontdir <install_path>
+$ fc-cache -f -v
 ```
 
-### Mac OS X
+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.
@@ -67,7 +73,7 @@ $ mkfontdir <install_path>
 
 ### Windows
 
-To simplify the installation process on Windows systems, we've created the [Hack Windows Installer](https://github.com/source-foundry/Hack-windows-installer/releases/latest) which will guide you through the installation process. This installer addresses a number of common rendering issues that occur with font installs/updates on the Windows platform and is the recommended approach for Windows users.
+The [Hack Windows Installer](https://github.com/source-foundry/Hack-windows-installer/releases/latest) simplifies the installation process 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
@@ -99,7 +105,7 @@ For installation issues with Hack packages, please contact the package maintaine
 
 ## Web font usage
 
-Hack is available in the woff and woff2 web font formats. Use the snippets below to quickly include Hack via a CDN. **Bold** and *italic* styles are included by default and work out-of-the-box via the `<strong>` and `<em>` tags.
+Hack is available in the woff and woff2 web font formats. Use the snippets below to include Hack on your web pages via CDN. **Bold** and *italic* styles are included by default and work out-of-the-box via the `<strong>` and `<em>` tags.
 
 #### 1. Add Hack to HTML
 
@@ -124,7 +130,7 @@ Include one of the following in the &lt;head&gt; section of your HTML file:
 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 own web server.
+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
 
@@ -132,15 +138,15 @@ See the [WEBFONT_USAGE.md](docs/WEBFONT_USAGE.md) documentation for additional d
 
 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.
 
-Contributions of new glyph styles are welcomed 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 own custom builds.
+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).
 
 ### Line spacing adjustments
 
-[font-line](https://github.com/source-foundry/font-line) is a tool that lets you easily modify the default line spacing that is used in the Hack design (20% UPM).
+[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 ttf and otf fonts in the working directory where the script is located for the percent UPM value that you define at the top of the script:
+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))
 
@@ -154,7 +160,7 @@ The following gist installs font-line and modifies line spacing for all ttf and
 
 ## Contributing
 
-Contributions to the Hack project are welcomed.  Please review our [CONTRIBUTING.md](CONTRIBUTING.md) document for details.
+We welcome contributions to Hack!  Please review our [CONTRIBUTING.md](CONTRIBUTING.md) document for additional details.
 
 
 ## Built With
@@ -195,5 +201,5 @@ See [LICENSE.md](https://github.com/source-foundry/Hack/blob/master/LICENSE.md)
 
 <!-- Link to the latest release archive for README.md file -->
 
-[ttf_latest]: https://github.com/source-foundry/Hack/releases/download/v3.001/Hack-v3.001-ttf.zip
+[ttf_latest]: https://github.com/source-foundry/Hack/releases/download/v3.002/Hack-v3.002-ttf.zip
 

+ 4 - 4
build-ttf.sh

@@ -169,7 +169,7 @@ echo " "
 mkdir master_ttf/hinted
 
 # Hack-Regular.ttf
-if ! "$TTFAH" -l 6 -r 50 -x 10 -H 181 -D latn -f latn -w G -W -t -X "" -n -R "master_ttf/Hack-Regular.ttf" -m "postbuild_processing/tt-hinting/Hack-Regular-TA.txt" "master_ttf/Hack-Regular.ttf" "master_ttf/hinted/Hack-Regular.ttf"
+if ! "$TTFAH" -l 6 -r 50 -x 10 -H 181 -D latn -f latn -w G -W -t -X "" -I -m "postbuild_processing/tt-hinting/Hack-Regular-TA.txt" "master_ttf/Hack-Regular.ttf" "master_ttf/hinted/Hack-Regular.ttf"
 	then
 	    echo "Unable to execute ttfautohint on the Hack-Regular variant set.  Build canceled." 1>&2
 	    exit 1
@@ -177,7 +177,7 @@ fi
 echo "master_ttf/Hack-Regular.ttf - successful hinting with ttfautohint"
 
 # Hack-Bold.ttf
-if ! "$TTFAH" -l 6 -r 50 -x 10 -H 260 -D latn -f latn -w G -W -t -X "" -n -R "master_ttf/Hack-Regular.ttf" -m "postbuild_processing/tt-hinting/Hack-Bold-TA.txt" "master_ttf/Hack-Bold.ttf" "master_ttf/hinted/Hack-Bold.ttf"
+if ! "$TTFAH" -l 6 -r 50 -x 10 -H 260 -D latn -f latn -w G -W -t -X "" -I -m "postbuild_processing/tt-hinting/Hack-Bold-TA.txt" "master_ttf/Hack-Bold.ttf" "master_ttf/hinted/Hack-Bold.ttf"
 	then
 	    echo "Unable to execute ttfautohint on the Hack-Bold variant set.  Build canceled." 1>&2
 	    exit 1
@@ -185,7 +185,7 @@ fi
 echo "master_ttf/Hack-Bold.ttf - successful hinting with ttfautohint"
 
 # Hack-Italic.ttf
-if ! "$TTFAH" -l 6 -r 50 -x 10 -H 145 -D latn -f latn -w G -W -t -X "" -n -R "master_ttf/Hack-Regular.ttf" -m "postbuild_processing/tt-hinting/Hack-Italic-TA.txt" "master_ttf/Hack-Italic.ttf" "master_ttf/hinted/Hack-Italic.ttf"
+if ! "$TTFAH" -l 6 -r 50 -x 10 -H 145 -D latn -f latn -w G -W -t -X "" -I -m "postbuild_processing/tt-hinting/Hack-Italic-TA.txt" "master_ttf/Hack-Italic.ttf" "master_ttf/hinted/Hack-Italic.ttf"
 	then
 	    echo "Unable to execute ttfautohint on the Hack-Italic variant set.  Build canceled." 1>&2
 	    exit 1
@@ -193,7 +193,7 @@ fi
 echo "master_ttf/Hack-Italic.ttf - successful hinting with ttfautohint"
 
 # Hack-BoldItalic.ttf
-if ! "$TTFAH" -l 6 -r 50 -x 10 -H 265 -D latn -f latn -w G -W -t -X "" -n -R "master_ttf/Hack-Regular.ttf" -m "postbuild_processing/tt-hinting/Hack-BoldItalic-TA.txt" "master_ttf/Hack-BoldItalic.ttf" "master_ttf/hinted/Hack-BoldItalic.ttf"
+if ! "$TTFAH" -l 6 -r 50 -x 10 -H 265 -D latn -f latn -w G -W -t -X "" -I -m "postbuild_processing/tt-hinting/Hack-BoldItalic-TA.txt" "master_ttf/Hack-BoldItalic.ttf" "master_ttf/hinted/Hack-BoldItalic.ttf"
 	then
 	    echo "Unable to execute ttfautohint on the Hack-BoldItalic variant set.  Build canceled." 1>&2
 	    exit 1

BIN
build/ttf/Hack-Bold.ttf


BIN
build/ttf/Hack-BoldItalic.ttf


BIN
build/ttf/Hack-Italic.ttf


BIN
build/ttf/Hack-Regular.ttf


BIN
build/web/fonts/hack-bold-subset.woff


BIN
build/web/fonts/hack-bold-subset.woff2


BIN
build/web/fonts/hack-bold.woff


BIN
build/web/fonts/hack-bold.woff2


BIN
build/web/fonts/hack-bolditalic-subset.woff


BIN
build/web/fonts/hack-bolditalic-subset.woff2


BIN
build/web/fonts/hack-bolditalic.woff


BIN
build/web/fonts/hack-bolditalic.woff2


BIN
build/web/fonts/hack-italic-subset.woff


BIN
build/web/fonts/hack-italic-subset.woff2


BIN
build/web/fonts/hack-italic.woff


BIN
build/web/fonts/hack-italic.woff2


BIN
build/web/fonts/hack-regular-subset.woff


BIN
build/web/fonts/hack-regular-subset.woff2


BIN
build/web/fonts/hack-regular.woff


BIN
build/web/fonts/hack-regular.woff2


+ 4 - 4
build/web/hack-subset.css

@@ -6,28 +6,28 @@
  * -------------------------- */
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-regular-subset.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-regular-subset.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-regular-subset.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-regular-subset.woff?sha=e813aeef7') format('woff');
   font-weight: 400;
   font-style: normal;
 }
 
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-bold-subset.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-bold-subset.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-bold-subset.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-bold-subset.woff?sha=e813aeef7') format('woff');
   font-weight: 700;
   font-style: normal;
 }
 
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-italic-subset.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-italic-webfont.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-italic-subset.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-italic-webfont.woff?sha=e813aeef7') format('woff');
   font-weight: 400;
   font-style: italic;
 }
 
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-bolditalic-subset.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-bolditalic-subset.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-bolditalic-subset.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-bolditalic-subset.woff?sha=e813aeef7') format('woff');
   font-weight: 700;
   font-style: italic;
 }

+ 4 - 4
build/web/hack.css

@@ -6,28 +6,28 @@
  * -------------------------- */
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-regular.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-regular.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-regular.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-regular.woff?sha=e813aeef7') format('woff');
   font-weight: 400;
   font-style: normal;
 }
 
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-bold.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-bold.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-bold.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-bold.woff?sha=e813aeef7') format('woff');
   font-weight: 700;
   font-style: normal;
 }
 
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-italic.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-italic.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-italic.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-italic.woff?sha=e813aeef7') format('woff');
   font-weight: 400;
   font-style: italic;
 }
 
 @font-face {
   font-family: 'Hack';
-  src: url('fonts/hack-bolditalic.woff2?sha=50c08ef1e') format('woff2'), url('fonts/hack-bolditalic.woff?sha=50c08ef1e') format('woff');
+  src: url('fonts/hack-bolditalic.woff2?sha=e813aeef7') format('woff2'), url('fonts/hack-bolditalic.woff?sha=e813aeef7') format('woff');
   font-weight: 700;
   font-style: italic;
 }

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "hack-font",
-  "version": "3.1.0",
+  "version": "3.2.0",
   "description": "A typeface designed for source code",
   "repository": {
     "type": "git",

+ 1 - 1
postbuild_processing/archive_prep/archiver.sh

@@ -11,7 +11,7 @@
 #
 # ////////////////////////////////////////////////////////////////////
 
-HACK_VERSION="v3.001"
+HACK_VERSION="v3.002"
 HACK_ARCHIVES_DIR="../../../Hack-archives"
 HACK_BUILD_DIR="../../build"
 

+ 6 - 3
tools/scripts/install/ttfautohint-build.sh

@@ -37,13 +37,16 @@
 BUILD="$HOME/ttfautohint-build"
 
 # The library versions.
-FREETYPE_VERSION="2.8.1"
-HARFBUZZ_VERSION="1.7.4"
+FREETYPE_VERSION="2.8"
+HARFBUZZ_VERSION="1.5.0"
 TTFAUTOHINT_VERSION="1.7"
 
 # Necessary patches (lists of at most 10 URLs each separated by whitespace,
 # to be applied in order).
-FREETYPE_PATCHES=""
+FREETYPE_PATCHES="\
+  http://git.savannah.gnu.org/cgit/freetype/freetype2.git/patch/?id=c9a9cf59 \
+  http://git.savannah.gnu.org/cgit/freetype/freetype2.git/patch/?id=c8829e4b \
+"
 HARFBUZZ_PATCHES=""
 TTFAUTOHINT_PATCHES=""