Browse Source

Merge branch 'dev' into master-dupe

* dev: (149 commits)
  minor readme update
  changed heading levels
  updated readme with manual install on Linux documentation (from INSTALLATION.md docs)
  removed detailed installation docs in favor of concise info in README
  fixes font filepaths in the subset CSS file
  modified acknowledgments
  minor edit
  updated web font usage documentation with modified file paths as of v3.000, text changes.  updated readme reference to the webfont usage docs
  updated web font build path in the build docs, added more descriptive uninstall text to dependency uninstall text in build docs
  clarified instructions about acceptable design change file types in git commits for contributing docs
  added design change licensing question/answer to the FAQ
  README - added specimen header
  README - updated table of contents + internal links
  README update - added download link for linespace.sh shell script
  README updates
  remove line spacing scripts (replacing with link to gist in readme)
  updated contributors
  2.0.20
  Update package.json
  minor updates
  ...

# Conflicts:
#	CONTRIBUTING.md
#	README.md
#	docs/ABOUT.md
#	docs/WEBFONT_USAGE.md
Chris Simpkins 7 years ago
parent
commit
0156f1d080
100 changed files with 1904 additions and 178 deletions
  1. 48 11
      .travis.yml
  2. 91 0
      CHANGELOG.md
  3. 9 7
      CONTRIBUTING.md
  4. 115 0
      CONTRIBUTING.md.orig
  5. 197 0
      FAQ.md
  6. 19 38
      LICENSE.md
  7. 37 0
      Makefile
  8. 98 39
      README.md
  9. 197 0
      README.md.orig
  10. 466 0
      build-subsets.sh
  11. 223 0
      build-ttf.sh
  12. 172 0
      build-woff.sh
  13. 164 0
      build-woff2.sh
  14. BIN
      build/archives/Hack-v2_020-otf.tar.xz
  15. BIN
      build/archives/Hack-v2_020-otf.zip
  16. BIN
      build/archives/Hack-v2_020-ttf.tar.xz
  17. BIN
      build/archives/Hack-v2_020-ttf.zip
  18. BIN
      build/archives/Hack-v2_020-webfonts.tar.xz
  19. BIN
      build/archives/Hack-v2_020-webfonts.zip
  20. BIN
      build/otf/Hack-Bold.otf
  21. BIN
      build/otf/Hack-BoldItalic.otf
  22. BIN
      build/otf/Hack-Italic.otf
  23. BIN
      build/otf/Hack-Regular.otf
  24. BIN
      build/test_builds/DEV02172016/Hack-Bold-DEV.ttf
  25. BIN
      build/test_builds/DEV02172016/Hack-BoldItalic-DEV.ttf
  26. BIN
      build/test_builds/DEV02172016/Hack-Italic-DEV.ttf
  27. BIN
      build/test_builds/DEV02172016/Hack-Regular-DEV.ttf
  28. BIN
      build/test_builds/DEV03062016/Hack-Bold-DEV.ttf
  29. BIN
      build/test_builds/DEV03062016/Hack-BoldItalic-DEV.ttf
  30. BIN
      build/test_builds/DEV03062016/Hack-Italic-DEV.ttf
  31. BIN
      build/test_builds/DEV03062016/Hack-Regular-DEV.ttf
  32. BIN
      build/test_builds/DEV03162016/Hack-Bold-DEV.ttf
  33. BIN
      build/test_builds/DEV03162016/Hack-BoldItalic-DEV.ttf
  34. BIN
      build/test_builds/DEV03162016/Hack-Italic-DEV.ttf
  35. BIN
      build/test_builds/DEV03162016/Hack-Regular-DEV.ttf
  36. BIN
      build/test_builds/DEV03172016/Hack-Bold-DEV.ttf
  37. BIN
      build/test_builds/DEV03172016/Hack-BoldItalic-DEV.ttf
  38. BIN
      build/test_builds/DEV03172016/Hack-Italic-DEV.ttf
  39. BIN
      build/test_builds/DEV03172016/Hack-Regular-DEV.ttf
  40. BIN
      build/test_builds/DEV03192016/Hack-Bold-DEV.ttf
  41. BIN
      build/test_builds/DEV03192016/Hack-BoldItalic-DEV.ttf
  42. BIN
      build/test_builds/DEV03192016/Hack-Italic-DEV.ttf
  43. BIN
      build/test_builds/DEV03192016/Hack-Regular-DEV.ttf
  44. BIN
      build/test_builds/Hack-Bold-DEV.ttf
  45. BIN
      build/test_builds/Hack-BoldItalic-DEV.ttf
  46. BIN
      build/test_builds/Hack-Italic-DEV.ttf
  47. BIN
      build/test_builds/Hack-Regular-DEV.ttf
  48. BIN
      build/ttf/Hack-Bold.ttf
  49. BIN
      build/ttf/Hack-BoldItalic.ttf
  50. BIN
      build/ttf/Hack-Italic.ttf
  51. BIN
      build/ttf/Hack-Regular.ttf
  52. BIN
      build/web/fonts/hack-bold-subset.woff
  53. BIN
      build/web/fonts/hack-bold-subset.woff2
  54. BIN
      build/web/fonts/hack-bold.woff
  55. BIN
      build/web/fonts/hack-bold.woff2
  56. BIN
      build/web/fonts/hack-bolditalic-subset.woff
  57. BIN
      build/web/fonts/hack-bolditalic-subset.woff2
  58. BIN
      build/web/fonts/hack-bolditalic.woff
  59. BIN
      build/web/fonts/hack-bolditalic.woff2
  60. BIN
      build/web/fonts/hack-italic-subset.woff
  61. BIN
      build/web/fonts/hack-italic-subset.woff2
  62. BIN
      build/web/fonts/hack-italic.woff
  63. BIN
      build/web/fonts/hack-italic.woff2
  64. BIN
      build/web/fonts/hack-regular-subset.woff
  65. BIN
      build/web/fonts/hack-regular-subset.woff2
  66. BIN
      build/web/fonts/hack-regular.woff
  67. BIN
      build/web/fonts/hack-regular.woff2
  68. 34 0
      build/web/hack-subset.css
  69. 34 0
      build/web/hack.css
  70. 0 38
      build/webfonts/css/hack-extended.css
  71. 0 4
      build/webfonts/css/hack-extended.min.css
  72. 0 37
      build/webfonts/css/hack.css
  73. 0 4
      build/webfonts/css/hack.min.css
  74. BIN
      build/webfonts/fonts/eot/hack-bold-webfont.eot
  75. BIN
      build/webfonts/fonts/eot/hack-bolditalic-webfont.eot
  76. BIN
      build/webfonts/fonts/eot/hack-italic-webfont.eot
  77. BIN
      build/webfonts/fonts/eot/hack-regular-webfont.eot
  78. BIN
      build/webfonts/fonts/eot/latin/hack-bold-latin-webfont.eot
  79. BIN
      build/webfonts/fonts/eot/latin/hack-bolditalic-latin-webfont.eot
  80. BIN
      build/webfonts/fonts/eot/latin/hack-italic-latin-webfont.eot
  81. BIN
      build/webfonts/fonts/eot/latin/hack-regular-latin-webfont.eot
  82. BIN
      build/webfonts/fonts/web-ttf/hack-bold-webfont.ttf
  83. BIN
      build/webfonts/fonts/web-ttf/hack-bolditalic-webfont.ttf
  84. BIN
      build/webfonts/fonts/web-ttf/hack-italic-webfont.ttf
  85. BIN
      build/webfonts/fonts/web-ttf/hack-regular-webfont.ttf
  86. BIN
      build/webfonts/fonts/web-ttf/latin/hack-bold-latin-webfont.ttf
  87. BIN
      build/webfonts/fonts/web-ttf/latin/hack-bolditalic-latin-webfont.ttf
  88. BIN
      build/webfonts/fonts/web-ttf/latin/hack-italic-latin-webfont.ttf
  89. BIN
      build/webfonts/fonts/web-ttf/latin/hack-regular-latin-webfont.ttf
  90. BIN
      build/webfonts/fonts/woff/hack-bold-webfont.woff
  91. BIN
      build/webfonts/fonts/woff/hack-bolditalic-webfont.woff
  92. BIN
      build/webfonts/fonts/woff/hack-italic-webfont.woff
  93. BIN
      build/webfonts/fonts/woff/hack-regular-webfont.woff
  94. BIN
      build/webfonts/fonts/woff/latin/hack-bold-latin-webfont.woff
  95. BIN
      build/webfonts/fonts/woff/latin/hack-bolditalic-latin-webfont.woff
  96. BIN
      build/webfonts/fonts/woff/latin/hack-italic-latin-webfont.woff
  97. BIN
      build/webfonts/fonts/woff/latin/hack-regular-latin-webfont.woff
  98. BIN
      build/webfonts/fonts/woff2/hack-bold-webfont.woff2
  99. BIN
      build/webfonts/fonts/woff2/hack-bolditalic-webfont.woff2
  100. BIN
      build/webfonts/fonts/woff2/hack-italic-webfont.woff2

+ 48 - 11
.travis.yml

@@ -1,15 +1,52 @@
-sudo: false
-language: python
+sudo: true
+language: generic
+group: deprecated-2017Q3
 
-env:
-  - VARIANT=source/Hack-Regular.ufo
-  - VARIANT=source/Hack-Bold.ufo
-  - VARIANT=source/Hack-Italic.ufo
-  - VARIANT=source/Hack-BoldItalic.ufo
-
-before_script: pip install ufolint
-
-script: "ufolint $VARIANT"
+matrix:
+  include:
+    - os: linux
+      sudo: required
+      env:
+        - TARGET="lint"
+      before_script:
+        - pip install ufolint
+        - sudo apt-get -qq update
+        - sudo apt-get install -y shellcheck
+      script:
+        - make -j $TARGET
+    - os: linux
+      sudo: required
+      env:
+        - TARGET="build-with-dependencies"
+      before_script:
+        - pip install ufolint
+        - sudo apt-get -qq update
+        - sudo apt-get install -y shellcheck
+      script:
+        - make -j $TARGET
+    - os: osx
+      env:
+        - TARGET="lint"
+      before_install:
+        - brew update
+        - brew install python3
+        - virtualenv env -p python3
+        - source env/bin/activate
+      before_script:
+        - pip install ufolint
+        - brew install shellcheck
+      script:
+        - make -j $TARGET
+    - os: osx
+      env:
+        - TARGET="build-with-dependencies"
+      before_install:
+        - brew update
+        - brew install python3
+        - virtualenv env -p python3
+        - source env/bin/activate
+      script:
+        - make -j $TARGET
 
 notifications:
   email: false

+ 91 - 0
CHANGELOG.md

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

+ 9 - 7
CONTRIBUTING.md

@@ -13,7 +13,7 @@ Hack is a general purpose typeface for source code. The _needs of the many_ desc
 ### Core
 
 - **ASCII glyph set**; generally speaking, all source code is limited to the ASCII set. Content/comments/documentation, on the other hand, often includes non-ASCII characters. The former gets precedence over the latter.
