C# 訪問OTF字體
c#fonts
C# 訪問OTF字體,c#,fonts,,C#,Fonts,,我嘗試使用系統上安裝的OTF字體,但失敗: = new ();我試圖在系統中列出我的所有字體,但實際上我沒有看到所需的字體: ( font in ...){.(font);}但是我可以在字體文件夾中看到我的字體。它有OTF擴展。也許這就是問題所在?我只能看到TTF字體
我嘗試使用系統上安裝的OTF字體pdf無法找到創建字體,但失敗:
FontFamily family = new FontFamily(name_for_my_font);
我試圖在系統中列出我的所有字體,但實際上我沒有看到所需的字體:
foreach (FontFamily font in System.Drawing.FontFamily.Families)
{

Console.WriteLine(font);
}
但是我可以在字體文件夾中看到我的字體。它有OTF擴展。也許這就是問題所在?我只能看到TTF字體。但是為什么呢?如何從程序中訪問OTF字體
更新:很抱歉,問題在于OTF訪問pdf無法找到創建字體,而不是TTF!我在回答中做了更正,嘗試使用..Text.ion。問題是字體有幾種風格,一種基于輪廓,另一種基于 Type 1輪廓。 GDI+圖形API不支持類型1大綱。這有點諷刺,因為字體格式是由微軟創建的,因為它無法從蘋果公司獲得某些字體技術的許可
因此,如果應用程序基于GDI+,它將無法呈現具有 type 1輪廓或 type 1字體的字體。不幸的是,
System.Drawing
是使用GDI+實現的。您唯一的選擇是堅持使用輪廓的字體
(或者,如果您真的感到絕望,您可以p/調用“”GDI并將字體渲染成位圖。)
1)這如何幫助我訪問OTF字體?2) 我也不能用你的方法看到我的字體。這仍然是一個很好的答案,說明如何看到安裝的字體。我可能要去了,所以我很高興能夠列出字體。反過來,系統。繪圖只能處理字體,不能處理字體。哇!我對此一無所知。那么,我如何訪問我的OTF字體呢?有一個簡單和困難的解決方案。簡單的一點是停止使用字體,因為它們永遠不會在應用程序中工作。最困難的是扔掉你所有的東西,換成WPF。可能是重復的