فارسی و انگلیسی، کنار هم، مثل آدم!

برای همه‌ی ما این نیاز پیش اومده که در یک جمله هم‌زمان از کاراکتر‌های لاتین و فارسی کنار هم استفاده کنیم. در این جور مواقع اگر ادیتوری که داریم توش این کار رو انجام می‌دیم به اندازه کافی باهوش نباشه، همیشه متن به هم میریزه و باعث میشه که هم نوشتنش کار سختی بشه و هم خوندنش. به عنوان مثال اگر تو جایی مثل جیرا برای کارتون تیکت ثبت کرده باشین حتمن مثل من دردآشنا هستین.

در این مقاله‌ی کوتاه می‌خوام راجع به یک روشی صحبت کنم که باهاش توی هر ادیتوری و با هر فونت و کیبورد و زبانی که می‌نویسین مشکل راست/چپ/راست رو برای خودتون قابل حل کنین.


استاندارد Unicode به کمک ما میاد

استاندارد Unicode شامل کلی کاراکتر‌های کنترلی هست که میتونه برای فرمت کردن متن استفاده بشه. یکی از پراستفاده‌ترین‌هاش برای ما فارسی زبان‌ها کاراکتر نیم‌فاصله است که در کیبورد فارسی استاندارد در ویندوز با فشردن کلید‌های shift + space به متن اضافه میشه.

یکی دیگه از همین کاراکتر‌ها، کاراکتر Right-to-Left Embedding (RLE) با کد U+202B است. استفاده از این کاراکتر باعث میشه که متن از اون‌جا به بعد به صورت راست-به-چپ در بیاد و این شرایط تا پایان خط (EOL) ادامه پیدا کنه.

چطوری و کجا از این کاراکتر استفاده کنیم؟

اگر مثل من از ویندوز استفاده می‌کنین، راحت‌ترین راه استفاده از این کاراکتر اینه:

یک notepad جدید باز کنید

یک notepad خالی :)
یک notepad خالی :)

توی اون right-click کنید و از منوی Insert Unicode control characters، گزینه‌ی RLE‌ رو انتخاب کنید.

انتخاب RLE در زیرمنوی Insert Unicode control characters
انتخاب RLE در زیرمنوی Insert Unicode control characters

در این لحظه شما می‌بینید که هیچ اتفاقی نیفتاد، ولی امیدتون رو از دست ندید. الان واقعا نوت‌پد شما خالی نیست بلکه یک کاراکتر نامرئی RLE توش وجود داره که شما میتونین با ابزارهایی که اکثر ماها برای برنامه‌نویسی و مقاله نویسی و تکلیف دانشگاه و ... ازشون روزی ۱۰۰۰ بار استفاده می‌کنیم این کاراکتر رو کپی کنید. کافیه ctrl+a و ctlr+c بزنید و اون یک کاراکتر نامرئی رو کپی کنید.

قسمت جذاب ماجرا از اینجا شروع میشه.

متنی رو که به خاطر ترکیب کاراکتر‌های انگلیسی و فارسی کاملا به هم ریخته انتخاب کنید و cursor رو اول هر خطی که می‌خواین درست نوشته بشه بذارین. (من معمولا روی خط، کلید home کیبورد رو میزنم)

متن به هم ریخته بدون کاراکتر RLE
متن به هم ریخته بدون کاراکتر RLE

حالا وقت استفاده از اون‌یکی ترکیب جادوییه: ctrl+v

خطوط دوم و چهارم متن با RLE شروع شده و سالم هستن
خطوط دوم و چهارم متن با RLE شروع شده و سالم هستن

متن شما درست شد!


ولی بقیه جاها چطور؟

من توی این مقاله از ویندوز و نوت‌پد به عوان ابزار استفاده کردم ولی شما از هر character mapای که دوست دارین میتونین برای کپی کردن RLE استفاده کنین.

کاراکتر RLE در charmap در ویندوز
کاراکتر RLE در charmap در ویندوز

همین مثال رو در Visual Studio Code هم می‌تونیم ببینیم، به شرطی که تنظیمات نشون دادن کاراکتر‌های کنترلی رو خاموش نگه داشته باشید.

در Visual Studio Code
در Visual Studio Code