-- We focus on an accepted **single glyph style** for each glyph in the typeface sets.  Glyph shape changes that are intended to address our design goals take precedence over changes that are purely subjective in nature.
+- We focus on an accepted **single glyph style** for each glyph in the typeface sets.  Glyph shape changes that are intended to address our design goals take precedence over changes that are purely subjective in nature.  We offer the [alt-hack](https://github.com/source-foundry/alt-hack) repository for alternate Hack glyph styles and contributions of alternate styles are welcomed there.
 - Font-sizes between **8-14 px**, line-height >= 1
 - **Cross-platform**, cross font renderer support on Linux, OS X, and Windows operating systems.  Changes that address cross platform issues take precedence over issues that address platform specific issues.  Changes that improve the typeface on some platforms but decrease its usability on others are generally not acceptable and belong in a fork that is intended for the platforms targeted for these changes.
 - Usage in **common source code display scenarios** (on digital displays): text editors, terminals, embedded as web fonts, etc.
@@ -62,17 +62,19 @@ For pull requests that modify the design of the typeface, we request that you li
 
 ### Glyph modifications
 
-- Only include the modified `glyphs/*.glif` source files for the modified glyphs in commits
+Modifications include all existing glyph design changes, glyph additions, and glyph deletions.
 - Modification of other source files is not acceptable
 
-### Glyph additions and deletions
+- Only include the modified `glyphs/*.glif` source files for the modified glyphs in your pull request commits
+- Modification of other source files is not acceptable and pull requests will not be accepted until the above condition is met
 
 - Include the added and/or deleted `glyphs/*.glif` source file(s) in commits
-- Include the `glyphs/contents.plist` source file in commits
+You can achieve this design modification workflow with one of the following approaches:
 - Modification of other source files is not acceptable
 
-
-### Other Issues
+- maintain a separate local directory for your design modifications and copy the `glyphs/*.glif` files that are changed to your local clone of the Hack source, then push to your remote repository fork for your pull request
+- modify the Hack source in your local clone of the Hack repository and do not commit file changes other than those that are accepted in pull requests (i.e. only include `*.ufo/glyphs/*.glif` files in your commits)
+- modify the Hack source in your local clone of the Hack repository, commit all files, replace all `*plist` files with the upstream versions then perform a git squash commit to eliminate the `*.plist` file changes in the git history (this approach can be used for those who didn't read the instructions and have already commited unacceptable file changes)
 
 - commits that add or delete UFO source files outside of the above recommendations will not be accepted
 
@@ -91,4 +93,4 @@ We love help with our docs!  This includes anything from simple misspelling or g
 
 # Contributors
 
-Contributions to the project come in many forms and we **want** to broadly acknowledge those who spend time and effort to improve the project.  We understand that many contributions to open source projects are not in the form of changes to the code base and therefore not automatically recognized in the Github repository UI.  We maintain a [CONTRIBUTORS.md](docs/CONTRIBUTORS.md) list to acknowledge project contributors for this reason.  If you feel that you have helped to improve Hack and your contributions have been overlooked (i.e. you are not included on the contributors list), please let us know so that we can rectify this issue!  In all likelihood this is an oversight and not intended to be a slight.
+Contributions to the project come in many forms and we **want** to broadly acknowledge those who spend time and effort to improve the project.  We understand that many contributions to open source projects are not in the form of changes to the code base and therefore not automatically recognized in the Github repository UI.  Use case specialists play an extremely important role in the improvement of this typeface.  Individuals who have knowledge of the intricacies of open source typeface licensing, understand open source project redistribution processes, have the capacity to view errors and test in unique platform x font renderer situations, and many other areas that extend beyond the "source code commit" criterion have contributed their expertise to improve Hack. Understanding this issue, we maintain a [CONTRIBUTORS.md](docs/CONTRIBUTORS.md) list to acknowledge project contributors for their time and efforts under our own defintion of a project contribution.  If you feel that you have helped to improve Hack and your contributions have been overlooked (i.e. you are not included on the contributors list), please let us know so that we can rectify this issue!  In all likelihood this is an oversight and not intended to be a slight.

+ 115 - 0
CONTRIBUTING.md.orig

@@ -0,0 +1,115 @@
+# Hack Typeface Design
+
+Hack is a monospaced typeface that is designed to optimize the display of source code text.
+
+This document outlines the core ideas on which we build to continually improve Hack. Ideally, they serve as a final rationale to decide disputes of whatever nature.
+
+Design is a highly subjective and opinionated topic. Being a collaborative effort, we prefer to focus on the discussion about a change, rather than the final product of a change. In practical terms this means that for any substantial amount of work, we'd like to see an Issue Report or Pull Request which presents an idea or the approach for a change. By keeping the discussion open, not only will you get community feedback, it also allows us to judge your contribution on more than the final product.
+
+## Design Targets
+
+Hack is a general purpose typeface for source code. The _needs of the many_ describe our core design targets. Generally, an issue that affects a majority of users receives higher priority than an issue that affects a minority of users.
+
+### Core
+
+- **ASCII glyph set**; generally speaking, all source code is limited to the ASCII set. Content/comments/documentation, on the other hand, often includes non-ASCII characters. The former gets precedence over the latter.
+<<<<<<< HEAD
+- We focus on an accepted **single glyph style** for each glyph in the typeface sets.  Glyph shape changes that are intended to address our design goals take precedence over changes that are purely subjective in nature.
+=======
+- We focus on an accepted **single glyph style** for each glyph in the typeface sets.  Glyph shape changes that are intended to address our design goals take precedence over changes that are purely subjective in nature.  We offer the [alt-hack](https://github.com/source-foundry/alt-hack) repository for alternate Hack glyph styles and contributions of alternate styles are welcomed there.
+>>>>>>> dev
+- Font-sizes between **8-14 px**, line-height >= 1
+- **Cross-platform**, cross font renderer support on Linux, OS X, and Windows operating systems.  Changes that address cross platform issues take precedence over issues that address platform specific issues.  Changes that improve the typeface on some platforms but decrease its usability on others are generally not acceptable and belong in a fork that is intended for the platforms targeted for these changes.
+- Usage in **common source code display scenarios** (on digital displays): text editors, terminals, embedded as web fonts, etc.
+
+## Goals, areas of improvement
+
+- **Legibility** - establish differences in the appearance of similar glyph shapes so as to properly identify different Unicode code points
+- **Readability** - glyph shape and spacing optimizations to improve the capacity to read character-character, word-word, and code block-code block combinations in source code
+- **Visual semantics** - establish semantic commonalities for glyphs used in source code text and create common visual designs within these semantic groups
+
+
+# Issue Reporting
+
+Issue reports from users are extremely important to foster the ongoing development of the typeface.
+
+Before you report an issue, please confirm that you have installed the current version of the Hack typeface on your system. See the [README.md page](README.md) for details.
+
+If you identify a problem, we request that you report it through a new issue report on the Github repository.  Please include the following information in your (bug) issue report:
+
+- Font version (or timeframe when you downloaded the fonts if you do not know)
+- Where you obtained the fonts (e.g. repository download, package manager, another source)
+- variant(s) of the Hack fonts that are affected (Regular, Bold, Italic, BoldItalic)
+- font size at which the problem was observed and whether it occurs at other sizes within the Core design target range (see above)
+- operating system and version
+- application where the issue was observed and version (important for us to understand the renderer involved)
+- screenshot images that visually demonstrate the problem
+
+Please describe what led to the problem in detail.
+
+
+# Pull Requests
+
+We highly encourage contributions to the Hack typeface source code, repository scripts, and documentation.  To view areas where we currently need your help, check out the active issues [Contribute! label](https://github.com/source-foundry/Hack/labels/Contribute%21).
+
+
+Please read and understand our design philosophy statement above in order to avoid frustration with work that we cannot merge upstream.  We are willing to consider pull requests that follow these design guidelines. Having said that, there is never wasted work.  If a change is of value to you, it is likely to be of value to others and this is the perfect situation for a downstream fork of Hack that you can maintain and share with other users.
+
+## Pull requests for design changes
+
+Contributors who submit source modifications intended for merge into the Hack repository must license these changes according to [LICENSE.md](LICENSE.md).  If this is not acceptable, please do not submit your work for consideration.
+
+Contributors who modify the UFO source code should familiarize themselves with the UFO source specification.  The Hack typeface currently uses version 2 of the UFO specification and documentation is available [here](http://unifiedfontobject.org/versions/ufo2/index.html).
+
+For pull requests that modify the design of the typeface, we request that you limit your source commits to the following changes unless we have discussed and explicitly requested additional file changes as part of the contribution.
+
+
+### Glyph modifications
+
+<<<<<<< HEAD
+- Only include the modified `glyphs/*.glif` source files for the modified glyphs in commits
+- Modification of other source files is not acceptable
+
+### Glyph additions and deletions
+
+- Include the added and/or deleted `glyphs/*.glif` source file(s) in commits
+- Include the `glyphs/contents.plist` source file in commits
+- Modification of other source files is not acceptable
+
+
+### Other Issues
+
+- commits that add or delete UFO source files outside of the above recommendations will not be accepted
+=======
+Modifications include all existing glyph design changes, glyph additions, and glyph deletions.
+
+- Only include the modified `glyphs/*.glif` source files for the modified glyphs in your pull request commits
+- Modification of other source files is not acceptable and pull requests will not be accepted until the above condition is met
+
+You can achieve this design modification workflow with one of the following approaches:
+
+- maintain a separate local directory for your design modifications and copy the `glyphs/*.glif` files that are changed to your local clone of the Hack source, then push to your remote repository fork for your pull request
+- modify the Hack source in your local clone of the Hack repository and do not commit file changes other than those that are accepted in pull requests (i.e. only include `*.ufo/glyphs/*.glif` files in your commits)
+- modify the Hack source in your local clone of the Hack repository, commit all files, replace all `*plist` files with the upstream versions then perform a git squash commit to eliminate the `*.plist` file changes in the git history (this approach can be used for those who didn't read the instructions and have already commited unacceptable file changes)
+>>>>>>> dev
+
+
+## Pull requests for script changes
+
+Contributors who submit script source modifications intended for merge into the Hack repository must license these changes according to the license specified in the script header for existing files.  For new files, please discuss your license with us in an issue report before you submit your work for consideration.
+
+Please add an issue report that describes the issue that your pull request is intended to address (and that the pull request will close when merged).
+
+We request that you try not to add additional external dependencies to the project with your commits.  This has the potential to prevent releases of Hack packages on some platforms.  If you need to add a new dependency to the project, we suggest that you discuss this with us in advance through an issue report so that we can confirm that this is acceptable.
+
+## Pull requests for documentation changes
+
+We love help with our docs!  This includes anything from simple misspelling or grammar changes to major revisions of poorly written sections.  For minor changes, a simple pull request suffices.  For major edits, we recommend that you discuss the changes with us in an issue report before you go to the effort.
+
+# Contributors
+
+<<<<<<< HEAD
+Contributions to the project come in many forms and we **want** to broadly acknowledge those who spend time and effort to improve the project.  We understand that many contributions to open source projects are not in the form of changes to the code base and therefore not automatically recognized in the Github repository UI.  We maintain a [CONTRIBUTORS.md](docs/CONTRIBUTORS.md) list to acknowledge project contributors for this reason.  If you feel that you have helped to improve Hack and your contributions have been overlooked (i.e. you are not included on the contributors list), please let us know so that we can rectify this issue!  In all likelihood this is an oversight and not intended to be a slight.
+=======
+Contributions to the project come in many forms and we **want** to broadly acknowledge those who spend time and effort to improve the project.  We understand that many contributions to open source projects are not in the form of changes to the code base and therefore not automatically recognized in the Github repository UI.  Use case specialists play an extremely important role in the improvement of this typeface.  Individuals who have knowledge of the intricacies of open source typeface licensing, understand open source project redistribution processes, have the capacity to view errors and test in unique platform x font renderer situations, and many other areas that extend beyond the "source code commit" criterion have contributed their expertise to improve Hack. Understanding this issue, we maintain a [CONTRIBUTORS.md](docs/CONTRIBUTORS.md) list to acknowledge project contributors for their time and efforts under our own defintion of a project contribution.  If you feel that you have helped to improve Hack and your contributions have been overlooked (i.e. you are not included on the contributors list), please let us know so that we can rectify this issue!  In all likelihood this is an oversight and not intended to be a slight.
+>>>>>>> dev

+ 197 - 0
FAQ.md

@@ -0,0 +1,197 @@
+# FAQ
+
+### Contents
+
+- [Installation](#installation)
+- [Bugs/errors](#bugserrors)
+- [License](#license)
+- [Contribute](#contribute)
+- [Modifications/Derivatives](#modificationsderivatives)
+- [Tinkering](#tinkering)
+
+## Installation
+
+#### How do I download the current version of the Hack desktop fonts?
+
+You can find the [current release of our desktop fonts](https://github.com/source-foundry/Hack/releases/latest) in our releases list.  We recommend that Windows users consider the [Windows installer](https://github.com/source-foundry/Hack-windows-installer) as it addresses font caching issues for initial and repeat installs (for upgrades) that are problematic on the Windows platform.  Hack packages are also available through many package managers for those who would prefer to use this approach.
+
+#### What build format are the Hack desktop fonts released in?
+
+The Hack desktop fonts are released in TrueType format (`.ttf`).
+
+#### How do I download the current version of the Hack web fonts?
+
+Please download the [current release of our web fonts](https://github.com/source-foundry/Hack/releases/latest) from our releases list.
+
+#### What build format are the Hack web fonts released in?
+
+The Hack web fonts are released in Web Open Font Format version 1.0 (`*.woff`) and 2.0 (`*.woff2`).
+
+#### How do I install Hack?
+
+Please see the Quick Installation guide on our [README.md](README.md) page.  If you have further questions, please refer to the font installation instructions for your platform.  A web search should yield all of the information that you need.
+
+#### How do I upgrade Hack?
+
+You can download [the latest release of desktop and web fonts]((https://github.com/source-foundry/Hack/releases/latest)).  We recommend that Windows users upgrade with the [Windows installer](https://github.com/source-foundry/Hack-windows-installer) as it addresses problematic font caching issues that take place on the Windows platform.  Hack packages are also available through many package managers for those who would prefer to use this approach.
+
+
+#### Is there a web font CDN that I can use in my web pages?
+
+Yes.  See the Web Font Usage section of the [README.md](README.md) document for details.
+
+#### How do I find the changes that occurred in recent releases?
+
+Please review the [CHANGELOG.md](CHANGELOG.md) document.
+
+
+## Bugs/errors
+
+#### I found a problem with Hack, what do I do?
+
+Please search our issue reports and confirm that your problem has not already been reported or solved.  If it appears to be a new issue, please review the issue reporting information in our [CONTRIBUTING.md](CONTRIBUTING.md) document and then file a new issue report with the necessary information to address your problem.
+
+#### How do I find my installed Hack version number?
+
+Please refer to documentation for your operating system to determine how to find the font version string for installed fonts.  If you cannot find a solution, you can install and use our [font-v tool](https://github.com/source-foundry/font-v) to view the version string with the command `font-v report [font path]`.
+
+
+## License
+
+#### How is Hack licensed?
+
+Hack is a derivative of upstream Bitstream Vera Sans Mono and DejaVu Sans Mono source.  The Hack changes are licensed under the MIT license.  Bitstream Vera Sans Mono is licensed under the Bitstream Vera license and maintains reserved font names “Bitstream” and “Vera”.  The DejaVu changes to the Bitstream Vera source were committed to the public domain.
+
+You may view the full text of the license in [LICENSE.md](LICENSE.md).
+
+#### Am I allowed to modify glyphs in Hack?
+
+Yes.
+
+#### Am I allowed to extend the character sets in Hack?
+
+Yes.
+
+#### Am I allowed to subset (decrease character set support) Hack?
+
+Yes.
+
+#### Am I allowed to create new build file types for Hack?
+
+Yes.
+
+#### Am I allowed to redistribute an unmodified version of Hack?
+
+Yes.
+
+#### Am I allowed to redistribute a modified version of Hack?
+
+Yes.
+
+#### Do I need to rename a modified version of “Hack”?
+
+As of v3.000, the reserved font name "Hack" was removed from our license.  You may use the name "Hack" for modified versions of the source, though we encourage you to change the name in a way that indicates how this differs from the upstream source if you intend to release the typeface to others.  See the Modifications/Derviatives section of the FAQ below for more information.
+
+#### Do I need to provide attribution when I use Hack?
+
+No.
+
+#### Do I need to maintain the license with modified or unmodified software that is derived from the Hack source?
+
+Yes.
+
+
+## Contribute
+
+#### Do you accept design contributions to Hack?
+
+Yes.  Design contributions are welcomed and encouraged. Please review and familiarize yourself with the design guidelines in the [CONTRIBUTING.md](CONTRIBUTING.md) documentation before you begin work intended as a contribution to the upstream project.  If you question whether the work is acceptable in the upstream, we ask that you file a new issue report to discuss it before you begin.  Having said that, there is no wasted work and if your changes are not appropriate for the upstream source, a new downstream fork with changes that are important to you (and that you maintain) is very much encouraged.
+
+#### How are my design contributions to Hack licensed?
+
+Changes to the Hack source are licensed under the MIT license.  Please confirm that this is acceptable to you before you submit contributions for design changes.  We do not accept design contributions under a different license.
+
+#### I am not a professional typeface designer, can I contribute design changes to Hack?
+
+Absolutely.  To our knowledge, no contributor who has committed design changes to Hack has a background in professional typeface design or formal typeface design training.  We developed an itch that needed to be scratched, combed websites and books for information, viewed lots (and lots and lots more) of typefaces, installed font editors and learned how to use them, and then went to work.  We continue to learn ourselves.  You are simply at a bit earlier stage of the same journey.  Dive in, learn, and let's see what you can come up with.
+
+#### Do you accept source/script contributions to Hack?
+
+Yes. Changes to current scripts are licensed under the MIT license.  If you intend to submit new, non-UFO (i.e. typeface design) source and would like to license it in a different way, please file an issue report to discuss this before you perform the work.
+
+#### I have never contributed to an open source project.  Does the Hack project support brand new open source contributors?
+
+Yes! Yes! Yes!  We would love to have individuals who are brand new to the open source development community experience collaborative free, open source development for the first time through the Hack project.  We were all there at one stage and had to get past the initial contribution jitters.  Putting your work out in the open for the first time can be a daunting, vulnerable experience and there is a great deal to learn about how the open source contribution workflow works.  Don't let this stop you because this could be the first step on a long path of participation in collaborative open source software development.  We would love to kickstart the work of a new open source developer and intend to maintain a very receptive environment for new participants.  Read the [CONTRIBUTING.md](CONTRIBUTING.md) document, then feel free to pitch ideas that you have as [new issue reports](https://github.com/source-foundry/Hack/issues/new) on the repository.  Let us know that you are new in town so that we can provide assistance where you might need it to get started.
+
+#### Can I submit ideas about design changes?
+
+Yes.  Please understand our design priorities as defined in the [CONTRIBUTING.md](CONTRIBUTING.md) document and file your ideas as new issue reports.  If you feel that the design priorities should be modified, feel free to submit a pull request with suggested changes or file a new issue report.  We can discuss these modifications with either approach.
+
+#### How are my contributions to the Hack project recognized?
+
+Contributors are listed in the [CONTRIBUTORS.md](docs/CONTRIBUTORS.md) list.
+
+#### Who is considered a contributor to the Hack project?
+
+We attempt to broadly acknowledge contributions to the project as defined in the Contributors section of the [CONTRIBUTING.md](CONTRIBUTING.md) document.  Please refer to that document for further details.
+
+
+## Modifications/Derivatives
+
+#### I want to modify the Hack design and release it myself.  Is this OK?
+
+Yes.
+
+#### I want to add character sets to Hack and release it myself.  Is this OK?
+
+Yes.
+
+#### I want to decrease character set support in Hack and release it myself.  Is this OK?
+
+Yes.
+
+#### I want to change Hack build file types and release it myself.  Is this OK?
+
+Yes.
+
+#### I want to change the hinting approach used in Hack and release it myself.  Is this OK?
+
+Yes.
+
+#### Do I need to provide attribution if I release my own project derived from Hack source?
+
+No.
+
+#### Do I need to modify the name of the typeface if I release a modified version?
+
+As of v3.000, the reserved font name "Hack" was removed from the license.  It is no longer necessary to change the name for modified versions of the Hack source.  Redistribution of modified source under the same name can be confusing to users and we would encourage you to modify the name in a way that clarifies your project goals relative to the upstream source if you intend to release the fonts to others.  One approach is to add another term to the basename "Hack".  For instance, a derivative that supports source code ligatures might be named "Hack Ligature" and a derivative that replaces the oval filled zero with a forward slash zero might be called "Hack Slash".
+
+#### Can I use Hack in the name of my own derived typeface (e.g. Hack Better)?
+
+Yes, this is highly encouraged if you modify the source and release it with the intent for others to use it.
+
+#### Can I change the name of a derived version and not use Hack in the name?
+
+Yes.
+
+#### If I make minor changes to the source and release this as my own project is this considered plagiarism?
+
+No.  Absolutely not.  This is well within the bounds of the license and you are welcome to do so.  There are niche needs that some users have and our goal is to support these however minor through the development of derivative projects.  We are attempting to make the build process, build tooling, and ability to pull any upstream source changes into your own downstream derivative as straightforward and simple as possible in order to support this.  Also understand that you must maintain the upstream license in downstream derivatives.
+
+## Tinkering
+
+#### Do you offer alternate styles of Hack glyphs that I can use to customize the fonts?
+
+Yes!  The [alt-hack stylistic alternate glyph library](https://github.com/source-foundry/alt-hack) is available with `*.glif` files that contain new glyph designs for glyphs that exist in the Hack character sets.  Copy the `.glif` file from the alt-hack library to the Hack source and overwrite the existing `.glif` file.  Then rebuild the fonts with the instructions in [docs/BUILD.md](docs/BUILD.md).
+
+#### How do I change the font name?
+
+The simplest approach is to open the UFO source code in a font editor and follow the instructions in the editor documentation, then re-save the UFO source to maintain the name changes (if you plan for repeat builds from source) and rebuild the font files.
+
+#### How do I modify the line spacing in Hack?
+
+We built the tool [font-line](https://github.com/source-foundry/font-line) to increase and decrease line spacing in Hack (and any other font).  Please see the documentation in the font-line repository README for details.
+
+#### How do I modify the version string in a derivative that I create from the Hack source?
+
+You can approach this by either modifying the version in the UFO source or through the use of our [font-v](https://github.com/source-foundry/font-v) versioning tool. Please see the font-v repository for detailed usage instructions.

+ 19 - 38
LICENSE.md

@@ -1,49 +1,30 @@
-## License
+The work in the Hack project is Copyright 2017 Source Foundry Authors and licensed under the MIT License
 
-Hack Copyright 2015, Christopher Simpkins with Reserved Font Name "Hack".
+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"
 
-DejaVu modifications of the original Bitstream Vera Sans Mono typeface have been committed to the public domain.
+### MIT License
 
+Copyright (c) 2017 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:
 
-This Font Software is licensed under the Hack Open Font License v2.0 and the Bitstream Vera License.
-
-These licenses are copied below.
-
-
-### Hack Open Font License v2.0
-
-(Version 1.0 - 06 September 2015)
-
-(Version 2.0 - 27 September 2015)
-
-Copyright 2015 by Christopher Simpkins. All Rights Reserved.
-
-DEFINITIONS
-
-"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
-
-PERMISSION AND CONDITIONS
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of the fonts accompanying this license ("Fonts") and associated source code, documentation, and binary files (the "Font Software"), to reproduce and distribute the modifications to the Bitstream Vera Font Software, including without limitation the rights to use, study, copy, merge, embed, modify, redistribute, and/or sell modified or unmodified copies of the Font Software, and to permit persons to whom the Font Software is furnished to do so, subject to the following conditions:
-
-(1) The above copyright notice and this permission notice shall be included in all modified and unmodified copies of the Font Software typefaces. These notices can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
-
-(2) 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 the word "Hack".
-
-(3) Neither the Font Software nor any of its individual components, in original or modified versions, may be sold by itself.
-
-TERMINATION
-
-This license becomes null and void if any of the above conditions are not met.
-
-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 THE COPYRIGHT HOLDER 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 Christopher Simpkins and the Author(s) of the Font Software shall not be used to promote, endorse or advertise any modified version, except to acknowledge the contribution(s) of Christopher Simpkins and the Author(s) or with their explicit written permission.  For further information, contact: chris at sourcefoundry dot org.
-
+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
 

+ 37 - 0
Makefile

@@ -0,0 +1,37 @@
+all: build
+
+archives:
+	postbuild_processing/archive_prep/archiver.sh
+
+build: ttf webfonts
+
+build-with-dependencies: source/*.ufo
+	./build-ttf.sh --install-dependencies
+	./build-woff.sh --install-dependencies
+	./build-woff2.sh --install-dependencies
+	./build-subsets.sh
+
+lint: shellcheck ufolint
+
+shellcheck: build-ttf.sh build-woff.sh build-woff2.sh build-subsets.sh tools/scripts/install/ttfautohint-build.sh postbuild_processing/archive_prep/archiver.sh
+	$@ $^
+
+subsets: source/*.ufo
+	./build-subsets.sh
+
+ttf:
+	./build-ttf.sh
+
+ufolint: source/*.ufo
+	$@ $^
+
+webfonts:
+	./build-woff.sh
+	./build-woff2.sh
+	./build-subsets.sh
+
+woff:
+	./build-woff.sh
+
+woff2:
+	./build-woff2.sh

+ 98 - 39
README.md

@@ -1,43 +1,74 @@
 
 # Hack
 
-[![Build Status](https://travis-ci.org/source-foundry/Hack.svg?branch=master)](https://travis-ci.org/source-foundry/Hack) [![Contributors](https://img.shields.io/badge/contributors-104-orange.svg?style=flat)](https://github.com/chrissimpkins/Hack/blob/master/docs/CONTRIBUTORS.md)
+[![Build Status](https://travis-ci.org/source-foundry/Hack.svg?branch=master)](https://travis-ci.org/source-foundry/Hack) [![Contributors](https://img.shields.io/badge/contributors-121-orange.svg?style=flat)](https://github.com/source-foundry/Hack/blob/master/docs/CONTRIBUTORS.md)
 
 ### A typeface designed for source code
 
-Hack is designed to be a workhorse typeface for code. It has deep roots in the libre, open source typeface community and expands upon the contributions of the [Bitstream Vera](https://www.gnome.org/fonts/) &amp; [DejaVu](http://dejavu-fonts.org/wiki/Main_Page) projects.  The project is in active development.  We welcome your input and contributions.
+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/) &amp; [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).
+
+Frequently asked questions are answered in our [FAQ](FAQ.md).
 
 ### Contents
 
-* [Quick installation](#user-content-quick-installation)
-* [Package manager installation](#user-content-package-managers)
-* [Web font usage](#user-content-web-font-usage)
-* [Additional tools for customization](#additional-tools-for-hack-font-customization)
-* [Overview of features](#user-content-overview-of-features)
-* [Resources](#user-content-resources)
-* [License](#user-content-license)
+* [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)
+
 
-The font binaries are released under a license that permits unlimited print, desktop, and web use for commercial and non-commercial applications. For additional details about licensing, please see [LICENSE.md](LICENSE.md).
+### Specimen
 
-<a href="https://sourcefoundry.org/hack/"><img src="img/hack-specimen-2.png" alt="Hack &mdash; a typeface designed for source code" width="728"></a>
+<a href="http://source-foundry.github.io/Hack/font-specimen.html"><img src="img/hack-specimen-2.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.*
 
-#### Mac OS X and Linux
+### 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/`)
+4. Clear and regenerate your font cache and indexes with the following set of commands:
+
+```
+$ fc-cache
+$ mkfontscale <install_path>
+$ mkfontdir <install_path>
+```
+
+### Mac OS X
 
 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
+
+### 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.
 
-#### Chrome/ChromeOS
+
+### Chrome/ChromeOS
 
 To use with [Secure Shell](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo),
 edit the following fields in Options:
@@ -45,14 +76,9 @@ edit the following fields in Options:
   - font-family: `"Hack"`
   - user-css: `https://cdn.jsdelivr.net/font-hack/2.020/css/hack-extended.min.css`
 
-#### Font release recommendations
-
-For general screen use on the desktop, we recommend the [TTF builds][ttf_latest] of Hack for most users.  [OTF builds][otf_latest] are available for those who prefer this font format. For detailed installation instructions, see [INSTALLATION.md](docs/INSTALLATION.md).
-
-
 ## 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 package managers were designed to tune and automate font installs and updates on your system.
+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):
 
@@ -66,23 +92,24 @@ We are aware of Hack support in the following package managers (with associated
 - **Ubuntu**: `fonts-hack-ttf`
 - **Visual Studio Package Manager**: `hack.font`
 
-Details on package manager use and advanced manual desktop installation options can be found in [INSTALLATION.md](docs/INSTALLATION.md).
+For installation issues with Hack packages, please contact the package maintainer directly.
+
 
 ## Web font usage
 
-Hack is available in all commonly used web font formats. See [WEBFONT_USAGE.md](docs/WEBFONT_USAGE.md) for more details, or use the snippets below to quickly include Hack via a CDN (thanks to the generous gang at [jsDelivr](https://github.com/jsdelivr/jsdelivr)). **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 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.
 
 #### 1. Add Hack to HTML
 
 Include one of the following in the &lt;head&gt; section of your HTML file:
 
-**Basic Latin + Latin-1 Supplement Character Set Character Set**
+**Subset web fonts**
 
 ```html
 <link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.020/css/hack.min.css">
 ```
 
-**Full Character Set**
+**Full character set web fonts**
 
 ```html
 <link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.020/css/hack-extended.min.css">
@@ -95,40 +122,72 @@ 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.
+
 ## Additional tools for Hack font customization
 
-### Line Spacing Adjustments
+### Customize your build with alternate glyph styles
 
-**font-line** is a tool that lets you easily modify the default line spacing of Hack (20% UPM). See the [font-line repository](https://github.com/source-foundry/font-line) for more details, and be sure to check out the [line-spacing directory of the repository](https://github.com/chrissimpkins/Hack/tree/master/tools/line-spacing) for shell scripts that automate the entire process across several commonly used line spacing defaults.
+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.
 
-## Overview of features
+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.
+
+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).
+
+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:
+
+- [linespace.sh](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174) ([download .zip](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174/archive/f3f93dea87d64ddc4684a61cbc96ddf79d30824a.zip))
 
-- **Typeface Name**: Hack
-- **Category**: Monospaced
-- **Powerline Support**: Yes
-- **Number of Glyphs**: 1561
-- **Included Styles**: Regular, Bold, Italic, Bold Italic
-- **Latest Release**: v2.020
 
 ## Resources
-* [About Hack](docs/ABOUT.md)
 * [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
+
+Contributions to the Hack project are welcomed.  Please review our [CONTRIBUTING.md](CONTRIBUTING.md) document for details.
+
+
+## Built With
+
+Hack is built with the following free, open source tools:
+
+- [Font Bakery](https://github.com/googlefonts/fontbakery) - post-compilation modifications
+- [fontmake](https://github.com/googlei18n/fontmake) - UFO to ttf compilation
+- [font-v](https://github.com/source-foundry/font-v) - font versioning, git commit sha1 short string labeling of font versions
+- [sfnt2woff_zopfli](https://github.com/bramstein/sfnt2woff-zopfli) - ttf to woff web font compilation
+- [ttfautohint](https://www.freetype.org/ttfautohint/) - ttf instruction sets
+- [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/) team for their excellent web font CDN service and outstanding Hack project support.
+
+
 ## License
 
-**Hack** &copy; 2015-2017, Christopher Simpkins (with Reserved Font Name _Hack_).
+**Hack** work is &copy; 2017 Source Foundry Authors. MIT License
 
-**Bitstream Vera Sans Mono** &copy; 2003 Bitstream, Inc. (with Reserved Font Names _Bitstream_ and _Vera_).
+**Bitstream Vera Sans Mono** &copy; 2003 Bitstream, Inc. (with Reserved Font Names _Bitstream_ and _Vera_). Bitstream Vera License.
 
-See [LICENSE.md](https://github.com/chrissimpkins/Hack/blob/master/LICENSE.md) for the full texts of the licenses.
+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.
 
 
-<!-- THE FOLLOWING LINKS ARE ALSO USED IN INSTALLATION.MD -->
 
-[otf_latest]: https://github.com/chrissimpkins/Hack/releases/download/v2.020/Hack-v2_020-otf.zip
+<!-- Link to the latest release archive for README.md file -->
+
 [ttf_latest]: https://github.com/chrissimpkins/Hack/releases/download/v2.020/Hack-v2_020-ttf.zip
+

+ 197 - 0
README.md.orig

@@ -0,0 +1,197 @@
+
+# Hack
+
+[![Build Status](https://travis-ci.org/source-foundry/Hack.svg?branch=master)](https://travis-ci.org/source-foundry/Hack) [![Contributors](https://img.shields.io/badge/contributors-121-orange.svg?style=flat)](https://github.com/source-foundry/Hack/blob/master/docs/CONTRIBUTORS.md)
+
+### 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/) &amp; [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).
+
+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-2.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/`)
+4. Clear and regenerate your font cache and indexes with the following set of commands:
+
+```
+$ fc-cache
+$ mkfontscale <install_path>
+$ mkfontdir <install_path>
+```
+
+### Mac OS X
+
+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
+
+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.
+
+
+### 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/font-hack/2.020/css/hack-extended.min.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)**: `caskroom/fonts/font-hack`
+- **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. 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.
+
+#### 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/font-hack/2.020/css/hack.min.css">
+```
+
+**Full character set web fonts**
+
+```html
+<link rel="stylesheet" href="//cdn.jsdelivr.net/font-hack/2.020/css/hack-extended.min.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 own 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.
+
+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.
+
+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).
+
+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:
+
+- [linespace.sh](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174) ([download .zip](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174/archive/f3f93dea87d64ddc4684a61cbc96ddf79d30824a.zip))
+
+
+## Resources
+<<<<<<< HEAD
+* [About Hack](docs/ABOUT.md)
+=======
+>>>>>>> dev
+* [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
+
+Contributions to the Hack project are welcomed.  Please review our [CONTRIBUTING.md](CONTRIBUTING.md) document for details.
+
+
+## Built With
+
+Hack is built with the following free, open source tools:
+
+- [Font Bakery](https://github.com/googlefonts/fontbakery) - post-compilation modifications
+- [fontmake](https://github.com/googlei18n/fontmake) - UFO to ttf compilation
+- [font-v](https://github.com/source-foundry/font-v) - font versioning, git commit sha1 short string labeling of font versions
+- [sfnt2woff_zopfli](https://github.com/bramstein/sfnt2woff-zopfli) - ttf to woff web font compilation
+- [ttfautohint](https://www.freetype.org/ttfautohint/) - ttf instruction sets
+- [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/) team for their excellent web font CDN service and outstanding Hack project support.
+
+
+## License
+
+**Hack** work is &copy; 2017 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/chrissimpkins/Hack/releases/download/v2.020/Hack-v2_020-ttf.zip
+

+ 466 - 0
build-subsets.sh

@@ -0,0 +1,466 @@
+#!/bin/sh
+
+# //////////////////////////////////////////////////////////////////////
+#
+# build-subsets.sh
+#  A shell script that builds the Hack web font subsets from UFO source
+#  Copyright 2017 Christopher Simpkins
+#  MIT License
+#
+#  Usage: ./build-subsets.sh
+#
+#  NOTE: must install build dependencies in:
+#        1) build-ttf.sh
+#        2) build-woff.sh
+#        3) build-woff2.sh
+#       before you execute this script.  You can do this with:
+#
+#
+#       $ ./build-ttf.sh --install-dependencies
+#       $ ./build-woff.sh --install-dependencies
+#       $ ./build-woff2.sh --install-dependencies
+#
+# //////////////////////////////////////////////////////////////////////
+
+# ttfautohint local install path from Werner Lemberg's ttfautohint-build.sh install script
+#   - This is revised to ttfautohint on the user's PATH if this local install is not identified
+#     then the identified ttfautohint is used to execute hinting.  Versions of ttfautohint < 1.6 exit with status
+#     code 1 due to use of -R option
+#   - The intent is to support use of ttfautohint installed on a user's PATH (e.g. they've previously installed it)
+TTFAH="$HOME/ttfautohint-build/local/bin/ttfautohint"
+
+# The sfnt2woff-zopfli build directory.
+SFNTWOFF_BUILD="$HOME/sfnt2woff-zopfli-build"
+
+# sfnt2woff-zopfli version
+SFNTWOFF_VERSION="1.1.0"
+SFNTWOFF="sfnt2woff-zopfli-$SFNTWOFF_VERSION"
+
+# Path to sfnt2woff-zopfli executable
+SFNTWOFF_BIN="$SFNTWOFF_BUILD/$SFNTWOFF/sfnt2woff-zopfli"
+ZOPFLI_ITERATIONS="3"
+
+# The woff2 git clone directory.
+WOFF2_BUILD="$HOME"
+# woff2 executable path
+WOFF2_BIN="$WOFF2_BUILD/woff2/woff2_compress"
+
+# temporary source directory for subset source files
+TEMP_SOURCE="source/temp"
+
+# The font build directory paths and file paths for the woff builds
+TTF_BUILD="master_ttf"
+
+REGULAR_TTF="Hack-Regular.ttf"
+REGULAR_WOFF_PRE="Hack-Regular.woff"
+REGULAR_WOFF="hack-regular-subset.woff"
+REGULAR_WOFF2_PRE="Hack-Regular.woff2"
+REGULAR_WOFF2="hack-regular-subset.woff2"
+
+BOLD_TTF="Hack-Bold.ttf"
+BOLD_WOFF_PRE="Hack-Bold.woff"
+BOLD_WOFF="hack-bold-subset.woff"
+BOLD_WOFF2_PRE="Hack-Bold.woff2"
+BOLD_WOFF2="hack-bold-subset.woff2"
+
+ITALIC_TTF="Hack-Italic.ttf"
+ITALIC_WOFF_PRE="Hack-Italic.woff"
+ITALIC_WOFF="hack-italic-subset.woff"
+ITALIC_WOFF2_PRE="Hack-Italic.woff2"
+ITALIC_WOFF2="hack-italic-subset.woff2"
+
+BOLDITALIC_TTF="Hack-BoldItalic.ttf"
+BOLDITALIC_WOFF_PRE="Hack-BoldItalic.woff"
+BOLDITALIC_WOFF="hack-bolditalic-subset.woff"
+BOLDITALIC_WOFF2_PRE="Hack-BoldItalic.woff2"
+BOLDITALIC_WOFF2="hack-bolditalic-subset.woff2"
+
+# release directory path for web fonts
+WEB_BUILD="build/web/fonts"
+
+# test for number of arguments
+if [ $# -gt 0 ]
+	then
+	    echo "Inappropriate arguments included in your command." 1>&2
+	    echo "Usage: ./build-subsets.sh" 1>&2
+	    exit 1
+fi
+
+# ////////////////////////////////////////
+#
+#
+#  Confirm that dependencies are installed
+#
+#
+# ////////////////////////////////////////
+
+INSTALLFLAG=0
+
+echo "Confirming that build dependencies are installed..."
+echo " "
+
+# fontmake installed
+if ! which fontmake
+	then
+	    echo "fontmake was not found.  Please install all build dependencies with 'make build-with-dependencies', then attempt your build again." 1>&2
+	    INSTALLFLAG=1
+fi
+
+# fontTools python library can be imported
+if ! python -c "import fontTools"
+	then
+	    echo "The fontTools library was not found.  Please install all build dependencies with 'make build-with-dependencies', then attempt your build again." 1>&2
+	    INSTALLFLAG=1
+else
+	echo "fontTools Python library identified"
+fi
+
+# ttfautohint installed
+#   - tests for install to local path from ttfautohint-build.sh script
+#   - if not found on this path, tests for install on system PATH - if found, revises TTFAH to the string "ttfautohint" for execution of instruction sets
+if ! [ -f "$TTFAH" ]
+	then
+	    if ! which ttfautohint
+	    	then
+	            echo "ttfautohint was not found.  Please install all build dependencies with 'make build-with-dependencies', then attempt your build again." 1>&2
+	            INSTALLFLAG=1
+	    else
+	    	TTFAH="ttfautohint"  # revise TTFAH variable to ttfautohint installed on the user's PATH for excecution of hints below
+	    	echo "ttfautohint executable identified"
+	    fi
+	else
+		echo "ttfautohint executable identified"
+fi
+
+# sfntwoff-zopfli installed
+if ! [ -f "$SFNTWOFF_BIN" ]
+	then
+	    echo "sfnt2woff-zopfli was not found on the path $SFNTWOFF_BIN.  Please install all build dependencies with 'make build-with-dependencies', then attempt your build again." 1>&2
+	    INSTALLFLAG=1
+else
+	echo "sfnt2woff-zopfli executable identified"
+fi
+
+# woff2 installed
+if ! [ -f "$WOFF2_BIN" ]
+	then
+	    echo "woff2_compress was not found on the path $WOFF2_BIN.  Please install all build dependencies with 'make build-with-dependencies', then attempt your build again." 1>&2
+	    INSTALLFLAG=1
+else
+	echo "woff2_compress executable identified"
+fi
+
+# if any of the dependency installs failed, exit and do not attempt build, notify user
+if [ $INSTALLFLAG -eq 1 ]
+	then
+	    echo "Build canceled." 1>&2
+	    exit 1
+fi
+
+# ////////////////////////////////////////////////
+#
+#
+#  Create temporary source files with lib.plist
+#    replacements that include subset definitions
+#
+#
+# ////////////////////////////////////////////////
+
+# cleanup any previously created temp directory that was not removed
+if ! [ -d "$TEMP_SOURCE" ]; then
+	rm -rf $TEMP_SOURCE
+fi
+
+# create temp directory for subset source files
+mkdir $TEMP_SOURCE
+
+# copy source to temporary directory
+cp -r source/Hack-Regular.ufo $TEMP_SOURCE/Hack-Regular.ufo
+cp -r source/Hack-Italic.ufo $TEMP_SOURCE/Hack-Italic.ufo
+cp -r source/Hack-Bold.ufo $TEMP_SOURCE/Hack-Bold.ufo
+cp -r source/Hack-BoldItalic.ufo $TEMP_SOURCE/Hack-BoldItalic.ufo
+
+# copy lib.plist files with subset definitions to temporary source directories
+cp source/subset-lib/lib-regular.plist $TEMP_SOURCE/Hack-Regular.ufo/lib.plist
+cp source/subset-lib/lib-italic.plist $TEMP_SOURCE/Hack-Italic.ufo/lib.plist
+cp source/subset-lib/lib-bold.plist $TEMP_SOURCE/Hack-Bold.ufo/lib.plist
+cp source/subset-lib/lib-bolditalic.plist $TEMP_SOURCE/Hack-BoldItalic.ufo/lib.plist
+
+# /////////////////////////////////////////////
+#
+#
+#  Begin subset ttf font build from UFO source
+#
+#
+# /////////////////////////////////////////////
+
+echo "Starting web font subset build..."
+echo " "
+
+# remove master_ttf directory if a previous build failed + exited early and it was not cleaned up
+if [ -d "master_ttf" ]; then
+	rm -rf master_ttf
+fi
+
+# build regular subset
+
+if ! fontmake --subset -u "$TEMP_SOURCE/Hack-Regular.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-Regular variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# build bold subset
+if ! fontmake --subset -u "$TEMP_SOURCE/Hack-Bold.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-Bold variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# build italic subset
+if ! fontmake --subset -u "$TEMP_SOURCE/Hack-Italic.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-Italic variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# build bold italic subset
+
+if ! fontmake --subset -u "$TEMP_SOURCE/Hack-BoldItalic.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-BoldItalic variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+
+
+# /////////////////////////////////////////////
+#
+#
+#  Post build fixes
+#
+#
+# /////////////////////////////////////////////
+
+# DSIG table fix with adapted fontbakery Python script
+echo " "
+echo "Attempting DSIG table fixes with fontbakery..."
+echo " "
+if ! python postbuild_processing/fixes/fix-dsig.py master_ttf/*.ttf
+	then
+	    echo "Unable to complete DSIG table fixes on the release files"
+	    exit 1
+fi
+
+# fstype value fix with adapted fontbakery Python script
+echo " "
+echo "Attempting fstype fixes with fontbakery..."
+echo " "
+if ! python postbuild_processing/fixes/fix-fstype.py master_ttf/*.ttf
+	then
+	    echo "Unable to complete fstype fixes on the release files"
+	    exit 1
+fi
+
+# /////////////////////////////////////////////
+#
+#
+#  Hinting of ttf subsets
+#
+#
+# /////////////////////////////////////////////
+
+echo " "
+echo "Attempting ttfautohint hinting..."
+echo " "
+# make a temporary directory for the hinted files
+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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-Regular variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+echo "master_ttf/Hack-Regular.ttf subset - 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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-Bold variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+echo "master_ttf/Hack-Bold.ttf subset - 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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-Italic variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+echo "master_ttf/Hack-Italic.ttf subset - 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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-BoldItalic variant subset.  Build canceled." 1>&2
+	    exit 1
+fi
+echo "master_ttf/Hack-BoldItalic.ttf subset - successful hinting with ttfautohint"
+echo " "
+
+# /////////////////////////////////////////////
+#
+#
+#  Build woff subsets
+#
+#
+# /////////////////////////////////////////////
+
+# regular set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$REGULAR_TTF"; then
+	echo "Failed to build $REGULAR_WOFF from $REGULAR_TTF." 1>&2
+	exit 1
+else
+	echo "Regular woff subset successfully built from $REGULAR_TTF"
+fi
+
+# bold set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$BOLD_TTF"; then
+	echo "Failed to build $BOLD_WOFF from $BOLD_TTF" 1>&2
+	exit 1
+else
+	echo "Bold woff subset successfully built from $BOLD_TTF"
+fi
+
+# italic set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$ITALIC_TTF"; then
+	echo "Failed to build $BOLD_WOFF from $ITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Italic woff subset successfully built from $ITALIC_TTF"
+fi
+
+# bold italic set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$BOLDITALIC_TTF"; then
+	echo "Failed to build $BOLDITALIC_WOFF from $BOLDITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Bold Italic woff subset successfully built from $BOLDITALIC_TTF"
+fi
+
+# /////////////////////////////////////////////
+#
+#
+#  Build woff2 subsets
+#
+#
+# /////////////////////////////////////////////
+
+echo " "
+
+# regular set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$REGULAR_TTF"; then
+	echo "Failed to build woff2 subset from $REGULAR_TTF." 1>&2
+	exit 1
+else
+	echo "Regular woff2 font subset successfully built from $REGULAR_TTF"
+fi
+
+# bold set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$BOLD_TTF"; then
+	echo "Failed to build woff2 subset from $BOLD_TTF" 1>&2
+	exit 1
+else
+	echo "Bold woff2 subset successfully built from $BOLD_TTF"
+fi
+
+# italic set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$ITALIC_TTF"; then
+	echo "Failed to build woff2 subset from $ITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Italic woff2 subset successfully built from $ITALIC_TTF"
+fi
+
+# bold italic set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$BOLDITALIC_TTF"; then
+	echo "Failed to build woff2 subset from $BOLDITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Bold Italic woff2 subset successfully built from $BOLDITALIC_TTF"
+fi
+
+
+# //////////////////////////////////////////////
+#
+#
+#  Move web font subset files to build directory
+#
+#
+# //////////////////////////////////////////////
+
+# create the build directory if it does not exist
+if ! [ -d "$WEB_BUILD" ]; then
+	mkdir $WEB_BUILD
+fi
+
+echo " "
+echo "Moving woff files to build directory..."
+
+# move woff files to appropriate build directory
+mv "$TTF_BUILD/$REGULAR_WOFF_PRE" "$WEB_BUILD/$REGULAR_WOFF"
+mv "$TTF_BUILD/$BOLD_WOFF_PRE" "$WEB_BUILD/$BOLD_WOFF"
+mv "$TTF_BUILD/$ITALIC_WOFF_PRE" "$WEB_BUILD/$ITALIC_WOFF"
+mv "$TTF_BUILD/$BOLDITALIC_WOFF_PRE" "$WEB_BUILD/$BOLDITALIC_WOFF"
+
+if [ -f "$WEB_BUILD/$REGULAR_WOFF" ]; then
+	echo "Regular woff build path: $WEB_BUILD/$REGULAR_WOFF"
+fi
+
+if [ -f "$WEB_BUILD/$BOLD_WOFF" ]; then
+	echo "Bold woff build path: $WEB_BUILD/$BOLD_WOFF"
+fi
+
+if [ -f "$WEB_BUILD/$ITALIC_WOFF" ]; then
+	echo "Italic woff build path: $WEB_BUILD/$ITALIC_WOFF"
+fi
+
+if [ -f "$WEB_BUILD/$BOLDITALIC_WOFF" ]; then
+	echo "Bold Italic woff build path: $WEB_BUILD/$BOLDITALIC_WOFF"
+fi
+
+echo "Moving woff2 files to build directory..."
+
+# move woff files to appropriate build directory
+mv "$TTF_BUILD/$REGULAR_WOFF2_PRE" "$WEB_BUILD/$REGULAR_WOFF2"
+mv "$TTF_BUILD/$BOLD_WOFF2_PRE" "$WEB_BUILD/$BOLD_WOFF2"
+mv "$TTF_BUILD/$ITALIC_WOFF2_PRE" "$WEB_BUILD/$ITALIC_WOFF2"
+mv "$TTF_BUILD/$BOLDITALIC_WOFF2_PRE" "$WEB_BUILD/$BOLDITALIC_WOFF2"
+
+if [ -f "$WEB_BUILD/$REGULAR_WOFF2" ]; then
+	echo "Regular woff2 subset build path: $WEB_BUILD/$REGULAR_WOFF2"
+fi
+
+if [ -f "$WEB_BUILD/$BOLD_WOFF2" ]; then
+	echo "Bold woff2 subset build path: $WEB_BUILD/$BOLD_WOFF2"
+fi
+
+if [ -f "$WEB_BUILD/$ITALIC_WOFF2" ]; then
+	echo "Italic woff2 subset build path: $WEB_BUILD/$ITALIC_WOFF2"
+fi
+
+if [ -f "$WEB_BUILD/$BOLDITALIC_WOFF2" ]; then
+	echo "Bold Italic woff2 subset build path: $WEB_BUILD/$BOLDITALIC_WOFF2"
+fi
+
+# //////////////////////////////////////////////
+#
+#
+#  Cleanup temp directory
+#
+#
+# //////////////////////////////////////////////
+
+rm -rf master_ttf
+rm -rf "$TEMP_SOURCE"
+

+ 223 - 0
build-ttf.sh

@@ -0,0 +1,223 @@
+#!/bin/sh
+
+# /////////////////////////////////////////////////////////////////
+#
+# build-ttf.sh
+#  A shell script that builds the Hack ttf fonts from UFO source
+#  Copyright 2017 Christopher Simpkins
+#  MIT License
+#
+#  Usage: ./build-ttf.sh (--install-dependencies)
+#     Arguments:
+#     --install-dependencies (optional) - installs all
+#       build dependencies prior to the build script execution
+#
+# /////////////////////////////////////////////////////////////////
+
+# ttfautohint local install path from Werner Lemberg's ttfautohint-build.sh install script
+#   - This is revised to ttfautohint on the user's PATH if this local install is not identified
+#     then the identified ttfautohint is used to execute hinting.  Versions of ttfautohint < 1.6 exit with status
+#     code 1 due to use of -R option
+#   - The intent is to support use of ttfautohint installed on a user's PATH (e.g. they've previously installed it)
+TTFAH="$HOME/ttfautohint-build/local/bin/ttfautohint"
+
+# test for number of arguments
+if [ $# -gt 1 ]
+	then
+	    echo "Inappropriate arguments included in your command." 1>&2
+	    echo "Usage: ./build-ttf.sh (--install-dependencies)" 1>&2
+	    exit 1
+fi
+
+# Optional build dependency install request with syntax `./build.sh --install-dependencies`
+if [ "$1" = "--install-dependencies" ]
+	then
+		# fontmake
+		pip install --upgrade fontmake
+		# fontTools (installed with fontmake at this time. leave this as dependency check as python scripts for fixes require it should fontTools eliminate dep)
+		pip install --upgrade fonttools
+		# ttfautohint v1.6 (must be pinned to v1.6 and above for Hack instruction sets)
+        tools/scripts/install/ttfautohint-build.sh
+
+fi
+
+# confirm executable installs and library imports for build dependencies
+INSTALLFLAG=0
+
+echo "Confirming that build dependencies are installed..."
+echo " "
+# fontmake installed
+if ! which fontmake
+	then
+	    echo "Unable to install fontmake with 'pip install fontmake'.  Please attempt a manual install of this build dependency and then repeat your build attempt." 1>&2
+	    INSTALLFLAG=1
+fi
+# fontTools python library can be imported
+if ! python -c "import fontTools"
+	then
+	    echo "Unable to install fontTools with 'pip install fonttools'.  Please attempt a manual install of this build dependency and then repeat your build attempt." 1>&2
+	    INSTALLFLAG=1
+else
+	echo "fontTools Python library identified"
+fi
+# ttfautohint installed
+#   - tests for install to local path from ttfautohint-build.sh script
+#   - if not found on this path, tests for install on system PATH - if found, revises TTFAH to the string "ttfautohint" for execution of instruction sets
+if ! [ -f "$TTFAH" ]
+	then
+	    if ! which ttfautohint
+	    	then
+	            echo "Unable to install ttfautohint from source.  Please attempt a manual install of this build dependency and then repeat your build attempt." 1>&2
+	            INSTALLFLAG=1
+	    else
+	    	TTFAH="ttfautohint"  # revise TTFAH variable to ttfautohint installed on the user's PATH for excecution of hints below
+	    fi
+fi
+# if any of the dependency installs failed, exit and do not attempt build, notify user
+if [ $INSTALLFLAG -eq 1 ]
+	then
+	    echo "Build canceled." 1>&2
+	    exit 1
+fi
+
+# Desktop ttf font build
+
+echo "Starting build..."
+echo " "
+
+# remove any existing release files from the build directory
+if [ -f "build/ttf/Hack-Regular.ttf" ]; then
+	rm build/ttf/Hack-Regular.ttf
+fi
+
+if [ -f "build/ttf/Hack-Italic.ttf" ]; then
+	rm build/ttf/Hack-Italic.ttf
+fi
+
+if [ -f "build/ttf/Hack-Bold.ttf" ]; then
+	rm build/ttf/Hack-Bold.ttf
+fi
+
+if [ -f "build/ttf/Hack-BoldItalic.ttf" ]; then
+	rm build/ttf/Hack-BoldItalic.ttf
+fi
+
+# remove master_ttf directory if a previous build failed + exited early and it was not cleaned up
+
+if [ -d "master_ttf" ]; then
+	rm -rf master_ttf
+fi
+
+# build regular set
+
+if ! fontmake -u "source/Hack-Regular.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-Regular variant set.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# build bold set
+if ! fontmake -u "source/Hack-Bold.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-Bold variant set.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# build italic set
+if ! fontmake -u "source/Hack-Italic.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-Italic variant set.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# build bold italic set
+
+if ! fontmake -u "source/Hack-BoldItalic.ufo" -o ttf
+	then
+	    echo "Unable to build the Hack-BoldItalic variant set.  Build canceled." 1>&2
+	    exit 1
+fi
+
+# Desktop ttf font post build fixes
+
+# DSIG table fix with adapted fontbakery Python script
+echo " "
+echo "Attempting DSIG table fixes with fontbakery..."
+echo " "
+if ! python postbuild_processing/fixes/fix-dsig.py master_ttf/*.ttf
+	then
+	    echo "Unable to complete DSIG table fixes on the release files"
+	    exit 1
+fi
+
+# fstype value fix with adapted fontbakery Python script
+echo " "
+echo "Attempting fstype fixes with fontbakery..."
+echo " "
+if ! python postbuild_processing/fixes/fix-fstype.py master_ttf/*.ttf
+	then
+	    echo "Unable to complete fstype fixes on the release files"
+	    exit 1
+fi
+
+# Desktop ttf font hinting
+
+echo " "
+echo "Attempting ttfautohint hinting..."
+echo " "
+# make a temporary directory for the hinted files
+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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-Regular variant set.  Build canceled." 1>&2
+	    exit 1
+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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-Bold variant set.  Build canceled." 1>&2
+	    exit 1
+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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-Italic variant set.  Build canceled." 1>&2
+	    exit 1
+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 "" -I -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"
+	then
+	    echo "Unable to execute ttfautohint on the Hack-BoldItalic variant set.  Build canceled." 1>&2
+	    exit 1
+fi
+echo "master_ttf/Hack-BoldItalic.ttf - successful hinting with ttfautohint"
+echo " "
+
+# Move release files to build directory
+echo " "
+
+# create directory if it does not exist
+# (occurs with git + empty directories)
+if ! [ -d build/ttf ]; then
+	mkdir build/ttf
+fi
+
+mv master_ttf/hinted/Hack-Regular.ttf build/ttf/Hack-Regular.ttf
+echo "Regular ttf build path: build/ttf/Hack-Regular.ttf"
+mv master_ttf/hinted/Hack-Italic.ttf build/ttf/Hack-Italic.ttf
+echo "Italic ttf build path: build/ttf/Hack-Italic.ttf"
+mv master_ttf/hinted/Hack-Bold.ttf build/ttf/Hack-Bold.ttf
+echo "Bold ttf build path: build/ttf/Hack-Bold.ttf"
+mv master_ttf/hinted/Hack-BoldItalic.ttf build/ttf/Hack-BoldItalic.ttf
+echo "Bold Italic ttf build path: build/ttf/Hack-BoldItalic.ttf"
+
+# Remove master_ttf directory
+rm -rf master_ttf

+ 172 - 0
build-woff.sh

@@ -0,0 +1,172 @@
+#!/bin/sh
+
+# ///////////////////////////////////////////////////////////////////
+#
+# build-woff.sh
+#  A shell script that builds the Hack woff web fonts from ttf files
+#  Copyright 2017 Christopher Simpkins
+#  MIT License
+#
+#  Usage: ./build-woff.sh (--install-dependencies)
+#     Arguments:
+#     --install-dependencies (optional) - installs all
+#       build dependencies prior to the build script execution
+#
+#  NOTE: If you change the source, you must build new ttf files
+#        with build.sh PRIOR to execution of this script.
+#        This script builds directly from previous ttf builds,
+#        not source files.
+#
+# ///////////////////////////////////////////////////////////////////
+
+# The sfnt2woff-zopfli build directory.
+BUILD="$HOME/sfnt2woff-zopfli-build"
+
+# sfnt2woff-zopfli version
+SFNTWOFF_VERSION="1.1.0"
+SFNTWOFF="sfnt2woff-zopfli-$SFNTWOFF_VERSION"
+
+# Path to sfnt2woff-zopfli executable
+SFNTWOFF_BIN="$BUILD/$SFNTWOFF/sfnt2woff-zopfli"
+ZOPFLI_ITERATIONS="3"
+
+# The font build directory paths and file paths for the woff builds
+TTF_BUILD="build/ttf"
+WOFF_BUILD="build/web/fonts"
+REGULAR_TTF="Hack-Regular.ttf"
+REGULAR_PRE="Hack-Regular.woff"
+REGULAR_WOFF="hack-regular.woff"
+BOLD_TTF="Hack-Bold.ttf"
+BOLD_PRE="Hack-Bold.woff"
+BOLD_WOFF="hack-bold.woff"
+ITALIC_TTF="Hack-Italic.ttf"
+ITALIC_PRE="Hack-Italic.woff"
+ITALIC_WOFF="hack-italic.woff"
+BOLDITALIC_TTF="Hack-BoldItalic.ttf"
+BOLDITALIC_PRE="Hack-BoldItalic.woff"
+BOLDITALIC_WOFF="hack-bolditalic.woff"
+
+# test for number of arguments
+if [ $# -gt 1 ]
+	then
+	    echo "Inappropriate arguments included in your command." 1>&2
+	    echo "Usage: ./build-woff.sh (--install-dependencies)" 1>&2
+	    exit 1
+fi
+
+# Optional build dependency install request with syntax `./build-web.sh --install-dependencies`
+if [ "$1" = "--install-dependencies" ]
+	then
+		# define the current directory (Hack repository)
+		CUR_DIR=$(pwd)
+
+		if test -d "$BUILD" -o -f "$BUILD"; then
+		  echo "Build directory \`$BUILD' must not exist."
+		  exit 1
+		fi
+
+		mkdir "$BUILD"
+
+		cd "$BUILD" || exit 1
+
+		echo "#####"
+		echo "Download archive."
+		echo "#####"
+
+		curl -L -O "https://github.com/bramstein/sfnt2woff-zopfli/archive/v$SFNTWOFF_VERSION.tar.gz"
+
+		echo "#####"
+		echo "Extract archives."
+		echo "#####"
+
+		tar -xzvf "v$SFNTWOFF_VERSION.tar.gz"
+
+		cd "$SFNTWOFF" || exit 1
+
+		echo "#####"
+		echo "Build $SFNTWOFF."
+		echo "#####"
+
+		make
+
+		# make Hack repository the current directory again following the build
+		cd "$CUR_DIR" || exit 1
+fi
+
+
+if [ -f "$SFNTWOFF_BIN" ]; then
+	echo "Beginning web font build with $SFNTWOFF"
+else
+	echo "Unable to locate sfnt2woff-zopfli on the path $SFNTWOFF_BIN.  Please attempt a manual install of this build dependency and then repeat your build attempt." 1>&2
+	exit 1
+fi
+
+# Build woff files from ttf files
+# regular set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$REGULAR_TTF"; then
+	echo "Failed to build $REGULAR_WOFF from $REGULAR_TTF." 1>&2
+	exit 1
+else
+	echo "Regular woff set successfully built from $REGULAR_TTF"
+fi
+
+# bold set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$BOLD_TTF"; then
+	echo "Failed to build $BOLD_WOFF from $BOLD_TTF" 1>&2
+	exit 1
+else
+	echo "Bold woff set successfully built from $BOLD_TTF"
+fi
+
+# italic set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$ITALIC_TTF"; then
+	echo "Failed to build $BOLD_WOFF from $ITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Italic woff set successfully built from $ITALIC_TTF"
+fi
+
+# bold italic set
+if ! "$SFNTWOFF_BIN" -n $ZOPFLI_ITERATIONS "$TTF_BUILD/$BOLDITALIC_TTF"; then
+	echo "Failed to build $BOLDITALIC_WOFF from $BOLDITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Bold Italic woff set successfully built from $BOLDITALIC_TTF"
+fi
+
+echo "Moving woff files to build directory..."
+
+# create directory if it does not exist
+# (occurs with git + empty directories)
+if ! [ -d "$WOFF_BUILD" ]; then
+	mkdir $WOFF_BUILD
+fi
+
+# move woff files to appropriate build directory
+mv "$TTF_BUILD/$REGULAR_PRE" "$WOFF_BUILD/$REGULAR_WOFF"
+mv "$TTF_BUILD/$BOLD_PRE" "$WOFF_BUILD/$BOLD_WOFF"
+mv "$TTF_BUILD/$ITALIC_PRE" "$WOFF_BUILD/$ITALIC_WOFF"
+mv "$TTF_BUILD/$BOLDITALIC_PRE" "$WOFF_BUILD/$BOLDITALIC_WOFF"
+
+echo " "
+
+if [ -f "$WOFF_BUILD/$REGULAR_WOFF" ]; then
+	echo "Regular woff build path: $WOFF_BUILD/$REGULAR_WOFF"
+fi
+
+if [ -f "$WOFF_BUILD/$BOLD_WOFF" ]; then
+	echo "Bold woff build path: $WOFF_BUILD/$BOLD_WOFF"
+fi
+
+if [ -f "$WOFF_BUILD/$ITALIC_WOFF" ]; then
+	echo "Italic woff build path: $WOFF_BUILD/$ITALIC_WOFF"
+fi
+
+if [ -f "$WOFF_BUILD/$BOLDITALIC_WOFF" ]; then
+	echo "Bold Italic woff build path: $WOFF_BUILD/$BOLDITALIC_WOFF"
+fi
+
+
+
+
+

+ 164 - 0
build-woff2.sh

@@ -0,0 +1,164 @@
+#!/bin/sh
+
+# ///////////////////////////////////////////////////////////////////
+#
+# build-woff2.sh
+#  A shell script that builds the Hack woff2 web fonts from ttf files
+#  Copyright 2017 Christopher Simpkins
+#  MIT License
+#
+#  Usage: ./build-woff2.sh (--install-dependencies)
+#     Arguments:
+#     --install-dependencies (optional) - installs all
+#       build dependencies prior to the build script execution
+#
+#  NOTE: If you change the source, you must build new ttf files
+#        with build.sh PRIOR to execution of this script.
+#        This script builds directly from previous ttf builds,
+#        not source files.
+#
+# ///////////////////////////////////////////////////////////////////
+
+# The woff2 git clone directory.
+BUILD="$HOME"
+INST="$HOME/woff2"
+
+# woff2 executable path
+WOFF2_BIN="$BUILD/woff2/woff2_compress"
+
+
+# The font build directory paths and file paths for the woff builds
+TTF_BUILD="build/ttf"
+WOFF_BUILD="build/web/fonts"
+REGULAR_TTF="Hack-Regular.ttf"
+REGULAR_PRE="Hack-Regular.woff2"
+REGULAR_WOFF="hack-regular.woff2"
+BOLD_TTF="Hack-Bold.ttf"
+BOLD_PRE="Hack-Bold.woff2"
+BOLD_WOFF="hack-bold.woff2"
+ITALIC_TTF="Hack-Italic.ttf"
+ITALIC_PRE="Hack-Italic.woff2"
+ITALIC_WOFF="hack-italic.woff2"
+BOLDITALIC_TTF="Hack-BoldItalic.ttf"
+BOLDITALIC_PRE="Hack-BoldItalic.woff2"
+BOLDITALIC_WOFF="hack-bolditalic.woff2"
+
+# test for number of arguments
+if [ $# -gt 1 ]
+	then
+	    echo "Inappropriate arguments included in your command." 1>&2
+	    echo "Usage: ./build-woff2.sh (--install-dependencies)" 1>&2
+	    exit 1
+fi
+
+# Optional build dependency install request with syntax `./build-web.sh --install-dependencies`
+if [ "$1" = "--install-dependencies" ]
+	then
+		# define the current directory (Hack repository)
+		CUR_DIR=$(pwd)
+
+		if test -d "$INST" -o -f "$INST"; then
+		  echo "Build directory \`$INST' must not exist."
+		  exit 1
+		fi
+
+		cd "$BUILD" || exit 1
+
+		echo "#####"
+		echo "git clone woff2 project"
+		echo "#####"
+
+		# clone the Source Foundry fork of the woff2 repo
+		#   contains fix for OS X build bug - https://github.com/google/woff2/issues/73
+		#   recursive flag to clone the brotli submodule within the woff2 repo
+		git clone --recursive https://github.com/source-foundry/woff2.git
+
+		cd "$INST" || exit 1
+
+		echo "#####"
+		echo "Build woff2"
+		echo "#####"
+
+		make clean all
+
+		# make Hack repository the current directory again following the build
+		cd "$CUR_DIR" || exit 1
+fi
+
+
+if [ -f "$WOFF2_BIN" ]; then
+	echo "Beginning web font build with $WOFF2_BIN"
+else
+	echo "Unable to locate woff2_compress on path $WOFF2_BIN. Please attempt a manual install of this build dependency and then repeat your build attempt." 1>&2
+	exit 1
+fi
+
+# Build woff2 files from ttf files
+# regular set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$REGULAR_TTF"; then
+	echo "Failed to build woff2 from $REGULAR_TTF." 1>&2
+	exit 1
+else
+	echo "Regular woff2 font set successfully built from $REGULAR_TTF"
+fi
+
+# bold set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$BOLD_TTF"; then
+	echo "Failed to build woff2 from $BOLD_TTF" 1>&2
+	exit 1
+else
+	echo "Bold woff2 set successfully built from $BOLD_TTF"
+fi
+
+# italic set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$ITALIC_TTF"; then
+	echo "Failed to build woff2 from $ITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Italic woff2 set successfully built from $ITALIC_TTF"
+fi
+
+# bold italic set
+if ! "$WOFF2_BIN" "$TTF_BUILD/$BOLDITALIC_TTF"; then
+	echo "Failed to build woff2 from $BOLDITALIC_TTF" 1>&2
+	exit 1
+else
+	echo "Bold Italic woff2 set successfully built from $BOLDITALIC_TTF"
+fi
+
+echo "Moving woff2 files to build directory..."
+
+# create directory if it does not exist
+# (occurs with git + empty directories)
+if ! [ -d "$WOFF_BUILD" ]; then
+	mkdir $WOFF_BUILD
+fi
+
+# move woff2 files to appropriate build directory
+mv "$TTF_BUILD/$REGULAR_PRE" "$WOFF_BUILD/$REGULAR_WOFF"
+mv "$TTF_BUILD/$BOLD_PRE" "$WOFF_BUILD/$BOLD_WOFF"
+mv "$TTF_BUILD/$ITALIC_PRE" "$WOFF_BUILD/$ITALIC_WOFF"
+mv "$TTF_BUILD/$BOLDITALIC_PRE" "$WOFF_BUILD/$BOLDITALIC_WOFF"
+
+echo " "
+
+if [ -f "$WOFF_BUILD/$REGULAR_WOFF" ]; then
+	echo "Regular woff2 build path: $WOFF_BUILD/$REGULAR_WOFF"
+fi
+
+if [ -f "$WOFF_BUILD/$BOLD_WOFF" ]; then
+	echo "Bold woff2 build path: $WOFF_BUILD/$BOLD_WOFF"
+fi
+
+if [ -f "$WOFF_BUILD/$ITALIC_WOFF" ]; then
+	echo "Italic woff2 build path: $WOFF_BUILD/$ITALIC_WOFF"
+fi
+
+if [ -f "$WOFF_BUILD/$BOLDITALIC_WOFF" ]; then
+	echo "Bold Italic woff2 build path: $WOFF_BUILD/$BOLDITALIC_WOFF"
+fi
+
+
+
+
+

BIN
build/archives/Hack-v2_020-otf.tar.xz


BIN
build/archives/Hack-v2_020-otf.zip


BIN
build/archives/Hack-v2_020-ttf.tar.xz


BIN
build/archives/Hack-v2_020-ttf.zip


BIN
build/archives/Hack-v2_020-webfonts.tar.xz


BIN
build/archives/Hack-v2_020-webfonts.zip


BIN
build/otf/Hack-Bold.otf


BIN
build/otf/Hack-BoldItalic.otf


BIN
build/otf/Hack-Italic.otf


BIN
build/otf/Hack-Regular.otf


BIN
build/test_builds/DEV02172016/Hack-Bold-DEV.ttf


BIN
build/test_builds/DEV02172016/Hack-BoldItalic-DEV.ttf


BIN
build/test_builds/DEV02172016/Hack-Italic-DEV.ttf


BIN
build/test_builds/DEV02172016/Hack-Regular-DEV.ttf


BIN
build/test_builds/DEV03062016/Hack-Bold-DEV.ttf


BIN
build/test_builds/DEV03062016/Hack-BoldItalic-DEV.ttf


BIN
build/test_builds/DEV03062016/Hack-Italic-DEV.ttf


BIN
build/test_builds/DEV03062016/Hack-Regular-DEV.ttf


BIN
build/test_builds/DEV03162016/Hack-Bold-DEV.ttf


BIN
build/test_builds/DEV03162016/Hack-BoldItalic-DEV.ttf


BIN
build/test_builds/DEV03162016/Hack-Italic-DEV.ttf


BIN
build/test_builds/DEV03162016/Hack-Regular-DEV.ttf


BIN
build/test_builds/DEV03172016/Hack-Bold-DEV.ttf


BIN
build/test_builds/DEV03172016/Hack-BoldItalic-DEV.ttf


BIN
build/test_builds/DEV03172016/Hack-Italic-DEV.ttf


BIN
build/test_builds/DEV03172016/Hack-Regular-DEV.ttf


BIN
build/test_builds/DEV03192016/Hack-Bold-DEV.ttf


BIN
build/test_builds/DEV03192016/Hack-BoldItalic-DEV.ttf


BIN
build/test_builds/DEV03192016/Hack-Italic-DEV.ttf


BIN
build/test_builds/DEV03192016/Hack-Regular-DEV.ttf


BIN
build/test_builds/Hack-Bold-DEV.ttf


BIN
build/test_builds/Hack-BoldItalic-DEV.ttf


BIN
build/test_builds/Hack-Italic-DEV.ttf


BIN
build/test_builds/Hack-Regular-DEV.ttf


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


+ 34 - 0
build/web/hack-subset.css

@@ -0,0 +1,34 @@
+/*!
+ *  Hack typeface https://github.com/source-foundry/Hack
+ *  License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
+ */
+/* FONT PATHS
+ * -------------------------- */
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-regular-subset.woff2?sha=e700a30') format('woff2'), url('fonts/hack-regular-subset.woff?sha=e700a30') format('woff');
+  font-weight: 400;
+  font-style: normal;
+}
+
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-bold-subset.woff2?sha=e700a30') format('woff2'), url('fonts/hack-bold-subset.woff?sha=e700a30') format('woff');
+  font-weight: 700;
+  font-style: normal;
+}
+
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-italic-subset.woff2?sha=e700a30') format('woff2'), url('fonts/hack-italic-webfont.woff?sha=e700a30') format('woff');
+  font-weight: 400;
+  font-style: italic;
+}
+
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-bolditalic-subset.woff2?sha=e700a30') format('woff2'), url('fonts/hack-bolditalic-subset.woff?sha=e700a30') format('woff');
+  font-weight: 700;
+  font-style: italic;
+}
+

+ 34 - 0
build/web/hack.css

@@ -0,0 +1,34 @@
+/*!
+ *  Hack typeface https://github.com/source-foundry/Hack
+ *  License: https://github.com/source-foundry/Hack/blob/master/LICENSE.md
+ */
+/* FONT PATHS
+ * -------------------------- */
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-regular.woff2?sha=e700a30') format('woff2'), url('fonts/hack-regular.woff?sha=e700a30') format('woff');
+  font-weight: 400;
+  font-style: normal;
+}
+
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-bold.woff2?sha=e700a30') format('woff2'), url('fonts/hack-bold.woff?sha=e700a30') format('woff');
+  font-weight: 700;
+  font-style: normal;
+}
+
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-italic.woff2?sha=e700a30') format('woff2'), url('fonts/hack-italic.woff?sha=e700a30') format('woff');
+  font-weight: 400;
+  font-style: italic;
+}
+
+@font-face {
+  font-family: 'Hack';
+  src: url('fonts/hack-bolditalic.woff2?sha=e700a30') format('woff2'), url('fonts/hack-bolditalic.woff?sha=e700a30') format('woff');
+  font-weight: 700;
+  font-style: italic;
+}
+

+ 0 - 38
build/webfonts/css/hack-extended.css

@@ -1,38 +0,0 @@
-/*!
- *  Hack v2.020 - https://sourcefoundry.org/hack/
- *  Licenses - Fonts: Hack Open Font License + Bitstream Vera license, CSS: MIT License
- */
-/* FONT PATHS
- * -------------------------- */
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/hack-regular-webfont.eot?v=2.020');
-  src: url('../fonts/eot/hack-regular-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/hack-regular-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/hack-regular-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/hack-regular-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 400;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/hack-bold-webfont.eot?v=2.020');
-  src: url('../fonts/eot/hack-bold-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/hack-bold-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/hack-bold-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/hack-bold-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 700;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/hack-italic-webfont.eot?v=2.020');
-  src: url('../fonts/eot/hack-italic-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/hack-italic-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/hack-italic-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/hack-italic-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 400;
-  font-style: italic;
-}
-
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/hack-bolditalic-webfont.eot?v=2.020');
-  src: url('../fonts/eot/hack-bolditalic-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/hack-bolditalic-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/hack-bolditalic-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/hack-bolditalic-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 700;
-  font-style: italic;
-}
-

+ 0 - 4
build/webfonts/css/hack-extended.min.css

@@ -1,4 +0,0 @@
-/*!
- *  Hack v2.020 - https://sourcefoundry.org/hack/
- *  Licenses - Fonts: Hack Open Font License + Bitstream Vera license, CSS: MIT License
- */@font-face{font-family:'Hack';src:url('../fonts/eot/hack-regular-webfont.eot?v=2.020');src:url('../fonts/eot/hack-regular-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/hack-regular-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/hack-regular-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/hack-regular-webfont.ttf?v=2.020') format('truetype');font-weight:400;font-style:normal}@font-face{font-family:'Hack';src:url('../fonts/eot/hack-bold-webfont.eot?v=2.020');src:url('../fonts/eot/hack-bold-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/hack-bold-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/hack-bold-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/hack-bold-webfont.ttf?v=2.020') format('truetype');font-weight:700;font-style:normal}@font-face{font-family:'Hack';src:url('../fonts/eot/hack-italic-webfont.eot?v=2.020');src:url('../fonts/eot/hack-italic-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/hack-italic-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/hack-italic-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/hack-italic-webfont.ttf?v=2.020') format('truetype');font-weight:400;font-style:italic}@font-face{font-family:'Hack';src:url('../fonts/eot/hack-bolditalic-webfont.eot?v=2.020');src:url('../fonts/eot/hack-bolditalic-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/hack-bolditalic-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/hack-bolditalic-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/hack-bolditalic-webfont.ttf?v=2.020') format('truetype');font-weight:700;font-style:italic}

+ 0 - 37
build/webfonts/css/hack.css

@@ -1,37 +0,0 @@
-/*!
- *  Hack v2.020 - https://sourcefoundry.org/hack/
- *  Licenses - Fonts: Hack Open Font License + Bitstream Vera license, CSS: MIT License
- */
-/* FONT PATHS
- * -------------------------- */
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/latin/hack-regular-latin-webfont.eot?v=2.020');
-  src: url('../fonts/eot/latin/hack-regular-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/latin/hack-regular-latin-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/latin/hack-regular-latin-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/latin/hack-regular-latin-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 400;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/latin/hack-bold-latin-webfont.eot?v=2.020');
-  src: url('../fonts/eot/latin/hack-bold-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/latin/hack-bold-latin-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/latin/hack-bold-latin-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/latin/hack-bold-latin-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 700;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/latin/hack-italic-latin-webfont.eot?v=2.020');
-  src: url('../fonts/eot/latin/hack-italic-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/latin/hack-italic-latin-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/latin/hack-italic-latin-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/latin/hack-italic-latin-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 400;
-  font-style: italic;
-}
-
-@font-face {
-  font-family: 'Hack';
-  src: url('../fonts/eot/latin/hack-bolditalic-latin-webfont.eot?v=2.020');
-  src: url('../fonts/eot/latin/hack-bolditalic-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'), url('../fonts/woff2/latin/hack-bolditalic-latin-webfont.woff2?v=2.020') format('woff2'), url('../fonts/woff/latin/hack-bolditalic-latin-webfont.woff?v=2.020') format('woff'), url('../fonts/web-ttf/latin/hack-bolditalic-latin-webfont.ttf?v=2.020') format('truetype');
-  font-weight: 700;
-  font-style: italic;
-}

+ 0 - 4
build/webfonts/css/hack.min.css

@@ -1,4 +0,0 @@
-/*!
- *  Hack v2.020 - https://sourcefoundry.org/hack/
- *  Licenses - Fonts: Hack Open Font License + Bitstream Vera license, CSS: MIT License
- */@font-face{font-family:'Hack';src:url('../fonts/eot/latin/hack-regular-latin-webfont.eot?v=2.020');src:url('../fonts/eot/latin/hack-regular-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/latin/hack-regular-latin-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/latin/hack-regular-latin-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/latin/hack-regular-latin-webfont.ttf?v=2.020') format('truetype');font-weight:400;font-style:normal}@font-face{font-family:'Hack';src:url('../fonts/eot/latin/hack-bold-latin-webfont.eot?v=2.020');src:url('../fonts/eot/latin/hack-bold-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/latin/hack-bold-latin-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/latin/hack-bold-latin-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/latin/hack-bold-latin-webfont.ttf?v=2.020') format('truetype');font-weight:700;font-style:normal}@font-face{font-family:'Hack';src:url('../fonts/eot/latin/hack-italic-latin-webfont.eot?v=2.020');src:url('../fonts/eot/latin/hack-italic-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/latin/hack-italic-latin-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/latin/hack-italic-latin-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/latin/hack-italic-latin-webfont.ttf?v=2.020') format('truetype');font-weight:400;font-style:italic}@font-face{font-family:'Hack';src:url('../fonts/eot/latin/hack-bolditalic-latin-webfont.eot?v=2.020');src:url('../fonts/eot/latin/hack-bolditalic-latin-webfont.eot?#iefix&v=2.020') format('embedded-opentype'),url('../fonts/woff2/latin/hack-bolditalic-latin-webfont.woff2?v=2.020') format('woff2'),url('../fonts/woff/latin/hack-bolditalic-latin-webfont.woff?v=2.020') format('woff'),url('../fonts/web-ttf/latin/hack-bolditalic-latin-webfont.ttf?v=2.020') format('truetype');font-weight:700;font-style:italic}

BIN
build/webfonts/fonts/eot/hack-bold-webfont.eot


BIN
build/webfonts/fonts/eot/hack-bolditalic-webfont.eot


BIN
build/webfonts/fonts/eot/hack-italic-webfont.eot


BIN
build/webfonts/fonts/eot/hack-regular-webfont.eot


BIN
build/webfonts/fonts/eot/latin/hack-bold-latin-webfont.eot


BIN
build/webfonts/fonts/eot/latin/hack-bolditalic-latin-webfont.eot


BIN
build/webfonts/fonts/eot/latin/hack-italic-latin-webfont.eot


BIN
build/webfonts/fonts/eot/latin/hack-regular-latin-webfont.eot


BIN
build/webfonts/fonts/web-ttf/hack-bold-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/hack-bolditalic-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/hack-italic-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/hack-regular-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/latin/hack-bold-latin-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/latin/hack-bolditalic-latin-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/latin/hack-italic-latin-webfont.ttf


BIN
build/webfonts/fonts/web-ttf/latin/hack-regular-latin-webfont.ttf


BIN
build/webfonts/fonts/woff/hack-bold-webfont.woff


BIN
build/webfonts/fonts/woff/hack-bolditalic-webfont.woff


BIN
build/webfonts/fonts/woff/hack-italic-webfont.woff


BIN
build/webfonts/fonts/woff/hack-regular-webfont.woff


BIN
build/webfonts/fonts/woff/latin/hack-bold-latin-webfont.woff


BIN
build/webfonts/fonts/woff/latin/hack-bolditalic-latin-webfont.woff


BIN
build/webfonts/fonts/woff/latin/hack-italic-latin-webfont.woff


BIN
build/webfonts/fonts/woff/latin/hack-regular-latin-webfont.woff


BIN
build/webfonts/fonts/woff2/hack-bold-webfont.woff2


BIN
build/webfonts/fonts/woff2/hack-bolditalic-webfont.woff2


BIN
build/webfonts/fonts/woff2/hack-italic-webfont.woff2


Some files were not shown because too many files changed in this diff