Binary search only works if all characters/glyphs have positive advances. Otherwise, the results would be unstable as you resize the window.
I assume you did perf tests to verify that binary search is faster than linear scan with an early-out?
(In reply to Myles C. Maxfield from comment #1) > I assume you did perf tests to verify that binary search is faster than > linear scan with an early-out? I did (i went back and forth a few times on this) and there was no measurable difference. I wish I could measure glyphs individually.