1
0
mirror of https://github.com/ryanoasis/nerd-fonts.git synced 2024-12-19 20:12:52 +02:00

Update Inconsolata to v3.000

https://github.com/googlefonts/Inconsolata

Only small changes visually, but of course completely different from the
paths (because now the source is a 2D variable font).

Small letter t changed a bit.
Under the letter dot and block-building glyphs changed.
Subscript numerals.

Closes: #774

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
This commit is contained in:
Fini Jastrow 2022-01-31 15:33:54 +01:00 committed by Fini
parent f9676d96cb
commit 25d8c0d0bd
6 changed files with 122 additions and 75 deletions

View File

@ -1,67 +0,0 @@
FONTLOG for the Inconsolata font
This file provides detailed information on the Inconsolata Bold
font Software.
This information should be distributed along with the
Inconsolata fonts and any derivative works.
Basic Font Information
Inconsolata Bold is a Unicode typeface family that supports
languages that use the Latin script and its variants, and
could be expanded to support other scripts.
More specifically, this release supports the following Unicode
ranges: Latin-1
There are three source files:
1. sources/legacy/Inconsolata-Regular.glyphs (Legacy version ported to Glyphs)
2. sources/legacy/Inconsolata Bold-OTF.vfb (Merged contours)
3. sources/legacy/Inconsolata Bold-TTF.vfb (TTF countours)
4. sources/Inconsolata.glyphs (latest Glyphs file with two masters)
ChangeLog
7 April 2017 (Alexei Vanyashin) Inconsolata v 2.002
Restored vertical space to original amount between bars in equal signs(=). Fixes issue #8 https://github.com/cyrealtype/Inconsolata/issues/8
10 February 2017 (Alexei Vanyashin) Inconsolata v 2.001
Fixed issue #7 weird shapes on the terminals of s,j,J,G,r
https://github.com/cyrealtype/Inconsolata/issues/7
19 August 2016 (Alexei Vanyashin) Inconsolata v 2.000
— Extended charset to GF Latin Plus, GF Latin Pro
— Added custom characters
— Improved outline quality
21 September 2015 (Dave Crossland) Inconsolata bold v. 1.016
- Fixed internal metadata
- Updated ttfautohint to v1.3
18 September 2012 (Alexei Vanyashin) Inconsolata bold v. 1.014
- Fixed spacing issue associated with the character "4" and "0"
- Applied ttfautohint (to fix windows rendering problem that occurred in v 1.000)
7 December 2011 (Kirill Tkachev) Inconsolata Bold v. 1.000
- Completed Bold version of Inconsolata in VBF format.
If you make modifications be sure to add your name (N),
email (E), web-address (if you have one) (W) and description (D).
This list is in alphabetical order.
N: Alexei Vanyashin
W: http://cyreal.org
E: a at cyreal.org
D: Mastering, Expansion to GF Latin Pro
N: Kirill Tkachev
W: http://cyreal.org
E: contact at cyreal.org
D: Designer of Bold version
N: Raph Levien
E: firstname.lastname@gmail.com
W: http://levien.com
D: Original Designer

View File

