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

چرا انتخاب فونت فارسی برای وب مهم است؟

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

فونت فارسی خوب، در نگاه اول دیده نمی‌شود؛ در تجربه خواندن متن طولانی حس می‌شود.

معیارهای اصلی انتخاب فونت

پیش از هر انتخابی، پنج معیار را در نظر می‌گیرم:

  1. خوانایی در اندازه‌های کوچک، به‌خصوص در موبایل.
  2. وزن فایل و تعداد وزن‌های ارائه‌شده.
  3. پشتیبانی از تمام گلیف‌های فارسی، عربی و اعداد.
  4. سازگاری با اصول طراحی ریسپانسیو.
  5. شفافیت مجوز برای استفاده تجاری.

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

خوانایی و راحتی چشم

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

نکته‌ای که در پروژه‌های مختلف به آن رسیده‌ام: فونت فارسی که در دسکتاپ عالی به‌نظر می‌رسد، ممکن است در موبایل ۳۶۰ پیکسلی ناخوانا باشد. همیشه پیش از نهایی‌کردن انتخاب، متن را در عرض ۳۶۰ پیکسل آزمایش کنید. اگر می‌خواهید تصویر کامل این لایه را ببینید، نوشته چگونه تایپوگرافی را برای موبایل بهینه کنیم مسیر را نشان می‌دهد.

وزن فونت و سرعت بارگذاری

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

نکته مهم درباره بارگذاری فونت: ویژگی font-display در CSS (Cascading Style Sheets) تعیین می‌کند که مرورگر تا چه زمانی منتظر فونت سفارشی بماند. مقدار swap برای اکثر پروژه‌ها انتخاب درستی است چون فونت سیستم را نمایش می‌دهد و بعد فونت سفارشی را جایگزین می‌کند. همین ویژگی، در شاخص‌های تجربه صفحه اثر مستقیم دارد. اگر می‌خواهید این لایه را در بستر شاخص‌های رسمی ببینید، نوشته Core Web Vitals چیست و چرا گوگل بر آن تاکید دارد نقطه شروع درستی است.

فرمت‌های فونت وب

فرمت‌های فونت در وب در چهار دسته اصلی ارائه می‌شوند که هرکدام کاربرد متفاوتی دارند:

فرمتحجمپشتیبانی مرورگر
WOFF2کمترینکامل
WOFFمتوسطکامل
TTF / OTFبالاکامل
EOTبالافقط اینترنت اکسپلورر

انتخاب من برای اکثر پروژه‌ها، WOFF2 به‌عنوان فرمت اصلی و WOFF به‌عنوان لایه پشتیبان است. فرمت‌های TTF و OTF معمولاً برای نصب روی سیستم کاربر مناسب‌اند نه برای بارگذاری وب. فرمت EOT امروز منسوخ شده و نیازی به پشتیبانی ندارد.

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

ترکیب فونت برای تیتر و متن

در پروژه‌های حرفه‌ای، معمولاً از دو فونت استفاده می‌شود: یک فونت برای تیتر و یک فونت برای متن. انتخاب ترکیب درست، سه اصل دارد: تمایز بصری در عین هماهنگی، تناسب وزن و ارتفاع بین دو فونت و پرهیز از ترکیب فونت‌هایی با سبک بصری متضاد. در تجربه من، ترکیب یک فونت تیتر با وزن بالا (مثل Bold یا Black) با یک فونت متن با وزن متوسط، بهترین نتیجه را می‌دهد.

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

دسته‌بندی فونت‌های فارسی

فونت‌های فارسی در چهار دسته اصلی قرار می‌گیرند:

  1. فونت‌های سنتی: نستعلیق و شکسته که بیشتر برای متن‌های هنری و ادبی مناسب‌اند.
  2. فونت‌های مدرن: طراحی‌شده بر پایه اصول تایپوگرافی معاصر که برای متن‌های دیجیتال بهینه‌اند.
  3. فونت‌های هندسی: با ساختار هندسی منظم که در رابط‌های کاربری و طراحی داشبورد مناسب‌اند.
  4. فونت‌های نمایشی: برای تیتر و عناوین بزرگ طراحی شده‌اند و در متن‌های کوچک خوانا نیستند.

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

سازگاری با طراحی ریسپانسیو

فونت فارسی در طراحی ریسپانسیو (Responsive)، نیاز به تنظیمات دقیق‌تری نسبت به فونت لاتین دارد. سه چالش اصلی: در اندازه‌های کوچک، حروف متصل ممکن است به هم بچسبند؛ در ارتفاع خط باریک، متن فارسی ممکن است حالت فشرده به خود بگیرد؛ و در وزن‌های بالا، متن فارسی ممکن است حالت ضخیم و ناخوانا داشته باشد.

راهکار عملی: تایپوگرافی سیال با استفاده از واحدهای نسبی مثل clamp() و تنظیم ارتفاع خط بین ۱٫۶ تا ۱٫۸ برای متن‌های فارسی. اگر می‌خواهید تصویر کامل این لایه را ببینید، نوشته طراحی ریسپانسیو چیست و چرا ضروری است و اصول طراحی ریسپانسیو کدامند نقطه شروع درستی هستند. همچنین اگر پروژه وردپرسی است، لایه ریسپانسیو قالب را در قالب وردپرس ریسپانسیو چیست و چرا اهمیت دارد باز کرده‌ام.

جدول انتخاب فونت بر پایه کاربرد

برای تسریع تصمیم، جدول زیر را بر پایه کاربرد پروژه تنظیم کرده‌ام:

