<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ghostty.git/src/font/face.zig, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/'/>
<entry>
<title>Add comprehensive constraint tests</title>
<updated>2025-10-04T05:30:52+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-10-04T04:51:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=6bc60b6c643cf3036b553ce15b202d895d4b9308'/>
<id>6bc60b6c643cf3036b553ce15b202d895d4b9308</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Align stretched glyphs to cell, not face</title>
<updated>2025-10-03T20:46:36+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-10-01T04:15:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=50bdd3bac65f937e002d4e281f1406747073abf7'/>
<id>50bdd3bac65f937e002d4e281f1406747073abf7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Always clamp scaled glyph to cell</title>
<updated>2025-10-03T20:44:22+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-10-01T22:21:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=32f8c71be3f827cc091671a5a97eb81a61b51de8'/>
<id>32f8c71be3f827cc091671a5a97eb81a61b51de8</id>
<content type='text'>
Also take padding into account for centered alignment, necessary since
our constraint type allows asymmetric padding.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also take padding into account for centered alignment, necessary since
our constraint type allows asymmetric padding.
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(font): Anchor scaling at bounding box center</title>
<updated>2025-10-03T20:44:22+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-10-01T20:32:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=7acf617763cc87e04daca7d0635cd2094539a195'/>
<id>7acf617763cc87e04daca7d0635cd2094539a195</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(font): Improve FreeType glyph measurements and add unit tests for face metrics (#8738)</title>
<updated>2025-09-29T19:24:42+00:00</updated>
<author>
<name>Mitchell Hashimoto</name>
<email>m@mitchellh.com</email>
</author>
<published>2025-09-29T19:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=0bddaed53b75355506cbf84ce1bc3aaaaff22a67'/>
<id>0bddaed53b75355506cbf84ce1bc3aaaaff22a67</id>
<content type='text'>
Follow-up to #8720 adding

* Two improvements to FreeType glyph measurements:
- Ensuring that glyphs are measured with the same hinting as they are
rendered, ref
[#8720#issuecomment-3305408157](https://github.com/ghostty-org/ghostty/pull/8720#issuecomment-3305408157);
- For outline glyphs, using the outline bbox instead of the built-in
metrics, like `renderGlyph()`.
* Basic unit tests for face metrics and their estimators, using the
narrowest and widest fonts from the resource directory, Cozette Vector
and Geist Mono.

---

I also made one unrelated change to `freetype.zig`, replacing
`@alignCast(@ptrCast(...))` with `@ptrCast(@alignCast(...))` on line
173. Autoformatting has been making this change on every save for weeks,
and reverting the hunk before each commit is getting old, so I hope it's
OK that I use this PR to upstream this decree from the formatter.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow-up to #8720 adding

* Two improvements to FreeType glyph measurements:
- Ensuring that glyphs are measured with the same hinting as they are
rendered, ref
[#8720#issuecomment-3305408157](https://github.com/ghostty-org/ghostty/pull/8720#issuecomment-3305408157);
- For outline glyphs, using the outline bbox instead of the built-in
metrics, like `renderGlyph()`.
* Basic unit tests for face metrics and their estimators, using the
narrowest and widest fonts from the resource directory, Cozette Vector
and Geist Mono.

---

I also made one unrelated change to `freetype.zig`, replacing
`@alignCast(@ptrCast(...))` with `@ptrCast(@alignCast(...))` on line
173. Autoformatting has been making this change on every save for weeks,
and reverting the hunk before each commit is getting old, so I hope it's
OK that I use this PR to upstream this decree from the formatter.</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite constraint code for improved icon scaling/alignment</title>
<updated>2025-09-29T19:09:21+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-09-07T02:21:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=e3ebdc79756985ee541b6b1ed402da596b39318b'/>
<id>e3ebdc79756985ee541b6b1ed402da596b39318b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Hoist `GlyphSize` out of nested scopes</title>
<updated>2025-09-21T18:32:41+00:00</updated>
<author>
<name>Daniel Wennberg</name>
<email>daniel.wennberg@gmail.com</email>
</author>
<published>2025-09-21T18:04:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=52ef17d4e0012e79b0f1db1d4119fbb17ce8d9bd'/>
<id>52ef17d4e0012e79b0f1db1d4119fbb17ce8d9bd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gtk: the Future is Now</title>
<updated>2025-09-05T08:10:52+00:00</updated>
<author>
<name>Leah Amelia Chen</name>
<email>hi@pluie.me</email>
</author>
<published>2025-09-05T08:07:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=93debc439ccc87e8dee82d73c49a693a368b0685'/>
<id>93debc439ccc87e8dee82d73c49a693a368b0685</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gtk: nuke the legacy apprt from orbit</title>
<updated>2025-09-04T22:21:41+00:00</updated>
<author>
<name>Leah Amelia Chen</name>
<email>hi@pluie.me</email>
</author>
<published>2025-09-04T15:19:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=ac52af27d3e0fa8c1ac466585df1696bc9817670'/>
<id>ac52af27d3e0fa8c1ac466585df1696bc9817670</id>
<content type='text'>
We don't really have any large outstanding regressions on -ng to warrant
keeping this alive anymore. ¡Adiós!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We don't really have any large outstanding regressions on -ng to warrant
keeping this alive anymore. ¡Adiós!
</pre>
</div>
</content>
</entry>
<entry>
<title>font/freetype: port improved raster logic from CoreText</title>
<updated>2025-08-11T01:59:52+00:00</updated>
<author>
<name>Qwerasd</name>
<email>qwerasd205@users.noreply.github.com</email>
</author>
<published>2025-08-11T01:37:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/ghostty.git/commit/?id=8c7538e996904fc4c10e78fc3617f42c11ad7884'/>
<id>8c7538e996904fc4c10e78fc3617f42c11ad7884</id>
<content type='text'>
We now also have absolute perfect control over the raster position under
FreeType as well. This means that, for example, powerline extended chars
are appropriately clamped to the cell edges at all sizes.

This should be purely an improvement over what we had before, and now it
also matches what we do for CoreText.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We now also have absolute perfect control over the raster position under
FreeType as well. This means that, for example, powerline extended chars
are appropriately clamped to the cell edges at all sizes.

This should be purely an improvement over what we had before, and now it
also matches what we do for CoreText.
</pre>
</div>
</content>
</entry>
</feed>
