ورود

View Full Version : چک کردن فونت کامپیوتر قبل از لود شدن



samansad
سه شنبه 27 آذر 1386, 14:03 عصر
سلام می خواستم ببینم چجوری میشه با جاوا اسکریپت چک کرد که اگر فونت بکار رفته در کامپیوتر در سیستم نبود اتوماتیک دانلود بشه روی کامپیوتر تا زمان نمایش سایت مشکلی پیش نیاد؟؟؟؟؟؟؟؟؟؟

rezamizbani
سه شنبه 27 آذر 1386, 15:10 عصر
منم خیلی دنبال یه همچین کدی گشتم مگن با این کد باید کار کنه :::




<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
<TITLE>Font test</TITLE>
<STYLE TYPE="text/css" MEDIA="screen, print">
@font-face {
font-family: "Robson Celtic";
src: url("http://site/fonts/rob-celt")
}
H1 { font-family: "Robson Celtic", serif }
</STYLE>
</HEAD>
<BODY>
<H1> This heading is displayed using Robson Celtic</H1>
</BODY>
</HTML>


من که هرچی زور زدم کار نداد !! حالا یه تستی بزن !




@font-face {
src: local("Alabama Italic"),
url(http://www.fonts.org/A/alabama-italic) format("truetype");
panose-1: 2 4 5 2 5 4 5 9 3 3;
font-family: Alabama, serif;
font-weight: 300, 400, 500;
font-style: italic, oblique;
}


@font-face {
src: local("Helvetica Medium"),
url(http://www.fonts.org/sans/Helvetica_family) format("truedoc");
font-family: "Helvetica";
font-style: normal
}
@font-face {
src: local("Helvetica Oblique"),
url("http://www.fonts.org/sans/Helvetica_family") format("truedoc");
font-family: "Helvetica";
font-style: oblique;
slope: -18
}


@font-face {
font-family: Excelsior;
src: local("Excelsior Roman"), url("http://site/er") format("intellifont");
unicode-range: U+??; /* Latin-1 */
}
@font-face {
font-family: Excelsior;
src: local("Excelsior EastA Roman"), url("http://site/ear") format("intellifont");
unicode-range: U+100-220; /* Latin Extended A and B */
}
@font-face {
font-family: Excelsior;
src: local("Excelsior Cyrillic Upright"), url("http://site/ecr") format("intellifont");
unicode-range: U+4??; /* Cyrillic */
}
@font-face {
font-family: Excelsior;
src: url("http://site/excels") format("truedoc");
unicode-range: U+??,U+100-220,U+4??;
}

sweb
چهارشنبه 28 آذر 1386, 02:25 صبح
Font embedding فقط برای IE قابل استفاده هست پس کلاً این روش روشی برای تکیه کردن برای طراحی صحیح صفحات وب نمی تونه باشه، بهتر اینه از فونت های استاندارد استفاده بشه...

the Dead
پنج شنبه 29 آذر 1386, 10:02 صبح
بهترین راه استفاده از CSS و تعریف یک سری فونت است.
به عنوان نمونه در این مثال

body
{
font: 10pt tahoma, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;
}در صورتی که فونت tahoma وجود نداشته باشد از geneva و اگر geneva وجود نداشته باشد از lucida و ....

Poorang
پنج شنبه 29 آذر 1386, 19:38 عصر
اگر اشتباه نکنم میشه از Font-Face در Style استفاده کرد :



<STYLE>
@font-face {
font-family:comic;
src:url(http://valid_url/some_font_file.eot);
}
</STYLE>


بد نیست یه سری هم به
www.bitstream.com/font_rendering/products/truedoc/index.html (http://www.bitstream.com/font_rendering/products/truedoc/index.html)
بزنی!!!

oxygenws
پنج شنبه 29 آذر 1386, 20:10 عصر
ممنون پورنگ.

http://home.tiscali.nl/developerscorner/fdc-varia/font-embedding.htm



This was possible according to the CSS2 specifications ... ( here (http://www.w3.org/TR/REC-CSS2/fonts.html#font-descriptions))
This is not possible according to the CSS2.1 specifications ... ( here (http://www.w3.org/TR/CSS21/fonts.html))
The trouble is, that the most browsers don't support (fully) the CSS2 rules (using CSS2.1 instead), and cannot display the fonts defined by the @font-face {...} rules.
This will be possible (far away) according to the CSS3 Working Draft, module: Web Fonts... ( here (http://www.w3.org/TR/css3-webfonts/#font-descriptions))

توی فایرفاکس 3 بتا موارد نمونه در لینک فوق، مورد اول (ace) کار نکرد و مورد دوم کار کرد که ممکنه دومی به خاطر وجود فونت در کلاینت باشه!! :)

rezamizbani
شنبه 01 دی 1386, 10:44 صبح
[quote=oxygenws;438003]ممنون پورنگ.

پورنگ تشکر داشت ولی منی که تو پست دوم همین کد رو با مثالاش گذاشتم نداشت !:گریه:

Poorang
شنبه 01 دی 1386, 11:54 صبح
آقا من واقعا شرمندم من به کد شما دقت نکردم عذر میخوام و از شما تشکر میکنم.
البته این روش ویژگیها و معایب خاص خودش رو داره که البته قابل رفع هستند.

samansad
دوشنبه 03 دی 1386, 09:42 صبح
آقا جواب نمیده این کد ها باید کجای کد های سایت اضافه بشن.
بعدم اصلا نمی خواهد مثل فلش که وقتی فونت اضافه می کنیم باید نوشته ها از همان فونت استفاده کنند اینجا هم نوشته ها فونتشان تنظیم شود اگر بله چگونه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

samansad
دوشنبه 03 دی 1386, 09:45 صبح
راستی میخواهم فونت traffic لود بشه اگر مثال می زنید با این فونت بزنید
بازم تشکر می کنم که به من جواب دادید

Poorang
دوشنبه 03 دی 1386, 10:19 صبح
باید تو Style ازش استفاده کنی. اگه CSS داری (که احتمالا داری) باید تو اون ازش استفاده کنی)
من که برات مثال گذاشتم.
به جای


http://valid_url/some_font_file.eot

باید مسیر جایی که فونتت رو آپلود کردی رو بذاری!!!

samansad
دوشنبه 03 دی 1386, 10:26 صبح
راستی میخواهم فونت traffic لود بشه اگر مثال می زنید با این فونت بزنید
بازم تشکر می کنم که به من جواب دادید

samansad
دوشنبه 03 دی 1386, 10:41 صبح
نمی شه نمیشه میشه
دستت درد نکنه ولی در CSS هم اضافه می کنم بازم جواب نمیده

oxygenws
دوشنبه 03 دی 1386, 11:02 صبح
دستت درد نکنه ولی در CSS هم اضافه می کنم بازم جواب نمیده
رو اکثر مرورگر ها کار نمی کنه!

من فایرفاکس ۲ و ۳ و اپرا ۹.۵ و اینترنت اکسپلورر ۶ رو تست کردم :) (البته اینا تقریبا شد همهء مرورگر ها :) ) رو هیچ کدوم کار نکرد :)

این صفحه رو تا چند دقیقه دیگه ببین تا ببینی تو چه مرورگر هایی چه شکلی نمایش داده میشه!
http://browsershots.org/http://home.tiscali.nl/developerscorner/fdc-varia/font-embedding.htm

oxygenws
دوشنبه 03 دی 1386, 11:11 صبح
صفحهء فوق کامل شد و روی هیچ کدوم از مرورگر های معروف و پر کاربرد کار نکرد :)

rezamizbani
دوشنبه 03 دی 1386, 11:18 صبح
بخاطر معرفی این سایت مرسی http://browsershots.org/ ! من خیلی دنبال یه همچین سایتی گشتم !!

samansad
دوشنبه 03 دی 1386, 11:34 صبح
آقا دستتون درد نکنه واقا متشکرم حل شد

oxygenws
دوشنبه 03 دی 1386, 11:37 صبح
آقا دستتون درد نکنه واقا متشکرم حل شد
چی حل شد؟؟ :O

samansad
سه شنبه 04 دی 1386, 08:23 صبح
آره فقط نکتش این بود که باید در CSSحتما اسم fontfamily با اسم فونتت یکی بشه
بازم دستتون درد نکنه

oxygenws
سه شنبه 04 دی 1386, 20:48 عصر
آره فقط نکتش این بود که باید در CSSحتما اسم fontfamily با اسم فونتت یکی بشه
بازم دستتون درد نکنه
ولی تست های فوق که روی هیچ مرورگری پاسخ نداد!!!! (پست شمارهء ۱۵)

samansad
دوشنبه 10 دی 1386, 09:14 صبح
نه من روی IE و Mozila تست کردم و کاملا داره کار میکنه آدرس سایتی که دارم روش کار میکنم: www.farsscout.com (http://www.farsscout.com) می تونی بری چک کنی ببینی که درست است یا نه
من فونت Traffic استفاده کردم

oxygenws
دوشنبه 10 دی 1386, 10:41 صبح
نه من روی IE و Mozila تست کردم و کاملا داره کار میکنه آدرس سایتی که دارم روش کار میکنم: www.farsscout.com (http://www.farsscout.com/) می تونی بری چک کنی ببینی که درست است یا نه
من فونت Traffic استفاده کردم
نه، شما این فونت رو از رو سیستم خودت پاک کن و بعد تست کن!!!
روی هیچ مرورگری درست نمایش نمی ده، من خودم روی مرورگر هایی که داشتم تست کردم و تو ساید فوق هم دادم:
http://browsershots.org/http://www.farsscout.com/

samansad
دوشنبه 10 دی 1386, 10:53 صبح
چیییییییییییییییییییییییی یییییی من این سایت بیش از 20 کامپیوتر که فونت نداشته باشن تست کردم کاملا جواب داد مطمئن هستید که جواب نمیده؟؟؟؟؟؟؟؟؟؟؟؟؟
شاید ایراد از PC شماست می تونید رو یک کامپیوتر دیگه هم تست کنید؟؟؟؟

oxygenws
دوشنبه 10 دی 1386, 11:40 صبح
شاید ایراد از PC شماست می تونید رو یک کامپیوتر دیگه هم تست کنید؟؟؟؟
این قضیه اصولا به PC مربوط نیست و به مرورگر و طریقهء رندر کردن اون بستگی داره.

ضمن اینکه سایت ذکر شده هم حرف منو اثبات می کنه :)

samansad
دوشنبه 10 دی 1386, 11:43 صبح
آقا حق با شماست من اشتباه می کردم. بازم دستت درد نکنه که گفتید
ولی آخه یعنی هیچ راحی نداره خیلی مسخره میشه که. خاک بر سر سازنده های این مرورگر ها

sweb
سه شنبه 11 دی 1386, 14:52 عصر
من همون اول گفتم که این راه استاندارد نیست مثل اینکه پست منو کسی ندیده ... :لبخند:


خاک بر سر سازنده های این مرورگر ها

خب این چیزیه که به مرور زمان درست میشه اگه برای تعیین استاندارد ها اینقدر تک روی وجود نداشت و W3 تمامی استاندارد هارو تعریف کنن و IE، Safari یا و... طبق این استاندارد ها کار کنن و یک رفرنسی پدید بیاد که همه ی مرور گرا ازش تبعیت کنن بدون اینکه گزینه ای اختصاصی داشته باشند دیگه همچین حرفی زده نمیشه ولی خب همچین چیزیم بعیده !!!

یکی از راهکارشم استفاده از یک موتور پردازنده HTML، CSS و Javascript مشترک (مثل Gecko) که خب فعلاً که کسی این کارو نکرده... اگر Mozilla قدرتمند تر شه شاید این امر صورت بگیره ... البته تا زمانی که IE زندست، با سابقه تاریخی Microsoft (مقابله با جنبش های نرم افزاری آزاد) زیره همچین ننگی نمیره

samansad
چهارشنبه 12 دی 1386, 10:57 صبح
سلام دوستان عزیز کاملا حق با همه شماست. باز هم من اشتباه کردم چرا که این مشکل در IE 4 به بعد حل شده اما دیگر مرورگر ها این مسئله را هنوز حل نکردن. پس باز هم مایکروسافت یک قدم از همه جلوتر است.
در یکی از جواب هایی که در صفحات قبل داده شده یک نکته ظریف وجود داره و او اینه که بجای استفاده از فونت مسیر به یک فایل با پسوند eot اشاره شده اما اون دوست عزیز هیچ راهنمایی در موردش نکردن (چرا؟ نمی دانم).
این مسئله نظر من را جلب کرد و باعث شد که من بتونم را حل این مشکل را پیدا کنم.
این جواب در حدی معتبر است که روی کامپیوتری که فارسی ندارد می توان با ارسال فونت های مریم(F_XXX) فارسی را نمایش داد.
این راه حل کاملا در مسیر زیر قابل رویت است:
http://weblog.alvanweb.com/2005/02/24/downloadable-fonts/
در ضمن این راح حل کاملا تست شده و دقیقا کار می کند.

oxygenws
چهارشنبه 12 دی 1386, 11:08 صبح
این مشکل در IE 4 به بعد حل شده اما دیگر مرورگر ها این مسئله را هنوز حل نکردن. پس باز هم مایکروسافت یک قدم از همه جلوتر است.
حداقل روی دو تا IE6 رو دو تا سیستم مختلف جواب نمی ده اینجا!!

samansad
پنج شنبه 13 دی 1386, 10:41 صبح
یک نکته که احتمالا رعایت نکردین.
صفحه ای که با این تکنولوژی ساخته می شود نباید unicode باشد این خیلی خیلی مهم است.
در ثانی وقتی می خواهید فایلeot را بسازید حتما باید در مکانی ساخته شود که می خواهید در آنجا قرارش دهید یعنی نمی شود روی کامپیوتر خودتان بسازیدش بعد روی سرور لودش کنید. اگر این دو نکته دقیقا رعایت شود حتما حتما جواب می دهد.

Poorang
پنج شنبه 13 دی 1386, 13:57 عصر
بله فونتها باید از نوع eot باشه. میشه Convert کردشون.
فکر میکردم واضحه!!

oxygenws
پنج شنبه 13 دی 1386, 17:23 عصر
فرقی نمی کنه، صفحه ای که نمونه گذاشته بود از eot استفاده کرده و حرف هایی که زدم بر اساس اون صفحه بود، ضمن اینکه توی specification و راهنما ها چیزی مبنی بر eot بودن ندیدم!