• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

پروژهٔ تولید قلم‌های آزاد

نویسنده مهدی امیدعلی, مارس 18, 2012, 08:55:21 قبل از ظهر

« قبلی - بعدی »

مهدی نیاکان ‍پاک

نقل قول از: مهدی امیدعلی در مارس 18, 2012, 08:55:21 قبل از ظهر
در نظر دارم که پروژه‌ای برای تولید قلم‌های آزاد و مناسب حروف‌چینی فارسی ایجاد کنیم که دارای چسبیدگی (kerning) مناسب باشند و مناسب حروف‌چینی کتاب و پایان‌نامه باشند (و یا حتی بیشتر). در این راستا نیاز به یاری همهٔ کسانی داریم که توانایی طراحی حروف و برنامه‌نویسی و آزمایش قلم‌ها دارند. ویژگی‌های کلی این پروژه به این ترتیب است:
۱- قلم‌ها با استفاده از نرم‌افزار fontforge در نهایت ساخته خواهند شد. تنها نیاز است که مشخصات رسم حروف را به نرم‌افزار ارائه دهیم تا نرم‌افزار قلم را برای ما ایجاد کند.
۲- طراحی حروف با استفاده از fontforge یا inkscape و یا هر نرم‌افزار مجهز به طراحی برداری انجام خواهد شد.
۳- برنامه‌نویسی به زبان پایتون انجام خواهد شد برای تعریف چسبیدگی بین حروف و دیگر موارد. سطح برنامه‌نویسی ابتدایی است و نیازی به کارهای پیچیده نیست.
۴- در این پروژه عمده کار ما براساس استفاده از قدرت محاسباتی کامپیوتر خواهد بود نه صرفا طراحی. بنابراین برنامه‌نویسی بسیار مهم است، هرچند که کار قابل تقسیم است.
منبع کار ما قلم‌های لینوتایپ خواهند بود که نسبت به قلم‌های فارسی موجود، حرفه‌ای‌تر می‌باشند.
در این پروژه، از همدیگر یاد خواهیم گرفت و نیازی نیست که  از قبل اطلاعات خاصی داشته باشید. ولی لازم است که توانایی کار با نرم‌افزارهای کامپیوتری داشته باشید و یا  استعداد هنری برای طراحی حروف داشته باشید و یا علاقه فراوان داشته باشید که تاریخچهٔ قلم‌های فارسی را مطالعه کنید و با آزمایش و خطا بتوانید مسیر خود را در این راه پیدا کنید.
ملزومات:
۱- نصب نرم‌افزار fontforge بسیار کارگشاست. (نسخه‌ای قابل نصب در ویندوز از این نرم‌افزار موجود است، هر چند توصیه می‌کنم که به دنیای زیبای لینوکس بیایید. به کسانی که عادت به ویندوز دارند توصیه می‌کنم که لینوکس مینت (Linux Mint) را نصب کنند.)
از دوستانی که مایل به یاری هستند خواهش می‌کنم در همین پست، اعلام آمادگی کنند و نظرات خود را بیان کنند تا به نتیجهٔ مناسب برسیم.
از دوستانی که قصد یاری ندارند خواهش می‌کنم که این پست را پاک نگه دارند تا بررسی آن برای دوستان دیگر راحت باشند.
آقای امیدعلی سلام. از دید من نویسه‌های الف‌بایی قلم‌ فروردین TEX-پارسی داده‌کاوی بسیار زیبای‌اند، اگر چه کمی بیش از اندکی قدیمی‌اند. من بسیار علاقه‌مندم که گونه‌ی ttf آن ساخته شود، عیب‌های نویسه‌های الف‌بایی مرتفع گردد و نویسه‌های ناالفبایی‌ای همانند نویسه‌های ناالف‌بایی بسیار زیبای قلم پیش‌فرض تک (ساخته‌ی دانلد ناث) برای‌اش طرّاحی شود (گمان کنم دوستان زیادی هم‌باور من باشند). در یک پست این خواسته‌ی خود را بیان کردم. در آن جا آقای کارن‌پهلو پیش‌نهاد دادند که اگر کسانی خواهان اجرای این کارند می‌توانند تعهّد هزینه‌ای دهند. من چیزی پی نبردم. چه گونه می‌توانم این کار را به جریان بی‌اندازم. بایسته است بگویم دانش من در باره‌ی برنامه‌نویسی، لینوکس و کار با برنامه‌های طرّاحی‌ای که نام برده می‌شود صفر است.

