سند فارسی و قفل شدن لیبره‌آفیس

ظاهراً و بر اساس این گزارش در نسخهٔ در حال توسعهٔ لیبره‌آفیس (۲۵.۸) اگر سندی فارسی باشد و قالب (فرمت) فایل هم DOC باشد، لیبره‌آفیس در زمان باز کردن سند قفل می‌کند و عملاً نمی‌شود از آن استفاده کرد.

مشکل کوچکی نیست، اما خوشبختانه برطرف شده و در نسخهٔ ۲۶.۲ لیبره‌آفیس وجود نخواهد داشت.

دردسرهای تراز

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

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

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

این مشکل در اینجا گزارش شده است و امیدواریم تا پیش از انتشار نسخهٔ پایدار بعدی برطرف بشود.

دانمارک و لیبره‌آفیس

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

بر اساس این تصمیم نزدیک به نیمی از کارمندان وزارت امور دیجیتال دانمارک، سیستم‌عامل خود را از ویندوز به لینوکس و مجموعه‌نرم‌افزاری اداری خود را از آفیس ۳۶۵ به لیبره‌آفیس تغییر خواهند داد.

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

حل شدن مشکل هم‌پوشانی حروف فارسی

لیبره‌آفیس ۲۵.۲.۴ امروز منتشر شد. آنچه در این نسخه برای ما به‌عنوان یک کاربر فارسی‌زبان اهمیت دارد حل شدن مشکل (باگ) هم‌پوشانی حروف فارسی در جعبه‌های متنی است.

مشکل این بود که حروف فارسی وقتی در یک جعبهٔ متنی (Text Box) به صورت تراز شده (Justified) قرار می‌گیرند، به‌شکل نادرستی به هم می‌چسبند و هم‌پوشانی (Overlap) بیش از حدی پیدا می‌کنند. این هم‌پوشانی باعث می‌شود که متن به‌هم‌ریخته و دارای اشکالات بصری زیادی به نظر برسد.

گلیف کشیده

هم‌پوشانی حروف

یکی از توسعه‌دهندگان (Jonathan Clark) با بررسی مشکل به این نتیجه رسیده است که این هم‌پوشانی به‌دلیل قرارگیری نادرست گلیف‌های کشیده (Kashida Glyphs) اتفاق می‌افتد.
کشیده نوعی اتصال افقی در حروف فارسی و عربی است که برای تراز کردن خطوط استفاده می‌شود و کارکرد آن پر کردن فضای خالی بین کلمات یا حروف در یک سطر، بدون اضافه کردن فضای سفید (White-space) زیاد است. به‌بیانی دیگر به جای اینکه فاصلهٔ بین کلمات زیاد شود، حروف به‌طور خودکار کشیده می‌شوند.

فونت‌های اضافی!

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

برای همین یکی از کاربران در سال ۲۰۱۵ میلادی (۱۳۹۳ شمسی) در اینجا پیشنهادی داد:
«امکانی بگذارید که بشود بعضی فونت‌ها را از این فهرست پنهان کرد، بدون اینکه لازم باشد آن‌ها را از روی سیستم پاک کنیم.»

اگر این امکان اضافه شود:

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

همان کاربر پیشنهاد داده که:

  • جایی در تنظیمات برنامه گذاشته شود (مثلاً در مسیر: ابزارها ← تنظیمات ← فونت‌ها) که بتوان مشخص کرد کدام فونت‌ها نمایش داده شوند و کدام‌ها نه.
  • به‌جای نشان دادن تک‌تک فونت‌ها، فقط نام خانواده‌های فونت (مثلاً Nazanin) را نشان بدهد، نه همهٔ حالت‌های نازک و ضخیم آن جداجدا.

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

کند باز شدن فایل‌های حجیم مایکروسافت‌ورد

