### Install System Dependencies for Building Source: https://context7.com/ahatem/ioskeleymono/llms.txt On Linux or CI environments, install necessary system dependencies for building the font, including `ttfautohint`, `python3`, and `fontforge`. ```bash sudo apt-get update sudo apt-get install -y ttfautohint python3 fontforge ``` -------------------------------- ### Build Ioskeley Mono from Source Source: https://github.com/ahatem/ioskeleymono/blob/main/README.md Clone the Ioskeley Mono and Iosevka repositories, copy the configuration file, install dependencies, and build the font. ```bash git clone https://github.com/ahatem/IoskeleyMono.git git clone --depth 1 https://github.com/be5invis/Iosevka.git cp IoskeleyMono/private-build-plans.toml Iosevka/ cd Iosevka npm install npm run build -- contents::IoskeleyMono contents::IoskeleyMonoTerm ``` -------------------------------- ### Install Linux Fonts Source: https://github.com/ahatem/ioskeleymono/blob/main/README.md To install fonts on Linux, copy the TTF files to the local fonts directory and then update the font cache. ```bash cp ~/.local/share/fonts/ fc-cache -fv ``` -------------------------------- ### Install Fonts on Linux Source: https://context7.com/ahatem/ioskeleymono/llms.txt This command sequence installs TrueType font files into a dedicated directory for IoskeleyMono and then updates the system's font cache. It also includes a verification step. ```bash mkdir -p ~/.local/share/fonts/IoskeleyMono cp *.ttf ~/.local/share/fonts/IoskeleyMono/ fc-cache -fv # Verify installation fc-list | grep -i ioskeley ``` -------------------------------- ### Build Ioskeley Mono from Source Source: https://context7.com/ahatem/ioskeleymono/llms.txt Follow these steps to build Ioskeley Mono locally: clone repositories, copy the build configuration, install Node.js dependencies, and run the build script. Output is placed in `Iosevka/dist/`. ```bash # 1. Clone repositories git clone https://github.com/ahatem/IoskeleyMono.git git clone --depth 1 https://github.com/be5invis/Iosevka.git # 2. Copy build configuration into Iosevka source cp IoskeleyMono/private-build-plans.toml Iosevka/ # 3. Install build dependencies (Node.js 20+ required) cd Iosevka npm install # 4. Build specific variants npm run build -- contents::IoskeleyMono # standard variant npm run build -- contents::IoskeleyMonoTerm # term-spacing variant npm run build -- contents::IoskeleyMonoNL # no-ligatures variant # Build all three at once npm run build -- contents::IoskeleyMono contents::IoskeleyMonoTerm contents::IoskeleyMonoNL # Output locations # Iosevka/dist/IoskeleyMono/TTF/ ← hinted TTFs # Iosevka/dist/IoskeleyMono/TTF-Unhinted/ ← unhinted TTFs # Iosevka/dist/IoskeleyMono/WOFF2/ ← web fonts # Iosevka/dist/IoskeleyMonoTerm/TTF/ # Iosevka/dist/IoskeleyMonoNL/TTF/ ``` -------------------------------- ### Install Fonts on macOS via Command Line Source: https://context7.com/ahatem/ioskeleymono/llms.txt Use this command to copy TrueType font files to the system's font directory on macOS for installation. ```bash cp *.ttf ~/Library/Fonts/ ``` -------------------------------- ### Font Download Use Case Guide Source: https://context7.com/ahatem/ioskeleymono/llms.txt This table helps users choose the correct font zip file based on their specific use case, such as for editors, terminals, or web use. ```text Use case → Download ───────────────────────────────────────────────────────────────── Editor / IDE (VS Code, JetBrains, Zed…) → IoskeleyMono.zip Terminal with icons (Neovim, Starship…) → IoskeleyMono-NerdFont.zip Arrows/box-drawing wrong in terminal → IoskeleyMono-Term.zip Terminal icons + rendering issues → IoskeleyMono-Term-NerdFont.zip App that can't disable ligatures (Xcode) → IoskeleyMono-NL.zip Same, but need Nerd Font icons → IoskeleyMono-NL-NerdFont.zip Web / CSS @font-face → IoskeleyMono-Web.zip Not sure? → IoskeleyMono.zip ✓ ``` -------------------------------- ### CSS Width Selection for Ioskeley Mono Source: https://context7.com/ahatem/ioskeleymono/llms.txt Demonstrates how to select different font widths (condensed, semi-condensed, normal) using the 'font-stretch' CSS property. ```css /* Selecting widths in CSS */ .code-condensed { font-family: 'Ioskeley Mono'; font-stretch: condensed; } .code-semicond { font-family: 'Ioskeley Mono'; font-stretch: semi-condensed; } .code-normal { font-family: 'Ioskeley Mono'; font-stretch: normal; } ``` -------------------------------- ### GitHub Actions Workflow for Font Building Source: https://context7.com/ahatem/ioskeleymono/llms.txt This YAML configuration defines a GitHub Actions workflow that triggers on version tag pushes or manual dispatch. It's used for building and releasing font versions, including a manual test build. ```yaml on: push: tags: - "v*.*.*" # production release workflow_dispatch: inputs: version: description: "Version tag (e.g. v2.0.0)" required: false default: "v0.0.0-test" # manual test build (published as draft) ``` -------------------------------- ### Configure Programming Ligatures Source: https://context7.com/ahatem/ioskeleymono/llms.txt Customize ligature chains for programming symbols in `private-build-plans.toml` to render without connecting notches for a cleaner appearance. Options include 'slanted', 'slightly-slanted', and 'without-notch'. ```toml # private-build-plans.toml — ligature settings [buildPlans.IoskeleyMono.variants.design] lig-ltgteq = "slanted" # <= >= lig-neq = "slightly-slanted" # != lig-equal-chain = "without-notch" # === lig-hyphen-chain = "without-notch" # --- lig-plus-chain = "without-notch" # +++ lig-double-arrow-bar = "without-notch" # ==> lig-single-arrow-bar = "without-notch" # --> ``` -------------------------------- ### Configure Glyph Variants Source: https://context7.com/ahatem/ioskeleymono/llms.txt Select specific character variants in `private-build-plans.toml` to achieve a geometric, clean aesthetic. This includes options for '0', '8', '6'/'9', 'g', 'I'/'l'/'i', parentheses, and punctuation dots. ```toml # private-build-plans.toml — selected glyph variants (excerpt) [buildPlans.IoskeleyMono.variants.design] zero = "dotted" # 0 with a dot inside one = "no-base" eight = "two-circles" # 8 drawn as two stacked circles six = "open-contour" # open-top 6 nine = "open-contour" # open-bottom 9 g = "single-storey-serifless" capital-i = "serifed" # I with serifs (avoids l/I confusion) l = "serifed" # l with serif (avoids l/1 confusion) i = "serifed" paren = "flat-arc" # () with flat inner curves brace = "curly-flat-boundary" tittle = "square" # dot on i/j diacritic-dot = "square" punctuation-dot = "square" underscore = "high" # raised underscore tilde = "low" asterisk = "penta-mid" # 5-pointed asterisk, centred at = "fourfold" number-sign = "slanted" # slanted # bars ``` -------------------------------- ### IoskeleyMono Font Structure Source: https://context7.com/ahatem/ioskeleymono/llms.txt Explains the directory structure for the standard IoskeleyMono font variant, including hinted and unhinted TTF files for different screen types and resolutions. ```text IoskeleyMono.zip structure: Normal/ Hinted/ ← standard-DPI screens (Windows) IoskeleyMono-Thin.ttf IoskeleyMono-ExtraLight.ttf IoskeleyMono-Light.ttf IoskeleyMono-SemiLight.ttf IoskeleyMono-Regular.ttf IoskeleyMono-Medium.ttf IoskeleyMono-SemiBold.ttf IoskeleyMono-Bold.ttf IoskeleyMono-ExtraBold.ttf IoskeleyMono-Black.ttf IoskeleyMono-ThinItalic.ttf ... (Italic counterparts for every weight) Unhinted/ ← high-DPI / Retina (macOS, Linux HiDPI) IoskeleyMono-Regular.ttf ... SemiCondensed/ Hinted/ Unhinted/ Condensed/ Hinted/ Unhinted/ ``` -------------------------------- ### Width Definitions in private-build-plans.toml Source: https://context7.com/ahatem/ioskeleymono/llms.txt Defines the 'shape', 'menu', and 'css' values for different widths (Condensed, SemiCondensed, Normal) in the Ioskeley Mono font configuration. ```toml # private-build-plans.toml — width definitions [buildPlans.IoskeleyMono.widths.Condensed] shape = 480 # 600 × 0.80 — wdth 80 menu = 3 css = "condensed" [buildPlans.IoskeleyMono.widths.SemiCondensed] shape = 540 # 600 × 0.90 — wdth 90 menu = 4 css = "semi-condensed" [buildPlans.IoskeleyMono.widths.Normal] shape = 600 # wdth 100 menu = 5 css = "normal" ``` -------------------------------- ### Configure Font Metrics Source: https://context7.com/ahatem/ioskeleymono/llms.txt Use the `metricOverride` block in `private-build-plans.toml` to control the font's vertical rhythm, letter spacing, and punctuation sizes. These settings apply across all font variants. ```toml # private-build-plans.toml — metric overrides [buildPlans.IoskeleyMono.metricOverride] xHeight = 520 cap = 690 ascender = 740 sb = 85 # side-bearing (letter spacing) accentWidth = 182 accentClearance = 76 accentHeight = 162 accentStackOffset = 208 leading = 1250 parenSize = 860 # flat-arc parentheses size dotSize = 'blend(weight, [100, 110], [400, 125], [900, 150])' periodSize = 140 essRatio = 1.03 essRatioUpper = 1.03 essRatioLower = 1.03 essRatioQuestion = 1.03 archDepth = 152 smallArchDepth = 157 ``` -------------------------------- ### Trigger GitHub Actions Release Source: https://context7.com/ahatem/ioskeleymono/llms.txt Automated releases are triggered by pushing a version tag (e.g., `v2.0.0`). The CI/CD workflow builds all variants, patches them with Nerd Font glyphs, packages them into zip archives, and publishes a GitHub Release. ```bash # Trigger a release git tag v2.0.0 git push origin v2.0.0 # The workflow automatically produces: # IoskeleyMono.zip — standard, all widths, hinted + unhinted TTF # IoskeleyMono-NerdFont.zip — standard + Nerd Font icons # IoskeleyMono-Term.zip — term-spacing, all widths # IoskeleyMono-Term-NerdFont.zip # IoskeleyMono-NL.zip — no ligatures, all widths # IoskeleyMono-NL-NerdFont.zip ``` -------------------------------- ### IoskeleyMonoNL Variant Configuration Source: https://context7.com/ahatem/ioskeleymono/llms.txt Configuration for the NL (No Ligatures) variant in private-build-plans.toml, setting 'noLigation = true' to disable all programming ligatures. ```toml # private-build-plans.toml — NL variant key setting [buildPlans.IoskeleyMonoNL] family = "Ioskeley Mono NL" spacing = "normal" serifs = "sans" noCvSs = true noLigation = true # ← disables all programming ligatures exportGlyphNames = false weights.inherits = "buildPlans.IoskeleyMono" widths.inherits = "buildPlans.IoskeleyMono" slopes.inherits = "buildPlans.IoskeleyMono" ``` -------------------------------- ### IoskeleyMonoTerm Variant Configuration Source: https://context7.com/ahatem/ioskeleymono/llms.txt Configuration for the Term variant in private-build-plans.toml, which uses 'spacing = "term"' to constrain glyphs to cell boundaries for improved terminal rendering. ```toml # private-build-plans.toml — Term variant key setting [buildPlans.IoskeleyMonoTerm] family = "Ioskeley Mono Term" spacing = "term" # ← constrains glyphs to cell boundary serifs = "sans" noCvSs = true exportGlyphNames = false weights.inherits = "buildPlans.IoskeleyMono" widths.inherits = "buildPlans.IoskeleyMono" slopes.inherits = "buildPlans.IoskeleyMono" ``` -------------------------------- ### CSS @font-face for Ioskeley Mono Source: https://context7.com/ahatem/ioskeleymono/llms.txt Defines CSS @font-face rules for loading Ioskeley Mono from WOFF2 files, specifying font-family, src, font-weight, and font-style. ```css /* CSS @font-face — use the Web zip (WOFF2) */ @font-face { font-family: 'Ioskeley Mono'; src: url('IoskeleyMono-Regular.woff2') format('woff2'); font-weight: 400; font-style: normal; } @font-face { font-family: 'Ioskeley Mono'; src: url('IoskeleyMono-Bold.woff2') format('woff2'); font-weight: 700; font-style: normal; } @font-face { font-family: 'Ioskeley Mono'; src: url('IoskeleyMono-RegularItalic.woff2') format('woff2'); font-weight: 400; font-style: italic; } /* Usage */ body { font-family: 'Ioskeley Mono', monospace; font-weight: 400; /* 100 Thin | 200 ExtraLight | 300 Light | 350 SemiLight 400 Regular | 500 Medium | 600 SemiBold | 700 Bold 800 ExtraBold | 900 Black */ } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.