我正在寻找一种使用VB从字体文件中读取某些嵌入式属性的解决方案。 NET(.ttf,.otf等)。如果有Windows(或其他)API可以提供帮助,我一直找不到它。
使用High-Logic Font Creator创建和修改字体时,软件会读取并显示字体文件中的许多属性,包括以下内容:
IDENTIFICATION :FontFamily,FontSubfamily,FontWidth,FontWeight,ItalicAngle,IsBold,Isalic,FontRevision,Created,Modified,FullFontName,VersionString,UniqueFontIdentifier,PostScriptName
扩展:TypographicFamily,TypographicSubfamily,WWSFamily,WWSSubfamily,PostScriptCIDFindfontName,CompatibleFull,SampleText,Underscore,Strikeout,Negative,Outlined,Oblique,OpticalSize,OpticalSizeFrom,OpticalSizeTo
法律:版权声明,商标,描述,许可协议,许可URL,EmbeddingLicenseRights,NoSubsetting,BitmapEmbeddingOnly,VendorID,Vendor,VendorURL,Designer,DesignerURL
自定义:([LanguageID,NameID,内容]的列表)
GENERAL :版本,UnitsPerEm,RecSiz_SubHoriz,RecSiz_SubVert,RecSiz_SubXOffset,RecSiz_SubYOffset,RecSiz_SuperHoriz,RecSiz_SuperVert,RecSiz_SuperXOffset,RecSiz_SuperYOffset,FontHeaderFlags, StrikeoutPos,StrikeoutThickness,UnderlinePos,UnderlineThickness,CaretOffset
度量标准:TypoAscender,TypoDescender,TypoLineGap,WinAscent,WinDescent,Ascender,Descender,LineGap,CalcMin,xHeight,CapHeight
范围:PanoseValue,FontFamilyClass,FontFamilySubClass
平滑:([限制,标准,ClearType]的列表)
我已经能够从Font对象的FontFamily属性中读取一些Metrics属性;通过gdi32 API中的SelectObject和GetFontUnicodeRanges方法,我还能够读取给定字体中包含哪些代码点。我还没有找到一种从字体读取上面列出的其他属性的方法。我还没有找到一种读取特定字形数据的方法(例如,选定字形的前导空间或矢量点)。
有什么建议吗?