PDA

View Full Version : استفاده از هر فونت بدون وابستگی به سیستم



shayan_delphi
جمعه 18 آذر 1384, 08:53 صبح
بنام خدا
سلام
طریقه قرار دادن فونت درون خود برنامه. روش کار:
اول برای سهولت در استفاده یک کپی از فایل Brrcc32.exe (در مسیر نصب دلفی شاخه Bin)
و یک کپی از فایل فونت (مثلا Btraffic) در شاخه پروژه خودتان بگذارید.
داخل NotPad این خط را بنویسید: MyFont Font1 "Btraffic.ttf" و فایل را به اسم Font با پسوند rc. ذخیره کنید.
حالا در حالت داس به این شاخه پروژه بروید و این دستور را در خط فرمان بنویسید:
Brcc32 Font.rc و اینتر بزنید!!!
فایل Font.res ایجاد شد. خوب در یونیت فرم مورد نظر این خط مربوط به کامپایلر را اضافه کنید:

{$R Font.res}

در متد OnCreate فرم هم بنویسید:

procedure TForm1.FormCreate(Sender: TObject);
var
Res : TResourceStream
Begin
Res := TResourceStream.Create(HInstance,'MyFont',Pchar('F ont1') Res.SaveToFile('BTraffic.ttf');
Res.Free;
AddFontResource(Pchar('BTraffic.ttf'));
SendMessage(HWND_BROADCAST,WM_FONTCHANGE,0,0);
End;
برای پاک کردن فونت موقع خروج هم این دستور را بنویسید:


procedure TForm1.FormDestroy(Sender: Tobject);
begin
DeleteFile('BTraffic.ttf');
end;
حالا هر جا و برای هر شی که می خواهید فونت را استفاده کنید.مثلا در OnCreate فرم فونت را به فونت فرم نسبت بدید تا همه اشیا روی فرم از اون ارث ببرند.

Self.Form1.Font.Name := 'BTraffic';

Mahdi_S_T
یک شنبه 18 دی 1384, 08:52 صبح
اسم اینو بدون وابستگی نمیشه گذاشت چون اگه ویندوز انگلیسی باشه دیگه کارایی نداره !

shayan_delphi
یک شنبه 18 دی 1384, 18:17 عصر
خوب این کار برای برای ویندوزهای فارسی عملیه که مشکل فونت دارند نه ویندوز که کامل انگلیسیه!!

MiRHaDi
سه شنبه 20 دی 1384, 01:12 صبح
سلام
دست شما درد نکنه
البته گاهی سیستم من جوری شده که دیگه فونتی که روش نصب میکنم نمیاد و غیر قابل استفاده میشه ! تو اون حالت میدونید مشکل رو چجوری میشه حل کرد ؟
تشکر
بای

mzjahromi
سه شنبه 20 دی 1384, 09:43 صبح
من برای گزارشهام از فونت Lotus استفاده میکنم ولی تو بعضی از ویندوزها مثل سرویس پک 2 این فونت رو باز نمی کنه و Arial میزنه. کسی راه حلی برای این کار داره؟

MiRHaDi
پنج شنبه 22 دی 1384, 01:29 صبح
سلام
عزیزم Service Pack 2 با فونت های قدیمی مشکل داره !
باید از فوونتهای سری B یا S استفاده کنی که اونا هم کلا زیبایی قبل رو ندارند
من حتی فونتهای قدیمی رو به جدید کانورت کردم ولی کیفیتش شد مثل سری B
فعلا راه حلی نیست
بای

SATTAR
چهارشنبه 12 بهمن 1384, 14:56 عصر
این کار تو ویندوزی که فارسی روش نصب نیست کارایی نداره.

shayan_delphi
چهارشنبه 12 بهمن 1384, 21:13 عصر
خوب این کار برای برای ویندوزهای فارسی عملیه که مشکل فونت دارند نه ویندوز که کامل انگلیسیه!!

MiRHaDi
دوشنبه 24 بهمن 1384, 10:59 صبح
سلام
دیگه الان ویندوزی که کاملا انگلیسی باشه از رده خارج حساب میشه !
ویندوز 95 دیگه مال زمان دایاناسورهاست
اگه از کامپاننتهای UniCode Sopport استفاده کنین تو همه ویندوز های بالای 2000 به راحتی جوابگو هست
یا علی
بای

Mahmood_M
جمعه 19 اسفند 1384, 22:36 عصر
اگه از کامپاننتهای UniCode Sopport استفاده کنین تو همه ویندوز های بالای 2000 به راحتی جوابگو هست
یا علی

دوست عزیز شما لینک دانلود این کامپوننت رو سراغ ندارید؟

دنیای دلفی
جمعه 01 اردیبهشت 1385, 09:16 صبح
ماندد TNT Components

dkhatibi
شنبه 02 اردیبهشت 1385, 12:31 عصر
می تونید کامپوننتهای رایگان را از سایت زیر Download کنید.
http://www.tntware.com/