Skip to content

Commit 0156f1d

Browse files
committed
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
2 parents 696742f + 0661955 commit 0156f1d

6,635 files changed

Lines changed: 12755 additions & 559635 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.travis.yml

Lines changed: 48 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,52 @@
1-
sudo: false
2-
language: python
1+
sudo: true
2+
language: generic
3+
group: deprecated-2017Q3
34

4-
env:
5-
- VARIANT=source/Hack-Regular.ufo
6-
- VARIANT=source/Hack-Bold.ufo
7-
- VARIANT=source/Hack-Italic.ufo
8-
- VARIANT=source/Hack-BoldItalic.ufo
9-
10-
before_script: pip install ufolint
11-
12-
script: "ufolint $VARIANT"
5+
matrix:
6+
include:
7+
- os: linux
8+
sudo: required
9+
env:
10+
- TARGET="lint"
11+
before_script:
12+
- pip install ufolint
13+
- sudo apt-get -qq update
14+
- sudo apt-get install -y shellcheck
15+
script:
16+
- make -j $TARGET
17+
- os: linux
18+
sudo: required
19+
env:
20+
- TARGET="build-with-dependencies"
21+
before_script:
22+
- pip install ufolint
23+
- sudo apt-get -qq update
24+
- sudo apt-get install -y shellcheck
25+
script:
26+
- make -j $TARGET
27+
- os: osx
28+
env:
29+
- TARGET="lint"
30+
before_install:
31+
- brew update
32+
- brew install python3
33+
- virtualenv env -p python3
34+
- source env/bin/activate
35+
before_script:
36+
- pip install ufolint
37+
- brew install shellcheck
38+
script:
39+
- make -j $TARGET
40+
- os: osx
41+
env:
42+
- TARGET="build-with-dependencies"
43+
before_install:
44+
- brew update
45+
- brew install python3
46+
- virtualenv env -p python3
47+
- source env/bin/activate
48+
script:
49+
- make -j $TARGET
1350

1451
notifications:
1552
email: false

