اگه تا حالا فونت رو از Google Fonts لود کرده باشی، می دونی که سایتت به یه سرویس بیرونی وابسته می شه. برای سایت های ایرانی این وابستگی گاهی دردسر درمیاره. وقتی ارتباط با خارج کند یا قطع باشه، صفحه یا با فونت پیش فرض مرورگر نشون داده می شه یا چند ثانیه منتظر فونت می مونه. @fontsource/fira-sans برای همین مشکل به کار میاد. فونت Fira Sans رو به شکل یه بسته مرتب npm بهت می ده تا خودت میزبانیش کنی و فونت از همون دامنه سایتت لود بشه.
Fira Sans یه فونت sans-serif با وزن های مختلف و نسخه ایتالیکه. برای رابط کاربری، عنوان ها و متن معمولی انگلیسی خوب جواب می ده. این بسته طرح فونت رو عوض نمی کنه و فقط فایل ها و CSS مربوط بهش رو مرتب بسته بندی می کنه. هر وزن و حالت رو جداگانه به پروژه اضافه می کنی، پس لازم نیست کل خانواده رو توی صفحه بکشی.
این بسته بیشتر به درد پروژه هایی می خوره که با npm و یه ابزار build مثل webpack یا Vite کار می کنن. مثلاً یه اپلیکیشن React یا Vue، یا یه قالب سفارشی که فرانت اندش جدا کامپایل می شه. اگه سایت وردپرسیت ساده است و فرایند buildی نداری، هنوز می تونی فایل های فونت و CSS رو کنار قالب بذاری. ولی راحتی اصلی این بسته توی پروژه های npm محوره.
یه نکته رو حتماً در نظر بگیر: Fira Sans برای حروف لاتین (و چند خط دیگه مثل سیریلیک و یونانی) طراحی شده و حروف فارسی نداره. پس برای متن فارسی سایتت نمی تونه تنها فونت باشه. معمولاً ترکیبش می کنن: یه فونت فارسی برای متن اصلی و Fira Sans برای نوشته های انگلیسی، کد یا برندینگ. اگه سایتت کاملاً فارسیه و جای خاصی برای متن انگلیسی نداره، احتمالاً به این بسته نیازی نداری.
موقع انتخاب و استفاده دو چیز مهمه. اول اینکه فقط وزن هایی رو import کن که واقعاً به کار می بری، مثلاً معمولی و بولد، چون هر فایل اضافه حجم صفحه رو بالا می بره. دوم اینکه فونت با مجوز OFL منتشر شده و معمولاً استفاده توی پروژه های شخصی و تجاری آزاده. ولی اگه قراره فونت رو جدا توزیع یا ویرایش کنی، متن مجوز رو بخون. نسخه های رسمی و بدون تغییر این بسته توی مخزن داخلی ما هم هست، پس وقتی دسترسی به رجیستری npm کند یا قطع بود، می تونی از همین جا برداری.
راهنمای استفاده
کار با این بسته چند قدم ساده داره. کد آماده import پایین همین صفحه هست و لازم نیست مسیرها رو از حفظ بنویسی.
- بسته رو با npm یا yarn توی پروژه نصب کن.
- توی فایل ورودی جاوااسکریپت یا CSS پروژه، فایل CSS وزنی که می خوای رو import کن. هر وزن فایل جداگانه خودش رو داره.
- توی CSS سایتت، font-family رو روی Fira Sans بذار و یه فونت جایگزین هم کنارش بنویس تا اگه فونت لود نشد، متن خالی نمونه.
- پروژه رو build کن و توی مرورگر، تب Network رو نگاه کن. فایل های فونت باید از همون دامنه خودت لود بشن، نه از سرویس بیرونی.
- اگه برای متن فارسی هم فونت می خوای، یه فونت فارسی جدا تعریف کن و توی font-family قبل یا بعد از Fira Sans بذار. هر کدوم که باید اولویت داشته باشه، اول بیاد.
اگه سایتت وردپرسیه و فرایند build نداره، می تونی فایل های فونت و CSS رو توی پوشه قالب بذاری و با wp_enqueue_style به صفحه اضافه کنی. فقط حواست باشه مسیر فایل های فونت توی CSS درست باشه.