-
Notifications
You must be signed in to change notification settings - Fork 644
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
coretext: PragmataPro with font-thicken=true looks wrong #2122
Comments
The freetype font backend looks fine. It doesn't support |
Okay. Things I can confirm so far:
|
#2123 fixes the clipping issue. Now our pixel locations match perfectly, but our rendering is slightly darker. I'm not sure why yet. |
Okay, I've drawn directly to a CoreGraphics context and dumped the pixels and compared to what I'm pulling with DigitalColorMeter and the colors match exactly. So the question I have is: why is CoreGraphics giving us darker pixels than are showing up in TextEdit and iTerm2? |
It's darker because of gamma correction (or rather, a lack of it). Even though we set the colorspace of our drawable surfaces, we are not performing gamma correction yet on the RGB color values set manually by users or TUI programs (i.e. |
Dedicated issue for gamma correction in #2125. The remainder of this issue I believer is resolved. Our pixels are now in roughly identical positions between iTerm and TextEdit, our colors are just very slightly off (we skew darker which makes things look thicker). Note I say "roughly identical": the dimensions are identical, but there are cases where we have a pixel here or a pixel there difference. When inspecting under something like DigitalColorMeter, I see the same thing with iTerm and TextEdit depending on font sizes too. Ultimately, I don't think these single pixel differences will make a noticeable difference, the major difference now is color. |
It should, see https://freetype.org/freetype2/docs/reference/ft2-properties.html#no-stem-darkening. Granted, the quality is uneven across format drivers, but it exists :) |
Left is Ghostty, right is iTerm2
Maybe related:
It looks like the are two issues:
o
which makes it really obvious I think)The text was updated successfully, but these errors were encountered: