مجموع ۴۰ فونت فارسی اصلاح شده برای وب


به نقل از WeDesign : یکی از مشکلاتی که در وب فارسی با آن مواجه هستیم، محدودیت فونت است. متاسفانه در وب فارسی ما محدود به سه فونت هستیم که بر روی تمامی سیستم ها نصب شده است. فونت arial, Tahomaو mono-type تنها فونتهایی هستند که می‌توانیم از آنها استفاده کنیم در حالی که برای زبان انگلیسی حداقل نزدیک به ۱۰ فونت در دسترس است.

Farsi Web Font Package main ih54sh مجموع 40 فونت فارسی اصلاح شده برای وب   IranHex.Com

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

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

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

بعد از همه گیر شدن مرورگر فایرفاکس و پس از آن ارائه مرورگرهای اپرا، سافاری برای ویندوز و کروم، پشتیبانی از قابلیت های CSS3 گسترش پیدا کرد در نتیجه پشتیبانی از قابلیت @font-face افزایش یافت. با استفاده از این قابلیت می‌توان فونتی را به صفحه پیوست کرد و در صورتی که این فونت بر روی سیستم کاربر موجود نباشد، از روی server دریافت شده و برروی سیستم کاربر قرار می‌گیرد و شما می‌تواند از هر فونتی که دوست دارید بر روی وب استفاده کنید.

تنها مشکلی که وجود داشت، مرورگر اینترنت اکسپلورر بود که تا قبل از نسخه ۹ از این قابلیت پشتیبانی نمی‌کرد. البته مایکروسافت، سالها قبل فرمت EOT را برای پیوست فونت به صفحه ایجاد کرده بود. مایکروسافت امیدوار بود که این استاندارد را ترویج دهد ولی هیچ مرورگری از این فرمت پشتیبانی نکرد.

در حال حاضر می‌توان فونت ها را با فرمت TTF به صفحه پیوست کرد که این فرمت توسط تمامی مرورگرهای جدید، قابل نمایش است. با استفاده از سرویس ‌های آنلاین نیز می‌توان همین فرمت TTF را به فرمت EOT تبدیل کرد تا مرورگرهای اینترنت اکسپلورر نیز بتوانند فونت های شما را به شکل درستی به نمایش بگذارند. علاوه بر این فرمت، کنسرسیوم جهان وب، فرمت WOFF را هم پیشنهاد کرد که حجم کمتری را ارائه می‌دهد و هم می‌توان حق نشر فونت را هم در آن حفظ کرد. خوشبختانه مرورگرهای فایرفاکس و اپرا و آی ای ۹ از این فرمت پشتیبانی کره اند و به نظر می‌رسد که در آینده نزدیک این فرمت در تمامی مرورگرها پشتیبانی شود. با استفاده از این سه فرمت می‌توانید هر فونتی را بر روی وب استفاده کنید و مطمئن خواهید بود که فونتتان در مرورگرهای مختلف جدید و قدیمی به درستی نمایش داده می‌شود. تنها سیستم عامل iOS نسخه  قدیمی است که تنها از فرمت فونت SVG پشتیبانی می‌کند ولی این مشکل iOS نیز در نسخه ۴٫۲ حل شده است. اکنون مرورگر این سیستم عامل می‌تواند فونت‌های TTF را نیز بخواند.

حال باید ببینیم که دستور @font-face را به چه شکل باید استفاده کرد.  برای استفاده از این دستور تنها کافیست این عبارت را در بالای فایل CSSخود قرار دهید:

@font-face {
font-family: 'yekan’;
src: url('fonts/yekan.ttf') format('truetype');
}

در اینجا در خط اول، font-family را تعیین کرده ایم، هر نامی را که دوست داشته باشید، می‌توانید برای فونت انتخاب کنید. در خط دوم در دستور src باید مسیر فونت بر روی serverرا مشخص کنید و در آخر در دستور format، نوع فونت را مشخص می‌کنید. این دستور را در اول فایل CSSقرار می‌دهید و در ادامه در هر جایی که از فونتی با اسم yekan استفاده کنید، فونت مورد نظر شما از سرور دریافت شده و بر روی سیستم کاربر نمایش می‌یاید. اگر این بخش را در اول فایل CSS قرار ندهید و از فونت yekan در دستوری قبل از دستور font-face استفاده کنید، از آنجائیکه هنوز دستور font-face در دسترس مرورگر نبوده است، فونت مورد نظر شما نمایش داده نمی‌شود پس سعی کنید همیشه این بخش را در اول فایل CSS خود قرار دهید.

