uWrap.js

Languages and libraries

text layout library

SHOW HN2025

121points
21comments
#622of 3,837 in 2025
Top 17%of 2025 by points

How HN took it

CuriousMostly questions and neutral comments

3 positive, 7 neutral or asking, 0 mixed, 0 critical, out of 10 comments about the project. Thread score +0.29.

Idea: 2 for, 0 againstPerformance: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Useful for virtualization and canvas text layout

    From 2 comments
    • I can count on one hand the number of times I've needed something like this in the last decade. But I'd also need to count the same number of times I've implemented a less than…
      somishere on HN
    • Hmmm, I might have a brilliant usecase for it: https://github.com/ironcalc/IronCalc/blob/main/webapp/IronCalc/src/components/WorksheetCanvas/worksheetCanvas.ts#L88 Thanks!
      nhatcher on HN
  • Accuracy and performance improvements over existing approaches

    From 2 comments
    • we needed something like this for virtualization of the Table panel, data-heavy dropdowns, and long list views in Grafana. so i guess that's a three-in-one? i looked for the…
      leeoniya on HN
    • Nice. I plan to use this tool to pre-calculate the letter size ratios for all my fonts, then bake those into my non-JS server code as constants and use a similar wrapping…
      RadiozRadioz on HN

Objections

  • Unclear why canvas rendering is needed when HTML subsets work

    From 1 comment
    • Hi OP! Thanks for sharing. I don’t totally understand the point of this. Why would you want to use a Canvas renderer for this use case? If you want to render a massive table,…
      Jaxkr on HN
  • Kerning and ligatures complicate accuracy

    From 1 comment
    • You'd need more than just letter widths because of kerning and ligatures, for 100% accuracy. Anyway, fontkit can work on the server and can get individual glyph metrics as well…
      tln on HN

Requests

  • Support for WebGL environments

    From 1 comment

Questions

  • What underlying dependencies does it have

    From 1 comment
  • Does it handle kerning and character pairs

    From 2 comments
    • You'd need more than just letter widths because of kerning and ligatures, for 100% accuracy. Anyway, fontkit can work on the server and can get individual glyph metrics as well…
      tln on HN
    • yep, uWrap internally builds a lookup table for char pairs that differ significantly in width together from just adding their raw widths.
      leeoniya on HN

Alternatives named

  • canvas-hypertxt

    From 1 comment
    • we needed something like this for virtualization of the Table panel, data-heavy dropdowns, and long list views in Grafana. so i guess that's a three-in-one? i looked for the…
      leeoniya on HN
  • fontkit

    From 1 comment
    • You'd need more than just letter widths because of kerning and ligatures, for 100% accuracy. Anyway, fontkit can work on the server and can get individual glyph metrics as well…
      tln on HN
  • CSS columns

    From 1 comment
    • > As an old school print designer, I would love to see a return to a web with multi-column text on desktop, that reformatted to single column on mobile, and graphics runarounds…
      leeoniya on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/43583478)