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

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

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

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

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

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

حالا همهٔ این‌ها را در پوشهٔ خانگی خودتان، در مسیری مانند مسیر زیر قرار بدهید:

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

نکتهٔ مهم: مسیر فایل ماکرو و مسیر بانک لغات را در فایل PAKNEVIS.py نسبت به نام کاربری‌تان اصلاح کتید. (عکس زیر)

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

Tools → Macros… → Run Macro

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

 

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

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

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

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

Insignia of the Bundesheer

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

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

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

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

لوگوی اکسل

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

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

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

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

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

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

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

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

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

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

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

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

نیم‌فاصله‌های کاذب

نیم‌فاصلهٔ کاذب

یکی از چالش‌های متون فارسی وجود نیم‌فاصله‌های کاذب است. ظاهری شبیه به نیم‌فاصله دارند، اما در حقیقت نویسه‌های دیگری هستند.
این نویسه‌ها خصوصاً وقتی از یک سند به سند دیگری کپی می‌شوند، می‌توانند باعث نمایش نادرست متن، به‌هم‌ریختگی خطوط و مشکلاتی در جست‌وجوی محتوا شوند.

در واژه‌پرداز لیبره‌آفیس با کمک عبارت‌های باقاعده می‌شود همهٔ آن‌ها را یافت، اما استفاده از آن زحمت‌های خاص خودش را دارد. بنابراین با کمک هوش مصنوعی یک ماکروی پایتون ساختم که همان کار را بی‌دردسر و بدون خطا انجام بدهد.
این ماکرو همهٔ نیم‌فاصله‌های کاذب (که ۷ تا هستند) را پیدا و اصلاحشان می‌کند. در پایان کارش هم یک گزارش از نتیجهٔ اصلاحاتش می‌دهد.

1. Soft Hyphen (SHY) ← کد یونیکد: U+00AD
2. Not Sign ← کد یونیکد: U+00AC
3. Right-to-Left Mark (RLM) ← کد یونیکد: U+200F
4. Four-Per-Em Space ← کد یونیکد: U+2005
5. Zero Width No-Break Space (BOM, ZWNBSP) ← کد یونیکد: U+FEFF
6. Zero Width Space (ZWSP) ← کد یونیکد: U+200B
7. Zero Width Joiner (ZWJ) ← کد یونیکد: U+200D

📥 ماکرو را می‌توانید از اینجا یا اینجا دریافت کنید.

لیبره آفیس 25.8 منتشر شد

لیبره آفیس 25.8 منتشر شد

بنیاد مستندات (TDF) انتشار لیبره آفیس نسخه 25.8 با ویژگی‌های جدید و تعداد زیادی رفع اشکال را اعلام کرد. لیبره آفیس برای ویندوز (پردازنده های اینتل و آرم)، macOS (پردازنده‌های اپل سیلیکون و اینتل) و لینوکس (اینتل در قالب DEB و RPM) عرضه می‌شود که شما می‌توانید متناسب با رایانه خودتان آن را از آدرس دانلود همیشگی لیبره آفیس دریافت و نصب کنید:

https://www.libreoffice.org/download/

برای دیدن ویژگی‌های جدید لیبره آفیس 25.8 که از شماره‌گذاری جدید مبتنی بر سال و ماه میلادی استفاده می‌کند، به آدرس زیر مراجعه کنید:

https://wiki.documentfoundation.org/ReleaseNotes/25.8

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