مهدی امیدعلی

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

مهدی نیاکان ‍پاک

#17
نقل قول از: مهدی امیدعلی در می 06, 2012, 12:02:12 بعد از ظهر
در مورد قلمی که گفتید و پروانهٔ آن چیزی نمی‌دانم.
قلم‌هایی که ساخته خواهد شد از دید پروانهٔ پخش ایرادی نخواهد داشت. خوشبختانه نیازی به دانستن زبان برنامه‌نویسی غیر از متافونت نیست. همچنین نیاز داریم که دوستانی که به کارهای گرافیکی خبره هستند کمک کرده و نویسه‌ها را درست کنند (به گونهٔ خودکاری) و سپس با دگرگونی نویسه‌ها به کد، همه کارها به سادگی انجام می‌شود.
این قلم، قلم پیش‌فرض تک‌پارسی است که شرکت نرم‌افزاری داده‌کاوی ایران با سرمایه‌گذاری انتشارات فاطمی آن را (با سرپرستی آقای احمد یزدی‌پور) با زبان متافونت  [البته گمان کنم] نوشته است. این نرم‌افزار پس از خرید کد منبع آن توسط شورای عالی اطلاع رسانی آزاد شده است و با احتمال فراوان باید قلم آن هم آزاد باشد. بیش از این دیگر چیزی نمی‌دانم.
بدبختانه من همین زبان برنامه نویسی را نیز نمی‌دانم و در ضمن با کامپیوتر نیز کارهای گرافیک، کد نویسی و ...  نکرده‌ام و مقصودتان از با گونه‌ی خودکاری، دگرگونی نویسه‌ها و سادگی کارها  را نیز نفهمیدم.
در پایان باید بیفزایم که همه‌ی کتاب‌های انتشارات فاطمی و کتاب‌های ریاضی، فیزیک و شیمی انتشارات ستاد انقلاب فرهنگی با این قلم منتشر می‌شوند و برای دیدن این قلم می‌توان  کتاب‌های انتشاریافته از سوی این دو مرکز انتشاراتی را دید.

وحید دامن‌افشان

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


http://www.high-logic.com/font-editor/fontcreator.html

مهدی نیاکان ‍پاک

با سلام. چه جوری؟ آشنایی من با برنامه‌های رایانه‌ای جز تک در حد یک کاربر معمولی است برای رفع نیازهای متداول.

سروش

سلام

به‌نظر من ایدهٔ خیلی خوبی هست. فکر می‌کنم من می‌تونم در این مورد کمک کنم. مدت چند سال هست که به‌طور حرفه‌ای قلم‌های عربی می‌سازم. نمونه‌هایی از قلم‌هایی که ساختم نیلوفر بهینه و فارسی‌نوین هستن. این قلم‌ها تمام زبان‌های خاورمیانه رو پشتیبانی می‌کنن (محدودهٔ استاندارد یونیکد 0600-06FF و  0750-077F). از تکنولوژی کرنیک هوشمند استفاده می‌کنن و جدول کرنینگ‌شون بالای پنج‌هزار سطر داره.

نمونهٔ pdf قلم نیلوفر و تصویری از جدول کرنینگ اون رو می‌تونید مشاهده کنید:
http://typophile.com/files/Samples.pdf
http://typophile.com/files/Kerning.jpg

البته پروژهٔ قلم‌های متن‌باز به همین‌صورتی که شما مدنظر دارید رو سال قبل استارت زدم اما نتونستم روش کار کنم و معلق موند. فکر می‌کنم این پروژه فرصت خوبی باشه که بتونم روی قلم‌های فارسی کار کنم.

