PDA

View Full Version : سوال: نصب فونت



ghanbari.saeed
سه شنبه 28 اردیبهشت 1395, 12:26 عصر
سلام. یک سوال در مورد نصب فونت روی سیستم مقصد داشتم. برنامه من از فونت arabic استفاده می کند . در هنگام ساخت فایل Setup بوسیله ویژوال استودیو پوشه font هم اضافه کردم و این فونت هم درون ان قرار دادم . این برنامه بعد از نصب روی سیستم خودم به خوبی کار می کند . ولی در سیستم دیگر با این که فونت مورد نظر اگر در سیستم مقصد نباشد نصب می شود و در لیست فونت های سیستمی قرار می گیرد اما فونت برنامه نصبی من به Microsoft Sans Serif تغییر پیدا می کند در صورتی که من فونت را به arabic تنظیم کرده ام و ظاهر برنامه به هم می ریزد . کسی می تواند در باره این مشکل به من کمک کند؟

nurani
سه شنبه 28 اردیبهشت 1395, 19:57 عصر
ببین دوست عزیز حتی اگر به جواب رسیدی باز من میگم این روش صحیح نیست چون خودم از یک فونت در یک برنامه استفاده کردم و وقتی در دومین برنامه از همان فونت استفاده کنم با اینکه فونت در برنامه دوم نصب شد یعنی یه جورایی جایگزین فونت قبلی میشه و در برنامه اولی مشکل نمایش بوجود میاد پیگیر مشکل شدم و به این نتیجه رسیدم که بهترین راه اینه فونت رو تبدیل به رشته کنی و از طریق رشته فراخوانی و بدون اینکه فونت رو در تمامی سیستم ها نصب کنی ازش استفاده کنی فقط یه مشکل کوچک پیش میاد و اگه مسیر فونت در درایو سیستم باشد برنامه نیاز به اجرا توسط ادمین است به همین خاطر من فونت رو در پوشه اسناد یوزر قرار میدهم تا بدون مشکل فونت فراخوانی میشه
اینم نمونه
using System.Drawing.Text;

//برای بارگزاری فونت از آدرس
PrivateFontCollection pfc = new PrivateFontCollection();
FontFamily[] fontFamilies;

//آدرس پوشه اسناد
string path = Environment.GetFolderPath(Environment.SpecialFolde r.MyDocuments);

//برای بارگزاری فونت از آدرس
pfc.AddFontFile(path + @"\Font\KFGQPC.ttf");
fontFamilies = pfc.Families;
txtbox.Font = new Font(fontFamilies[0], 20, FontStyle.Regular);