2009-12-15 36 views
5

Làm cách nào để có được đối tượng Font cho phông chữ hệ thống mặc định được thiết bị cụ thể sử dụng? Tôi đã nhận thấy rằng các thiết bị khác nhau có độ phân giải và DPI khác nhau, nhưng một số điều khiển của tôi đã xác định rõ phông chữ. Tôi muốn có thể nhận được phông chữ hệ thống mặc định khi chạy (như thể tôi chưa bao giờ thay đổi thuộc tính Font trên điều khiển).Làm thế nào để bạn nhận được phông chữ hệ thống mặc định trong khung công tác .NET.

Trả lời

5

Bạn đã xem xét System.Drawing.SystemFonts? Tôi nghĩ rằng nó có thể có những gì bạn cần.

https://msdn.microsoft.com/en-us/library/system.drawing.systemfonts.aspx

Chỉnh sửa: Tôi vừa nhận thấy thẻ CF. Bạn sẽ cần phải nhìn vào sổ đăng ký để có được thông tin phông chữ hệ thống.

https://msdn.microsoft.com/en-us/library/ms900747.aspx

+0

Bạn có ý tưởng nào về cách chuyển đổi giá trị trong sổ đăng ký thành đối tượng Phông chữ không? Đó là, làm thế nào để bạn chuyển đổi 'Ht' và 'Wt' thành các giá trị thích hợp cho hàm tạo Font? – Jason

+0

Vì Ht là pixel, bạn sẽ cần phải chuyển đổi nó: điểm = pixel * (72/dpi) Theo như Wt, tôi không chắc chắn. Phạm vi giá trị khá rộng. Bạn có thể phải chọn một cutoff và nói bất cứ điều gì dưới đây là bình thường và bất cứ điều gì ở trên là đậm. – TheHurt

Các vấn đề liên quan