درست‌نویسی

✎ نویسنده: رامین مجاب

📅 تاریخ نگارش: ۲۴ شهریور ۱۴۰۳

🕑 مدت‌زمان مطالعه: ۱ تا ۲ دقیقه


می‌دانم که کمال‌گرایی می‌تواند «آفت» باشد. همچنین، می‌دانم که «درست‌نویسی» یک تخصص است و قرار نیست تمام جنبه‌های آن را مسلط باشیم. بااین‌حال، برخی نکات مهم است و نباید از آنها غافل شویم؛ مثلاً، «پزشکی» نیز یک تخصص است، اما همهٔ ما می‌دانیم که نباید با دست کثیف غذا بخوریم. پس، با این نگاه این متن را می‌نویسم (و اگر حوصله و عمری باشد، تکمیل می‌کنم).

نیم‌فاصله

image 1

طبق تجربهٔ من، نیم‌فاصله را بیشتر از کیبورد استاندارد فارسی می‌شناسیم. سال‌ها پیش، وقتی در فصلنامه کار می‌کردم، شدیداً درگیر این دو موضوع بودم. آن‌زمان‌ها، نیم‌فاصله به آن صورت رعایت نمی‌شد. همچنین، باید کیبورد استاندارد را هم نصب می‌کردیم؛ یعنی، اگر کسی می‌خواست نیم‌فاصله را رعایت کند، ممکن بود کاراکتر اشتباهی استفاده کند. تقریباً نتیجهٔ ظاهری یکسان است، اما اگر کلید «¶» برای نشان دادن نمادهای پنهان استفاده شود، به نتیجه‌ای ختم می‌شود که در شکل بالا نشان داده‌ام. نتیجهٔ دیگر: وقتی کلمه در انتهای خط قرار می‌گیرد و این کاراکتر دارد، بعضاً خط تیره اضافه می‌شود و می‌شکند. خلاصه، کاراکتر استانداردی نیست.

فکر می‌کردم با ویندوزهای جدید، همه‌چیز حل شده است. اشتباه می‌کردم. در چند روز اخیر، برای بار چندم، متنی به من ارسال شد که از این کاراکتر در آن استفاده شده بود. روش جایگزین کردنش، صرفاً Seach and Replace نیست. ماکرو زیر را می‌توان استفاده کرد:

Sub replace_LTR_NBZWs_with_RTL_ones()

ActiveDocument.Select
With Selection.Find
.ClearFormatting
.Text = ChrW(8204)
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchKashida = False
.MatchDiacritics = False
.MatchAlefHamza = False
.MatchControl = False
.MatchByte = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
While .Execute
Selection.RtlRun
Wend
End With
End Sub

در هر حال، باید در Language Settings در ویندوز، گزینهٔ Persian (Standard) انتخاب شده باشد و سپس با کلید ترکیبی Shift + Alt، نیم‌فاصله وارد شود (تنظیمات سیستم‌های دیگر را نمی‌دانم)


«تمامی حقوق محفوظ است»