گزارش باگ شماره ۶۴۹۹۱ به یک مشکل قدیمی و ادامه‌دار در واژه‌پرداز لیبره‌آفیس اشاره دارد: کند باز شدن و عدم پاسخ‌گویی برنامه در زمان کار با فایل‌های DOC (فرمت قدیمی مایکروسافت‌ورد) که حجم بالایی دارند و حاوی متن راست به چپ (RTL) هستند.

این مسئله ابتدا در سال ۲۰۱۳ (۱۳۹۲ جلالی) گزارش شد و نشان می‌داد که باز کردن یک فایل DOC خاص با محتوای فارسی یا عربی، چندین دقیقه زمان می‌برد. جالب اینجاست که اگر همان فایل در مایکروسافت‌ورد به فرمت جدیدتر DOCX ذخیره می‌شد، مشکل حل و فایل به‌سرعت باز می‌شد. این موضوع به احتمال زیاد به نحوهٔ پردازش فایل‌های DOC قدیمی توسط لیبره‌آفیس برای محتوای RTL مربوط می‌شود.

با گذشت زمان و انتشار نسخه‌های جدیدتر لیبره‌آفیس، کاربران از سیستم‌عامل‌های مختلف همچنان این مشکل را تأیید کرده‌اند. تیم توسعهٔ لیبره‌آفیس تلاش‌هایی برای رفع این باگ انجام داده و وصله‌هایی را نیز برای بهبود وضعیت ارائه کرده‌اند. با این حال بر اساس آخرین به‌روزرسانی‌ها در سال ۲۰۲۳ (۱۴۰۲ جلالی)، هرچند زمان باز شدن فایل‌ها کمی بهبود یافته است، اما واژه‌پرداز لیبره‌آفیس همچنان پس از بارگذاری سند، برای مدتی بدون پاسخ باقی می‌ماند که این موضوع پیمایش و ویرایش متن را برای کاربر بسیار دشوار می‌کند.
در مجموع این باگ نشان می‌دهد که پردازش فایل‌های DOC حجیم با محتوای راست به چپ همچنان یک چالش برای واژه‌پرداز لیبره‌آفیس است و نیاز به بهینه‌سازی‌های بیشتری دارد تا تجربهٔ کاربری روان‌تری را برای کاربران زبان‌هایی مثل فارسی فراهم کند.

چرا استفاده از رقم‌های نمایشی فارسی در صفحه کلید مشکل‌آفرین است؟

اگر شما از سیستم عامل لینوکس یا نسخه‌های جدید ویندوز استفاده می‌کنید، احتمالاً با این موضوع مواجه شده‌اید که نوشتن عددها با صفحه کلید به دو شکل انجام می‌گیرد:

1. زمانی که صفحه کلید انگلیسی است، و با نوشتن رقم‌ها، 0..9 را روی صفحه می‌بینید.

2. زمانی که صفحه کلید فارسی است، و با نوشتن رقم‌ها، ۰..۹ را روی صفحه می‌بینید.

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

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

این مسیر دوم نیازمند اصلاح نرم‌افزار برای افزودن قابلیت نمایش ارقام فارسی است. این قابلیت مدت‌ها پیش به اپن‌آفیس (نسل قبلی لیبره‌آفیس) افزوده شده و این قابلیت در لیبره‌آفیس از ابتدا موجود بوده است. آفیس مایکروسافت از همین روش برای نمایش ارقام فارسی استفاده می‌کند.

مقایسه دو رویکرد متفاوت

در ادامه، خوبی‌ها و بدی‌ها/چالش‌های این دو مسیر را با هم مقایسه می‌کنم:

استفاده از رقم‌های محلی در صفحه کلید:

خوبی‌ها: نیاز به پشتیبانی محدود در نرم‌افزار نمایش‌گر متن

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

نمایش رقم‌های محلی متناسب با زمینه:

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

چالش‌ها: لزوم پیاده‌سازی در نرم‌افزار نمایش‌گر متن

نتیجه‌گیری

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