درباره افشین

متولد ۲۴ دی ۱۳۵۶ و ساکن مشهد.

شکل تزئینی و خوش‌نویسانهٔ حروف فارسی

در بسیاری از قلم‌های (فونت‌های) فارسی، حروف فقط یک شکل ندارند. گاهی طراح چند نسخهٔ جایگزین برای یک حرف می‌سازد؛ مثلاً «ک کلاسیک»، «ک مدرن»، «ک خوش‌نویسانه». این شکل‌های متفاوت در قالب بسته‌هایی به نام Stylistic Set (که معمولاً با ss01، ss02 و … مشخص می‌شوند) ارائه می‌شوند.فعال‌کردن هر Stylistic Set باعث می‌شود مجموعه‌ای از شکل‌های جایگزین به‌طور هماهنگ در متن ظاهر شوند. این کار فقط ظاهر را تغییر می‌دهد و محتوای متن دست‌نخورده باقی می‌ماند.
برای مثال در شکل‌های زیر حرف «ی»، حرف «ک» و حرف «گ» و همچنین نویسهٔ «ریال» و «تومان» به‌شکلی متفاوت از شکل رسمی و کلاسیکشان نمایش داده شدند.شکل تزئینی و خوشنویسانهٔ حروف در فونت آرادشکل تزئینی و خوشنویسانهٔ فونت آراداما چطور باید در لیبره‌آفیس از این قابلیت استفاده کرد؟

برای دسترسی به این بخش در واژه‌پرداز لیبره‌آفیس کافی است مسیر زیر را دنبال کنید:

Format→Character→Complex→Font Features

پنجرهٔ ویژگی‌های پیشرفتهٔ فونت

گزینه‌های این پنجره:

پنجرهٔ تنظیمات ویژگی‌های پیشرفتهٔ فونت

Swash:
حالت‌های تزئینی و خوش‌نویسانهٔ حروف را فعال می‌کند. اگر طراح فونت شکل‌های آراسته‌ای برای برخی حروف ساخته باشد، با فعال شدن این گزینه آن شکل‌ها جایگزین حالت معمولی می‌شوند.

Tabular Numbers:
شکل عددها را «جدولی» می‌کند. در این حالت همهٔ رقم‌ها پهنای یکسان دارند تا ستون‌های عددی در جدول‌ها کاملاً زیر هم قرار بگیرند.

Horizontal Kerning:
فاصلهٔ بین حروف را به‌صورت هوشمند تنظیم می‌کند. اگر فونت کرنینگ داشته باشد، فعال بودنِ این گزینه باعث منسجم‌تر دیده شدن متن می‌شود.

Digit Substitution: Arabic and English to Persian:
نمایش عددهای عربی-هندی و لاتین را به صورت «اعداد فارسی» درمی‌آورد. متن تغییری نمی‌کند و فقط شکل نمایش عوض می‌شود.

Swash Kaf and Gaf:
اگر فونت نسخهٔ تزئینی ویژه‌ای از حرف‌های «ک» و «گ» داشته باشد، این گزینه آن نسخه‌ها را فعال می‌کند.

Reversed Yeh:
در صورتی که فونت گلیف مخصوص «ی وارونه» داشته باشد، این گزینه آن را فعال می‌کند. اگر فونت چنین شکلی نداشته باشد، انتخابِ این گزینه تأثیری ندارد.

Rial, Toman and Derham symbols:
این گزینه استفاده از علائم پولیِ ریال، تومان و درهم را فعال می‌کند. اگر فونت نمادهای ویژه‌ای برای آن‌ها داشته باشد، فعال‌سازی این گزینه آن نمادها را جایگزین حالت معمولی می‌کند.

UI Numbers and Symbols:
بعضی فونت‌ها مجموعهٔ خاصی از عددها و نمادها را برای استفاده در رابط‌های کاربری طراحی می‌کنند. این گزینه مجموعهٔ سفارشی‌شدهٔ مخصوص رابط کاربری را فعال می‌کند.

 

جدول جایگزینی قلم (فونت)

لیبره‌آفیس سال‌هاست قابلیت مفیدی به نام Font Replacement Table (جدول جایگزینی فونت) دارد.
با این قابلیت می‌توان مشخص کرد که اگر فلان قلم در سیستم وجود نداشت، به‌جایش از قلم دیگری استفاده شود. برای مثال می‌توان تعیین کرد اگر در سندی از قلم غیرآزاد ایران‌سنس استفاده شده بود و این قلم روی سیستم نصب نبود، لیبره‌آفیس به‌جایش از یک قلم آزاد به‌عنوان جایگزین استفاده کند، قلمی که از نظر اندازه و شکل شبیه به همان قلم باشد.
اما این جدول به‌طور پیش‌فرض خالی است و باید خودِ کاربر آن را پر کند، یعنی کاربر باید خودش بداند چه فونتی شبیه کدام است و آن را دستی تنظیم کند.