تجربهٔ کار با FontLab Studio , FontForge, Font Creator و کمی هم MetaFONT رو دارم. همچنین با Adobe Font Development Kit و Microsoft Visual OpenType کار کردم.

در صورتی که تمایل داشته باشید، بعد از هفتم تیرماه با من از طریق ایمیلم تماس بگیرید تا هماهنگ کنیم.

حسن ذاکری

نقل قول از: سروش در جون 22, 2012, 08:08:33 بعد از ظهر
به‌نظر من ایدهٔ خیلی خوبی هست. فکر می‌کنم من می‌تونم در این مورد کمک کنم. مدت چند سال هست که به‌طور حرفه‌ای قلم‌های عربی می‌سازم. نمونه‌هایی از قلم‌هایی که ساختم نیلوفر بهینه و فارسی‌نوین هستن. این قلم‌ها تمام زبان‌های خاورمیانه رو پشتیبانی می‌کنن (محدودهٔ استاندارد یونیکد 0600-06FF و  0750-077F). از تکنولوژی کرنیک هوشمند استفاده می‌کنن و جدول کرنینگ‌شون بالای پنج‌هزار سطر داره.

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

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

سروش

نقل قول از: حسن ذاکری در جون 23, 2012, 12:52:37 قبل از ظهر
این قلم فارسی‌نوین چی‌ هست؟ نمونه اون رو می‌شه بذارید؟

پروژهٔ فارسی‌نوین تلاشی بود برای تبدیل Persian Modern به فرمت استاندارد OTF و البته ناقص موند و در مورد اجازه‌نامه هم تا حالا هیچ اقدامی انجام نشده. به همین دلیل من نمی‌تونم فونت رو منتشر کنم. فکر کنم اجازه دارم نمونه‌هایی از استفاده‌ش رو منتشر کنم (مثل همین PDF بالایی) اما مطمئن نیستم! اگر اجازه داشته باشم یک PDF می‌سازم و همین‌جا پست می‌کنم.

این قلم به‌طور کلی شبیه همون قلم Persian Modern هست. جز این که جهت منحنی‌ها ساعتگرد شده و از BSpline تبدیل شدن به معادلات بیزیهٔ درجه چهار. همچنین شکل‌ها بهینه شدن و پشتیبانی از چند زبان دیگه هم اضافه شده.

vafa

نقل قول از: سروش در جون 23, 2012, 01:41:27 قبل از ظهر
پروژهٔ فارسی‌نوین تلاشی بود برای تبدیل Persian Modern به فرمت استاندارد OTF و البته ناقص موند و در مورد اجازه‌نامه هم تا حالا هیچ اقدامی انجام نشده. به همین دلیل من نمی‌تونم فونت رو منتشر کنم. فکر کنم اجازه دارم نمونه‌هایی از استفاده‌ش رو منتشر کنم (مثل همین PDF بالایی) اما مطمئن نیستم! اگر اجازه داشته باشم یک PDF می‌سازم و همین‌جا پست می‌کنم.

این قلم به‌طور کلی شبیه همون قلم Persian Modern هست. جز این که جهت منحنی‌ها ساعتگرد شده و از BSpline تبدیل شدن به معادلات بیزیهٔ درجه چهار. همچنین شکل‌ها بهینه شدن و پشتیبانی از چند زبان دیگه هم اضافه شده.
تا جایی که می‌دانم TTF (فرمت فعلی قلم‌های Persian Modern) یک فرمت استاندارد هست و نیازی به تبدیل به OTF نیست. هرچند اگر تغییرات شما به اندازه کافی خوب باشند، می‌توانید آنها را برای من بفرستید و من با کمال میل آنها را به قلم‌های اصلی Persian Modern اضافه می‌کنم.

سروش

نقل قول از: وفا کارن‌پهلو در جون 23, 2012, 06:37:42 قبل از ظهر
تا جایی که می‌دانم TTF (فرمت فعلی قلم‌های Persian Modern) یک فرمت استاندارد هست و نیازی به تبدیل به OTF نیست. هرچند اگر تغییرات شما به اندازه کافی خوب باشند، می‌توانید آنها را برای من بفرستید و من با کمال میل آنها را به قلم‌های اصلی Persian Modern اضافه می‌کنم.

