Advertisement · 728 × 90

Posts by 梁海 Liang Hai

Preview
Convert to TypeScript and ES6 modules by khaledhosny · Pull Request #176 · harfbuzz/harfbuzzjs · GitHub Providing HarfBuzz shaping library for client/server side JavaScript projects - Convert to TypeScript and ES6 modules by khaledhosny · Pull Request #176 · harfbuzz/harfbuzzjs

If you use harfbuzzjs (or if you didn’t know you could use HB in JS), have a look at this PR github.com/harfbuzz/har... where Khaled is rapidly converting the project to TS and ESM based on suggestions from a long standing issue (github.com/harfbuzz/har...).

4 days ago 1 0 0 0

Will join you if you’ll be bouldering somewhere on Wednesday before 4 pm!

4 weeks ago 1 0 0 0
Post image

Apparently I’ve been incorrectly claiming on my website that I’m a vice-chair of the Script WG, due to an editing error: lianghai.dev 🫠

2 months ago 1 0 0 0
Preview
FOSDEM 2026 - Graphite: a busy year in review

The node-based, procedural design tool Graphite’s talk at FOSDEM has its recording online now: fosdem.org/2026/schedul...

2 months ago 0 0 0 0

It’s so satisfying to vote against Andrew Cuomo again.

5 months ago 489 48 16 1
Structural markup and right-to-left text in HTML How should I use the dir attribute to set text direction on structural elements in HTML?

@atila.io, after our brief chat, I realized that it’s quite unusual for you guys to have to deal with bidi issues from the level of Solid or SolidStart. Can you have a look at this article from W3C and elaborate a bit about what exact problems you guys are facing? www.w3.org/Internationa...

5 months ago 0 0 0 0

- On the other hand, Google Fonts has been porting tools to Rust. You can read about their roadmap here: github.com/googlefonts/..., where klippa is mentioned as a replacement of hb-subset.
- You should also keep an eye on the progress of the Incremental Font Transfer effort: www.w3.org/TR/IFT/.

5 months ago 1 0 0 0
Advertisement

- Likely irrelevant to you, but fyi, the corresponding solution in Python (the font industry’s common language) is maintained by pretty much the same group of developers in fontTools: glyph set subsetting (github.com/fonttools/fo...) + design space subsetting (github.com/fonttools/fo...).

5 months ago 1 0 1 0

- Fonts are complicated. Don’t trust naive solutions that are not backed by HB developers.
- HB has a WASM-based JS lib, harfbuzzjs (github.com/harfbuzz/har...), which is currently maintained in a quite confusing way and can use some help from professional TS developers (github.com/harfbuzz/har...).

5 months ago 1 0 1 0

@danielroe.dev, it was great to meet you and climb together! – So about the font subsetting situation:

- The current best practice is likely HarfBuzz (HB)’s subsetting API (harfbuzz.github.io/harfbuzz-hb-...), which is written in C++ and has a CLI, hb-subset (harfbuzz.github.io/utilities.ht...).

5 months ago 1 0 1 0
Preview
e18e - Ecosystem Performance - Open Collective The e18e community has the aim of improving performance of tooling and packages in the JavaScript ecosystem.

you can sponsor @e18e.dev through GitHub Sponsors or OpenCollective

these funds will primarily be used for two things:

- distributed to projects/individuals in the wider JS community
- development of community projects/tools

thanks so much to those of you who already sponsor us 💙

5 months ago 24 9 1 0
CourtBouillon − Five Years of CourtBouillon Authentic people growing open source code with taste

Yesterday was CourtBouillon 5-year anniversary 🎂

As each year, we take some time to see what happened during the year on the projects (features, money…), and to draw the path for the next one.

Here’s the rewind of this year!

↘️
www.courtbouillon.org/blog/00059-f...

5 months ago 5 1 0 0

(Oops I meant “expression-only”.)

5 months ago 0 0 0 0

Naming is easy. A successor to JSX is naturally named with the next letter, so JSY – Y for “WHY are you still tolerating a statement-only syntax?”.

5 months ago 0 0 1 0

Ah turned out you’re a co-chair of TC39! No wonder I vaguely heard you mentioned “standardization” several times to people… 🫠

5 months ago 1 0 0 0

@danielroe.dev: Signing up for the bouldering session on Saturday!

5 months ago 2 0 0 0
Post image

Got this cutie from @todde.tv’s Vite quiz at #ViteConf!

5 months ago 13 1 0 0
Advertisement
Post image

Solid advice from @atila.io at #ViteConf.

5 months ago 15 3 0 0
Preview
Astro Happy Hour · Luma Astro is coming to Amsterdam for ViteConf and we'd love to meet you! Join us for a happy hour, generously sponsored by Netlify. The Astro core team is meeting…

Want to meet the Astro core team? Come join us for some drinks and a chat in Amsterdam on Saturday — sponsored by @netlify.com!

Register here: luma.com/fbmyfx30

5 months ago 20 5 1 1
Post image Post image

A panel chat after the Vite documentary’s premiere today at #ViteConf, featuring @antfu.me or “The Fu”, among others.

5 months ago 3 0 0 0
Vite: The Documentary
Vite: The Documentary YouTube video by CultRepo

"Let's hear it for the UN of Javascript!

Vite: The Documentary is finally here.

If you missed the premiere, it's OK!!! Here's the link so you can watch it again, and again and again.

youtu.be/bmWQqAKLgT4 "

5 months ago 71 30 4 2
Preview
The World Wide Web Consortium (W3C) adopts a new logo to signal positive changes | 2025 | Press releases | W3C W3C is rolling out a new logo, following W3C’s formation in 2023 as a non-profit, public-interest organization, and the recent release of strategic objectives to support W3C’s roadmap.

Really impressive how bad this is. Reeks of US corporate superficiality. Even worse than Unicode Consortium’s rebranding some year ago. www.w3.org/press-releas...

6 months ago 0 0 1 0
Preview
When 255 × 0 does not Equal Zero A discussion around blend modes in different color spaces, and where their math happens on the web

Fucking hell. Turned out I’m not insane – indeed Safari and Chrome do blend mode calculation in the display’s color profile, not sRGB: danielcwilson.com/blog/2020/03...

8 months ago 2 0 0 0

In one month, Node.js 18 reaches EOL. Vite and a lot of your dependencies will release majors requiring Node.js 20+. Please update as recommended now so you are prepared to jump into greener fields. Vite 4 will also stop receiving security patches after the next major, so please jump to latest too 🙏

1 year ago 46 4 1 2
Video

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.

1 year ago 3 0 0 0
tears in the rain meme

tears in the rain meme

i’ve seen shitposting you people wouldn’t believe

1 year ago 73 5 2 0

I’m so excited to share this project of mine! 🚲 ❤️

Super grateful to the generous support from @bikemn.bsky.social, @cyclehoop.bsky.social & the Lyndale Neighborhood Association to make this idea a reality.

Minneapolis: Want to rent a cargo bike?

Follow @mplscargobikelibrary.com !

1 year ago 324 62 17 9
Advertisement
Preview
Spline - 3D Design tool in the browser with real-time collaboration Spline is a free 3D design software with real-time collaboration to create web interactive experiences in the browser. Easy 3d modeling, animation, textures, and more.

Finally learning spline.design! 🎉

1 year ago 37 2 0 0

The writing this season is a little too on-the-nose

1 year ago 20 4 0 0
Post image

Someone at Microsoft thought it's such a brilliant idea to use a generic tile for everything and concatenate lists together so it looks really neat.

1 year ago 1 0 1 0