CHANGELOG.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,94 @@
1+
# Version 3.000
2+
3+
### New license
4+
5+
- Eliminated Hack Open Font License
6+
- Added MIT License for Hack work
7+
- These license changes eliminated the Reserved Font Name "Hack" in the typeface license
8+
- No changes to co-licensure with the Bitstream Vera license from upstream source
9+
10+
### New source and build tooling
11+
12+
- converted to valid UFO v2 source files with cubic curves
13+
- added automated build from scratch approach with make + FLOSS software only for desktop fonts
14+
- added automated build from scratch approach with make + FLOSS software only for web fonts (complete sets and subsets)
15+
- added automated cross platform build dependency installation as a make target
16+
- added ttfautohint build from source scripting support (includes support for builds on OS X platform)
17+
- added automated ttf build autohinting scripting with ttfautohint as part of the make build workflow
18+
- added Font Bakery fstype post-compilation fix
19+
- added Font Bakery DSIG table post-compilation fix
20+
- modified default zopfli iterations to 3 from 15 for woff builds (improved build time vs file size balance)
21+
- created a (workaround) approach to web font subset builds from UFO source files with fontmake
22+
- created new font archive preparation script
23+
- repository path modifications to support above changes
24+
- eliminated old, unnecessary repository scripts
25+
- added fontmake build dependency
26+
- added fontTools build dependency
27+
- added ttfautohint build dependency (includes Harfbuzz and FreeType build dependencies)
28+
- added Font Bakery fstype post-compilation fix dependency (script housed in repo)
29+
- added Font Bakery DSIG table fix dependency (script housed in repo)
30+
- added sfnt2woff-zopfli build dependency
31+
- added woff2 build dependency (uses customized Source Foundry fork that is modified to address build bug on OS X platforms)
32+
- added Source Foundry SRC vendor ID to source files
33+
34+
### Continuous integration testing
35+
36+
- added Travis CI desktop font build testing on Linux and OS X platforms
37+
- added Travis CI web font build testing on Linux and OS X platforms
38+
- added ufolint UFO source file linting to CI testing
39+
- added shellcheck shell script source file linting to CI testing
40+
41+
### Desktop font build changes
42+
43+
- eliminated otf builds
44+
45+
### Web font build changes
46+
47+
- eliminated eot web font builds
48+
- eliminated ttf web font builds
49+
- modified CSS file paths (affects web font CDN URL for all v3.0+ builds)
50+
51+
### Design changes
52+
53+
- added U+0114 and U+0115, all sets
54+
- added U+012C and U+012D, all sets
55+
- added U+014E and U+014F, all sets
56+
- Bold set: reduced dimensions of middle dot glyph (U+00B7)
57+
- improved design of the Powerline glyph set (addresses alignment rendering on Linux and Windows platforms)
58+
- added web font subset character set targets of ASCII, Latin-1, Latin Extended A, General Punctuation, and Currency sets
59+
- ttfautohint updated to v1.6
60+
- added Regular set as blue zone reference font for ttfautohint ttf build autohinting
61+
- defined x height pixel grid rounding up size range as 6ppem - 10ppem for ttfautohint ttf build autohinting
62+
- examined and improved manual hinting adjustments across the entire ASCII glyph set x sizes 8 - 14 ppem
63+
- Regular set: modified manual hints U+0023 @ size 13
64+
- Regular set: modified manual hints U+0025 @ sizes 10, 11, 14
65+
- Regular set: modified manual hints U+002B @ sizes 12, 13
66+
- Regular set: modified manual hints U+0030 @ 8, 12, 13, 14
67+
- Bold set: modified manual hints U+0021 @ size 14
68+
- Bold set: modified manual hints U+0025 @ sizes 10, 11, 14
69+
- Bold set: modified manual hints U+002B @ sizes 10, 11
70+
- Bold set: modified manual hints U+0038 @ sizes 12, 13, 14
71+
- Italic set: modified manual hints U+0025 @ sizes 10, 11, 14
72+
- BoldItalic set: modified manual hints U+002B @ sizes 10, 11
73+
74+
75+
### Documentation changes
76+
77+
- added design guidelines to CONTRIBUTING.md documentation
78+
- added issue reporting guidelines to CONTRIBUTING.md documentation
79+
- added pull request guidelines to CONTRIBUTING.md documentation
80+
- added contributors definition to CONTRIBUTING.md documentation
81+
- added build documentation in docs/BUILD.md
82+
- added Frequently Asked Questions documentation as FAQ.md
83+
84+
### Fixes
85+
86+
- modified openTypeNamePreferredSubfamilyName key definition in fontinfo.plist to support proper naming on Windows platform
87+
- added middle dot glyph (U+00B7) to BoldItalic set
88+
- fixed superscript OpenType features scripts in features.fea x all four variant sets
89+
90+
91+
192
# Version 2.020
293

394
- divided the vertical stroke in the pipe glyph (U+007C), italic and bold italic sets

CONTRIBUTING.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Hack is a general purpose typeface for source code. The _needs of the many_ desc
1313
### Core
1414

1515
- **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.
16-
- 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.
16+
- 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.
1717
- Font-sizes between **8-14 px**, line-height >= 1
1818
- **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.
1919
- 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
6262

6363
### Glyph modifications
6464

65-
- Only include the modified `glyphs/*.glif` source files for the modified glyphs in commits
65+
Modifications include all existing glyph design changes, glyph additions, and glyph deletions.
6666
- Modification of other source files is not acceptable
6767

68-
### Glyph additions and deletions
68+
- Only include the modified `glyphs/*.glif` source files for the modified glyphs in your pull request commits
69+
- Modification of other source files is not acceptable and pull requests will not be accepted until the above condition is met
6970

7071
- Include the added and/or deleted `glyphs/*.glif` source file(s) in commits
71-
- Include the `glyphs/contents.plist` source file in commits
72+
You can achieve this design modification workflow with one of the following approaches:
7273
- Modification of other source files is not acceptable
7374

74-
75-
### Other Issues
75+
- 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
76+
- 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)
77+
- 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)
7678

7779
- commits that add or delete UFO source files outside of the above recommendations will not be accepted
7880

@@ -91,4 +93,4 @@ We love help with our docs! This includes anything from simple misspelling or g
9193

9294
# Contributors
9395

94-
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.
96+
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.

0 commit comments

Comments
 (0)