PDA

View Full Version : سوال: استفاده کردن از قلم اختصاصی در سیستم دیگر!



mbshareat
پنج شنبه 15 مهر 1389, 19:46 عصر
من خوام از قلم Traditional Arabic برای عبارت حاوی اعراب استفاده کنم (راستش هیچ فونت مناسب دیگه ای پیدا نکرد ولی چند تا مجموعه فونت دانلود کردم که هنوز ندیدم)
شاید این فونت تو سیستم دیگه که می خوام برنامه رو بدم اجرا کنن نباشه.:اشتباه:
ببخشید سوال آسون می پرسم: می خوام بدونم چطور می تونم برای برنامه تعریف کنم که قلم رو از فایل کنار برنامه بخونه؟:متفکر:
-----
به ذره گر نظر لطف بو تراب کند *** به آسمان رود و کار آفتاب کند

رها
پنج شنبه 15 مهر 1389, 20:05 عصر
سلام
می تونی اول برنامه چک کنی اکه فونت نصب نبود، نصبش کنه برای اینکه هربار تست نکنی یه جایی یه متغیر تنظیم کن که اگه یه بار نصب کردی دیگه دنبالش نگرده.

tdkhakpur
پنج شنبه 15 مهر 1389, 23:00 عصر
ببخشید سوال آسون می پرسم: می خوام بدونم چطور می تونم برای برنامه تعریف کنم که قلم رو از فایل کنار برنامه بخونه؟

میتوانید در مسیر جایر فونت خودتان را قرار بدید و با تابغ زیر آنرا فعال کنید.
مثال برای tahoma


AddFontResource('tahoma.fon');

mbshareat
پنج شنبه 15 مهر 1389, 23:30 عصر
با سلام و عرض ارادت
جناب رها (http://barnamenevis.org/forum/member.php?u=6411) چطور تست کنم فونت از قبل در جدول فونت ویندوز هست یا نه؟
(نکنه باید Screen.Fonts رو بررسی کنم؟:چشمک:)
جناب tdkhakpur (http://barnamenevis.org/forum/member.php?u=99732) می شه بگین این دستور فونت رو نصب می کنه یا فقط برای استفاده موقتی برنامه تعریف می کنه؟
این توضیح کد شماست که به نظر می رسه معنیش اینه که قلم رو نصب می کنه اما باید پیغام برای سایر پنجره ها هم ارسال بشه که فونت نصب شده(آیا ضروریه؟):لبخند:

The AddFontResource function adds the font resource from the specified file to the Windows font table. The font can subsequently be used for text output by any Windows-based application.

int AddFontResource(

LPCTSTR lpszFilename // pointer to font-resource filename
);


Parameters

lpszFilename

Pointer to a null-terminated character string that contains a valid font file filename. The filename may specify either a .FON font resource file, a .FNT raw bitmap font file, a .TTF raw TrueType file, or a .FOT TrueType resource file.



Return Values

If the function succeeds, the return value specifies the number of fonts added.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Any application that adds or removes fonts from the Windows font table should notify other windows of the change by sending a WM_FONTCHANGE message to all top-level windows in the operating system. The application should send this message by calling the SendMessage function and setting the hwnd parameter to HWND_BROADCAST.
When an application no longer needs a font resource that it loaded by calling the AddFontResource function, it must remove the resource by calling the RemoveFontResource function.

See Also

RemoveFontResource, SendMessage

tdkhakpur
جمعه 16 مهر 1389, 00:16 صبح
جناب tdkhakpur (http://barnamenevis.org/forum/member.php?u=99732) می شه بگین این دستور فونت رو نصب می کنه یا فقط برای استفاده موقتی برنامه تعریف می کنه؟


مگه بجز برنامه خودتان باید فکر برنامه های ویندوز هم باشید؟!! این کد فقط برای برنامه جاری شما فونت رو فعال میکنه.


این توضیح کد شماست که به نظر می رسه معنیش اینه که قلم رو نصب می کنه اما باید پیغام برای سایر پنجره ها هم ارسال بشه که فونت نصب شده(آیا ضروریه؟):لبخند:


چه میدونم برنامه رو شما مینویسی از ما چرا میپرسی! مثل شما :لبخند:

رها
یک شنبه 18 مهر 1389, 23:11 عصر
جناب رها (http://barnamenevis.org/forum/member.php?u=6411) چطور تست کنم فونت از قبل در جدول فونت ویندوز هست یا نه؟
(نکنه باید Screen.Fonts رو بررسی کنم؟:چشمک:)
بله درسته یه چیزی شبیه کد زیر :

if Screen.Fonts.IndexOf('Tahoma') <> -1 then
ShowMessage('Font Installed');