درست می‌فرمایید. در این مورد یک سوءتفاهم رایج وجود داره. فرمت فونت‌ها همچنان TTF هست اما استانداردی به اسم TTF نداریم. خود فرمت TTF از جدول‌های جانشینی OTF استفاده می‌کنه. با این وجود فرمت نهایی .ttf هست و جهت منحنی‌ها برعکس .otf (ساعتگرد) هست.

فونت‌هایی که الان دارم، فرمت .ttf هستن با جهت‌های معکوس TTF (یعنی پادساعتگرد) همچنین جدول‌های جانشانی OpenType رو ندارن. این جدول‌ها رو اضافه کردم. اعراب‌گذاری و کرنینگ هنوز ناقص هست.

دهم تیرماه فایل سورس فونت‌فورژ رو برای شما ارسال می‌کنم.

حسن ذاکری

نقل قول از: سروش در جون 23, 2012, 01:41:27 قبل از ظهر
این قلم به‌طور کلی شبیه همون قلم Persian Modern هست. جز این که جهت منحنی‌ها ساعتگرد شده و از BSpline تبدیل شدن به معادلات بیزیهٔ درجه چهار. همچنین شکل‌ها بهینه شدن و پشتیبانی از چند زبان دیگه هم اضافه شده.

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

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

سروش

نقل قول از: حسن ذاکری در جون 23, 2012, 02:28:28 بعد از ظهر
سلام
اگر منحنی بزیر را از فونت اصلی ساخته باشید، احتمالاً تمام گلیف‌ها یک بازنگری اساسی نیاز داشته باشند، چون صرف افزایش درجه منحنی، به معنی استفاده از تمام درجه آزادی منحنی بزیر نیست.
آیا این بازنگری را نیز انجام داده‌اید؟ اگر بله، گزارشی از گلیف‌های مورد تغییر را هم در دسترس دارید؟
متشکر

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

در حال حاضر اگر درست تخمین زده باشم تقریباً ۱۰٪ از گلیف‌ها بهینه شدن.

این قلم مشکلات جدی‌تر از بهینه‌سازی داره. این مشکلات این‌ها هستن:

* جدول‌های OT در قلم اصلی درست کار نمی‌کنند. دلیل‌ش استفاده از کدهای 0FEXX در محدودهٔ Arabic Representation Forms A و B هست. این کار نباید انجام بشه. اگر انجام شد نباید Lookup Table وجود داشته باشه. اگر هردو مورد انجام بشه، سیستم Lookup Table ها رو نادیده می‌گیره. همون‌طور که در مورد این قلم نادیده می‌گیره و جانشینی‌های اول و وسط و آخر خارج از XePersian در محیط‌هایی مثل OpenOffice و یا Word درست کار نمی‌کنند.
* برای این که جانشانی‌ها درست کار کنه، باید اسامی گلیف‌ها اصلاح بشه.
* بهتره به‌جای کپی کردن اشکال از ارجاع به شکل‌ها استفاده بشه. مثلا برای حرف ب و ت و ث میشه از شکل ٮ استفاده کرد. همچنین نقطه‌ها و علائم نشانه‌گذاری تکراری باید با ارجاع مشخص بشه. این‌طوری حجم قلم خیلی پایین میاد، رندر کردن سریع‌تر میشه و زمان کامپایل سند زی‌پرشین کمی پایین میاد.
* برای اعراب‌گذاری باید از یک سیستم mark class استفاده بشه نه این که برای هر نشانه فاصلهٔ زیادی از سطر مبنا در نظر گرفته بشه. این‌طوری اعراب‌ها جای خودشون سوار میشن.
* من شخصاً اعتقاد دارم قلمی که ساخته میشه باید یک قلم همگانی برای اسکریپت عربی باشه. یعنی تمام زبان‌ها رو پشتیبانی کنه نه صرفاً فارسی. البته این نظر منه ممکنه صلاح نباشه.

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

سروش

