Swift at Apple: Migrating the TrueType hinting interpreter
87 points
by DASD
3 hours ago
| 10 comments
| swift.org
| HN
pjmlp
2 hours ago
[-]
During the State of Platform keynote, on the subject of Swift adoption across macOS, several examples were given, not only TrueType engine.

RIS is happening across all OS levels, if the keynote is to be believed.

reply
DASD
2 hours ago
[-]
Curious the direction of Webkit as there was a nebulous mention of select portions being rewritten from C++ to Swift. And yet, the new ECMAScript module (ESM) loader for Safari 27 is implemented in C++ (https://webkit.org/blog/17967/news-from-wwdc26-webkit-in-saf...).
reply
pjmlp
1 hour ago
[-]
No idea, maybe the private parts of the code, Safari isn't open source, or is coming later.

In any case I would have liked to have more info during the deep dive sessions.

As it is, Meet with Apple on security (a 5h long event) had much more information.

reply
hirvi74
39 minutes ago
[-]
What does RIS stand for?
reply
gyomu
38 minutes ago
[-]
Rewrite in Swift
reply
willXare
17 minutes ago
[-]
So RIS is Apple’s version of RiiR, but with better fonts.
reply
airstrike
1 hour ago
[-]
As much as I enjoyed Swift, one can only wonder what the world would look like if they had gone with Rust as their default language instead.
reply
AceJohnny2
12 minutes ago
[-]
Rust doesn't have an ABI [1]. Swift needed one to be a useable application language:

https://faultlore.com/blah/swift-abi/ (written by a core Rust developer)

[1] apart from the basic/universal C one, which prevents exposing any useful Rust semantics over the interface

reply
jadengeller
1 hour ago
[-]
Modern Swift borrows a lot from Rust! And it also has its own benefits, both ergonomic and also supporting eg generic in dynamic libraries
reply
ecshafer
59 minutes ago
[-]
Swift and Rust were developed at similar times. I think of them more as having similar influences than borrowing from each other.
reply
est31
53 minutes ago
[-]
Similar times and the Rust originator went on to work on Swift after it.
reply
DenisChetwynd
46 minutes ago
[-]
Graydon Hoare's impact on the language is marginal than that of Chris Lattner, the originator (also, Hoare joined the team much later)
reply
airstrike
1 hour ago
[-]
These days I mainly write Rust but I did write a semi complex iOS app and enjoyed Swift. I just didn't love how slow the type checker was and how it got lost. I recall having to break things into smaller bits to help the compiler, and there were some oddities about the language.

The gap between the two languages is quite small, it just makes me wish Apple was also all-in on Rust

reply
DenisChetwynd
35 minutes ago
[-]
maybe so on the surface, but it remains quite massive underneath; these languages are fundamentally different and target entirely different use cases
reply
vardump
1 hour ago
[-]
Does it borrow borrow checker?
reply
saagarjha
1 hour ago
[-]
Interesting that this is published under the MIT, rather than Apple’s more favorite Apache 2, license
reply
JumpCrisscross
1 hour ago
[-]
Why is it interesting?
reply
drob518
1 hour ago
[-]
Presumably because MIT is even more permissive and it’s a change in Apple’s behavior.
reply
favorited
20 minutes ago
[-]
Some corporations prefer Apache 2.0 for projects where they'll be accepting contributions, because it includes patent protection and retaliation clauses. In case like this, where source code is just being published for reference and contributions aren't accepted, those risks don't exist.
reply
zdw
37 minutes ago
[-]
Given the age of TrueType, wouldn't nearly all patents be expired already?

Apache2's license I've heard described as mutually-assured-patent-destruction - if you use the code and make a patent claim, your rights to use the code go away.

So Apache2 offers little benefit here, and MIT may get it into more hands?

reply
AndriyKunitsyn
10 minutes ago
[-]
What's funny is from 2023 (I think), macOS just draws the UI unhinted. You have a 1080p display and you don't want to see the letters in the UI blurred to death? Tough luck, 1080p is incompatible with macOS, everybody needs "retina", and nobody cares that Windows and all Linux DEs look on 1080p just fine.

It looks like this hinter will be used only in rendering PDFs, because that's where they test the performance.

reply
nomel
1 minute ago
[-]
My last 1080p monitor was around 20 years ago. I have trouble comprehending people still use them regularly.
reply
weinzierl
1 hour ago
[-]
Back in 2023 there was talks about Microsoft rewriting the font stuff in Rust for similar reasons Apple is now doing the Swift move.

I'm not sure what became of it and if it ever shipped. If anyone knows I'd be curious.

reply
DASD
1 hour ago
[-]
Russinovitch (Azure's CTO/CISO) gave a speech at RustConf 2025 and mentions it(DirectWriteCore) took 2 engineers 6 months resulting in 154K LOC and 5-15 percent performance increase for font shaping. https://www.youtube.com/watch?v=uDtMuS7BExE&list=PL2b0df3jKK...
reply
mrpippy
1 hour ago
[-]
The author discussed this a bit on Mastodon as well:

https://xoxo.zone/@numist/116716469017975106

reply
numist
1 hour ago
[-]
I'm also here :)
reply
raphlinus
49 minutes ago
[-]
Welcome to the club of doing high performance text in a memory safe language!
reply
LoganDark
1 hour ago
[-]
I'm surprised the code has visible LLM smells. Though, I shouldn't be surprised. I hope the important bits are still human-controlled (and the same for Apple's many operating systems that absolutely deserve to remain stable and understood).
reply
airspeedswift
1 hour ago
[-]
I assure you, every inch of the interpreter code has been stared at by humans, a lot. TBH even the assembly generated by it has.
reply
dgellow
1 hour ago
[-]
From what I got Apple is using claude code A LOT internally
reply
Cassell
1 hour ago
[-]
It would be interesting to see their internal guidance on LLM use. It’s a massive amount of new power that has to be wielded carefully. That kind of guidance might mean the survival or downfall of some big corps in the next few years.
reply
wahnfrieden
1 hour ago
[-]
Yes they are using Claude Code - not the Xcode agents.

It worries me. I hope Codex adoption picks up there.

reply
troupo
2 hours ago
[-]
I think these are the types of things Apple should've focused on instead of half-heartedly barging ahead with SwiftUI and breaking the language in the process
reply
saagarjha
1 hour ago
[-]
I mean they’re doing both
reply
wg0
47 minutes ago
[-]
No mention of AI? Hand written code?
reply
numist
12 minutes ago
[-]
There's mention at the end. The models (and Swift itself!) have evolved a lot since this project started, so the early code is largely hand-rolled and the later changes were mostly authored by centaurs (to steal a term from chess).

But I personally reviewed every line that shipped and was absolutely insufferable about testing.

reply