mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-21 10:13:43 +03:00
0026611: Visualization, TKService - fix NULL-dereference in Font_FontMgr on broken font
Check FT_Face::family_name for NULL during detection. Skip fonts without mandatory UNICODE charset in Font_FontMgr.
This commit is contained in:
parent
4ce07e4ec6
commit
0b94a4f33d
@ -202,9 +202,14 @@ static Handle(Font_SystemFont) checkFont (const Handle(Font_FTLibrary)& theFTLib
|
|||||||
anAspect = Font_FA_Bold;
|
anAspect = Font_FA_Bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle(TCollection_HAsciiString) aFontName = new TCollection_HAsciiString (aFontFace->family_name);
|
Handle(Font_SystemFont) aResult;
|
||||||
Handle(TCollection_HAsciiString) aFontPath = new TCollection_HAsciiString (theFontPath);
|
if (aFontFace->family_name != NULL // skip broken fonts (error in FreeType?)
|
||||||
Handle(Font_SystemFont) aResult = new Font_SystemFont (aFontName, anAspect, aFontPath);
|
&& FT_Select_Charmap (aFontFace, ft_encoding_unicode) == 0) // Font_FTFont supports only UNICODE fonts
|
||||||
|
{
|
||||||
|
Handle(TCollection_HAsciiString) aFontName = new TCollection_HAsciiString (aFontFace->family_name);
|
||||||
|
Handle(TCollection_HAsciiString) aFontPath = new TCollection_HAsciiString (theFontPath);
|
||||||
|
aResult = new Font_SystemFont (aFontName, anAspect, aFontPath);
|
||||||
|
}
|
||||||
|
|
||||||
FT_Done_Face (aFontFace);
|
FT_Done_Face (aFontFace);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user