#27
نقل قول از: وفا کارن‌پهلو در آپریل 06, 2012, 09:18:09 قبل از ظهر
مشکل از Persian Modern نیست. قلم Persian Modern دارای تگ زبان FAR و اسکریپت arab است. مشکل از Microsoft Word است که قابلیت نمایش قلم با تگ FAR را ندارد.

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

این تگ رو اضافه کردم و در Libre Office و بقیهٔ محیط‌ها مشکلی نداره:

vafa

نقل قول از: سروش در جون 23, 2012, 04:56:20 بعد از ظهر
الگوریتم کار به این شکل هست که اول منحنی تبدیل به بیزیهٔ درجه چهار می‌شود، بعد منحنی‌های به‌دست آمده توسط الگوریتم خاصی بهینه می‌شوند. این بهینه‌سازی با حذف بعضی از نقاط و تغییرمکان نقاط کنترلی، منحنی معادل منحنی قبلی به‌دست می‌دهد که به میزان فاکتور s شبیه منحنی قبلی است. میزان حذف‌ها (شدت بهینه‌سازی) توسط پارامتر o تعیین می‌شود. یک داد و ستد بین s و o وجود دارد. با پایین گرفتن o می‌توان تنها نقاط اضافی را حذف کرد و منحنی‌ای به‌دست آورد که بسیار شبیه منحنی قبلی است.

در حال حاضر اگر درست تخمین زده باشم تقریباً ۱۰٪ از گلیف‌ها بهینه شدن.

این قلم مشکلات جدی‌تر از بهینه‌سازی داره. این مشکلات این‌ها هستن:

* جدول‌های OT در قلم اصلی درست کار نمی‌کنند. دلیل‌ش استفاده از کدهای 0FEXX در محدودهٔ Arabic Representation Forms A و B هست. این کار نباید انجام بشه. اگر انجام شد نباید Lookup Table وجود داشته باشه. اگر هردو مورد انجام بشه، سیستم Lookup Table ها رو نادیده می‌گیره. همون‌طور که در مورد این قلم نادیده می‌گیره و جانشینی‌های اول و وسط و آخر خارج از XePersian در محیط‌هایی مثل OpenOffice و یا Word درست کار نمی‌کنند.
* برای این که جانشانی‌ها درست کار کنه، باید اسامی گلیف‌ها اصلاح بشه.
* بهتره به‌جای کپی کردن اشکال از ارجاع به شکل‌ها استفاده بشه. مثلا برای حرف ب و ت و ث میشه از شکل ٮ استفاده کرد. همچنین نقطه‌ها و علائم نشانه‌گذاری تکراری باید با ارجاع مشخص بشه. این‌طوری حجم قلم خیلی پایین میاد، رندر کردن سریع‌تر میشه و زمان کامپایل سند زی‌پرشین کمی پایین میاد.
* برای اعراب‌گذاری باید از یک سیستم mark class استفاده بشه نه این که برای هر نشانه فاصلهٔ زیادی از سطر مبنا در نظر گرفته بشه. این‌طوری اعراب‌ها جای خودشون سوار میشن.
* من شخصاً اعتقاد دارم قلمی که ساخته میشه باید یک قلم همگانی برای اسکریپت عربی باشه. یعنی تمام زبان‌ها رو پشتیبانی کنه نه صرفاً فارسی. البته این نظر منه ممکنه صلاح نباشه.

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

vafa

نقل قول از: سروش در جون 23, 2012, 05:47:51 بعد از ظهر
فکر نمی‌کنم این‌طور باشه! جسارتاً طراحی این قلم ایراد داره. نمیشه انتظار داشت تنها با یک تگ زبان در اسکریپت عربی بشه قلم رو رندر کرد. حتماً باید زبان DFLT هم باشه. بدون زبان DFLT هر چقدر هم زبان‌های دیگه اضافه کنید کار نخواهد کرد. البته این حقیقت که تگ زبان فارسی توسط MS Word تشخیص داده نمیشه همچنان درست هست.

این تگ رو اضافه کردم و در Libre Office و بقیهٔ محیط‌ها مشکلی نداره:

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