无论是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。
答案 0 :(得分:0)
在C#中你可以通过调用FontFamily.IsStyleAvailable
来实现答案 1 :(得分:0)
我知道问题很老,我遇到了同样的问题,解决方案在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