نیمفاصله و تایپوگرافی فارسی در سایت و اپلیکیشن
نیمفاصله، ی و ک فارسی، ارقام، فونت و فاصلهی خطوط؛ نکتههای ساده و عملی تایپوگرافی فارسی که متن سایت و اپلیکیشنت را مرتب و قابل اعتماد میکند.
نوشتهٔ تیم محصولهانت · ۲۱ اردیبهشت ۱۴۰۵

متن فارسی اگر بد تایپ شده باشد، کاربر شاید نداند مشکل چیست، ولی حس میکند چیزی درست نیست. خبر خوب این است که بیشتر این مشکلها با چند قاعدهی ساده حل میشود. اینجا مهمترینهایش را مرور میکنیم.
نیمفاصله چیست
نیمفاصله یا ZWNJ یک کاراکتر نامرئی یونیکد با کد U+200C است. کارش این است که دو حرف را از هم جدا کند، بدون اینکه فاصلهی کامل بگذارد. یعنی نه «می روم» و نه «میروم»، بلکه «میروم».
در چینش استاندارد صفحهکلید فارسی معمولاً با Shift+Space تایپ میشود. اگر صفحهکلیدت این را ندارد، چینش استاندارد فارسی را نصب کن.
نیمفاصله فقط برای زیبایی نیست. «کتاب ها» با فاصلهی کامل ممکن است در شکستن خط، جستوجو و شمارش کلمهها دو کلمهی جدا حساب شود. با نیمفاصله، «کتابها» یک واحد است.
جاهایی که بیشتر اشتباه میشود
پیشوند «می» و «نمی» در فعلها: «میخواهم»، «نمیتوانم». این رایجترین خطاست و در دکمهها و پیامها زیاد دیده میشود.
پسوند جمع «ها»: «سایتها»، «محصولها». بیشتر راهنماهای نگارش نیمفاصله را توصیه میکنند. مهم این است که در کل محصولت یکسان باشد.
پسوند «تر» و «ترین»: «بزرگتر»، «جدیدترین». بعضی کلمهها مثل «بهتر» و «بیشتر» معمولاً چسبیده نوشته میشوند.
شناسهها بعد از «ه» پایانی: «خانهام»، «نوشتهای»، «رفتهاند».
کلمههای مرکب: «راهحل»، «ثبتنام»، «بهروز». اینجا سلیقهها فرق دارد. یک فهرست کوچک برای تیمت بنویس و به آن پایبند باش.
ی و ک فارسی
حرف «ی» و «ک» فارسی با «ي» و «ك» عربی کد یونیکد متفاوتی دارند، ولی ظاهرشان گاهی شبیه است. اگر کاربری با صفحهکلید عربی تایپ کند و تو نرمال نکنی، جستوجوی «کتاب» ممکن است «كتاب» را پیدا نکند.
راهحل ساده است: هر ورودی کاربر را قبل از ذخیره و قبل از جستوجو نرمال کن. «ي» (U+064A) را به «ی» (U+06CC) و «ك» (U+0643) را به «ک» (U+06A9) تبدیل کن.
ارقام فارسی
ارقام فارسی (۰ تا ۹) کدهای مخصوص خودشان را دارند و با ارقام عربی (٠ تا ٩) و انگلیسی یکی نیستند. چند قاعدهی عملی:
در متن و رابط فارسی، ارقام فارسی نشان بده. Intl.NumberFormat با locale fa-IR این کار را انجام میدهد و جداکنندهی هزارگان را هم میگذارد.
در فرمها هر سه نوع رقم را قبول کن و قبل از ذخیره به انگلیسی تبدیل کن. کاربری که شمارهی موبایلش را با ارقام فارسی وارد میکند نباید خطا ببیند.
برای شمارهی تلفن، کد تخفیف و هر چیزی که کاربر ممکن است کپی کند، فکر کن کدام نوع رقم برایش راحتتر است. گاهی ارقام انگلیسی کار را سادهتر میکند.
علامتهای نگارشی فارسی
در متن فارسی از ویرگول فارسی «،»، نقطهویرگول «؛» و علامت سؤال فارسی «؟» استفاده کن، نه نسخهی انگلیسیشان. برای نقل قول، گیومهی فارسی «» بهتر از علامت نقل قول انگلیسی است.
قبل از علامتهای نگارشی فاصله نگذار و بعدشان یک فاصله بگذار. وقتی یک کلمهی انگلیسی آخر جملهی فارسی میآید، نقطه یا علامت سؤال ممکن است جای اشتباه نمایش داده شود. عنصر را با dir="rtl" درست تنظیم کن و این حالت را روی صفحهی واقعی ببین.
کشیده را در رابط کاربری کنار بگذار
کشیده (ـ) برای کشیدن حروف در خوشنویسی و طراحی کاربرد دارد، ولی در متن رابط کاربری مشکل میسازد. جستوجو را خراب میکند، در صفحهخوانها عجیب خوانده میشود و روی اندازههای مختلف صفحه بههم میریزد. اگر در متن کاربر دیدی، هنگام نرمالسازی حذفش کن.
فونت و فاصلهی خطوط
یک فونت فارسی خوانا انتخاب کن که وزنهای مختلف داشته باشد. Vazirmatn یک فونت متنباز و رایج است که برای رابط کاربری مناسب است. فونت را خودت میزبانی کن و فقط وزنهایی را بار کن که واقعاً استفاده میکنی.
حروف فارسی نقطه و دندانهی زیادی دارند، پس معمولاً به فاصلهی خطوط (line-height) بیشتری نسبت به متن انگلیسی نیاز دارند. متن فارسی را ایتالیک نکن و به آن letter-spacing نده، چون اتصال حروف را بههم میزند. برای تأکید از وزن بیشتر یا رنگ استفاده کن.
یک چکلیست کوتاه
قبل از انتشار، متن دکمهها، پیامهای خطا و ایمیلها را یک بار دیگر بخوان. دنبال «می » با فاصله، «ها»ی جدا، «ي» و «ك» عربی، ارقام مخلوط و کشیده بگرد. اگر میتوانی، یک اسکریپت کوچک بنویس که اینها را خودکار پیدا کند. برای نوشتن خود متن هم /blog/writing-product-copy-persian-brand-voice را ببین.
سایتت آماده است؟ /submit را باز کن و رایگان ثبتش کن.