How do I set button font to Marlett

Though I do not know what code is behind the designer, I have always found that custom installed fonts do not show up in the designer. The good news is that the Font property is ambient so if you wanted all controls to have the same Font you would only have to set it at the Form. However, it seems like you just want one control to have the Font so let's do this:

ctrl.Font = new Font("Marlett", 8.5f);

which will set that control's Font to Marlett and a size of 8.5 for example.

If you wanted an entire set of controls to have the same Font, if they can be placed in a container like a Panel, then you would only have to set the Font of the Panel; because again, it's an ambient property.


   button1.Font = new Font("Marlett",8, FontStyle.Regular);

put this code for your button name Button1 , where you want change ( in from constrcutor after iinitializecomponet or in form Load event )


It would seem that the designer by default wants to set the GdiCharSet to 0. This causes the Marlett font to fall back to another font.

If you change the GdiCharSet to 1 it will render normally.

Also note the changes it makes in the .designer.cs, this will also explain why it did work when you would set the font manually from code.