How to use resource font directly without saving font in local file system for standalone application[desktop application] in VB.net/C#?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
That’s possible, you’ll need to use the PrivateFontCollection.AddMemoryFont() method. For example, I added a font file named “test.ttf” as a resource and used it like this:
Do note that the
fontBuffervariable is static intentionally. Memory management is difficult when you use AddMemoryFont(), the memory needs to remain valid as long as the font can be used and the PrivateFontCollection is not yet disposed. Be sure not to call Marshal.FreeCoTaskMem() if you don’t have that guarantee, it is a very common bug that causes very hard to diagnose text corruption. You only get an AccessViolationException when you are lucky. Keeping it valid for the life of the program is the simple solution.