frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Text rendering hates you

https://faultlore.com/blah/text-hates-you/
51•andsoitis•6d ago

Comments

gnabgib•6d ago
(2019) Popular in:

2023 (290 points, 119 comments) https://news.ycombinator.com/item?id=36478892

2022 (399 points, 154 comments) https://news.ycombinator.com/item?id=30330144

2019 (542 points, 170 comments) https://news.ycombinator.com/item?id=21105625

jesse__•2h ago
The ligatures part of this article gets me every time I re-read it. I think reading this article may have been the first time I realized that even large, well-funded projects are still done by people who are just regular humans, and sometimes settle for something that's good enough.
thot_experiment•1h ago
I've tried to ask this before in various contexts and I've never been able to find an answer but maybe commenters on a post like this would know.

I like the way that the CJK fonts render without anti-aliasing on windows. I want to know why and how to cause windows to render a non-cjk font of my choosing in this aliased style. I am not opposed to hex-editing or otherwise modifying the font if that's necessary. I've never been able to find information bout the mechanism or how it's triggered.

Permik•1h ago
Just disable ClearType and all your text will be uniform :)
socalgal2•1h ago
And the companion article: https://lord.io/text-editing-hates-you-too/

(posted in other other threads too)

xg15•59m ago
> Don’t ask about the code which line-breaks partial ligatures though.

Wondered about this. All the circular dependencies sound like you could feasibly get some style/layout combinations that lead to self-contradictory situations.

E.g. consider a ligature that's wider than the characters' individual glyphs. If the ligature is at the end of the box, it could trigger a line break. But that line break would also break up the ligature and cause the characters to be rendered as individual glyphs, reducing their width - which would undo the line break. But without the line break, the ligature would reconnect, increase the width and restore the line break, etc etc...

Karliss•50m ago
Few more additional ones, more about editing than just rendering:

The style change mid ligature has a related problem. While it might be reasonable not to support style change in the middle of ligature, you still want to select individual letters within ligatures like "ff", "ffi" and "fl". The problem just like with color change is that neither the text shaper nor program rendering text knows where each individual letter within ligature glyph is positioned. Font simply lacks this information.

From what I have seen most programs which support it use similar approximation as what Firefox uses for coloring - split the ligature into equal parts. Works good enough for something like "fi", "fl" not so much for some of ligatures within programming fonts that combine >= into ≥.

There are even worse edge cases in scripts for other languages. There are ligatures which look roughly like the 2 characters which formed it side by side but in reverse order. There are also some ligatures in CJK fonts which combine 4 characters in a square.

Backspace erases characters at finer granularity than it's possible to select them.

With regards to LTR/RTL selection weirdness I recently discovered that some editors display small flag on the cursor displaying current position direction when it's in mixed direction text.

casey2•37m ago
The real takeaway from the article is that you can rathole forever on ill-defined problems. Decide upfront whether you care about actual humans and their usecases or hypothetical humans and their hypothetical usecases.
tankenmate•12m ago
Hmm I use Firefox and the rendering I see in Firefox looks nothing like the render the author gets in Firefox; in fact the text rendering I get looks very similar to the "Chrome" rendering. Obviously this must depend on the libraries linked during the build process.

How we lost communication to entertainment

https://ploum.net/2025-12-15-communication-entertainment.html
225•8organicbits•4h ago•112 comments

Floor796

https://floor796.com/
492•krtkush•11h ago•61 comments

Gpg.fail

https://gpg.fail
261•todsacerdoti•7h ago•134 comments

Text rendering hates you

https://faultlore.com/blah/text-hates-you/
52•andsoitis•6d ago•9 comments

Windows 2 for the Apricot PC/Xi

https://www.ninakalinina.com/notes/win2apri/
86•todsacerdoti•6h ago•20 comments

Project Vend: Phase Two

https://www.anthropic.com/research/project-vend-2
31•kubami•5d ago•5 comments

