PDA

View Full Version : مبتدی: نصب فونت



sinarahimpoor
جمعه 13 بهمن 1391, 21:22 عصر
سلام دوستان یه مشکل نسبا ساده کمی هم گنگ

من تو برنامه که نوشتم از فونت ب نازنین استفاه کردم

میخام برنامه تو لودش چک کنه که این فونت موجوده یا نه در صورتی که موجود نبود اونو نصب کنه

با vb.net 2010

باور کنید کل نت رو گشتم اما تو این یه هفته هیچ نتیجه ای نگرفتم

در ضمن برنامه پرتابل هستش و نمی خام از فایل سثفعح استفاده کنم

xxnagin
جمعه 13 بهمن 1391, 21:37 عصر
سلام
http://stackoverflow.com/questions/113989/test-if-a-font-is-installed
که شما نام فونت رو تو تکسباکس مینویسی بعد روی دکمه و نمایش رو برچسب


Private Function IsFontInstalled(fontName As String) As Boolean
Using testFont = New Font(fontName, 8)
Return 0 = String.Compare(fontName, testFont.Name, StringComparison.InvariantCultureIgnoreCase)
End Using
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim fontName As String = TextBox1.Text
Dim fontSize As Integer = 12
Dim fontTester As Font = New Font(fontName, fontSize, FontStyle.Regular, GraphicsUnit.Pixel)
If fontTester.Name = fontName Then
Label1.Text = "Font exist"
Else
Label1.Text = "Font doesn't exist"

End If
End Sub

sinarahimpoor
جمعه 13 بهمن 1391, 23:18 عصر
ممنون از پاسختون

اما واسه نصب فونت ها باید چی کار منم؟؟؟

Dr.Bronx
جمعه 13 بهمن 1391, 23:35 عصر
باید فونت رو توی C:\Windows\Fonts کپی کنید .

کاره دیگه ای لازم نیست انجام بدید .

فقط قبلش چک کنید که ویندوز در همون درایو قرار داشته باشه .

موفق باشید ./

shahryari
شنبه 14 بهمن 1391, 09:59 صبح
شما میتوانید در مسیر اجرایی برنامه یک پوشه بذارید و فونت مورد نظر را در این پوشه قرار بدید و با کد زیر در پوشه فونت ویندوز کپی کنید:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim FontDir As String = Environment.GetEnvironmentVariable("windir") & "\Fonts"
Dim fontPath As String = Application.StartupPath & "\font"
Dim font_name As String = "\tahoma.ttf"
If IO.File.Exists(fontPath & font_name) Then
IO.File.Copy(fontPath & font_name, FontDir & font_name, True)
End If
Process.Start(FontDir)
End Sub

Hossis
شنبه 14 بهمن 1391, 16:44 عصر
شما میتوانید در مسیر اجرایی برنامه یک پوشه بذارید و فونت مورد نظر را در این پوشه قرار بدید و با کد زیر در پوشه فونت ویندوز کپی کنید:
با این روش, ادمین ویندوز ایراد نمی گیره؟؟ چون نصب فونت در ویندوز هفت نیاز به مجوز ادمین داره!
من یک کدی داشتم که فونت رو در زمان اجرا, نصب می کرد که فقط برنامه خودم می تونست از این فونت استفاده کنه
این هم یک راهه

asghar2008
شنبه 14 بهمن 1391, 18:14 عصر
با این روش, ادمین ویندوز ایراد نمی گیره؟؟ چون نصب فونت در ویندوز هفت نیاز به مجوز ادمین داره!
من یک کدی داشتم که فونت رو در زمان اجرا, نصب می کرد که فقط برنامه خودم می تونست از این فونت استفاده کنه
این هم یک راهه

برای نصب هر برنامه ای با نوع کاربری user Limited در Win7 نیاز به مجوز هست.فرقی نمیکنه فونت نصب کنی یا یه برنامه دیگه!!

معمولا برای نصب نرم افزار از Admin استفاده میشه.و کد دوستمون shahryari روش خوبی برای نصب فونت است.