梁海 Liang Hai
lianghai@mas.to
<p>(That’s the Slow Horses staircase in the header pic, in case you were wondering.) <a href="https://mas.to/tags/Unicode" class="mention hashtag" rel="tag">#<span>Unicode</span></a> <a href="https://mas.to/tags/OpenType" class="mention hashtag" rel="tag">#<span>OpenType</span></a> <a href="https://mas.to/tags/Python" class="mention hashtag" rel="tag">#<span>Python</span></a> <a href="https://mas.to/tags/TypeScript" class="mention hashtag" rel="tag">#<span>TypeScript</span></a> <a href="https://mas.to/tags/Svelte" class="mention hashtag" rel="tag">#<span>Svelte</span></a> <a href="https://mas.to/tags/Astro" class="mention hashtag" rel="tag">#<span>Astro</span></a> <a href="https://mas.to/tags/Swift" class="mention hashtag" rel="tag">#<span>Swift</span></a></p>
Posts
-
Post #2236237
Class 2 assignment of @robstenson’s Coldtype course: “modify the drumkit.py file to look different”. Finished before Sunday midnight – two days early! Sound and font (Obviously Variable) provided by the course.
-
Post #2236233
Fucking hell. Turned out I’m not insane – indeed Safari and Chrome do blend mode calculation in the display’s color profile, not sRGB: https://danielcwilson.com/blog/2020/03/blend-modes-in-spaaaace/
-
Post #2236232
Really impressive how bad this is. Reeks of US corporate superficiality. Even worse than Unicode Consortium’s rebranding some year ago. https://www.w3.org/press-releases/2025/new-logo/
-
Post #2236231
A panel chat after the Vite documentary’s premiere today at #ViteConf, featuring @antfu.me or “The Fu”, among others.
-
Post #2236229
Solid advice from @atila.io at #ViteConf.
-
Post #2236228
Got this cutie from @todde.tv’s Vite quiz at #ViteConf!
-
Post #2236227
Graphite, a node-based, procedure design tool: https://fosdem.org/2026/schedule/event/FWXQLF-graphite-2026/ #FOSDEM
-
Post #2236226
The node-based, procedural design tool Graphite’s talk at FOSDEM has its recording online now: https://fosdem.org/2026/schedule/event/FWXQLF-graphite-2026/
-
Post #2236224
Apparently I’ve been incorrectly claiming on my website that I’m a vice-chair of the Script WG, due to an editing error: https://lianghai.dev 🫠
-
Post #2236223
If you use harfbuzzjs (or if you didn’t know you could use HB in JS), have a look at this PR https://github.com/harfbuzz/harfbuzzjs/pull/176 where Khaled is rapidly converting the project to TS and ESM based on suggestions from a long standing issue (https://github.com/harfbuzz/harfbuzzjs/issues/99).
-
Post #2236222
harfbuzzjs, HarfBuzz’s Wasm build and JS bindings, has released the first beta after the recent major refactoring (I’ve been contributing some ideas): TypeScript, ESM, JS classes, automatic memory management for Wasm, … Go give it a try! https://github.com/harfbuzz/harfbuzzjs/releases/tag/v1.0.0-beta.1 (Also available on npm.)