تالار گفتگوی پارسی‌لاتک

زی‌پرشین XePersian => زی‌تک => نويسنده: محمود امین‌طوسی در نوامبر 14, 2011, 03:54:17 pm

عنوان: babel و زی‌پرشین
رسال شده توسط: محمود امین‌طوسی در نوامبر 14, 2011, 03:54:17 pm
از آقای کارن‌پهلو پرسیده بودم:
 بسته babel چه امکاناتی برای زبانهای مختلف دارد؟ نمی‌شود برای فارسی از آن استفاده کرد یا این امکان وجود نداشت که زی‌پرشین هم جزوی از آن باشد؟
و ایشان جواب داده بودند:
نقل قول از: وفا کارن‌پهلو
سبک babel امکانات مختلفی را برای زبانهای مختلف فراهم می‌کند برای نمونه اصول حروف‌چینی در زبان فرانسه در آن رعایت می‌شود. اما امکانات این سبک برای زبان فارسی در حد صفر است. چند مشکل جدی وجود دارد:

۱) حروف‌چینی دوجهته در سبک babel توسط پرونده rlbabel.def انجام می‌شود (بگذریم از اینکه این پرونده بوسیله اسرائیلی‌ها نوشته شده است) که حروف‌چینی دوجهته در آن بسیار ضعیف و پر از باگ است برای نمونه امکان حروف‌چینی راست به چپ جداول نیست، از هیچ سبکی پشتیبانی نمی‌کند. اعداد در آن راست به چپ هستند که برای این که اعداد چپ به راست نوشته شوند باید ماکرونویسی کرد که خود این کار آثار جانبی زیادی دارد (برای نمونه اگر بخاطر داشته باشید در اوایل شما به من گفتید که وقتی از سبک زی‌پرشین استفاده می‌کنید شماره خط‌ها در الگوریتم چاپ نمی‌شود). یکی از باگ‌هایش هم این است که مثلاً اگر بخواهید متنی را دوجهته بنویسید حاشیه‌هاي چپ و راست نادرست می‌شود یا ترتیب فهرست مطالب اشتباهست (این باگ در فارسی‌تک و اوایل در زی‌پرشین هم وجود داشت که من بعداً آن را درست کردم). البته الان خود کاربران اسرائیلی از سبک bidi به جای babel برای حروف‌چینی عبری استفاده می‌کنند.

۲) babel توسط گروه لاتک نگهداری می‌شود و اگر می‌خواستیم چیزی بر اساس babel برای حروف‌چینی فارسی بنویسیم، کار ما همیشه به babel بستگی داشت و باید منتظر می‌ؤدیم تا آنها تغییر را بدهند تا سبک ما درست کار کند در عوض من آمدم و کلاً یک سبکی را نوشتم که کمترین وابستگی را به سبک‌های دیگر داشته باشد.

۳) در babel شما نمی‌توانید از قلم‌های truetype و opentype با استفاده از موتور PDFTeX استفاده کنید زیرا موتور PDFTeX فاقد این تکنولوژی است.

۴) در babel رمزینه واقعی یونیکد نیست بلکه ۸ بیتی است و تنها توسط ماکروهای تک از ۸ بیتی به یونیکد و برعکس تبدیل می‌شوند که مناسب زبان فارسی نیست.

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

۶) به هنگام استفاده از اعراب باید نویسه های اضافی در متن قرار دهیم.

۷) شیوه چسباندن حروف و نویسه ها باگ دارد.

۸) شماره گذاری جدولها و تصویرها هنگامی که عنوان آنها از یک خط بیشتر باشد به هم میریزد.

۹) شیوه شماره گذاری پانوشت مناسب نیست.

۱۰) شیوه شماره گذاری یک لیست شمارشی مناسب نیست.

۱۱) قلمهای خوابیده و ایتالیک وجود ندارد.

۱۲) تعداد قلمها کم است.

۱۳) قراردهی پانوشت متناسب فارسی یا انگلیسی بودن متن پانوشت نیست. همچنین خط جدا کننده پانوشتها از متن نیز متناسب اولین پانوشت تنظیم نمیشود.

۱۴) امکان نمایه گذاری وجود ندارد.

۱۵) شماره فرمول‌ها برعکس چاپ می‌شود.
.....
(تعدادی از این مطالب از نوشته‌های آقای واحدی از وبلاگ فارسی‌لاتک برداشته شده است)
عنوان: پاسخ : babel و زی‌پرشین
رسال شده توسط: حسن ذاکری در نوامبر 14, 2011, 04:16:54 pm
سلام

ممنون از اطلاعات کاملی که در اختیار ما گذاشتید.

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

برای امکانات حروفچینی دوجهته فکر می‌کنم بسته polyglossia قرار بود از بسته bidi استفاده کند، که اگر انجام شده باشد قاعدتاً مشکلات babel نباید در polyglossia وجود داشته باشد.

با همه این حال، فکر نکنم هنوز مناسب استفاده برای حروفچینی فارسی باشد.
عنوان: پاسخ : babel و زی‌پرشین
رسال شده توسط: vafa در نوامبر 14, 2011, 04:39:09 pm
سلام

ممنون از اطلاعات کاملی که در اختیار ما گذاشتید.

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

برای امکانات حروفچینی دوجهته فکر می‌کنم بسته polyglossia قرار بود از بسته bidi استفاده کند، که اگر انجام شده باشد قاعدتاً مشکلات babel نباید در polyglossia وجود داشته باشد.

با همه این حال، فکر نکنم هنوز مناسب استفاده برای حروفچینی فارسی باشد.
polyglossia از همان اول برای حروف‌چینی متون دوجهته از سبک bidi استفاده می‌کرد. polyglossia هم مشکلات خودش را دارد مانند:

۱) با اینکه از سبک bidi استفاده می‌کند اما فقط به پشتیبانی ابتدایی راست به چپ قناعت کرده و از امکانات پیشرفته‌ای که سبک bidi در اختیارش قرار می‌دهد استفاده‌ای نمی‌کند و چندین باگ وجود دارد.

۲) به این خاطر که polyglossia از ۵۷ زبان پشتیبانی می‌کند و هر زبان قلم مخصوص خودش را دارد، سیستم طراحی قلم polyglossia باگهای فراوانی دارد. برای یک نمونه شماره فرمول در محیط انگلیسی به جای اینکه لاتین باشد، پارسی است.

۳) پشتیبانی آن از زبان پارسی بسیار ابتدایی است برای نمونه در فرمول‌ها نمی‌توانید اعداد را بصورت پارسی حروف‌چینی کنید، کشیدگی ندارد، بومی‌سازی ندارد، شمارنده‌های مناسب برای زبان پارسی نداردو ...

۴) ...