Rainbow Six Siege hacked as players get billions of credits and random bans

https://www.shanethegamer.com/esports-news/rainbow-six-siege-hacked-global-server-outage/
63•erhuve•4h ago•15 comments

Show HN: Waycore – an open-source, offline-first modular field computer

15•DGrechko•1h ago•9 comments

Clock synchronization is a nightmare

https://arpitbhayani.me/blogs/clock-sync-nightmare/
109•grep_it•4d ago•64 comments

Nvidia's $20B antitrust loophole

https://ossa-ma.github.io/blog/groq
306•ossa-ma•6h ago•107 comments

Janet Jackson had the power to crash laptop computers (2022)

https://devblogs.microsoft.com/oldnewthing/20220816-00/?p=106994
215•montalbano•7h ago•88 comments

Show HN: Ez FFmpeg – Video editing in plain English

http://npmjs.com/package/ezff
330•josharsh•15h ago•157 comments

The Dangers of SSL Certificates

https://surfingcomplexity.blog/2025/12/27/the-dangers-of-ssl-certificates/
14•azhenley•1h ago•16 comments

Toll roads are spreading in America

https://www.economist.com/united-states/2025/12/18/toll-roads-are-spreading-in-america
111•smurda•6h ago•310 comments

An ounce of silver is now worth more than a barrel of oil

https://www.wsj.com/finance/commodities-futures/an-ounce-of-silver-is-now-worth-more-than-a-barre...
59•bookofjoe•3h ago•40 comments

OrangePi 6 Plus Review

https://boilingsteam.com/orange-pi-6-plus-review/
125•ekianjo•11h ago•99 comments

They made me an offer I couldn't refuse (1997)

https://jens.mooseyard.com/1997/04/13/they-made-me-an-offer-i-couldnt-refuse/
30•classichasclass•4d ago•20 comments

Pfizer ended up passing on my GLP-1 work back in the early '90s (2024)

https://www.statnews.com/2024/09/09/glp-1-history-pfizer-john-baxter-jeffrey-flier-calbio-metabio/
37•rajlego•2h ago•17 comments

Ask HN: Resources to get better at outbound sales?

147•sieep•6d ago•34 comments

Richard Stallman at the First Hackers Conference in 1984 [video]

https://www.youtube.com/watch?v=Hf2pfzzWPYE
76•schmuckonwheels•3h ago•8 comments

7- and 14-segment fonts "DSEG"

https://www.keshikan.net/fonts.html
4•anigbrowl•1h ago•1 comments

How We Found Out About COINTELPRO (2014)

https://monthlyreview.org/articles/how-we-found-out-about-cointelpro/
51•bryanrasmussen•2h ago•22 comments

Show HN: Mysti – Claude, Codex, and Gemini debate your code, then synthesize

https://github.com/DeepMyst/Mysti
159•bahaAbunojaim•4d ago•131 comments

Rust the Process

https://www.amalbansode.com/writing/2025-12-24-rust-the-process/
7•quadrophenia•3d ago•0 comments

Splice a Fibre

https://react-networks-lib.rackout.net/fibre
85•matt-p•12h ago•39 comments

Mruby: Ruby for Embedded Systems

https://github.com/mruby/mruby
120•nateb2022•5d ago•31 comments

Say No to Palantir in the NHS

https://notopalantir.goodlawproject.org/email-to-target/stop-palantir-in-the-nhs/
29•_____k•3h ago•1 comments

USD share as global reserve currency drops to lowest since 1994

https://wolfstreet.com/2025/12/26/status-of-the-us-dollar-as-global-reserve-currency-usd-share-dr...
155•stevenjgarner•7h ago•151 comments

Exe.dev

https://exe.dev/
410•achairapart•1d ago•259 comments

Pre-commit hooks are broken

https://jyn.dev/pre-commit-hooks-are-fundamentally-broken/
142•todsacerdoti•20h ago•123 comments