حالا از طریق این افزونه (که به‌زودی با فهرستی جدید از قلم‌های آزاد به‌روزتر هم خواهد شد) می‌شود جدول پیش‌فرض و آماده‌ای (شامل بیشتر قلم‌های پرکاربردِ مایکروسافت با مجوز محدود) درست کرد که این جایگزینی‌ها را خودش انجام دهد. یعنی نیازی نیست کاربر چیزی بداند یا تنظیمی انجام دهد.

متأسفانه لیبره‌آفیس در ایران جامعهٔ فعالی ندارد، وگرنه می‌شد ما هم فهرستی از قلم‌های آزاد فارسی را در اختیار توسعه‌دهندهٔ این افزونه بگذاریم تا قلم‌های آزاد ما هم در این جدول گنجانده شود.

پاک‌نویس و گیت‌هاب

اولین نسخهٔ ماکروی پاک‌نویس را روی گیت‌هاب منتشر کردم.
در این مدت، برخی اشکالات کد قبلی را برطرف کردم و قابلیت مهم گزینش اصلاحات را هم اضافه کردم.

پنجرهٔ گزینش اصلاح‌ها

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

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

جدیدترین نسخهٔ ماکرو را که فایلی با پسوند deb است، از اینجا دریافت کنید و نصبش کنید. پس از نصب، ۳ فایل در شاخهٔ کاربر خانگی و در مسیری مانند مسیر زیر کپی می‌شوند.

/home/afshin/.config/libreoffice/4/user/Scripts/python/

این ۳ فایل چی هستند؟
یکی فایلی با نام PAKNEVIS.py که ماکروی پاک‌نویس است و تقریباً همه‌کار با اوست.
فایل بعدی فایلی با نام DocumentList.json است و بانک لغاتی است که ماکرو از آن برای تصحیح غلط‌های املایی استفاده می‌کند و آخرین فایل هم فایلی است با نام TextFixer.conf که تنظیمات پنجرهٔ «گزینش اصلاح‌ها» را در خودش ذخیره می‌کند.

حالا به مسیر زیر بروید و ماکرو را مطابق شکل زیر اجرا کنید:

Tools → Macros… → Run Macro

پنجرهٔ انتخاب ماکرو

 

ارتش اتریش و لیبره‌آفیس

بعد از سازمان‌های دولتی دانمارک، ارتش اتریش نیز ۱۶,۰۰۰ رایانهٔ شخصی خود را از مایکروسافت‌آفیس به لیبره‌آفیس منتقل کرده است. 🙂

دلایل اصلی این تغییر عبارت‌اند از:

  • تقویت حاکمیت دیجیتال
  • حفظ استقلال زیرساخت آی‌تی
  • اطمینان از اینکه داده‌ها در داخل سازمان پردازش می‌شوند.

Insignia of the Bundesheer

برنامه‌ریزی اولیه برای مهاجرت به لیبره‌آفیس در سال ۲۰۲۰ (۱۳۹۹) شکل گرفت و برنامه‌ریزی مفصل و آموزش توسعه‌دهندگان داخلی برای انجام بهبودها در سال ۲۰۲۲ (۱۴۰۱) آغاز شد. در سال ۲۰۲۳ (۱۴۰۲)، قراردادی با یک شرکت در آلمان برای ارائهٔ پشتیبانی فنی و توسعهٔ بیشتر منعقد شد.

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

پیچیدگی مصنوعی در فایل‌های مایکروسافت‌آفیس

فرمت OOXML که مایکروسافت برای فایل‌های آفیس استفاده می‌کند عمداً پیچیده طراحی شده است. این پیچیدگی هم نه به‌خاطر نیاز واقعی اسناد، بلکه برای سخت‌تر شدن سازگاری نرم‌افزارهای دیگر (از جمله لیبره‌آفیس) با این فرمت است!

لوگوی اکسل