کاربرددسته پیشنهادیمعیار اصلی
سایت محتواییفونت مدرن سنس سریفخوانایی در متن بلند
داشبورد و رابط کاربریفونت هندسیتمایز در اندازه کوچک
سایت هنری و ادبیفونت سنتی یا نمایشیهویت بصری
فروشگاه اینترنتیفونت مدرن سنس سریفخوانایی سریع در موبایل
تیتر و عناوین بزرگفونت نمایشیجذابیت بصری

اشتباهات رایج در انتخاب فونت فارسی

چهار اشتباه تکراری که در پروژه‌های مختلف دیده‌ام:

  • بارگذاری همه وزن‌های فونت: فونت‌هایی که هفت یا هشت وزن دارند، حجم قابل توجهی اضافه می‌کنند. فقط وزن‌های مورد استفاده را بارگذاری کنید.
  • نادیده‌گرفتن تنظیمات font-display: بدون تنظیم درست، مرورگر تا بارگذاری کامل فونت، متنی نمایش نمی‌دهد که تجربه کاربری را خراب می‌کند. مقدار swap یا optional انتخاب درستی است.
  • انتخاب فونت بر اساس زیبایی نه خوانایی: فونت زیبا در تیتر، ممکن است در متن بلند ناخوانا باشد. برای هر بخش، فونت مناسب آن بخش انتخاب کنید.
  • بی‌توجهی به سازگاری راست‌به‌چپ: بعضی فونت‌های فارسی از راست‌به‌چپ به‌درستی پشتیبانی نمی‌کنند و در متن ترکیبی با لاتین به‌هم می‌ریزند. اگر می‌خواهید تصویر کامل این لایه را ببینید، نوشته اشتباهات رایج در تایپوگرافی وب راهنمای دقیقی است.

لایه‌های تخصصی فونت فارسی

برای مخاطب فنی، فونت فارسی در سه لایه تخصصی بررسی می‌شود. لایه اول، مدل گلیف: فونت‌های فارسی مدرن، معمولاً بین پانصد تا هزار گلیف دارند که شامل حروف مجزا، حروف متصل، اعداد فارسی و عربی و علائم نگارشی است. حجم فایل مستقیماً به تعداد گلیف بسته است. فونت‌های متغیر (Variable Fonts) می‌توانند به‌جای چند فایل جداگانه، تمام وزن‌ها را در یک فایل ارائه دهند و همین ویژگی، حجم نهایی را محسوس کاهش می‌دهد.

لایه دوم، مدل بارگذاری: فونت‌ها در وب از طریق قانون @font-face در CSS بارگذاری می‌شوند. برای فونت‌های فارسی که حجم بالا دارند، دو تکنیک کاهش حجم بسیار مؤثر است: زیرمجموعه‌سازی (Subsetting) که فقط گلیف‌های استفاده‌شده را نگه می‌دارد، و پیش‌بارگذاری (Preload) که فونت‌های بحرانی را پیش از بارگذاری صفحه شروع می‌کند. در تجربه من، ترکیب این دو تکنیک می‌تواند حجم فونت را تا نصف کاهش دهد. برای آشنایی با پیاده‌سازی این لایه، نوشته آموزش CSS از صفر و آموزش HTML از صفر پایه‌های نظری را پوشش می‌دهند.

لایه سوم، مدل نمایش: در مرورگرها، سه حالت نمایش فونت وجود دارد: فلاش متن نامرئی (FOIT)، فلاش متن بدون استایل (FOUT) و نمایش فوری با فونت سیستم و جایگزینی تدریجی. انتخاب مدل نمایش، بر شاخص‌های تجربه صفحه اثر مستقیم دارد. اگر می‌خواهید این لایه را در بستر بهینه‌سازی سرعت ببینید، نوشته بهینه سازی CSS و چگونه سرعت فرانت‌اند را افزایش دهیم مسیر عملی را روشن می‌کنند. در پروژه‌های وردپرسی، لایه بارگذاری فونت به قالب و افزونه گره خورده است؛ برای درک این لایه، نوشته قالب وردپرس سبک چیست و چگونه سرعت سایت را افزایش می‌دهد و چرا بعضی قالب‌های وردپرس باعث کندی سایت می‌شوند تصویر تکمیلی خوبی ارائه می‌دهند.

یک لایه ظریف دیگر هم وجود دارد که در پروژه‌های فارسی به آن رسیده‌ام: اعداد. بعضی فونت‌های فارسی، اعداد فارسی (۱۲۳) و بعضی اعداد لاتین (123) را به‌عنوان حالت پیش‌فرض ارائه می‌دهند. انتخاب درست بستگی به بافت دارد: در متن فارسی، اعداد فارسی؛ در کد و داده فنی، اعداد لاتین. این لایه را از ابتدا در طراحی سیستم تایپوگرافی پروژه در نظر بگیرید تا در ادامه، لازم نشود برای هر بخش جداگانه تصمیم بگیرید.

واپسین نگاه به فونت فارسی

پاسخ کوتاه به بهترین فونت فارسی برای وب کدام است، این است: بهترین فونت، فونتی است که خوانایی، حجم قابل قبول و مجوز شفاف داشته باشد. اگر امروز فقط یک کار می‌کنید، دو یا سه فونت کاندیدا انتخاب کنید و هرکدام را در سه اندازه مختلف (موبایل، تبلت، دسکتاپ) و در یک متن فارسی واقعی آزمایش کنید؛ تفاوت‌ها همان‌جا خودشان را نشان می‌دهند. اگر تجربه‌ای از یک فونت فارسی دارید که در پروژه‌ای واقعی نتیجه غیرمنتظره‌ای داشته — چه مثبت و چه منفی — در دیدگاه‌ها بنویسید؛ مخصوصاً اگر فونت رایگان بوده که از منبع معتبری تهیه شده؛ همین داده‌های واقعی، تصویر دقیق‌تری از اکوسیستم فونت فارسی می‌سازند. 🖋️