نقشهٔ مسئله
این خط را در ترمینال چاپ کنید:
نسخهٔ 2.1 از «persian-cli» را با دستورِ `make test` (لا ۱۲۳) اجرا کنید.بسته به ابزارهایتان، حرفها جدا از هم، واژهها وارونه، متن لاتین و عددها جابهجا، پرانتزها برعکس و مکاننما جایی غیر از جای تایپ دیده میشود. هیچکدام از اینها در انگلیسی رخ نمیدهد.
ریشهٔ مسئله
Section titled “ریشهٔ مسئله”ترمینال شبکهای از خانههای همپهنا است که از چپ به راست و هر خانه با یک نویسه پر میشود. خط عربی سه فرض این مدل را میشکند:
| شبکه فرض میکند… | خط عربی نیاز دارد… | چه میشکند |
|---|---|---|
| هر خانه مستقل است | شکلدهی: شکل حرف به همسایههایش بستگی دارد | حرفهای جدا از هم |
| متن از چپ به راست است | دوجهتی: ترتیب نمایش به کل پاراگراف بستگی دارد (UAX #9) | واژههای وارونه، عددهای جابهجا |
| هر نویسه یک خانه است | پهنای متغیر: «لا»، نیمفاصله، اِعراب | ناهمخوانی مکاننما و برنامه |
نُه لایه
Section titled “نُه لایه”لایههای ۳ تا ۵ بار بقیه را به دوش میکشند.
| # | لایه | «تمامشده» یعنی… |
|---|---|---|
| ۱ | رمزگذاری و یکسانسازی | ي/ك و ی/ک یکسان رفتار میشوند؛ هر سه دستگاه عدد آگاهانه مدیریت میشوند |
| ۲ | ورودی | چیدمان فارسی، نیمفاصله و کلیدهای مرده همهجا کار میکنند |
| ۳ | پهنا | برنامه و ترمینال همیشه بر سر شمار خانههای یک رشته توافق دارند |
| ۴ | شکلدهی | هر خط پیوسته در همهٔ ترمینالهای آزمونشده پیوسته نمایش داده میشود |
| ۵ | دوجهتی | خطهای دوجهته درست نمایش داده میشوند و مالک آن روشن است |
| ۶ | مکاننما، انتخاب، کپی | مکاننمای قابلپیشبینی؛ متن کپیشده به ترتیب منطقی است |
| ۷ | قلمها | قلمهای همپهنا با پوشش فارسی و ابعادی که در شبکه جا میشود |
| ۸ | مالتیپلکسرها | tmux و Zellij شکلدهی و دوجهتی را سالم عبور میدهند |
| ۹ | برنامهها و چارچوبهای TUI | Neovim، readline، zle، Ink، ratatui، ncurses و Bubble Tea متن را درست مدیریت میکنند |
چارچوب کامل در README و بحث آغازین آمده است.