برای مثال در XLSX (فرمتی که صفحه‌گستردهٔ اکسل از آن استفاده می‌کند) داده‌ها تکه‌تکه و پراکنده در چند فایل مختلف نگه‌داری می‌شوند. مثلاً متن‌ها در یک فایل جداگانه ذخیره می‌شوند و سلول‌ها فقط به شمارهٔ آن متن اشاره می‌کنند. حتی تاریخ‌ها هم به‌صورت عددی از یک تاریخ مرجع اشتباه (۲۹ فوریه ۱۹۰۰ که اصلاً وجود ندارد) ذخیره می‌شوند که خودش مشکل‌ساز است. در نتیجه ساختار فایلی که در ظاهر باید ساده باشد، در قالب OOXML بسیار مبهم، نامنظم و درهم است؛ یعنی کسی که بخواهد دقیقاً بفهمد چه چیزی کجاست، باید زمان و دانش نسبتاً بالایی داشته باشد.

این پیچیدگی پنهان به‌صورت زیرکانه‌ای کاربران را وابسته به نرم‌افزار مایکروسافت‌آفیس نگه می‌دارد، چون فهم و بازتولید کامل این فرمت برای نرم‌افزارهای غیرمایکروسافتی سخت است.

افزونه‌ای مانند پاک‌نویس

همیشه افسوس می‌خوردم که چرا واژه‌پرداز لیبره‌آفیس برای ویرایش‌های صوریِ متن افزونه‌ای مشابه پاک‌نویس ندارد و افسوسِ بیشتر اینکه داوطلبی هم برای پیاده‌سازی‌اش وجود نداشت. 😔

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

این شد که تصمیم گرفتم فعلاً همین اسکریپتی را که هست و درست هم کار می‌کند منتشر کنم تا ببینیم در آینده چه پیش می‌آید.

✅ این ماکرو کارهای زیر از دستش ساخته است و امیدوارم در آینده بتوانم به قابلیت‌هایش اضافه کنم:

  • نیم‌فاصله‌دار کردن افعالی که پیشوند فعلی دارند، مانند می روم به ← می‌روم یا می شود به ← می‌شود.
  • اصلاح فاصله‌گذاری آن افعال پیشوندی که از ترکیب پیشوند+مصدر فعل ساخته شده‌اند، مثلاً اصلاح فرا گرفتن به ← فراگرفتن یا باز داشتن به ← بازداشتن
  • نیم‌فاصله‌دار کلماتی که به پسوندهایی مانند تر، ترین و علامت جمع ها ختم می‌شوند، مثلاً کثیف تر/کثیفتر به ← کثیف‌تر و کتاب ها/کتابها به ← کتاب‌ها
  • نیم‌فاصله‌دار کردن کلماتی که به ضمایر ملکی ختم می‌شوند، مثلاً خانه ام به ← خانه‌ام
  • تبدیل اعداد انگلیسی و عربی به اعداد فارسی
  • تبدیل حرف ي و ك عربی به ی و ک فارسی
  • تبدیل علائم سجاوندی انگلیسی به فارسی، مثلاً تبدیل ? به ؟
  • تبدیل گیومهٔ انگلیسی به فارسی
  • حذف فاصلهٔ اضافه بعد از علائم سجاوندی
  • حذف فاصلهٔ اضافهٔ بین کلمات مستقل، مثلاً زبان    فارسی به ← زبان فارسی
  • حذف علامت پرسش و علامت تعجب تکراری و باقی گذاشتن فقط یکی از آن‌ها
  • اصلاح کسرهٔ اضافه در کلماتی مثل خانه‌ی به ← خانهٔ
  • تصحیح کلماتی که غلط املایی دارند با کمک گرفتن از بانک کلمات فارسی (نکته: مسیر این بانک را نسبت به سیستم خود اصلاح کنید).

📥 اسکریپت را می‌توانید از اینجا بردارید. بانک کلمات را هم از اینجا می‌توانید بردارید.

نسخهٔ جدید بانک کلمات غلط فارسی

نسخهٔ جدید بانک کلمات غلط فارسی

مدتی پیش نسخهٔ جدیدی از بانک کلمات غلط فارسی را در اختیار توسعه‌دهندگان لیبره‌آفیس گذاشتم.
امروز و هم‌زمان با انتشار لیبره‌آفیس ۲۵.۸.۱ کلمات اضافه‌شده هم در لیبره‌آفیس قرار گرفتند.
علاوه بر کلماتِ جدید چندین کلمه را هم که به رسم‌الخط مرتبط بودند و غلط املایی قلمداد نمی‌شدند از بانک حذف کردم.
با توجه به اصلاحاتِ صورت‌گرفته می‌شود گفت که الان این بانک در وضعیت کم‌وبیش بهینه‌ای قرار گرفته است.