@ -1,16 +1,67 @@
# Inconsolata
Open-source Monospace Font for code listings by Raph Levien
Open-source monospace font for code listings, originally by [**@raphlinus**](https://github.com/raphlinus/)
### Ligatures
Inconsolata includes ligatures for a few JavaScript operators:
They are available in two families.
- **"Inconsolata"** exposes the ligatures as `dlig`. These are disabled by default, and probably won't show up in your editor. You can enable them in CSS with this rule:
```css
font-variant-ligatures: discretionary-ligatures;
```
- **"Ligconsolata"** exposes the ligatures as `liga`. These are enabled by default. This is the family you should use in your text editor.
Note: the Ligconsolata variant has not yet been upgraded to version 3.000, as we're prioritizing the non-ligature variants.
## Building the family
Family is built using Glyphs, fontmake and gftools post processing script. Tools are all python based.
To install all the Python tools into a virtualenv, do the following:
```
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
To build the fonts we must load sources/Inconsolata-vf.glyphs in Glyphs and do the following:
- Run the decompose-transformed-components.py script
- Run the gen_instances.py script
- Run the inco_fix.py script
- Save the file back in the sources directory with the filename "prod.glyphs"
We can now run the build script in the terminal:
```
cd sources # script needs to be run from sources dir
sh build.sh
```
Fonts will take approximately 25 minutes to build.
## Changelog v.3.000
Upgrade to 2-axis variable font family, with widths from 50 to 200, and weights from 200 to 900.
## Changelog v.2.013
- Removed ligatures for `fi` and `fl`.
- Operator ligatures moved to `dlig`.
- New variant "Ligconsolata" introduced, which exposes operator ligatures as `liga`.
## Changelog v.2.011
March 2018 glyph set expansion was complete by @appsforartists, which included:
March 2018 glyph set expansion was completed by [**@appsforartists**](https://github.com/appsforartists/), which included:
- [x] Glyph Set expanded to include ligatures for ===, !==, =>, <=, >=, ->, <-
## Changelog v.2.001
August 2016 glyph set expansion was complete by Alexei Vanyashin ( [Cyreal][5] ), which included:
August 2016 glyph set expansion was completed by Alexei Vanyashin ( [Cyreal][5] ), which included:
- [x] Glyph Set expanded to GF Latin Pro
- [x] Additional glyphs ⊕↑↗→↘↓↙←↖↔↕⇧⇨⇩⇦⬆⮕⬇⬅●○◆◇☹☺☻♠♣♥♦✓✔✕✗✘␣⎋⌂⇪⌧⌫⌦⌥⌘⏎�
@ -34,13 +85,67 @@ This license is copied below, and is also available with a FAQ at:
## Inconsolata Build Instructions
Inconsolata fonts can be built using either export from Glyphs or using [fontmake]. The font files committed to this repo are done using fontmake.
### Source Files
Inconsolata source files are available in `.glyphs` format located in the `/sources` directory.
### Font Export options
### Adding ligatures
1. Follow the ["Creating the ligature"](https://glyphsapp.com/tutorials/ligatures) section of the Glyphs ligatures tutorial.
2. Name your new glyph with the suffix `.dlig`, for instance `bar_greater.dlig`.
3. Open the _Font Info_ panel.
1. Switch to the _Features_ tab.
2. Click _dlig_ in the sidebar.
3. Click the _Update_ button at the bottom of the panel.
4. Switch to the _Instances_ tab.
5. Update the _Rename Glyphs_ value for "Ligconsolata Regular" to include a new line for your new glyph, for instance:
```
bar_greater.dlig=bar_greater.liga
```
6. Update the _Rename Glyphs_ value for "Ligconsolata Bold".
4. Export the font, as explained below.
### Exporting a variable font using fontmake
It's possible to export the project as a single variable font. It's just a bit tricky, because the font uses components with varying 2x2 components, triggering a [bug](https://github.com/googlefonts/fontmake/issues/595) which is present in both [fontmake] and Glyphs export. Thus, there's an inco_fix.py script in the sources directory that detects this case and decomposes just those components. Run that script before exporting. The script also decomposes corner components, which makes the resulting `glyphs` file suitable for fontmake export as well (fontmake currently has no support for corner components).
You can copy the script into the Scripts folder for Glyphs, which will make it available in the Script menu, or you can just copy it into the Macro Panel.
After running the script, the following fontmake invocation will generate a variable font:
```
fontmake -g sources/Inconsolata-vf.glyphs -o variable
```
This is the version in the fonts/ directory, as it is slightly smaller than the version generated by Glyphs.
We do not check the *result* of the inco_fix script into version control, as we want to preserve editability. It's entirely possible that a future version of fontmake (or Glyphs itself) will be able to handle the source file without running a script.
### Exporting instances using fontmake
The source file contains 15 instances, including all weights of the normal (100) width, and also all masters. This is a reasonable complement for working on the font. Run the gen_instances.py script to generate a total of 72 instances; all combinations of the weights from 200 to 900, and widths 50, 70, 80, 90, 110, 120, 150, and 200.
There are two other instances for Ligconsolata, and fontmake will attempt to generate those, but the "Rename Glyphs" custom parameter doesn't seem to be respected by fontmake, so these won't have ligatures enabled. Use the Glyphs export instead (detailed below).
Then run this command to generate OTF:
```
fontmake -g sources/Inconsolata-vf.glyphs -i -o otf
```
And this command to generate autohinted TTF:
```
fontmake -g sources/Inconsolata-vf.glyphs -i -o ttf -a
```
These are the versions in the fonts/ directory.
### Font Export options (from Glyphs)
This is the preferred way to generate the Ligconsolata instances, but
* TTF and OTF files should be exported into `/fonts/ttf` and `/fonts/otf` folders.
@ -49,10 +154,18 @@ Inconsolata source files are available in `.glyphs` format located in the `/sour
![Font Export Options](documentation/font-export.png)
* `OTFs` should be generated with these options:
* [X] Remove Overlap
* [X] Autohint
* [X] Remove Overlap
* [X] Autohint
* [ ] Save as TTF
* [X] Export destination: $REPO_PATH/fonts/otf
* [X] Export destination: $REPO_PATH/fonts/otf
### Future work
In addition, we want to export a subset not including Vietnamese script coverage, to avoid over-large line spacing on older applications (such as terminals and text editors) that don't understand the "use typo metrics" flag (see https://github.com/googlefonts/Inconsolata/issues/35).
## Glyphstool
The repository also contains some Rust code to manipulate Glyphs format masters, in the `glyphstool` subdirectory. This was used to apply global transforms (mostly as a starting point for the width work). Perhaps the most valuable aspect is that it contains a fairly complete set of line and box drawing primitives, inspired by [Source Code Pro] but with actually variable weight and width. It's not particularly polished or well documented, but is provided for completeness, and it's possible that it could be adapted to future tools that work with font data in the Glyphs format. The code is licensed under Apache 2.0 or MIT, in keeping with the Rust tradition.
----
@ -72,3 +185,4 @@ Copyright 2006 The Inconsolata Project Authors
[4]: http://scripts.sil.org/OFL
[5]: http://cyreal.org
[6]: https://groups.google.com/forum/#!searchin/googlefonts-discuss/inconsolata%7Csort:relevance/googlefonts-discuss/wgVuOx9yo5k/2QSUQ78CCQAJ
[fontmake]: https://github.com/googlefonts/fontmake