惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
腾讯CDC
博客园 - Franky
S
SegmentFault 最新的问题
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
J
Java Code Geeks
Y
Y Combinator Blog
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
MongoDB | Blog
MongoDB | Blog
I
InfoQ
T
Tailwind CSS Blog
Hugging Face - Blog
Hugging Face - Blog
B
Blog RSS Feed
博客园 - 叶小钗
博客园_首页
有赞技术团队
有赞技术团队
雷峰网
雷峰网
量子位
小众软件
小众软件
月光博客
月光博客
U
Unit 42
D
DataBreaches.Net

Butler's Log

Figma agent vs. one button: shipping design tokens to npm Local Model Performance on an M5 Max GitButler 0.22 - "Catch 22" Agentic Version Control Benchmarks Grit: rewriting Git in Rust with agents Git Merge 2026 Agent-safe Git with GitButler We’ve raised $17M to build what comes after Git Announcing the GitButler CLI for Linux The Great CSS Expansion A couple of git nits Simplifying Git by Using GitButler Introducing the GitButler CLI GitButler 0.19 - "Commander Keen" MCP vs RAG: Two Very Different Ways to Gain Context Getting Started With GitButler Agents Using the GitButler MCP Server to Build Better AI-Driven Git Workflows Using GitButler With Multiple GitHub Accounts Advent of Code! Upcoming GitButler Events Use GitButler for your Gerrit workflow Integrating GitButler and GitHub Enterprise Butler Flow: shipping code faster (but less like Alfred, more like CI on steroids) - Part 3 Butler Flow: shipping code faster (but less like Alfred, more like CI on steroids) - Part 2 Butler Flow: shipping code faster (but less like Alfred, more like CI on steroids) - Part 1 Grid Happens: Because Flexbox Wasn’t Enough Using Cursor Hooks for automatic version control Deep Dive into the new Cursor Hooks A Responsive Item Counter with CSS only GitButler 0.16 - "Sweet Sixteen"
But Head: Crafting a Custom Font
Pavel Laptev · 2026-01-22 · via Butler's Log

TLDR: But Head is a custom header font for GitButler that bridges developer-focused monospace aesthetics with magazine-style editorial typography. It combines geometric precision with proportional elegance to create a distinctive visual identity.

Download: 📦 font files ∙ 💾 source files ∙ 🎨 live demo

Defining a visual identity for a developer tool requires balancing utility with distinction. We aimed for a typographic style that could reference the history of computing—specifically the technical manuals and magazines of the 80s and 90s—without feeling dated. The goal was to signal technical precision while maintaining high readability.

A couple of examples of our initial exploration

A couple of examples of our initial exploration

Check on a dummy blog post page

Check on a dummy blog post page

We initially settled on PP Editorial New. It provided the condensed serif aesthetic we were looking for. For body copy, we tested various monospace fonts and for marketing text we chose Spline Sans Mono. But for the in-app experience, we selected Inter due to its versatility and excellent screen readability.

original-bd3b2dc814c9882d0ca1179cbe489308.png

However, this pairing revealed a disconnect. While PP Editorial New offered sophistication, and Inter provided utility, the combination lacked a direct link to the developer experience. The "technical soul" usually conveyed by monospace aesthetics was missing from the primary branding elements.

The old landing page with PP Editorial New

The old landing page with PP Editorial New

After a decade dominated by neutral, geometric sans-serifs, the industry collectively swung toward expressive, high-contrast serifs. This was a welcome change, bringing the warmth and authority of print media back to digital products.

However, a trend's success is often its downfall. PP Editorial New and similar typefaces became ubiquitous in tech marketing materials. Major companies adopted this style for its perceived sophistication, leading to market saturation.

You can observe this saturation in real-time archives:

The prevalence of this style in general tech marketing diluted the distinctiveness of our brand.

Screenshot 2026-01-13 at 00.05.13.png

Screenshot 2026-01-13 at 00.05.37.png

This ubiquity, combined with the lack of specific "developer" character in the font, prompted us to develop a custom solution. We needed a typeface that was:

  1. Technically Aligned: Visually referencing code editors and terminal environments.
  2. Structural: Possessing the condensed qualities of editorial design but with geometric precision.
  3. Distinct: A unique visual signature for GitButler.

We analyzed two existing typefaces that represented the opposing qualities we wanted to merge: Xanh Mono and Instrument Serif.

Xanh Mono

Xanh Mono served as the technical foundation. Its appeal lay in its geometric boldness and engineered feel. However, strictly monospace fonts can be problematic for display headers; characters like 'i' and 'l' leave excessive whitespace, while 'm' and 'w' can feel compressed.

Instrument Serif

Instrument Serif offered the proportional balance we needed. Its humanist qualities provided a counterweight to the angularity of Xanh.

The design goal was to synthesize these attributes: the mechanical geometry of Xanh Mono with the proportional rhythm of Instrument Serif.

Proportional Adaptation and Glyphic Analysis

Combining these fonts required a complete reconstruction. We extracted the structural DNA of Xanh Mono—its sharp serifs and geometric strokes—and grafted it onto the proportional skeleton of Instrument Serif.

Comparison showing which source influenced each glyph

Comparison showing which source influenced each glyph

We adopted a selective glyph strategy:

  • Structural Geometry: We retained Xanh's angular structures (e.g., the apex of 'A', the crossbar of 'F') but discarded its monospace constraints.
  • Proportional Widths: We applied Instrument Serif's spacing logic to Xanh's forms, allowing letters to breathe naturally.
  • Organic Curves: The italic forms incorporate Xanh’s distinctive organic bowls (seen in the 'a'), contrasting with the rigid stems.

The curved terminals and corner treatments

The curved terminals and corner treatments

Optical Adjustments and Stroke Weight

Display fonts often suffer from readability issues at smaller sizes due to high stroke contrast (the difference between thick and thin lines). Our initial tests revealed that the horizontal hairlines from Xanh were too delicate for diverse screen rendering contexts.

To resolve this, we uniformly increased the weight of the horizontal strokes. This reduced the extreme contrast, improved the optical density of the headers, and ensured they held visual weight when paired with the Inter body text.

After imageBefore image

Visual weight adjustment: Thickening horizontal strokes for better readability

An effective italic cut should not merely be a slanted version of the Roman upright. We treated the italic as a distinct "voice" within the family. It introduces kinetic energy through changed letterforms—specifically the cursive nature of the lowercase—while maintaining the angular terminals of the uprights. This variation provides necessary rhythm in editorial layouts.

but-italic.jpg

Ligatures and Collision Resolution

We implemented standard f-ligatures (fi, fl, fh, fb, ffi, ffl) to resolve terminal collisions—a common necessity in serif fonts where the hood of the 'f' invades the space of successive ascenders. Additionally, we included discretionary ligatures for rare pairs like 'qj' to solve kerning gaps and add visual interest.

Screenshot 2026-01-14 at 00.04.39.png

We created But Head, a custom header font for GitButler that merges the geometric precision of Xanh Mono with the proportional elegance of Instrument Serif. It bridges developer-focused monospace aesthetics with magazine-style editorial typography, giving us a distinctive visual identity beyond the oversaturated "Editorial" trend.

Download: font filessource fileslive demo

dum-compilo-spero-2.webp

Pavel Laptev

Written by Pavel Laptev

Quack! A digital designer who loves open source. Flaps around making interfaces nice and helps the design and frontend pond whenever he can.