حال با استفاده از سرویس های آنلاینی چون Kirsle (تنها این سایت توانست فونت‌های فارسی را به درستی تبدیل کند) فونت را به فرمت EOT تبدیل می کنیم و دستورمان را نیز ویرایش می‌کنیم:

@font-face {
font-family: 'yekan’;
src:url('fonts/yekan.eot') format('eot'),
url('fonts/yekan.ttf') format('truetype');
}

حال باید اینترنت اکسپلورر نیز بتواند فایل فونت مربوط به خود را دریافت کند. فرمت EOT را در خط اول قرار می‌دهیم و فرمت TTF را در خط بعدی. مرورگرهای جدید خط اول را نادیده می‌گیرند و به سراغ خط دوم می‌روند.
البته اینترنت اکسپلورر باز هم رفتاری عجیب نشان می‌دهد. اگر دستورات خود را به این شکل بنویسید، اینترنت اکسپلورر نخست فایل EOTرا دریافت می‌کند و به سراغ خط بعدی می‌رود و فایل TTF را هم دریافت می‌کند ولی ملاک را فایل دوم قرار می‌دهد و از آنجائیکه نمی‌تواند این فرمت را نمایش دهد، متن شما را با فونت پیش‌فرض نمایش می‌دهد و حتی از فرمت EOT که دریافت کرده بود نیز استفاده نمی‌کند.

حال ما از یک هک استفاده می‌کنیم تا IE را به اشتباه بیاندازیم تا تنها خط اول را ببیند. کد خود را ویرایش می‌کنیم و دو علامت ?#را بعد از آدرس فرمت EOT اضافه می‌کنیم:

@font-face {
font-family: 'yekan’;
src:url('fonts/yekan.eot?#’) format(‘eot’),
url(‘fonts/yekan.ttf’) format(‘truetype’);
}

با این ترفند، مرورگر اینترنت اکسپلورر تنها خط اول را می بیند و تنها فایل EOT را دریافت می ‌کند در حالی که مرورگرهای دیگر خط اول را نادیده گرفته و خط دوم رو می‌خوانند و فونت TTF را دریافت می‌کنند. حال برای مرورگرهای جدیدتر از فرمت WOFF هم استفاده می‌کنیم تا کاربرانی که از این مرورگرها استفاده می‌کنند، فایل کم حجم تری را دریافت کنند. در این حالت، صفحه با سرعت بیشتری برای این کاربران باز می‌شود. البته هک‌های دیگری همچون هک smiley که توسط پاول آیریش ایجاد شده. البته همه جا پیشنهاد شده است که از هک اول که ما توضیحش دادیم، استفاده شود.

@font-face {
font-family: 'yekan’;
src:url('fonts/yekan.eot?#’) format(‘eot’),
url('fonts/yekan.woff') format('woff'),
url(‘fonts/yekan.ttf’) format(‘truetype’);
}

حال تمامی مرورگرهای قدیمی و جدید می‌توانند فونت ها را دریافت کرده و سایت شما را با فونت مورد نظرتان نمایش دهند.

با دریافت این فایل به ۴۰ فونت فارسی اصلاح شده با سه فرمت TTF, WOFFو EOT دسترسی خواهید داشت که می‌توانید آنها را در هر صفحه ای که دوست دارید، به کار ببرید. برای سهولت کار یک فایل به نام fonts-demo.html داخل فایل زیپ است. با باز کردن این فایل می‌توانید نمایی از تمامی فونت ها ببینید و نام هر فونت را نیز در کنارش مشاهده کنید. با دیدن source صفحه نیز می‌توانید دستور @font-face را هم مشاهده کنید و در صورت نیاز آن را کپی کرده و در فایل CSSخود قرار دهید. همچنین یک پوشه به نام fonts نیز وجود دارد که هر ۴۰ فونت با سه فرمت مختلف درون آن جای گرفته. فونتهایی را که می‌خواهید به صفحه پیوست کنید را از داخل آن انتخاب کرده (هر سه فرمت را انتخاب کنید) و بر روی سرور خود قرار دهید.

توجه داشته باشید که نمی‌توانید چند فونت را به طور همزمان با یک دستور @font-face به صفحه پیوست کنید و برای پیوست چند فونت مختلف باید برای هر فونت از یک دستور @font-face استفاده کنید.

البته توصیه شده بود که برای استفاده از فونت‌ها در وب باید حتما MIME Type فونت را هم مشخص کنید و به server بگوئیم که فرمت فایل فونت چیست. منتها به خاطر عدم تعیین یک استاندارد جامع، به نظر می‌رسد که تعیین نکردن MIME Type مشکلی ایجاد نکند. به عنوان مثال در مستندات سایت موزیلا آمده است که به خاطر عدم تعیین MIME Type برای فرمت‌های مختلف فونت، این مرورگر دیگر به فرمت‌هایی که بر روی سرور تعیین شده توجهی نمی‌کند.

البته بعد از ارائه فایرفاکس ۶ به خاطر مشکل فونت‌های غیر استاندارد فارسی، حروف جدا از هم نمایش داده میشد که با اصلاح فونت ها از طریق سایت Online Font Convertor این مشکل هم برطرف شده است. دقت داشته باشید که فونت‌های فارسی همچنان غیراستاندارداند و احتیاج به ویرایش شدن توسط متخصصین طراحی فونت دارند منتها با همین تغییری که اکنون ایجاد شده است می‌توان این فونت را به کاربرد و در مرورگرهای مختلف نیز فونتها را به شکل درستی به نمایش می‌گذارند.

در حال حاضر در تست ما این شیوه بر روی مرورگرهای فایرفاکس ۳٫۶ به بعد، کروم ۱۳ به بعد، اپرا ۱۱ به بعد و اینرنت اکسپلورر ۷ و نسخه های بعد از آن به درستی کار کرد. امیدواریم با ارائه این فونت‌ها بتوانیم اندکی به دوستان همکار و طراحان وب، کمک کرده باشیم.

فونت های اصلاح شده را می توانید از بخش زیر دانلود کنید.

 

* از مقاله بسیار مفید سایت Wedesign تشکر میکنیم.


دانلود فایل با حجم 2.897 مگابایت
پسورد و منبع : www.iranhex.com



کپی برداری از مطالب سایت بدون ذکر منبع غیر مجاز است .
اشتراک در 100 درجه اشتراک گذاری در FaceBook اشتراک گذاری در Twitter ارسال ایمیل به دوستان در Gmail اضافه کردن به Google Bookmarks اضافه کردن به Google Reader ارسال ایمیل به دوستان در یاهو دنبال کردن نظرات مطلب

محمد رضا محمودی

محمد رضا محمودی هستم ، متولد 1371 ، رشته ریاضی . علاقه زیادی به کارهای گرافیکی و برنامه نویسی (خصوصا تحت وب) دارم . عاشق خلاقیت و کارهای خاص ! همیشه دنبال یادگیری مسائل جدید در زمینه های مورد علاقه ام هستم ! امیدوارم سایت ایران هکس برای همه افرادی که در این زمینه ها استعداد و علاقه دارند مفید باشد . با تشکر

۱۷ دیدگاه برای این مطلب ارسال شده است.

۲۱ شهریور

خیلی خیلی بابت این مقاله جامع و کامل سپاسگزارم. این فایل خیلی به درد من می خوره .

[پاسخ]


۲۱ شهریور

سلام
کل مطلبتون رو خیلی خوب خوندم و خیلی هم خوب متوجه شدم. فقط یک سوال دارم اینکه من فونتهارو کلا آپلود کردم تو سرورم بعد تغییرات مربوط به هر فونت که در آدرس هایی که آپلود شده اند رو انجام دادم با توجه به فرمت هاشون و کد اینطور شد
@font-face {
font-family: 'BMitra’;
src:url('http://3khat.ir/wp-content/uploads/Fonts/BMitra.eot?#’) format(‘eot’), /* IE6–۸ */
url('http://3khat.ir/wp-content/uploads/Fonts/BMitra.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url(‘http://3khat.ir/wp-content/uploads/Fonts/BMitra.ttf’) format(‘truetype’); /* Saf3—۵, Chrome4+, FF3.5, Opera 10+ */
}

حالا یه سوال دارم اونم اینکه من این کد رو دقیقا کجا قرار بدم؟ تو
style.css پوسته ام؟ قرار می دم که کل پوسته رو به هم می زنه! یا شاید هم این روش برای وردپرس نیست؟ ممنون می شم دقیقا مشخص کنید که کجا قرار بدم؟ ممنونم ازتون و اینکه فونت تیتر مطلب با فونت نوشته خود مطلب چطوری می تونه فرق کنه؟

[پاسخ]

محمد رضا محمودی پاسخ در تاريخ شهریور ۲۱م, ۱۳۹۰ ۱:۱۳ ب.ظ:

سلام . شما باید این کد رو توی فایل CSS قالبتون قرار بدید تا فونت از مکانی که مشخص کردید فراخوانی بشه…حالا هرجا که میخواید فونتش عوض بشه توی کدش Font-family:BMitra; رو اضافه کنید.

[پاسخ]


۲۱ شهریور

چه خوب میشد بجای کپی کردن یک مطلب بهش لینک بدیم و اگه وقتی هم کپی کردیم کپی رایت نویسنده اصلی رو حذف نکنیم(مثل بخش فونت‌ها) . حالا لینک دادن به مطلب اصلی در پایین مطلب کپی شده جای خودش رو داره !
موفق باشی دوست من

[پاسخ]

reza پاسخ در تاريخ شهریور ۲۲م, ۱۳۹۰ ۷:۲۹ ب.ظ:

* از مقاله بسیار مفید سایت Wedesign تشکر میکنیم.

[پاسخ]

مسعود پاسخ در تاريخ شهریور ۲۳م, ۱۳۹۰ ۸:۲۳ ق.ظ:

میدونم ! منم گفتم می‌خواهیم کپی کنیم کل مطلب رو کپی کنیم ! وجه اصلی این مطلب پک فونت‌های اصلاح شده‌اش بود. منظورم این بود که صفحه‌ای که ویدیزاین برای فونت‌ها ساخته بود رو بهتر بود حذف نمی‌کردید که …
موفق باشی دوست من

[پاسخ]


۱۶ مهر

آقا رضا ممنون واقعا که سایت جالبی راه انداختی
برخلاف سایت های دیگه آدم توی این سایت احساس سردرگمی نمیکنه

[پاسخ]

محمد رضا محمودی پاسخ در تاريخ مهر ۱۶م, ۱۳۹۰ ۹:۰۴ ق.ظ:

ممنون…

[پاسخ]


مــــمنــون محمد رضا جـــــــــــان

[پاسخ]


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

[پاسخ]

محمد رضا محمودی پاسخ در تاريخ آذر ۲۲م, ۱۳۹۰ ۱:۵۸ ب.ظ:

سلام . یا مشکل از مرورگرتون هست…یا بد فراخوانی کردید…

[پاسخ]


۲۰ بهمن

مقاله خوبی بود دست شما درد نکنه

[پاسخ]


۲۱ بهمن

سلام و تشکر. راهی هست که در برای yekan در فونت فارسی از اعداد و کاراکترهای انگلیسی استفاده کنه؟

[پاسخ]

محمد رضا محمودی پاسخ در تاريخ بهمن ۲۴م, ۱۳۹۰ ۹:۴۰ ق.ظ:

نمیدونم! تا به حال برخورد نکردم

[پاسخ]


۲۲ اسفند

سلام
مقاله خیلی خوب و کاربردی بود

من کارهایی که گفتیتد رو انجام دادم و فونت B homa رو به سایتم اضافه کردم،

اما مشکلی که هست اینه که دوتا “ی” رو کناذ هم نمینویسه!!!

مثلا به جای ” آشنایی ” مینویسه ” آشنای ی ” ( بدون Space بین ” ی ی ” )

میشه لطفا راهنمایی کنید؟

اگه بشه این فونت رو درست کنم که عالیه،

اما اگه مشکل از فونت هست و درست نمیشه لطفا چند فونت شبیه BHoma بهم معرفی کنید!

تشکر ویژه از آقای محمودی !

[پاسخ]


۹ فروردین

بسیار ممنونم. مقاله خیلی خوبی بود.

[پاسخ]


۴ اردیبهشت

سلام
خیلی سریع و به درد بخورانه ازش تونستم استفاده کنم
ممنون از شما بابت مقاله خوبتان

[پاسخ]


ارسال دیدگاه

شعر پارسی