• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build/H06-Mar-2018-140120

config/fontconfig/H06-Mar-2018-2019

docs/H06-Mar-2018-412303

img/H03-May-2022-

postbuild_processing/H06-Mar-2018-13252

source/H06-Mar-2018-330,210323,653

tools/scripts/H06-Mar-2018-470278

.gitignoreH A D06-Mar-201852 32

CHANGELOG.mdH A D06-Mar-201853.8 KiB905786

CONTRIBUTING.mdH A D06-Mar-20188.9 KiB9251

FAQ.mdH A D06-Mar-201811.9 KiB19899

LICENSE.mdH A D06-Mar-20183.7 KiB4629

MakefileH A D06-Mar-2018743 4128

README.mdH A D06-Mar-201812.8 KiB227139

build-subsets.shH A D06-Mar-201813.7 KiB467255

build-ttf.shH A D06-Mar-20187.4 KiB224138

build-woff.shH A D06-Mar-20184.5 KiB173100

build-woff2.shH A D06-Mar-20184.3 KiB16593

package.jsonH A D06-Mar-2018387 1514

README.md

1
2# Hack
3
4[![GitHub release](https://img.shields.io/github/release/source-foundry/hack.svg?style=flat)](https://github.com/source-foundry/Hack/releases/latest)
5[![Build Status](https://semaphoreci.com/api/v1/sourcefoundry/hack/branches/master/shields_badge.svg)](https://semaphoreci.com/sourcefoundry/hack)
6[![Contributors](https://img.shields.io/badge/contributors-128-orange.svg?style=flat)](https://github.com/source-foundry/Hack/blob/master/docs/CONTRIBUTORS.md)
7[![Join the chat at https://gitter.im/source-foundry/Hack](https://badges.gitter.im/source-foundry/Hack.svg)](https://gitter.im/source-foundry/Hack)
8[![Github All Releases](https://img.shields.io/github/downloads/source-foundry/hack/total.svg?style=flat)](https://github.com/source-foundry/Hack/releases/latest)
9[![](https://data.jsdelivr.com/v1/package/npm/hack-font/badge?style=rounded)](https://www.jsdelivr.com/package/npm/hack-font)
10
11Don't like the development noise from the repository but want to keep up with changes? Check out our [gitter Hack channel](https://gitter.im/source-foundry/Hack).  Have a quick question that doesn't require an issue report?  Drop by our [gitter Help channel](https://gitter.im/source-foundry/Help) and ask away.
12
13### A typeface designed for source code
14
15Hack is designed to be a workhorse typeface for source code. It has deep roots in the free, open source typeface community and expands upon the contributions of the [Bitstream Vera](https://www.gnome.org/fonts/) & [DejaVu](http://dejavu-fonts.org/wiki/Main_Page) projects.  The large x-height + wide aperture + low contrast design make it legible at commonly used source code text sizes with a sweet spot that runs in the 8 - 14 range.  The full set of changes to the upstream source are available in the [changelog](CHANGELOG.md).
16
17The project is in active development, and we welcome your input and contributions.  You may view our design objectives and instructions on how to contribute in [CONTRIBUTING.md](CONTRIBUTING.md).
18
19Frequently asked questions are answered in our [FAQ](FAQ.md).
20
21### Contents
22
23* [Features](#overview-of-features)
24* [Quick installation](#quick-installation)
25* [Package manager installation](#package-managers)
26* [Web font usage](#web-font-usage)
27* [Additional tools for font customization](#additional-tools-for-hack-font-customization)
28* [Resources](#resources)
29* [Contributing](#contributing)
30* [Build tools](#built-with)
31* [Acknowledgments](#acknowledgments)
32* [License](#license)
33
34
35### Specimen
36
37<a href="http://source-foundry.github.io/Hack/font-specimen.html"><img src="img/hack-specimen-3-crunch.png" alt="Hack &mdash; a typeface designed for source code" width="728"></a>
38
39## Overview of features
40
41- **Typeface Name**: Hack
42- **Category**: Monospaced
43- **Character set support**: ASCII, Latin-1, Latin Extended A, Greek, Cyrillic
44- **Powerline Support**: Yes, included by default
45- **Included Styles**: Regular, Bold, Italic, Bold Italic
46
47## Quick installation
48
49**NOTE ON FONT UPDATES**
50*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.*
51
52### Linux
53
541. Download the [latest version of Hack][ttf_latest].
552. Extract the files from the archive (`.zip`).
563. Copy the font files to either your system font folder (often `/usr/share/fonts/`) or user font folder (often `~/.local/share/fonts/` or `/usr/local/share/fonts`).
574. Copy the font configuration file in `config/fontconfig/` to either the system font configuration folder (often `/etc/fonts/conf.d/`) or the font user folder (often `~/.config/fontconfig/conf.d`)
585. Clear and regenerate your font cache and indexes with the following command:
59
60```
61$ fc-cache -f -v
62```
63
64You can confirm that the fonts are installed with the following command:
65
66```
67$ fc-list | grep "Hack"
68```
69
70Some Linux users may find that font rendering is improved on their distro with [these instructions](https://wiki.manjaro.org/index.php?title=Improve_Font_Rendering).
71
72### macOS
73
741. Download the [latest version of Hack][ttf_latest].
752. Extract the files from the archive (`.zip`) and click to open them.
763. Follow the instructions from your operating system.
774. Enjoy!
78
79
80### Windows
81
82[![Hack Windows Installer](https://img.shields.io/badge/Windows-Installer-blue.svg?style=flat-square)](https://github.com/source-foundry/Hack-windows-installer/releases/latest)
83
84The [Hack Windows Installer](https://github.com/source-foundry/Hack-windows-installer/releases/latest) simplifies installation on the Windows platform.  The tool guides you through the installation process and addresses some common rendering issues that occur with font installs/updates on the Windows platform.  This tool is the recommended installation approach for Windows users.
85
86
87### Chrome/ChromeOS
88
89To use with [Secure Shell](https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo),
90edit the following fields in Options:
91
92  - font-family: `"Hack"`
93  - user-css: `https://cdn.jsdelivr.net/npm/hack-font@3/build/web/hack.css`
94
95## Package managers
96
97We 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.
98
99We are aware of Hack support in the following package managers (with associated package names):
100
101- **Arch Linux**: `ttf-hack`
102- **Chocolatey (Windows)**: `hackfont`
103- **Debian**: `fonts-hack-ttf`
104- **Fedora / CentOS**: `dnf-plugins-core :: heliocastro/hack-fonts :: hack-fonts`
105- **Gentoo Linux**: `media-fonts/hack`
106- **Homebrew Cask (OS X)**: `caskroom/fonts/font-hack`
107- **Open BSD**: `fonts/hack-fonts`
108- **OpenSUSE**: `hack-fonts`
109- **Ubuntu**: `fonts-hack-ttf`
110- **Visual Studio Package Manager**: `hack.font`
111
112For installation issues with Hack packages, please contact the package maintainer directly.
113
114
115## Web font usage
116
117Hack is available in the woff and woff2 web font formats. **Bold** and *italic* styles are included by default and work out-of-the-box via the `<strong>` and `<em>` tags.
118
119Hack is available through the jsDelivr and cdnjs CDN services:
120
121[![jsDelivr](https://img.shields.io/badge/jsDelivr-Hack_web_font_CDN-blue.svg?style=flat-square)](https://www.jsdelivr.com/package/npm/hack-font)
122[![cdnjs](https://img.shields.io/badge/cdnjs-Hack_web_font_CDN-blue.svg?style=flat-square)](https://cdnjs.com/libraries/hack-font)
123
124The following snippets provide examples of Hack web font use through the jsDelivr CDN.  Adjust the URL paths to those provided by cdnjs (click the link above to find the appropriate URL) to switch to the cdnjs CDN.
125
126#### 1. Add Hack to HTML
127
128Include one of the following in the &lt;head&gt; section of your HTML file:
129
130**Subset web fonts**
131
132```html
133<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/hack-font@3/build/web/hack-subset.css">
134```
135
136**Full character set web fonts**
137
138```html
139<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/hack-font@3/build/web/hack.css">
140```
141
142#### 2. Add Hack to CSS
143
144
145```css
146pre, code { font-family: Hack, monospace; }
147```
148
149See the [WEBFONT_USAGE.md](docs/WEBFONT_USAGE.md) documentation for additional details, including instructions on how to download, host, and serve the web fonts on your web server.
150
151## Additional tools for Hack font customization
152
153### Customize your build with alternate glyph styles
154
155The [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.
156
157We welcome contributions of new alternate glyph styles in the alt-hack repository.  Design something new that works well with rest of the typeface and submit a pull request to the alt-hack repository so that others can use it in their custom builds.
158
159Detailed build instructions are available on the [alt-hack repository README.md](https://github.com/source-foundry/alt-hack).  Font renaming instructions to support side-by-side installs with upstream Hack are available below.
160
161### Line spacing adjustments
162
163[font-line](https://github.com/source-foundry/font-line) is a tool that modifies the default line spacing used in the Hack design (20% UPM).
164
165The following gist installs font-line and modifies line spacing for all desktop font files contained in the same directory:
166
167- [linespace.sh](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174) ([download .zip](https://gist.github.com/chrissimpkins/f39e85f5f157d839e46168de1b61a174/archive/f3f93dea87d64ddc4684a61cbc96ddf79d30824a.zip))
168
169### Install modified and unmodified versions of Hack on the same system
170
171If you modify the upstream Hack source or the released font binaries and would like to install your modified fonts on the same system with the Hack fonts as released here, you can use the [fontname.py Python script](https://github.com/chrissimpkins/fontname.py) to define a new font name in the binary files.  For example, you can install `Hack` on your platform along with a 15% UPM line spacing adjusted version as `Hack Fifteen`.  Modify default glyphs with those in our [alt-hack repository](https://github.com/source-foundry/alt-hack) or design your own and define your creation with any name that you'd like.  Following installation, your renamed fonts should show under the name that you define with the script so that you can switch between any of them as you need.
172
173Usage details and examples are provided on the fontname.py repository README.
174
175
176## Resources
177* [Full specimen](http://source-foundry.github.io/Hack/font-specimen.html)
178* [Changelog](CHANGELOG.md)
179* [Project website](http://sourcefoundry.org/hack/)
180* [Contributors](docs/CONTRIBUTORS.md)
181
182
183## Contributing
184
185We welcome contributions to Hack!  Please review our [CONTRIBUTING.md](CONTRIBUTING.md) document for details.
186
187
188## Built With
189
190Hack is built with the following free, open source projects:
191
192- [Font Bakery](https://github.com/googlefonts/fontbakery) - post-compilation modifications
193- [fontmake](https://github.com/googlei18n/fontmake) - UFO to ttf compilation
194- [fontTools](https://github.com/fonttools/fonttools) - OpenType table read/write
195- [font-v](https://github.com/source-foundry/font-v) - font version string editor
196- [ink](https://github.com/chrissimpkins/ink) - stream editor for text file templating
197- [OpenFV](https://github.com/openfv/openfv) - open specification for semantic typeface versioning
198- [sfnt2woff_zopfli](https://github.com/bramstein/sfnt2woff-zopfli) - ttf to woff web font compilation
199- [ttfautohint](https://www.freetype.org/ttfautohint/) - ttf instruction sets
200- [uni](https://github.com/source-foundry/uni) - Unicode code point search
201- [ufodiff](https://github.com/source-foundry/ufodiff) - UFO source diffs
202- [ufoLib](https://github.com/unified-font-object/ufoLib) - UFO source file reads/writes/testing
203- [ufolint](https://github.com/source-foundry/ufolint) - UFO source file linting for CI testing
204- [woff2](https://github.com/google/woff2) - ttf to woff2 web font compilation
205
206
207## Acknowledgments
208
209We would like to acknowledge and thank the [jsDelivr](https://www.jsdelivr.com/) and [cdnjs](https://cdnjs.com) teams for their support of the Hack project through their free web font CDN services.  We greatly appreciate the tremendous support of open source software development by the [Semaphore CI](https://semaphoreci.com/) team.  Their free CI testing service and rapid, excellent technical support have been tremendous assets for our project. Lastly, a huge thanks go out to all of those who do the unrecognized work to get Hack out there to users so that it is easy to access, install, upgrade, and use.  There are redistribution package managers, review committee members, testers, and others across platforms/distros/applications who perform this thankless work and often go unrecognized.  Your efforts are much appreciated.
210
211
212## License
213
214**Hack** work is &copy; 2018 Source Foundry Authors. MIT License
215
216**Bitstream Vera Sans Mono** &copy; 2003 Bitstream, Inc. (with Reserved Font Names _Bitstream_ and _Vera_). Bitstream Vera License.
217
218The font binaries are released under a license that permits unlimited print, desktop, web, and software embedding use for commercial and non-commercial applications.
219
220See [LICENSE.md](https://github.com/source-foundry/Hack/blob/master/LICENSE.md) for the full texts of the licenses.
221
222
223
224<!-- Link to the latest release archive for README.md file -->
225
226[ttf_latest]: https://github.com/source-foundry/Hack/releases/download/v3.003/Hack-v3.003-ttf.zip
227