سازندگان فونت فارسی از چه نرمافزارهایی استفاده میکنند؟
کارگاههای آموزش طراحی تایپ چند سالی میشه که راه افتادن و نتایج نسبتاً قابل قبولی داشتن اما اکثر بچههایی که دوره رو به اتمام میبرن توی ساخت نرمافزاری تایپی که طراحی کردن به مشکل برخورد میکنن. بیشتر مهارت نرمافزاری که یک سازنده فونت باید داشته باشه توی این دورهها آموزش داده نمیشه.
این شد که چند وقت پیش توئیتی گزاشتم و از طراحان تایپ و سازندگان فونت فارسی خواستم لیستی خلاصه از نرمافزارها و ابزارهای مورد استفادشون رو در جواب بهم بگن:
لیست خوبی شد و میتونه به خیلیا کمک کنه. من توی این پست نرمافزارهایی که در پاسخ به توئیت ازشون اسم برده شده بعلاوه ابزارهای جانبی و کارراه انداز مرتبط با اونا رو به همراه مختصر توضیحاتی معرفی میکنم.
توجه: این مقاله ممکنه به مرور زمان بروزرسانی بشه، اگر پیشنهادی برای اصلاح یا بروزرسانی دارین لطفا از طریق بخش نظرات(پایین همین صفحه) بفرستین.
نرمافزارهای اصلی طراحی و ساخت فونت:
Glyphs
یکی از نرمافرارهای حرفهای ساخت فونت مختص سیستم عامل میکینتاش که اگه بهترین نباشه حتما جزو بهترینهاست. رابط کاربری سادهای داره و اگه با ایلوستریتور کار میکنید گزینۀ مناسبیه چون تقریبا همون کلیدهای ترکیبی رو برای انجام کارهای طراحی داره. جامعه کاربری خوب، بروزرسانیهای متعدد و ارائه یه نسخۀ رایگان برای تست از جمله مزایای دیگه این نرمافزار هست.
Robofont
یکی از رقبای اصلی Glyphs بازهم مختص سیستم عامل میکینتاش، با رابط کاربری ساده و مینیمال که چیزهای اضافی رو بیرون ریخته تا یادگیری و استفادش رو سادهتر کنه. روبوفونت با زبان برنامه نویسی پایتون نوشته شده و به هر کسی که علاقمند باشه اجازه میده اکستنشن دلخواهش رو بنویسه و داخل برنامه ازش استفاده کنه. علاوه بر این مدعیه که کاملا بر پایه استانداردهای فرمت ufo کار میکنه که خود این میتونه یه نقطه قوت تعیین کننده باشه.
Fontograph, Fontlab 5, 6, 7
فونتلب(۷ و ۶، قبلا فونت لب استودیو ۵ و تو نسخههای خیلی قدیمیتر فونتوگراف) در کنار روبوفونت و گلیفز، 3 نرمافزار مدعی و جلودار استفاده از متدها و تکنولوژی های روز برای ساخت فونت هستن. فونت لب ۷ هم مزایای زیادی داره و علاوه برنسخۀ مکینتاش، نسخۀ ویندوز هم داره. یادگیری فونت لب یه ذره نیازمند صبر و حوصلست اما بعدش انجام کارها باهش بسیار ساده و لذتبخشه.
Fontforge
به جرات میشه گفت فونتفورج جاهطلبانه ترین پروژۀ نرم افزاری متن باز و رایگان جهان برای ساخت فونته که فرمتهای زیادی رو پشتیبانی میکنه. این برنامه با اینکه از تکنولوژیهای روز مثل فونتهای متغیر و رنگی عقب مونده و ابزارهای زیادی هم نداره اما هنوز هم مهم و قابل استفادست. فونتفورج علاوه بر پشتیبانی از مکینتاش و ویندوز، از سیستم عاملهای مبتنی بر لینکوس هم پشتیبانی میکنه.
تمام فونتهای داخل این سایت(غیر از نسخههای متغیر) تا این تاریخ(1399/12/20) با فونتفورج ساخته شدن. مثل فونت پینار
FontCreator
یکی از قدیمیترین نرمافزارهای ساخت فونت که فقط نسخۀ ویندوز داره. سازنده ادعا میکنه مشهورترین نرمافزار تو این زمینهست. فونت کریتور از ساختار اپنتایپ، فونتهای بیتمپ، رنگی از نوع COLR/CPAL و همچنین فونتهای SVG (جدید) و متغیر پشتیبانی میکنه(تمام نرمافزارهای این لیست هم همین امکانات رو کم و بیش ارائه میدن، غیر از فونتفورج که تا این تاریخ از فونتهای رنگی و متغیر پشتیبانی نمیکنه).
بقیۀ نرمافزارها
نرمافزارهای دیگهای هم وجود دارن که اغلب سیستم سادهتری دارن و برای ساخت فونت فارسی مناسب نیستن. اینجا به چندتا از اونا اشاره میکنم. نرم افزارهای متن باز در حال توسعه مثل Birdfont و trufont، نرمافزار ifontmaker برای آیپد، نرمافزار fontself برای ساخت فونت رنگی داخل ایلوستریتور(که فارسی رو هم پشتیبانی میکنه استثناً و شهاب سیاوش فونتهای رنگیش رو با این برنامه میسازه) نرمافزارهای دیگهای که توسط وب سرور پشتیبانی و از طریق اینترنت کار میکنن مثل: fontstruct و glyphr.
همچنین به تازگی فردریک برنان در حال توسعۀ یه نرمافزار بسیار جاهطلبانه به زبان rust به اسم MFEK شده که تو مراحل بسیار ابتداییه ولی سرعت فوقالعاده بالایی داره.
نرمافزارهایی برای ویرایش سورس
تقریبا تمام نرمافزارهای ساخت فونت که داخل سیستم عامل نصب میشن از سورسهای متنی برای ذخیره فایل استفاده میکنن. نرمافزارهای ویرایش متن میتونن کمک بسیار زیادی برای ویرایش سورس به صورت سریعتر و دسته جمعی انجام بدن(البته برای کارای دیگه مثل نوشتن دستی کدهای اپنتایپ هم به درد میخورن). نرمافزارهایی مثل sublime text ، Atom، Visual Studio Code، notepad++ و …
ابزارهایی برای کار روی opentype
نرمافزارهای زیادی وجود دارن برای کار روی قسمت opentype فونت که میتونن مستقل از نرمافزارهای اصلی طراحی و ساخت فونت، روی فونتهای آماده کار کنن. نرمافزارهایی مثل volt که رابط کاربری قدیمی و سادهای دارن یا مثل AFDKO که از خط فرمان استفاده میکنن. پروژههایی مثل FEE هم هستن که میتونن کدنویسی opentype رو برای پروژههای بزرگ و پیچیده خیلی آسونتر کنن.
ابزارهای همه کاره
اگه برنامهنویسی بلد باشین ابزارهایی وجود دارن که میتونن کارهای بسیار زیادی در رابطه با ساخت فونت توی پایینترین سطح نرمافزاری انجام بدن، در واقع خود نرمافزارهای اصلی ساخت فونت توی اغلب موارد تو لایههای پایینتر از این ابزارها کمک میگیرن. ابزارهایی مثل fonttools
ابزارهایی برای ویرایش فایل باینری فونت بعد از کامپایل
ابزارهایی وجود دارن که میتونن بعد از کامپیل و استخراج فونت از نرم افزار سازنده، اونها رو توی پایینترین سطح ویرایش کنن، بهترین ابزار توی این دسته قطعاً ttx هست که میتونه یه فونت با فرمت مثلاً ttf رو به یه فایل متنی (با فرمت ttx) تبدیل کنه.
در واقع این برنامه فونت رو خط به خط میخونه و اون رو به صورت متون حاوی اطلاعات ترجمه شده توی قالب xml تبدیل میکنه، شما از این طریق میتونن به تمام جزئیات ذخیره شده توی فونت دسترسی پیدا کنین، اونا رو ویرایش کنین و دوباره توسط ttx تبدیلشون کنین به فرمت خود فونت.(علاوه بر این ttx باعث میشه بفهمین اطلاعات فونت با چه الگویی به صورت باینری ذخیره میشن(به این الگو یا فرمت sfnt گفته میشه))
مزیت بزرگی که استفاده از نرمافزاری ttx داره اینه که میتونین نرمافزار اصلی ساخت فونت و به عبارت دقیقتر کامپایلری که فونت رو ساخته و اغلب نمیشه باهاش کارهایی رو که توی لبۀ تکنولوژی نرمافزاری فونت قرار داره انجام داد رو دور بزنین و اطلاعات رو مستقیماً روی فونت بنویسین.(بله! شما توی سطح خیلی حرفهای اغلب اوقات انعطاف کافی برای انجام «تمام» کارهایی که میشه به صورت جزئی و با دانش بِروز شده تو پایینترین سطح انجام داد رو توسط نرمافزارهای اصلی ساخت فونت رو ندارین!)
ابزارهای دیگهای هم توی این دسته هستن که میشه باهاشون کارهای محدودتری انجام داد، مثل hex editor ها.
ابزارهای تست فونت
برای تست فونت ابزارهای زیادی وجود داره. اغلب قریب به اتفاق این ابزارها بر پایه استفاده از امکاناتیه که زبان جاوااسکریپت توی صفحات وب فراهم میکنه. یکی از بهترین پروژههای تست فونت، پروژه impallari برای تست فونتهای با خطوط نوشتاری لاتین، سیرلیک، دیواناگری، عبری، کانارا، تامیلی و تلوگو هست که پشتیبانی از صفحه اصلیش متوقف شده اما اینجا یه کپی ازش وجود داره.
پروژه تست فونت Persian Font Testing Tools صالح سوزنچی که بر پایۀ پروژه تست فونت impallari ساخته شده هم برای تست فونتهای فارسی بسیار کاربردی و مفیده(من هنوزم ازش استفاده میکنم). همچنین پروژه جدید صالح به اسم Rita Font Tester امکانات جالبتر و بینظیری داره.
برای تست فونت متغیر صفحه axis-praxis خیلی خوبه. پروژه samsa هم که بعدش شروع شد اطلاعات دقیق، تصویر حروف توی وضعیت دلخواه به صورت svg و حتی فونت معادل با instance تنظیم شده رو بهتون میده.(برای یه پروژه تحت وب باورنکردنیه). پروژۀ Dinamo Font Gauntlet هم برای تست فونتهای متغیر پر استفادست. پروژهای به اسم fontkit هم وجود داره که برای تستهای کوچیک مناسبه.
دستۀ دیگهای از نرمافزارها هستن که برای تست کاربری فونت توسط کمپانیهای مطرح استفاده میشن، به طور مثال fontbakery توسط گوگل فونت و Font-Validator توسط مایکروسافت برای تستهای نهایی و OTMaster تو سطح خیلی تخصصیتر داخل شرکتهای مطرح تجاری حوزۀ فروش فونت استفاده میشن.
(البته OTMaster فقط برای تست به کار برده نمیشه و به قول سازندشون یه جور «چاقوی سوئیسی» برای کارای پساتولید و تست کاربری فونت تو سطح تجاری محسوب میشه)
ابزارهای هینتینگ فونت
هینتینگ فونت هنوز هم توی خیلی از کاربردها لازم و ضروریه. اغلب نرمافزارهای طراحی و ساخت فونت، داخل خود برنامه این کار رو با تنظیمات خودکار و توی سطح متوسط انجام میدن. الان تقریبا همشون از ttfautohint با ورودیهای کنترل شده هم استفاده میکنن.
خود این برنامه (یعنی ttfautohint) رو میشه به صورت رایگان تهیه کرد و تو هر دو حالت با رابط کاربری و یا خط فرمان ازش استفاده کرد.(این برنامه معمولا خروجی خوبی برای فونتهای فارسی نداره و توصیه میشه توی سطح مبتدی فقط از جدول gasp استفاده بشه).
بهترین برنامه برای هینتینگ فونت (برای تمام خط ها و زبانها از جمله فارسی) VTT هست که یه برنامه رایگان و تخصصی محسوب میشه. متأسفانه این برنامه راهنما و جامعه کاربری خوبی نداره به همین دلیل یادگیریش کمی سخته.
کامپایلرها
کامپایلرها برنامه هایی هستن که میتونن فرمتهای خامی مثل ufo و glyphs رو تبدیل کنن به فرمتهای قابل استفاده فونت مثل ttf و otf. از مطرحترین کامپایلرهایی که میشناسیم makeotf(یکی از ابزارهای AFDKO) برای ساخت فونتهایی که opentype روپشتیبانی میکنن و fontmake برای ساخت تقریبا همه نوع فونت هست.
ابزارها و وبسایتهای تبدیل فرمت فونت
توی بعضی از موارد تبدیل فرمت فونتهایی که استخراج شدن بهتر یا سریعتر از استخراج اون فرمتها توسط برنامه اصلی هست(موارد معدودی هم وجود داره که برنامۀ اصلی از بعضی از فرمتا پشتیبانی نمیکنه). ابزارهای زیادی وجود دارن که بیشترشون رو میشه با خط فرمان استفاده کرد. ttf2woff ، woff2 ، mkeot نمونهای از این ابزارها هستن (کاربردشون از اسامی مشخصه و نیازی به توضیح بیشتر نیست).
وبسایتهایی مثل onlinefontconverter.com هم هستن که میتونن چنین تبدیلهایی رو با چند کلیلک ساده انجام بدن. خروجی خوب و با کیفیتی هم دارن.
ابزارهایی برای reshape متن
برای بعضی از تستها یا کاربردهای خاص لازم میشه بخشی از متن خودتونو reshape کنین. در حالت عادی خروجی متن نوشته شده شامل تبدیلهایی هست که opentype انجام داده (به طور مثال حالات ابتدایی، میانی، پایانی و ایزوله حروف عربی توسط همین تبدیل نمایش داده میشه و ما در واقع توی متن ورودی فقط حالات جدا از هم حروف رو تایپ میکنیم.) اگر به هر دلیلی نیاز داشته باشیم که حروف تایپ شده به طور مستقیم و بدون دخالت opentype به codepoint خودشون اشاره کنن(مثلا «ل» وسط رو وقتی کپی میکنین واقعا «ﻠ» باشه) نیاز به یه reshaper متن داریم.
بهترین ابزار توی این دسته برای فارسی پرشین ریشیپپر هست که صالح سوزنچی توسعه داده . یکی از ابزاری دیگه python arabic reshaper هست که میتونین با pip نصب و استفاده کنین. برنامههای دیگهای هم هستن ولی معمولا محیط خوب یا خروجی درستی ندارن.
لینکهای کمکی بدردبخور
1- توی خیلی از موارد پیش میاد که شما کدپوینت معادل حرف تایپ شده تو یه متن رو نمیدونید، برای فهمیدنش میتونین کاراکتر رو کپی کنین و از Unicode code converter برای تبدیلش استفاده کنین. همچنین از همین صفحه میتونین انواع تبدیلات دیگه رو به سادگی با چند کلیک انجام بدین.
2- در مورد سیستمهای نوشتاری، یونیکد و چیزای دیگه صفحه اصلی r12a لینکهای مفیدی داره.
3- توی بعضی از موارد لازمه بدونین کدوم تبدیلهای اپنتایپ باعث خروجی متن فعلی شده، اگه نخواین درگیر چیزای پیچیدهتر بشین، میتونین از Crowbar استفاده کنین. این وبسایت برای یادگیری اپنتایپ هم خوبه.
4- در مورد تعارضاتی که برنامههای مختلف در برخورد با خط عربی دارن، رجوع به این صفحه مایکروسافت میتونه مفید باشه.
5- برای یادگیری کلّیِ اپنتایپ صفحۀ اصلی مایکروسافت در این مورد و برای یادگیری adobe feature file syntax صفحۀ afdko و opentypecookbook خیلی مفیده.
6- لینکای خیلی بیشتری اینجا وجود داره.
7- اسامی فونت برای اینکه بدون خطا روی همۀ سیستمها کار کنن محدودیت 31 حرفی دارن و برای همین اگه شما یه خانواده فونت داشته باشین که استایلهای مختلفی داشته باشه و بخواین تو اسم هر فونت به ویژگیاش اشاره کنین باید از مخفف کلمات استفاده کنین.
سلام وقت بخیر
میتونم ی سوال بپرسم ؟
ابجد هوز چه سالی ساخته شده ؟ خیلی مهمه خواهش میکنم کمک کنید
سلام. وقت شما هم بخیر. متأسفانه اطلاعاتی در این مورد ندارم.
سلام، ممنون از مقاله ی مفیدتون. سه تا سوال داشتم:
-کدوم یکی از این نرمافزارها رایگانن؟
-برای افراد مبتدی کدومو پیشنهاد میدین؟
-از کجا میتونم ساخت فونت رو آموزش ببینم؟
– فونت فورج و ابزارهای تحت وب و خط فرمان رایگان هستن
– بستگی به خود فرد داره ولی گلیفز و فونتلب بهترن
– نمیدونم!
سلام . فونت کریتور در حال حاضر از فونت های متغیر پشتیبانی میکنه ، و میشه داخلش این جور فونت ها رو توسعه داد.
زمانی که این پست وبلاگ نوشته شد پشتیبانی نمیکرد. متن اصلاح شد 👍
راستی فونت لب ۸ هم اومده😅
فونتلب بیخیال نمیشه :))
سلام نمیشه خودتون یک آموزش بذارید ساخت فونت فارسی با حروف جایگزین(با هر نرم افزاری که انجام میدین)
نه، متأسفانه نمیشه.
سلام. منبعی برای یادگیری نرم افزار fontlab مخصوص فونت های عربی هست؟
سلام. متأسفانه اطلاعی ندارم.
چقدر جالب بود
ممنون که علم و تجربتون رو برامون به اشتراک گذاشتید
استفاده کردم
امیدوارم مفید بوده باشه، ممنون 🙂
👍
🙌
بعد از مدتها فرصت کردم سری به وب سایتت بزنم.
جدا از خوندن مطالبت لذت بردم، واقعا دست درد نکنه
خیلی ممنونم صالح جان 🙂 اگه پیشنهادی داشتی برای تکمیل مقالات خوشحال میشم بشنوم و استفاده کنم.