[英]How to determine if a Windows OS font would support bold or italic
您如何確定特定字體是否支持粗體或斜體,而不管它是 True Type 還是 Type 1? 我有以下與嵌入 Flex 字體問題相關的場景:
我的問題是,Flex 是如何知道所有這些的? 我一直在搜索 C# 和 Java 庫,但它們似乎都沒有提供我需要的東西。 或者顯然,我看起來不夠努力。 無論如何,是否有 Java 或 C# 中的類可以為我提供一些簽名,例如:
Font unknownFont = Font.getFontFromAnyDirectory("Unknown2.ttf"); unknownFont.supportsAnyStyleCalled(Font.BOLD);//返回false。 unknownFont.supportsAnyStyleCalled(Font.ITALIC);//返回true。 // unknownFont = Font.getFontFromAnyDirectory("Unknown3.ttf"); unknownFont.supportsAnyStyleCalled(Font.BOLD);//返回true。 unknownFont.supportsAnyStyleCalled(Font.ITALIC);//返回false。
在 C# 中,您可以通過調用FontFamily.IsStyleAvailable 來實現
我知道這個問題很老了,我遇到了同樣的問題,解決方案在C# get font style from .ttf 中說明。
您可以使用:
GlyphTypeface ttf = new GlyphTypeface(new Uri(@"C:\Windows\Fonts\calibrii.ttf"));
Debug.Print(ttf.Style.ToString()); //=Italic or Normal
Debug.Print(ttf.Weight.ToString()); //=Bold or Normal
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.