Skip to content

persian-cli

A research lab for making Persian, and every right-to-left joining script, a first-class language in the terminal.

North star: a Persian speaker can do everything in a terminal that an English speaker can (read, write, edit, search, select, copy and paste) with no workarounds, in any terminal, multiplexer, editor or command-line app, on any operating system.

Shaping

A letter’s form depends on its neighbours. A grid of independent cells draws them disconnected.

Bidi

Visual order depends on the whole paragraph (UAX #9). Words come out reversed, numbers misplaced, brackets unmirrored.

Width

لا is two characters but one glyph, and ZWNJ has no width. The app and the terminal disagree about where the cursor is.

Ownership

Nobody has settled whether the terminal or the app owns bidi. If both do it, the text is reversed twice.

Status: Day 0. Phase 0, the root-cause map, is underway.

A project by Mehdi Baneshi · mbaneshi.ir