mirror of
https://github.com/rsms/inter.git
synced 2024-09-11 02:45:42 +03:00
The Great Rename to "Inter"
This commit is contained in:
parent
a5cf88e659
commit
5a5be63d6e
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@ -22,7 +22,7 @@ If applicable, add screenshots to help explain your problem.
|
||||
**Environment**
|
||||
- OS: [e.g. macOS 10.14]
|
||||
- App that renders the font [if applicable; e.g. Chrome, Adobe Illustrator]
|
||||
- Version of font [e.g. "Inter UI Regular 3.0;8cf05e4a" — you can use fontdrop.info to find out the version]
|
||||
- Version of font [e.g. "Inter Regular 3.0;8cf05e4a" — you can use fontdrop.info to find out the version]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
@ -1,16 +1,16 @@
|
||||
# Contributing to the Inter UI font project
|
||||
# Contributing to the Inter font project
|
||||
|
||||
First off, thank you for considering contributing to Inter UI.
|
||||
First off, thank you for considering contributing to Inter.
|
||||
It's people like you that make the Internet such a great place.
|
||||
|
||||
Following these guidelines helps to communicate that you respect the time of the people managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue or suggestion.
|
||||
|
||||
By contributing work to the Inter UI font project you agree to have all work contributed becoming the intellectual property of the Inter UI font project as described by [SIL Open Font License, Version 1.1](http://scripts.sil.org/OFL)
|
||||
By contributing work to the Inter font project you agree to have all work contributed becoming the intellectual property of the Inter font project as described by [SIL Open Font License, Version 1.1](http://scripts.sil.org/OFL)
|
||||
|
||||
|
||||
## Types of contributions this project is looking for
|
||||
|
||||
**More glyphs!** Several glyphs, especially non-latin ones, are placeholders that need to be replaced with ones designed in the style of Inter UI. Cyrillic glyphs are especially requested.
|
||||
**More glyphs!** Several glyphs, especially non-latin ones, are placeholders that need to be replaced with ones designed in the style of Inter. Cyrillic glyphs are especially requested.
|
||||
|
||||
**Kerning**, kerning, kerning — there are so many pairs and pairs-in-words that need to be kerned, or have their kerning improved. When adding kerning, use _groups_ rather than individual pairs. See [Kerning](#kerning) for more information.
|
||||
|
||||
@ -36,15 +36,15 @@ If these rules are not followed, generated styles will fail to build.
|
||||
|
||||
There are three ways to generate font files (OTF, TTF, WOFF2, etc) from the sources files:
|
||||
|
||||
- Using Inter UI's own build system: `dockermake` and locally (see ["Using the toolchain"](#using-the-toolchain))
|
||||
- Using Inter's own build system: `dockermake` and locally (see ["Using the toolchain"](#using-the-toolchain))
|
||||
- Using the "export" feature in font editors like [Glyphs](https://glyphsapp.com/) or [RoboFont](http://robofont.com/)
|
||||
|
||||
Exporting from font editors is a great alternative if you just want to test things out, but using Inter UI's own build system is the way to go for "production quality" font files. The rest of this section covers how to use Inter UI's own build system, aka _the toolchain_.
|
||||
Exporting from font editors is a great alternative if you just want to test things out, but using Inter's own build system is the way to go for "production quality" font files. The rest of this section covers how to use Inter's own build system, aka _the toolchain_.
|
||||
|
||||
|
||||
### Using the toolchain
|
||||
|
||||
The Inter UI toolchain is a collection of programs setup to build everything
|
||||
The Inter toolchain is a collection of programs setup to build everything
|
||||
in a high-quality and reliable way. It can be fully automated and requires no
|
||||
paid software.
|
||||
|
||||
@ -56,7 +56,7 @@ TL;DR: to make & test everything:
|
||||
|
||||
There are two ways of using the toolchain:
|
||||
|
||||
- `dockermake` — a [prebuild Docker image](https://cloud.docker.com/u/rsms/repository/docker/rsms/inter-ui-build) containing the complete toolchain is used. This is the easiest and quickest way to build Inter UI. Supports any platform that can run Docker, like Windows, macOS and Linux.
|
||||
- `dockermake` — a [prebuild Docker image](https://cloud.docker.com/u/rsms/repository/docker/rsms/inter-build) containing the complete toolchain is used. This is the easiest and quickest way to build Inter. Supports any platform that can run Docker, like Windows, macOS and Linux.
|
||||
- locally — setup the toolchain locally using `init.sh` and then build using make. Only supports macOS and Linux.
|
||||
|
||||
#### Using dockermake
|
||||
@ -69,7 +69,7 @@ Example:
|
||||
|
||||
```
|
||||
$ ./dockermake -j Regular SemiBoldItalic
|
||||
misc/fontbuild instancegen src/Inter-UI.designspace SemiBoldItalic
|
||||
misc/fontbuild instancegen src/Inter.designspace SemiBoldItalic
|
||||
...
|
||||
```
|
||||
|
||||
@ -83,7 +83,7 @@ The first step is to initialize the toolchain itself:
|
||||
./init.sh
|
||||
```
|
||||
|
||||
This will fetch, setup and configure everything needed to build and test Inter UI.
|
||||
This will fetch, setup and configure everything needed to build and test Inter.
|
||||
|
||||
> **—Important—** Run `init.sh` everytime you pull new changes to the source code or before pushing source code to a remote repository. `init.sh` may update the UFO source files and makefile, changes which may be required to be included in a source code change.
|
||||
|
||||
@ -120,7 +120,7 @@ make -j MediumItalic_web # Medium Italic as TTF, WOFF and WOFF2
|
||||
make -j build/hinted/Bold.ttf # Bold TTF with autohints
|
||||
```
|
||||
|
||||
All resulting font files are written to the `build` directory with `InterUI-` as the filename prefix. The `Makefile` file contains information about more possibilities of `make`.
|
||||
All resulting font files are written to the `build` directory with `Inter-` as the filename prefix. The `Makefile` file contains information about more possibilities of `make`.
|
||||
|
||||
[**The interactive Lab**](#interactive-lab) is a great tool for quickly exploring your font files. It's a web-based tool which you start in a terminal by running:
|
||||
|
||||
@ -165,7 +165,7 @@ This project comes with a simple web-based application for debugging and preview
|
||||
alternate numerics, etc.
|
||||
- Controls for web-browser text features like `capitalize`, `uppercase`,
|
||||
`lowercase`, etc.
|
||||
- Ability to compare Inter UI side-by-side with other fonts.
|
||||
- Ability to compare Inter side-by-side with other fonts.
|
||||
|
||||
To start the lab, simply run this in a terminal (and keep the terminal running.)
|
||||
|
||||
@ -175,7 +175,7 @@ python docs/lab/serve.py
|
||||
|
||||
You can now visit the URL printed on the screen to use the lab. Simply `make -j STYLE_web` (or `make -j all_web` for all styles) and reload the web page to try a new build.
|
||||
|
||||
An online version of the lab is available at <https://rsms.me/inter/lab/> with the most recent official release of the Inter UI font files.
|
||||
An online version of the lab is available at <https://rsms.me/inter/lab/> with the most recent official release of the Inter font files.
|
||||
|
||||
|
||||
### Kerning
|
||||
@ -198,7 +198,7 @@ Kerning groups is a really simple but incredibly time-saving way of kerning a fo
|
||||
The script `misc/tools/kernsample.py` is helpful in generating samples for all existing right-hand side characters given a left-hand side glyphname.
|
||||
|
||||
```txt
|
||||
$ misc/kernsample.py src/Inter-UI-Black.ufo P -suffix MOR
|
||||
$ misc/kernsample.py src/Inter-Black.ufo P -suffix MOR
|
||||
PAMOR P/AE MOR PJMOR PXMOR PYMOR PZMOR P/ae mor P/ampersand mor
|
||||
P/backslash mor P/dzcaron mor P/eightsub mor P/ellipsis mor Pfmor
|
||||
P/four mor P/guilsinglleft mor P/idieresisacute mor P/periodcentered
|
||||
@ -213,7 +213,7 @@ This only includes existing kerning and is thus only useful for adjustments. Add
|
||||
|
||||
### Miscellaneous tools
|
||||
|
||||
There are several tools included with Inter UI to help "wrangle" metrics, generate glyphs, create PDFs and so on. You can find these tools in the `misc/tools` directory. They are all command-line tools and their usage can be queried by providing the help flag `-h`.
|
||||
There are several tools included with Inter to help "wrangle" metrics, generate glyphs, create PDFs and so on. You can find these tools in the `misc/tools` directory. They are all command-line tools and their usage can be queried by providing the help flag `-h`.
|
||||
|
||||
For example, the fontinfo tool can be used to generate a JSON description of all metadata and merics of a TTF or OTF file:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
Copyright (c) 2016-2018 The Inter UI Project Authors (me@rsms.me)
|
||||
Copyright (c) 2016-2018 The Inter Project Authors (me@rsms.me)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
|
108
Makefile
108
Makefile
@ -19,7 +19,7 @@
|
||||
# all_var_hinted Build all variable font files with hints into
|
||||
# FONTDIR/var-hinted
|
||||
#
|
||||
# designspace Build src/Inter-UI.designspace from src/Inter-UI.glyphs
|
||||
# designspace Build src/Inter.designspace from src/Inter.glyphs
|
||||
#
|
||||
# Style-specific targets:
|
||||
# STYLE_otf Build OTF file for STYLE into FONTDIR/const
|
||||
@ -45,15 +45,15 @@ all: all_const all_const_hinted all_var
|
||||
all_const: all_otf all_ttf all_web
|
||||
all_const_hinted: all_ttf_hinted all_web_hinted
|
||||
var: \
|
||||
$(FONTDIR)/var/Inter-UI.var.woff2 \
|
||||
$(FONTDIR)/var/Inter-UI.var.ttf
|
||||
$(FONTDIR)/var/Inter.var.woff2 \
|
||||
$(FONTDIR)/var/Inter.var.ttf
|
||||
all_var: \
|
||||
$(FONTDIR)/var/Inter-UI.var.woff2 \
|
||||
$(FONTDIR)/var/Inter-UI-upright.var.woff2 \
|
||||
$(FONTDIR)/var/Inter-UI-italic.var.woff2 \
|
||||
$(FONTDIR)/var/Inter-UI.var.ttf \
|
||||
$(FONTDIR)/var/Inter-UI-upright.var.ttf \
|
||||
$(FONTDIR)/var/Inter-UI-italic.var.ttf
|
||||
$(FONTDIR)/var/Inter.var.woff2 \
|
||||
$(FONTDIR)/var/Inter-upright.var.woff2 \
|
||||
$(FONTDIR)/var/Inter-italic.var.woff2 \
|
||||
$(FONTDIR)/var/Inter.var.ttf \
|
||||
$(FONTDIR)/var/Inter-upright.var.ttf \
|
||||
$(FONTDIR)/var/Inter-italic.var.ttf
|
||||
|
||||
all_ufo_masters = $(Thin_ufo_d) \
|
||||
$(ThinItalic_ufo_d) \
|
||||
@ -63,7 +63,7 @@ all_ufo_masters = $(Thin_ufo_d) \
|
||||
$(BlackItalic_ufo_d)
|
||||
|
||||
# Hinted variable font disabled. See https://github.com/rsms/inter/issues/75
|
||||
# all_var_hinted: $(FONTDIR)/var-hinted/Inter-UI.var.ttf $(FONTDIR)/var-hinted/Inter-UI.var.woff2
|
||||
# all_var_hinted: $(FONTDIR)/var-hinted/Inter.var.ttf $(FONTDIR)/var-hinted/Inter.var.woff2
|
||||
# .PHONY: all_var_hinted
|
||||
|
||||
.PHONY: all_const all_const_hinted var all_var
|
||||
@ -93,34 +93,34 @@ $(FONTDIR)/var/%.var.ttf: src/%.designspace $(all_ufo_masters)
|
||||
|
||||
|
||||
# Instance UFO -> OTF, TTF (note: masters' rules in generated.make)
|
||||
$(FONTDIR)/const/Inter-UI-%.otf: build/ufo/Inter-UI-%.ufo
|
||||
$(FONTDIR)/const/Inter-%.otf: build/ufo/Inter-%.ufo
|
||||
misc/fontbuild compile -o $@ $<
|
||||
|
||||
$(FONTDIR)/const/Inter-UI-%.ttf: build/ufo/Inter-UI-%.ufo
|
||||
$(FONTDIR)/const/Inter-%.ttf: build/ufo/Inter-%.ufo
|
||||
misc/fontbuild compile -o $@ $<
|
||||
|
||||
|
||||
# designspace <- glyphs file
|
||||
src/Inter-UI-*.designspace: src/Inter-UI.designspace
|
||||
src/Inter-UI.designspace: src/Inter-UI.glyphs
|
||||
src/Inter-*.designspace: src/Inter.designspace
|
||||
src/Inter.designspace: src/Inter.glyphs
|
||||
misc/fontbuild glyphsync $<
|
||||
|
||||
# make sure intermediate files are not gc'd by make
|
||||
.PRECIOUS: src/Inter-UI-*.designspace
|
||||
.PRECIOUS: src/Inter-*.designspace
|
||||
|
||||
designspace: src/Inter-UI.designspace
|
||||
designspace: src/Inter.designspace
|
||||
.PHONY: designspace
|
||||
|
||||
# short-circuit Make for performance
|
||||
src/Inter-UI.glyphs:
|
||||
src/Inter.glyphs:
|
||||
@true
|
||||
|
||||
# instance UFOs <- master UFOs
|
||||
build/ufo/Inter-UI-%.ufo: src/Inter-UI.designspace $(all_ufo_masters)
|
||||
misc/fontbuild instancegen src/Inter-UI.designspace $*
|
||||
build/ufo/Inter-%.ufo: src/Inter.designspace $(all_ufo_masters)
|
||||
misc/fontbuild instancegen src/Inter.designspace $*
|
||||
|
||||
# make sure intermediate UFOs are not gc'd by make
|
||||
.PRECIOUS: build/ufo/Inter-UI-%.ufo
|
||||
.PRECIOUS: build/ufo/Inter-%.ufo
|
||||
|
||||
# Note: The seemingly convoluted dependency graph above is required to
|
||||
# make sure that glyphsync and instancegen are not run in parallel.
|
||||
@ -144,7 +144,7 @@ $(FONTDIR)/const-hinted/%.ttf: $(FONTDIR)/const/%.ttf
|
||||
|
||||
|
||||
# check var
|
||||
all_check_var: $(FONTDIR)/var/Inter-UI.var.ttf
|
||||
all_check_var: $(FONTDIR)/var/Inter.var.ttf
|
||||
misc/fontbuild checkfont $(FONTDIR)/var/*.*
|
||||
|
||||
# test runs all tests
|
||||
@ -185,34 +185,34 @@ build/tmp/a.zip:
|
||||
@rm -rf "$(ZD)"
|
||||
@rm -f build/tmp/a.zip
|
||||
@mkdir -p \
|
||||
"$(ZD)/Inter UI (web)" \
|
||||
"$(ZD)/Inter UI (web hinted)" \
|
||||
"$(ZD)/Inter UI (TTF)" \
|
||||
"$(ZD)/Inter UI (TTF hinted)" \
|
||||
"$(ZD)/Inter UI (TTF variable)" \
|
||||
"$(ZD)/Inter UI (OTF)"
|
||||
"$(ZD)/Inter (web)" \
|
||||
"$(ZD)/Inter (web hinted)" \
|
||||
"$(ZD)/Inter (TTF)" \
|
||||
"$(ZD)/Inter (TTF hinted)" \
|
||||
"$(ZD)/Inter (TTF variable)" \
|
||||
"$(ZD)/Inter (OTF)"
|
||||
@#
|
||||
@# copy font files
|
||||
cp -a $(FONTDIR)/const/*.woff \
|
||||
$(FONTDIR)/const/*.woff2 \
|
||||
$(FONTDIR)/var/*.woff2 "$(ZD)/Inter UI (web)/"
|
||||
$(FONTDIR)/var/*.woff2 "$(ZD)/Inter (web)/"
|
||||
cp -a $(FONTDIR)/const-hinted/*.woff \
|
||||
$(FONTDIR)/const-hinted/*.woff2 \
|
||||
"$(ZD)/Inter UI (web hinted)/"
|
||||
cp -a $(FONTDIR)/const/*.ttf "$(ZD)/Inter UI (TTF)/"
|
||||
cp -a $(FONTDIR)/const-hinted/*.ttf "$(ZD)/Inter UI (TTF hinted)/"
|
||||
cp -a $(FONTDIR)/var/*.ttf "$(ZD)/Inter UI (TTF variable)/"
|
||||
cp -a $(FONTDIR)/const/*.otf "$(ZD)/Inter UI (OTF)/"
|
||||
"$(ZD)/Inter (web hinted)/"
|
||||
cp -a $(FONTDIR)/const/*.ttf "$(ZD)/Inter (TTF)/"
|
||||
cp -a $(FONTDIR)/const-hinted/*.ttf "$(ZD)/Inter (TTF hinted)/"
|
||||
cp -a $(FONTDIR)/var/*.ttf "$(ZD)/Inter (TTF variable)/"
|
||||
cp -a $(FONTDIR)/const/*.otf "$(ZD)/Inter (OTF)/"
|
||||
@#
|
||||
@# copy misc stuff
|
||||
cp -a misc/dist/inter-ui.css "$(ZD)/Inter UI (web)/"
|
||||
cp -a misc/dist/inter-ui.css "$(ZD)/Inter UI (web hinted)/"
|
||||
cp -a misc/dist/inter.css "$(ZD)/Inter (web)/"
|
||||
cp -a misc/dist/inter.css "$(ZD)/Inter (web hinted)/"
|
||||
cp -a misc/dist/*.txt "$(ZD)/"
|
||||
cp -a LICENSE.txt "$(ZD)/"
|
||||
@#
|
||||
@# Add "beta" to Light and Thin filenames.
|
||||
@# Requires "rename" tool in PATH (`brew install rename` on macOS)
|
||||
rename 's/(Light.*|Thin.*)\./$$1-BETA./' "$(ZD)/Inter UI"*/*.*
|
||||
rename 's/(Light.*|Thin.*)\./$$1-BETA./' "$(ZD)/Inter"*/*.*
|
||||
@#
|
||||
@# zip
|
||||
cd "$(ZD)" && zip -q -X -r "../../../$@" * && cd ../..
|
||||
@ -222,10 +222,10 @@ build/tmp/a.zip:
|
||||
VERSION := $(shell cat version.txt)
|
||||
|
||||
# distribution zip files
|
||||
ZIP_FILE_DIST := build/release/Inter-UI-${VERSION}.zip
|
||||
ZIP_FILE_DIST := build/release/Inter-${VERSION}.zip
|
||||
|
||||
# zip
|
||||
build/release/Inter-UI-%.zip: build/tmp/a.zip
|
||||
build/release/Inter-%.zip: build/tmp/a.zip
|
||||
@mkdir -p "$(shell dirname "$@")"
|
||||
@mv -f "$<" "$@"
|
||||
@echo write "$@"
|
||||
@ -233,7 +233,7 @@ build/release/Inter-UI-%.zip: build/tmp/a.zip
|
||||
|
||||
zip: all
|
||||
$(MAKE) check
|
||||
$(MAKE) build/release/Inter-UI-${VERSION}-$(shell git rev-parse --short=10 HEAD).zip
|
||||
$(MAKE) build/release/Inter-${VERSION}-$(shell git rev-parse --short=10 HEAD).zip
|
||||
|
||||
zip_dist: pre_dist all
|
||||
$(MAKE) check
|
||||
@ -281,14 +281,14 @@ docs_fonts:
|
||||
|
||||
.PHONY: docs docs_info docs_fonts
|
||||
|
||||
docs/_data/fontinfo.json: docs/font-files/Inter-UI-Regular.otf misc/tools/fontinfo.py
|
||||
docs/_data/fontinfo.json: docs/font-files/Inter-Regular.otf misc/tools/fontinfo.py
|
||||
misc/tools/fontinfo.py -pretty $< > docs/_data/fontinfo.json
|
||||
|
||||
docs/lab/glyphinfo.json: build/UnicodeData.txt misc/tools/gen-glyphinfo.py $(all_ufo_masters)
|
||||
misc/tools/gen-glyphinfo.py -ucd $< src/Inter-UI-*.ufo > $@
|
||||
misc/tools/gen-glyphinfo.py -ucd $< src/Inter-*.ufo > $@
|
||||
|
||||
docs/glyphs/metrics.json: $(Regular_ufo_d) misc/tools/gen-metrics-and-svgs.py
|
||||
misc/tools/gen-metrics-and-svgs.py src/Inter-UI-Regular.ufo
|
||||
misc/tools/gen-metrics-and-svgs.py src/Inter-Regular.ufo
|
||||
|
||||
# Download latest Unicode data
|
||||
build/UnicodeData.txt:
|
||||
@ -299,24 +299,24 @@ build/UnicodeData.txt:
|
||||
# install targets
|
||||
install_ttf: all_ttf_const
|
||||
$(MAKE) all_web -j
|
||||
@echo "Installing TTF files locally at ~/Library/Fonts/Inter UI"
|
||||
rm -rf ~/'Library/Fonts/Inter UI'
|
||||
mkdir -p ~/'Library/Fonts/Inter UI'
|
||||
cp -va $(FONTDIR)/const/*.ttf ~/'Library/Fonts/Inter UI'
|
||||
@echo "Installing TTF files locally at ~/Library/Fonts/Inter"
|
||||
rm -rf ~/'Library/Fonts/Inter'
|
||||
mkdir -p ~/'Library/Fonts/Inter'
|
||||
cp -va $(FONTDIR)/const/*.ttf ~/'Library/Fonts/Inter'
|
||||
|
||||
install_ttf_hinted: all_ttf
|
||||
$(MAKE) all_web -j
|
||||
@echo "Installing autohinted TTF files locally at ~/Library/Fonts/Inter UI"
|
||||
rm -rf ~/'Library/Fonts/Inter UI'
|
||||
mkdir -p ~/'Library/Fonts/Inter UI'
|
||||
cp -va $(FONTDIR)/const-hinted/*.ttf ~/'Library/Fonts/Inter UI'
|
||||
@echo "Installing autohinted TTF files locally at ~/Library/Fonts/Inter"
|
||||
rm -rf ~/'Library/Fonts/Inter'
|
||||
mkdir -p ~/'Library/Fonts/Inter'
|
||||
cp -va $(FONTDIR)/const-hinted/*.ttf ~/'Library/Fonts/Inter'
|
||||
|
||||
install_otf: all_otf
|
||||
$(MAKE) all_web -j
|
||||
@echo "Installing OTF files locally at ~/Library/Fonts/Inter UI"
|
||||
rm -rf ~/'Library/Fonts/Inter UI'
|
||||
mkdir -p ~/'Library/Fonts/Inter UI'
|
||||
cp -va $(FONTDIR)/const/*.otf ~/'Library/Fonts/Inter UI'
|
||||
@echo "Installing OTF files locally at ~/Library/Fonts/Inter"
|
||||
rm -rf ~/'Library/Fonts/Inter'
|
||||
mkdir -p ~/'Library/Fonts/Inter'
|
||||
cp -va $(FONTDIR)/const/*.otf ~/'Library/Fonts/Inter'
|
||||
|
||||
install: install_otf
|
||||
|
||||
|
12
README.md
12
README.md
@ -1,6 +1,6 @@
|
||||
# Inter UI
|
||||
# Inter
|
||||
|
||||
Inter UI is a typeface specially designed for user interfaces
|
||||
Inter is a typeface specially designed for user interfaces
|
||||
with focus on high legibility of small-to-medium sized text on computer screens.
|
||||
|
||||
The family features a tall x-height to aid in readability of mixed-case and
|
||||
@ -22,7 +22,7 @@ After downloading the zip from above:
|
||||
|
||||
## Design
|
||||
|
||||
Inter UI is similar to Roboto, San Francisco, Akkurat, Asap, Lucida Grande and other "UI" typefaces. Some trade-offs were made in order to make this typeface work really well at small sizes:
|
||||
Inter is similar to Roboto, San Francisco, Akkurat, Asap, Lucida Grande and other "UI" and "Text" typefaces. Some trade-offs were made in order to make this typeface work really well at small sizes:
|
||||
|
||||
- Currently not suitable for very large sizes because of some small-scale glyph optimizations (like "pits" and "traps") that help rasterization at small sizes but stand out and interfere at large sizes.
|
||||
- Rasterized at sizes below 12px, some stems—like the horizontal center of "E", "F", or vertical center of "m"—are drawn with two semi-opaque pixels instead of one solid. This is because we "prioritize" (optimize for) higher-density rasterizations. If we move these stems to an off-center position—so that they can be drawn sharply at e.g. 11px—text will be less legible at higher resolutions.
|
||||
@ -50,7 +50,7 @@ Current font styles:
|
||||
| Black | 900
|
||||
| Black Italic | 900
|
||||
|
||||
Inter UI also ships as a variable font.
|
||||
Inter also ships as a variable font.
|
||||
|
||||
|
||||
### Font metrics
|
||||
@ -61,7 +61,7 @@ However, as the project progressed and the typeface was put into use, it quickly
|
||||
became clear that for anything longer than a short word, it was actually hard to
|
||||
read the almost monotonically-spaced letters.
|
||||
|
||||
A second major revision was create where the previously-strict rule of geometry being even multiples of 256 was relaxed and now the rule is "try to stick with 128x, if you can't, stick with 64x and if you can't do that either, never go below 16x." This means that Inter UI is now much more variable in pace than it used to be, making it work better at higher resolutions and work much better in longer text, but losing some contrast and sharpness at small sizes.
|
||||
A second major revision was create where the previously-strict rule of geometry being even multiples of 256 was relaxed and now the rule is "try to stick with 128x, if you can't, stick with 64x and if you can't do that either, never go below 16x." This means that Inter is now much more variable in pace than it used to be, making it work better at higher resolutions and work much better in longer text, but losing some contrast and sharpness at small sizes.
|
||||
|
||||
![Metrics](docs/res/metrics.png)
|
||||
|
||||
@ -81,7 +81,7 @@ Translating between EM units and pixels:
|
||||
- Rasterized at 22px: 1px = 128 units
|
||||
- Rasterized at 44px: 1px = 64 units
|
||||
|
||||
There's a Figma workspace for glyphs, with configured metrics: ["Inter UI glyphs"](https://www.figma.com/file/RtScFU5NETY3j9E0yOmnW4gv/)
|
||||
There's a Figma workspace for glyphs, with configured metrics: ["Inter glyphs"](https://www.figma.com/file/RtScFU5NETY3j9E0yOmnW4gv/)
|
||||
|
||||
|
||||
## See also
|
||||
|
@ -8,4 +8,4 @@ cd "$(dirname "$0")"
|
||||
if [[ -d .git ]]; then
|
||||
git rev-parse --short HEAD > githash.txt
|
||||
fi
|
||||
docker run --rm -it -v "$PWD:/host" rsms/inter-ui-build:latest make "$@"
|
||||
docker run --rm -it -v "$PWD:/host" rsms/inter-build:latest make "$@"
|
||||
|
@ -1,27 +1,27 @@
|
||||
[
|
||||
{
|
||||
"head": {
|
||||
"checkSumAdjustment": 3599292015,
|
||||
"created": 3629404788,
|
||||
"checkSumAdjustment": 1458554824,
|
||||
"created": 3631989140,
|
||||
"flags": 27,
|
||||
"fontDirectionHint": 2,
|
||||
"fontRevision": 3.002,
|
||||
"fontRevision": 3.003,
|
||||
"glyphDataFormat": 0,
|
||||
"indexToLocFormat": 0,
|
||||
"lowestRecPPEM": 6,
|
||||
"macStyle": [],
|
||||
"macStyle_raw": 0,
|
||||
"magicNumber": 1594834165,
|
||||
"modified": 3629404815,
|
||||
"modified": 3631989189,
|
||||
"tableVersion": 1.0,
|
||||
"unitsPerEm": 2816,
|
||||
"xMax": 4524,
|
||||
"xMax": 4650,
|
||||
"xMin": -2080,
|
||||
"yMax": 3012,
|
||||
"yMin": -1076
|
||||
"yMax": 3048,
|
||||
"yMin": -1088
|
||||
},
|
||||
"hhea": {
|
||||
"advanceWidthMax": 4912,
|
||||
"advanceWidthMax": 4928,
|
||||
"ascent": 2708,
|
||||
"caretOffset": 0,
|
||||
"caretSlopeRise": 1,
|
||||
@ -31,27 +31,27 @@
|
||||
"metricDataFormat": 0,
|
||||
"minLeftSideBearing": -2080,
|
||||
"minRightSideBearing": -1440,
|
||||
"numberOfHMetrics": 2328,
|
||||
"numberOfHMetrics": 2330,
|
||||
"tableVersion": 65536,
|
||||
"xMaxExtent": 4524
|
||||
"xMaxExtent": 4650
|
||||
},
|
||||
"id": "Inter UI Regular:2019:8d6f07862",
|
||||
"name": "InterUI-Regular",
|
||||
"id": "Inter Regular:2019:a5cf88e65",
|
||||
"name": "Inter-Regular",
|
||||
"names": {
|
||||
"copyright": "Copyright 2018 The Inter UI project authors",
|
||||
"copyright": "Copyright 2017-2019 The Inter project authors",
|
||||
"designer": "Rasmus Andersson",
|
||||
"designerURL": "https://rsms.me/",
|
||||
"familyName": "Inter UI",
|
||||
"fontId": "Inter UI Regular:2019:8d6f07862",
|
||||
"fullName": "Inter UI Regular",
|
||||
"familyName": "Inter",
|
||||
"fontId": "Inter Regular:2019:a5cf88e65",
|
||||
"fullName": "Inter Regular",
|
||||
"licenseDescription": "OFL 1.1 (SIL Open Font License, Version 1.1)",
|
||||
"licenseURL": "http://scripts.sil.org/OFL",
|
||||
"manufacturerName": "rsms",
|
||||
"postscriptName": "InterUI-Regular",
|
||||
"postscriptName": "Inter-Regular",
|
||||
"subfamilyName": "Regular",
|
||||
"trademark": "Inter UI is a trademark of rsms.",
|
||||
"trademark": "Inter UI and Inter is a trademark of rsms.",
|
||||
"vendorURL": "https://rsms.me/",
|
||||
"version": "3.2;8d6f07862"
|
||||
"version": "3.3;a5cf88e65"
|
||||
},
|
||||
"os/2": {
|
||||
"achVendID": "RSMS",
|
||||
@ -95,7 +95,7 @@
|
||||
"usWinAscent": 2708,
|
||||
"usWinDescent": 660,
|
||||
"version": 4,
|
||||
"xAvgCharWidth": 1681,
|
||||
"xAvgCharWidth": 1682,
|
||||
"yStrikeoutPosition": 1024,
|
||||
"yStrikeoutSize": 256,
|
||||
"ySubscriptXOffset": 0,
|
||||
@ -115,9 +115,9 @@
|
||||
"maxMemType42": 0,
|
||||
"minMemType1": 0,
|
||||
"minMemType42": 0,
|
||||
"underlinePosition": -422,
|
||||
"underlineThickness": 220
|
||||
"underlinePosition": -464,
|
||||
"underlineThickness": 192
|
||||
},
|
||||
"version": "3.2"
|
||||
"version": "3.3"
|
||||
}
|
||||
]
|
||||
|
@ -1,3 +1,3 @@
|
||||
<link rel="preload" href="font-files/Inter-UI.var.woff2?v=3.2" as="font" type="font/woff2" crossorigin>
|
||||
<link rel="preload" href="font-files/Inter-UI-upright.var.woff2?v=3.2" as="font" type="font/woff2" crossorigin>
|
||||
<link rel="preload" href="font-files/Inter-UI-italic.var.woff2?v=3.2" as="font" type="font/woff2" crossorigin>
|
||||
<link rel="preload" href="font-files/Inter-UI.var.woff2?v=3.3" as="font" type="font/woff2" crossorigin>
|
||||
<link rel="preload" href="font-files/Inter-UI-upright.var.woff2?v=3.3" as="font" type="font/woff2" crossorigin>
|
||||
<link rel="preload" href="font-files/Inter-UI-italic.var.woff2?v=3.3" as="font" type="font/woff2" crossorigin>
|
@ -1,6 +1,6 @@
|
||||
{%
|
||||
assign build_version = site.time | date: "%Y%m%d%H%M%S" %}{%
|
||||
assign description = "Inter UI is a new typeface optimized for computer user interfaces" %}{%
|
||||
assign description = "Inter is a typeface optimized for computer-user interfaces" %}{%
|
||||
|
||||
capture url_root
|
||||
%}{% if site.safe == false %}/{% else %}/inter/{% endif
|
||||
@ -12,7 +12,7 @@ capture release_version
|
||||
endcapture %}{%
|
||||
|
||||
capture download_url
|
||||
%}https://github.com/rsms/inter/releases/download/v{{ release_version }}/Inter-UI-{{ release_version }}.zip{%
|
||||
%}https://github.com/rsms/inter/releases/download/v{{ release_version }}/Inter-{{ release_version }}.zip{%
|
||||
endcapture %}{%
|
||||
|
||||
for file in site.static_files %}{%
|
||||
@ -28,11 +28,11 @@ endfor
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>{% if page.title %}{{ page.title }} — Inter UI{% else %}Inter UI font family{% endif %}</title>
|
||||
<title>{% if page.title %}{{ page.title }} — Inter{% else %}Inter font family{% endif %}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<link rel="stylesheet" href="{{url_root}}inter-ui.css?v={{ release_version }}">
|
||||
<link rel="stylesheet" href="{{url_root}}inter.css?v={{ release_version }}">
|
||||
<link rel="stylesheet" href="{{url_root}}res/base.css?v={{ base_css_v }}">
|
||||
<link rel="icon" type="image/png" href="{{url_root}}res/favicon.png">
|
||||
{% include preload-font-files.html %}
|
||||
@ -60,26 +60,13 @@ endfor
|
||||
<meta property="og:type" content="product">
|
||||
<meta property="og:locale" content="en_US" />
|
||||
</head>
|
||||
<script>
|
||||
(function(u){
|
||||
if (
|
||||
( u.indexOf('Safari/') != -1 &&
|
||||
u.indexOf('Chrome/') == -1 &&
|
||||
u.indexOf('Chromium/') == -1 ) ||
|
||||
u.indexOf('Edge/') != -1
|
||||
) {
|
||||
// Use alternate variable font for Safari and MS Edge
|
||||
document.documentElement.classList.add('vf-alt')
|
||||
}
|
||||
})(navigator.userAgent);
|
||||
</script>
|
||||
<body>
|
||||
<div id="hud-notification"><div class="msg">Hello</div></div>
|
||||
<script src="{{url_root}}res/base.js?v={{ base_js_v }}"></script>
|
||||
|
||||
<div class="row menu">
|
||||
<ul class="menu">
|
||||
<li class="home"><a href="{{url_root}}">Inter UI</a></li>
|
||||
<li class="home"><a href="{{url_root}}">Inter</a></li>
|
||||
<li><a class="download-link" href="{{ download_url }}"
|
||||
>Download</a></li>
|
||||
<li><a href="{{url_root}}samples/"
|
||||
@ -103,6 +90,12 @@ if (
|
||||
|
||||
{% if site.safe == true %}
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-105091131-2"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
gtag('config', 'UA-105091131-2');
|
||||
</script>
|
||||
{% endif %}
|
||||
{% include autoreload-in-debug.html %}
|
||||
</body>
|
||||
|
@ -29,8 +29,8 @@ endfor
|
||||
<h1>Dynamic Metrics</h1>
|
||||
<p>
|
||||
There's of course no absolute right or wrong when it comes to expressing
|
||||
yourself with typography, but Inter UI Dynamic Metrics provides guidelines
|
||||
for how to best use Inter UI.
|
||||
yourself with typography, but Inter Dynamic Metrics provides guidelines
|
||||
for how to best use Inter.
|
||||
You simply provide the optical font size,
|
||||
and the tracking and leading is calculated for you through the following
|
||||
formula:
|
||||
@ -44,7 +44,7 @@ endfor
|
||||
<formula>
|
||||
leading = round(<num data-binding="var-l">1.4</num> × <const>z</const>)
|
||||
</formula>
|
||||
<formula title="Values for Inter UI">
|
||||
<formula title="Values for Inter">
|
||||
<g><const title="Constant a">a</const> = <num data-binding="var-a">-0.016</num></g>
|
||||
<g><const title="Constant b">b</const> = <num data-binding="var-b">0.21</num></g>
|
||||
<g><const title="Constant c">c</const> = <num data-binding="var-c">-0.18</num></g>
|
||||
@ -227,10 +227,10 @@ var a = -0.017, b = 0.202, c = -0.175; // di=0.000247 on 2018-09-28
|
||||
var l = 1.4
|
||||
|
||||
|
||||
// _InterUIDynamicTracking is a version of InterUIDynamicTracking that
|
||||
// _InterDynamicTracking is a version of InterDynamicTracking that
|
||||
// uses some global variables that are adjustable.
|
||||
//
|
||||
function _InterUIDynamicTracking(fontSize, weightClass) {
|
||||
function _InterDynamicTracking(fontSize, weightClass) {
|
||||
// Note: weightClass is currently unused
|
||||
//
|
||||
// y = -0.01021241 + 0.3720623 * e ^ (-0.2808687 * x)
|
||||
@ -245,7 +245,7 @@ function _InterUIDynamicTracking(fontSize, weightClass) {
|
||||
}
|
||||
|
||||
|
||||
function InterUIDynamicLineHeight(fontSize, weightClass) {
|
||||
function InterDynamicLineHeight(fontSize, weightClass) {
|
||||
return Math.round(fontSize * l)
|
||||
}
|
||||
|
||||
@ -298,8 +298,8 @@ Sample.prototype.idealDistance = function(fontSize) {
|
||||
|
||||
Sample.prototype.setFontSize = function(fontSize) {
|
||||
this.fontSize = fontSize
|
||||
this.tracking = baseTracking + _InterUIDynamicTracking(fontSize, weightClass)
|
||||
this.lineHeight = InterUIDynamicLineHeight(fontSize, weightClass)
|
||||
this.tracking = baseTracking + _InterDynamicTracking(fontSize, weightClass)
|
||||
this.lineHeight = InterDynamicLineHeight(fontSize, weightClass)
|
||||
this.maxBoxWidth = Math.round(fontSize * (this.tracking + 1) * 25)
|
||||
|
||||
var idealTracking = idealValues[this.fontSize]
|
||||
@ -455,7 +455,7 @@ function updateGraphPlot() {
|
||||
graph.clear()
|
||||
graph.plotLine(idealValuesList, '#0d3')
|
||||
graph.plotf(function(x) {
|
||||
return _InterUIDynamicTracking(x, weightClass)
|
||||
return _InterDynamicTracking(x, weightClass)
|
||||
})
|
||||
if (focusedSample) {
|
||||
var graphedFontSize = Math.min(24, focusedSample.fontSize) // clamp to [-inf,24]
|
||||
|
BIN
docs/font-files/Inter-Black.otf
Normal file
BIN
docs/font-files/Inter-Black.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Black.woff
Normal file
BIN
docs/font-files/Inter-Black.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Black.woff2
Normal file
BIN
docs/font-files/Inter-Black.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-BlackItalic.woff
Normal file
BIN
docs/font-files/Inter-BlackItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-BlackItalic.woff2
Normal file
BIN
docs/font-files/Inter-BlackItalic.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Bold.otf
Normal file
BIN
docs/font-files/Inter-Bold.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Bold.woff
Normal file
BIN
docs/font-files/Inter-Bold.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Bold.woff2
Normal file
BIN
docs/font-files/Inter-Bold.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-BoldItalic.woff
Normal file
BIN
docs/font-files/Inter-BoldItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-BoldItalic.woff2
Normal file
BIN
docs/font-files/Inter-BoldItalic.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraBold.otf
Normal file
BIN
docs/font-files/Inter-ExtraBold.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraBold.woff
Normal file
BIN
docs/font-files/Inter-ExtraBold.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraBold.woff2
Normal file
BIN
docs/font-files/Inter-ExtraBold.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraBoldItalic.otf
Normal file
BIN
docs/font-files/Inter-ExtraBoldItalic.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraBoldItalic.woff
Normal file
BIN
docs/font-files/Inter-ExtraBoldItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraBoldItalic.woff2
Normal file
BIN
docs/font-files/Inter-ExtraBoldItalic.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-ExtraLight.woff
Normal file
BIN
docs/font-files/Inter-ExtraLight.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraLight.woff2
Normal file
BIN
docs/font-files/Inter-ExtraLight.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-ExtraLightItalic.woff
Normal file
BIN
docs/font-files/Inter-ExtraLightItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ExtraLightItalic.woff2
Normal file
BIN
docs/font-files/Inter-ExtraLightItalic.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Italic.otf
Normal file
BIN
docs/font-files/Inter-Italic.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Italic.woff
Normal file
BIN
docs/font-files/Inter-Italic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Italic.woff2
Normal file
BIN
docs/font-files/Inter-Italic.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-Light.woff
Normal file
BIN
docs/font-files/Inter-Light.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Light.woff2
Normal file
BIN
docs/font-files/Inter-Light.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-LightItalic.woff
Normal file
BIN
docs/font-files/Inter-LightItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-LightItalic.woff2
Normal file
BIN
docs/font-files/Inter-LightItalic.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-Medium.woff
Normal file
BIN
docs/font-files/Inter-Medium.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Medium.woff2
Normal file
BIN
docs/font-files/Inter-Medium.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-MediumItalic.woff
Normal file
BIN
docs/font-files/Inter-MediumItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-MediumItalic.woff2
Normal file
BIN
docs/font-files/Inter-MediumItalic.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Regular.otf
Normal file
BIN
docs/font-files/Inter-Regular.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Regular.woff
Normal file
BIN
docs/font-files/Inter-Regular.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Regular.woff2
Normal file
BIN
docs/font-files/Inter-Regular.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-SemiBold.otf
Normal file
BIN
docs/font-files/Inter-SemiBold.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-SemiBold.woff
Normal file
BIN
docs/font-files/Inter-SemiBold.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-SemiBold.woff2
Normal file
BIN
docs/font-files/Inter-SemiBold.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-SemiBoldItalic.woff
Normal file
BIN
docs/font-files/Inter-SemiBoldItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-SemiBoldItalic.woff2
Normal file
BIN
docs/font-files/Inter-SemiBoldItalic.woff2
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Thin.otf
Normal file
BIN
docs/font-files/Inter-Thin.otf
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Thin.woff
Normal file
BIN
docs/font-files/Inter-Thin.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-Thin.woff2
Normal file
BIN
docs/font-files/Inter-Thin.woff2
Normal file
Binary file not shown.
Binary file not shown.
BIN
docs/font-files/Inter-ThinItalic.woff
Normal file
BIN
docs/font-files/Inter-ThinItalic.woff
Normal file
Binary file not shown.
BIN
docs/font-files/Inter-ThinItalic.woff2
Normal file
BIN
docs/font-files/Inter-ThinItalic.woff2
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user