PDA

View Full Version : سوال: Embedکردن فونت به برنامه



Bahar_HS
پنج شنبه 08 دی 1390, 21:28 عصر
با سلام،
در پروژه ای که نوشتم از یک فونت خاص فارسی(BYEKAN) استفاده کردم،وچون اعمال فونت فارسی به فرم ،فرم رو Resize می کرد،به تک تک Lableهای فرم این فونت رو اعمال کردم،
حالا می خوام حتما،نصب فونت رو از طریق خود برنامه انجام بدم،این لینک رو پیداکردم:
http://www.bobpowell.net/embedfonts.htm
وکد" فرم لود"این مثال رو برای فرم های برنامه نوشتم،ولی فونت اعمال نمیشه(باید یه جورایی این فونت به تمامی Lableهای همه ی فرم ها اعمال بشه)،
با ویژوال استودیو2005 و ویندوز7 کار می کنم،
نمونه کدهای موجود برای ویندوزXP درست کار می کنه،ولی برای ویندوز7 نه،
ممنون میشم دوستان راهنمایی کنند،چکاربایدبکنم؟

system32
پنج شنبه 08 دی 1390, 21:44 عصر
برای اینکه با تغییر فونت فرم فرمتون تغییر اندازه نده خاصیت AutoScaleMode را روی None قرار به و سپس فونت را تغییر بدهید.

Bahar_HS
جمعه 09 دی 1390, 15:13 عصر
باسلام،
حالا اگه بخوام دقیقا فایل فونت موردنظرم رو در سیستم مقصد نصب کنم،چه کار باید بکنم؟
فایل رو در فولدر فونت ویندوز کپی می کنم و همین طور ثبت در رجیستر ویندوز،البته این کار روی سیستم هایی با ویندوز xp جواب میده،ولی من با ویندوز7 کار می کنم و اجازه ی کپی کردن و ثبت در رجیستری رو به من نمیده،حتی وقتی که اجرا رو از RUNasDMINISTRATOR انجام میدم،این اررورها کلافه م کرده و این مسئله نقطه ی نهایی برنامه است،
چکار کنم تا برنامه روی همه ی ویندوزها بدون دردسر! :ناراحت: :ناراحت::ناراحت:فونت رو نصب(کپی)کنه؟؟:متفکر:

gwbasic
جمعه 09 دی 1390, 15:36 عصر
بطور معمول باید از طریق Setup فونتها رو نصب کنید. اما به هر دلیلی اگر نمی خواید این کارو انجام بدید می تونید فونتها رو داخل یک فولدر کنار برنامتون قرار بدید و یا embed کنید و از طریق PrivateFontCollection فونتها رو بدون نصب در برنامه استفاده کنید
از لینک زیر استفاده کنید
http://msdn.microsoft.com/en-us/library/y505zzfw.aspx

Bahar_HS
یک شنبه 11 دی 1390, 08:10 صبح
با سلام،
1)برای راحتی کاربر می خوام برنامه تحت سی دی باشه و کاربر چیزی رو نصب نکنه،
2)برنامه فونت رو نصب کنه،(شرایط پروژه طوریه که حتما باید فونت روی سیستم مقصد نصب بشه تا همه ی قسمت های برنامه صحیح کار کنه)
(یه سوال داخل پرانتزی!وقتی فونت رو از روی سیستم پاک می کنم و دوباره نصب می کنم،باید بعد از نصب یه بار دیگه هم فونتها رو برای Lableهای برنامه به صورت دستی تنظیم کنم!چکار کنم که بعد از نصب فونت،فونت موردنظر اتوماتیک به برنامه اعمال بشه!)
3)روی ویندوزهای مختلف هم کار کنه،
(کپی کردن فونت و ثبت رجیستری روی XP جواب می ده ولی روی 7 نه!)
ویه سوال دیگه،میشه همه ی این شرایط رو با هم توی برنامه داشت؟
راه حل دیگه ای برای این کار هست؟

Bahar_HS
یک شنبه 11 دی 1390, 16:45 عصر
دوباره سلام،
میشه این کار رو کرد؟
یه پروژه از نوع setup ایجاد کنم که فونتها و .NetFreamwork های لازم رو نصب کنه و بعد این پروژه رو(setup) روبه پروژه ی خودم اضافه کنم،و setup یه جوری پشت صحنه اجرا بشه(فرم های setup نمایش داده نشن)وبعد از نصب کامپوننت ها و فونت ها ،برنامه اصلی اجرا بشه،
امکانش هست؟
اگه شدنیه،راهنمایی هم می خوام(لطفا)!