PDA

View Full Version : حرفه ای: استفاده از فونت های اضافه شده به Resource



amirzandi
چهارشنبه 24 اسفند 1390, 10:13 صبح
سلام...

من دنبال یک راه حلی هستم که بتونم فونت را در Resource اضافه کنم و در فرم ها ازشون استفاده کنم.

البته می دونم که با استفاده از Setup Wizard می تونم خیلی راحت Font Folder را به application اضافه کنم ، ولی تمایلی به استفاده از این روش ندارم.

لطفا اگر کسی تجربه این کار را داره، کمک کنه!

ممنون

parsaid
چهارشنبه 24 اسفند 1390, 11:32 صبح
دوستان عزیز ... لطفاً کمک کنین

Heidari66
چهارشنبه 24 اسفند 1390, 12:24 عصر
اینجا رو ببینید کارتونو راه میندازه...
البته به سی شارپه

http://stackoverflow.com/questions/2928383/use-resource-font-directly-in-vb-net-c

amirzandi
چهارشنبه 24 اسفند 1390, 12:35 عصر
ممنون از شما

این هم کد VB
Imports System.Drawing
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Drawing.Text

Public Class Form1
Private myFonts As PrivateFontCollection
Private fontBuffer As IntPtr
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
InitializeComponent()
If myFonts Is Nothing Then
myFonts = New PrivateFontCollection()
Dim font As Byte() = My.Resources.BarcodeFont
fontBuffer = Marshal.AllocCoTaskMem(font.Length)
Marshal.Copy(font, 0, fontBuffer, font.Length)
myFonts.AddMemoryFont(fontBuffer, font.Length)
End If
Me.Label1.Font = New Font(myFonts.Families(0), 40)
Me.Label1.Text = "BarnameNevis.org"

End Sub
End Class

amirzandi
چهارشنبه 24 اسفند 1390, 13:08 عصر
ولی یک ایراد داره ، وقتی Application روی سیستمی که این فونت رو نداره نصب می شه ، این فونت کار نمی کنه....

amirzandi
پنج شنبه 25 اسفند 1390, 12:11 عصر
کسی نیست کمک کنه؟؟؟؟؟؟

Heidari66
پنج شنبه 25 اسفند 1390, 13:48 عصر
ببین کنرلی که میخواهی تغییر فونت بدی رو انتخاب کن بعد UseCompatibleTextRendering رو True کن


Label1.UseCompatibleTextRendering = True