summaryrefslogtreecommitdiff
path: root/iosevka
diff options
context:
space:
mode:
authorGrégoire Duchêne <gregoire@awhk.org>2026-08-29 14:28:56 +0100
committerGrégoire Duchêne <gregoire@awhk.org>2026-08-29 14:28:56 +0100
commit66b41619f406b74b2c08d0719ff2d14314e3e81a (patch)
tree3c02043b737c78f20df646fb5f17e283a5be6553 /iosevka
parent51ef731881fe42b5e97a3a014f9253c14eec5c3f (diff)
Add Iosevka configuration
Diffstat (limited to 'iosevka')
-rw-r--r--iosevka/.gitignore1
-rw-r--r--iosevka/Containerfile9
-rwxr-xr-xiosevka/build.sh29
-rw-r--r--iosevka/justfile8
-rw-r--r--iosevka/private-build-plans.toml33
5 files changed, 80 insertions, 0 deletions
diff --git a/iosevka/.gitignore b/iosevka/.gitignore
new file mode 100644
index 0000000..1521c8b
--- /dev/null
+++ b/iosevka/.gitignore
@@ -0,0 +1 @@
+dist
diff --git a/iosevka/Containerfile b/iosevka/Containerfile
new file mode 100644
index 0000000..f7194a4
--- /dev/null
+++ b/iosevka/Containerfile
@@ -0,0 +1,9 @@
+FROM node:lts-slim
+
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt update
+RUN apt install --no-install-recommends --yes curl ca-certificates ttfautohint
+COPY build.sh /usr/bin/build-iosevka.sh
+
+WORKDIR /work
+ENTRYPOINT /usr/bin/build-iosevka.sh
diff --git a/iosevka/build.sh b/iosevka/build.sh
new file mode 100755
index 0000000..1317c62
--- /dev/null
+++ b/iosevka/build.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+usage() {
+ echo >&2 "usage: $0 [-b URL] [-v VERSION]"
+}
+
+base_url=https://github.com/be5invis/Iosevka/archive/refs/tags/
+version=v34.8.1
+while getopts b:v: opt; do
+ case "${opt}" in
+ b) base_url="${OPTARG%/}/" ;;
+ v) version="${OPTARG}" ;;
+ *) usage; exit 1 ;;
+ esac
+done
+
+set -euxo pipefail
+
+CUR="${PWD}"
+TMP="$(mktemp -d)" && trap 'rm -Rf "${TMP}"' EXIT
+URL="${base_url}${version}.tar.gz"
+
+cp private-build-plans.toml "${TMP}"
+pushd "${TMP}"
+curl --location --silent "${URL}" | tar --extract --gzip --strip-components=1
+npm ci
+npm run build ttf::IosevkaBaguette
+cp -R dist "${CUR}"
+popd
diff --git a/iosevka/justfile b/iosevka/justfile
new file mode 100644
index 0000000..229a1d3
--- /dev/null
+++ b/iosevka/justfile
@@ -0,0 +1,8 @@
+build-container-image:
+ podman build --tag iosevka-builder:latest .
+
+build-iosevka: build-container-image
+ podman run --rm --volume "${PWD}:/work" iosevka-builder:latest
+
+clean:
+ podman image rm iosevka-builder:latest
diff --git a/iosevka/private-build-plans.toml b/iosevka/private-build-plans.toml
new file mode 100644
index 0000000..f9f32d6
--- /dev/null
+++ b/iosevka/private-build-plans.toml
@@ -0,0 +1,33 @@
+[buildPlans.IosevkaBaguette]
+family = "Iosevka Baguette"
+spacing = "normal"
+serifs = "slab"
+noCvSs = false
+exportGlyphNames = false
+noLigation = true
+
+[buildPlans.IosevkaBaguette.variants.design]
+asterisk = "penta-low"
+caret = "low"
+
+[buildPlans.IosevkaBaguette.weights.Regular]
+shape = 400
+menu = 400
+css = 400
+
+[buildPlans.IosevkaBaguette.weights.Bold]
+shape = 700
+menu = 700
+css = 700
+
+[buildPlans.IosevkaBaguette.slopes.Upright]
+angle = 0
+shape = "upright"
+menu = "upright"
+css = "normal"
+
+[buildPlans.IosevkaBaguette.slopes.Italic]
+angle = 9.4
+shape = "italic"
+menu = "italic"
+css = "italic"