Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: CI

on: [push]

jobs:
build:

runs-on: macos-latest

steps:
- uses: actions/checkout@v7

- uses: actions/setup-node@v7
with:
node-version: 24.x

- uses: actions/setup-python@v7
with:
python-version: '3.14'

- name: install, build, and test
run: make
env:
CI: true
22 changes: 0 additions & 22 deletions .github/workflows/nodejs.yml

This file was deleted.

9 changes: 4 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
default: install lint test fonts/stylesheets/stylesheet.css
default: install lint test stylesheet

install:
npm install
cd tools && python3 -m venv .venv
cd tools && .venv/bin/python -m pip --require-virtualenv install -r requirements.txt

lint:
npx eslint *.js modules/*.js
npx eslint *.js modules/*.js --no-warn-ignored

test:
npx jsonschema validate fonts-schema.json fonts.json
cd tools && .venv/bin/python validate.py

fonts/stylesheets/stylesheet.css: fonts/stylesheets/fonts.less
npx lessc $^ $@
stylesheet:
cd tools && .venv/bin/python stylesheet.py > ../fonts/stylesheet.css

list:
cd tools && .venv/bin/python listing.py
Expand Down
6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,11 @@ Please feel free to make a little donation via to keep this labour of love runni
- bold: `-bold`, e.g. `iosevka/iosevka-bold.woff2`
- bold+italic: `-bold-italic`, e.g. `iosevka/iosevka-bold-italic.woff2`
- Alongside the variants, each font directory should also include the font's license file (e.g. `iosevka/license.md`, `agave/LICENSE`, `audio-link/OFL.txt`), exactly as shipped by the creator.
- The [fonts.less](https://github.com/braver/programmingfonts/blob/gh-pages/fonts/stylesheets/fonts.less) registers the variants for each font "alias" and is used to generate the stylesheets.
- The license needs to allow serving in a website, or an agreement with the font creators needs to be made. If available we add a license file along with the font files.
- The license needs to allow serving in a website, or an agreement with the font creators needs to be made.

### Development

- Running `make` installs dependencies, lints, validates `fonts.json` (against [fonts-schema.json](https://github.com/braver/programmingfonts/blob/gh-pages/fonts-schema.json) and `validate.js`), and builds the stylesheet.
- The stylesheet [stylesheet.css](https://github.com/braver/programmingfonts/blob/gh-pages/fonts/stylesheets/stylesheet.css) is generated from `fonts.less` via `npx lessc` — don't edit it by hand; edit `fonts.less` and rebuild.
- Running `make` installs dependencies, lints, validates `fonts.json`, and builds the stylesheet.
- Run `make serve` to preview the site locally (`python3 -m http.server`).
- Run `make list` to print an updated list of all the fonts, be sure to update this README with your addition.
- Run `python3 tools/info.py --name yourfont` to add glyph, character and language counts.
Expand Down
3 changes: 2 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import js from "@eslint/js";
import globals from "globals";
import { defineConfig } from "eslint/config";
import { defineConfig, globalIgnores } from "eslint/config";


export default defineConfig([
{ files: ["**/*.{js,mjs,cjs}"], plugins: { js }, extends: ["js/recommended"] },
{ files: ["**/*.{js,mjs,cjs}"], languageOptions: { globals: globals.browser } },
{ files: ["validate.js"], languageOptions: { globals: globals.node } },
globalIgnores(["modules/samples.js"]),
]);
58 changes: 7 additions & 51 deletions fonts.json
Original file line number Diff line number Diff line change
Expand Up @@ -1608,7 +1608,7 @@
"fixedsys": {
"added": "2014-11-19",
"author": "Travis Owens",
"bitmap size": 16,
"bitmap size": 14,
"description": "The oldest font in Microsoft Windows, and was the system font in Windows 1.0 and 2.0, where it was simply named System.",
"group": "fixedsys",
"license": "GNU GPL",
Expand Down Expand Up @@ -2181,73 +2181,29 @@
"zerostyle": "dotted",
"group": "input",
"glyphs": 922,
"characters": 925,
"languages": {
"Latin": 302,
"Cyrillic": 16,
"Greek": 2
}
},
"input-compressed": {
"added": "2016-01-16",
"author": "David Jonathan Ross",
"description": "Input is a flexible system of fonts designed specifically for code, and is free for personal use. This is the compressed version.",
"license": "commercial",
"ligatures": false,
"name": "Input Mono Compressed",
"rendering": "vector",
"style": "sans",
"variants": "A download can be customized with dozens of weights, widths, dotted or slashed zeroes, and other styles.",
"website": "https://input.djr.com",
"year": 2014,
"zerostyle": "dotted",
"group": "input",
"glyphs": 922,
"characters": 925,
"characters": 923,
"languages": {
"Latin": 302,
"Cyrillic": 16,
"Greek": 2
}
},
"input-condensed": {
"input-menlo": {
"added": "2016-01-16",
"author": "David Jonathan Ross",
"description": "Input is a flexible system of fonts designed specifically for code, and is free for personal use. This is the condensed version.",
"description": "Input is a flexible system of fonts designed specifically for code, and is free for personal use. This version has character variants similar to DejaVu and Menlo.",
"license": "commercial",
"ligatures": false,
"name": "Input Mono Condensed",
"name": "Input Mono (DejaVu / Menlo style)",
"rendering": "vector",
"style": "sans",
"variants": "A download can be customized with dozens of weights, widths, dotted or slashed zeroes, and other styles.",
"website": "https://input.djr.com",
"year": 2014,
"zerostyle": "dotted",
"group": "input",
"glyphs": 922,
"characters": 925,
"languages": {
"Latin": 302,
"Cyrillic": 16,
"Greek": 2
}
},
"input-narrow": {
"added": "2016-01-16",
"author": "David Jonathan Ross",
"description": "Input is a flexible system of fonts designed specifically for code, and is free for personal use. This is the narrow version.",
"license": "commercial",
"ligatures": false,
"name": "Input Mono Narrow",
"rendering": "vector",
"style": "sans",
"variants": "A download can be customized with dozens of weights, widths, dotted or slashed zeroes, and other styles.",
"website": "https://input.djr.com",
"year": 2014,
"zerostyle": "dotted",
"zerostyle": "slashed",
"group": "input",
"glyphs": 922,
"characters": 925,
"characters": 923,
"languages": {
"Latin": 302,
"Cyrillic": 16,
Expand Down
Binary file modified fonts/resources/fixedsys/fixedsys.woff2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
102 changes: 0 additions & 102 deletions fonts/resources/input-condensed/LICENSE.txt

This file was deleted.

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 added fonts/resources/input-menlo/input-menlo.woff2
Binary file not shown.
Loading