mapbox / tiny-sdf

Browser-side SDF font generator
http://mapbox.github.io/tiny-sdf/
BSD 2-Clause "Simplified" License
575 stars 58 forks source link

Fix glyph width for characters in RTL scripts #26

Closed ChrisLoer closed 3 years ago

ChrisLoer commented 3 years ago

measureText is not directly measuring glyphs -- it's actually measuring a run of text. When we provide a character from an RTL script, it lays the single-character run of text out right-to-left, and the right of the bounding box ends up being less than the left of the bounding box. TinySDF tries to allocate a negative-size array for the glyph and errors out.

I think there may be more work to do to get the left metric correct, but this PR at least avoids the crash and gives something renderable.

@mourner