Bilingual type scale

One base size, one ratio, and the Arabic companion values worked out beside each Latin step. Arabic gets a little more size and noticeably more leading, and never any tracking.

A default, not a measurement. Change it per family.

Applies where the Latin curve would go tighter.

Rebuilds as you type. No button to press.

Nothing built yet.

Two numbers you own

The Arabic size bump and the leading floor start at 6% and 1.75, which is where a Naskh body face usually stops colliding with itself. They are conventions, not measurements: the tool would be lying if it presented them as the one true answer, which is why they are inputs at the top rather than constants buried in the output.

Everything else here is arithmetic on your base size and ratio, and the specimen re-sets itself in your browser at the numbers it prints.

Tracking is set to zero on purpose. Chromium ignores letter-spacing on Arabic and other engines apply it and open the joins, so a non-zero value is either dead code or damage depending on the reader's browser.

The numbers are a starting point, not a law: a Naskh face with long descenders and a geometric Kufi do not want the same leading. Set the scale, then look at the specimen.