FXFT_Face CFX_FontMgr::AddCachedFace(const CFX_ByteString& face_name, int weight, FX_BOOL bItalic, FX_LPBYTE pData, FX_DWORD size, int face_index) { CTTFontDesc* pFontDesc = FX_NEW CTTFontDesc; if (!pFontDesc) { return NULL; } pFontDesc->m_Type = 1; pFontDesc->m_SingleFace.m_pFace = NULL; pFontDesc->m_SingleFace.m_bBold = weight; pFontDesc->m_SingleFace.m_bItalic = bItalic; pFontDesc->m_pFontData = pData; pFontDesc->m_RefCount = 1; FXFT_Library library; if (m_FTLibrary == NULL) { FXFT_Init_FreeType(&m_FTLibrary); } library = m_FTLibrary; int ret = FXFT_New_Memory_Face(library, pData, size, face_index, &pFontDesc->m_SingleFace.m_pFace); if (ret) { delete pFontDesc; return NULL; } ret = FXFT_Set_Pixel_Sizes(pFontDesc->m_SingleFace.m_pFace, 64, 64); if (ret) { delete pFontDesc; return NULL; } CFX_ByteString key(face_name); key += ','; key += CFX_ByteString::FormatInteger(weight); key += bItalic ? 'I' : 'N'; m_FaceMap.SetAt(key, pFontDesc); return pFontDesc->m_SingleFace.m_pFace; }
FX_BOOL CFPF_SkiaFontMgr::InitFTLibrary() { if (m_FTLibrary == NULL) { FXFT_Init_FreeType(&m_FTLibrary); } return m_FTLibrary != NULL; }
void CFX_FontMgr::InitFTLibrary() { if (m_FTLibrary) return; FXFT_Init_FreeType(&m_FTLibrary); m_FTLibrarySupportsHinting = FXFT_Library_SetLcdFilter(m_FTLibrary, FT_LCD_FILTER_DEFAULT) != FT_Err_Unimplemented_Feature; }
FX_BOOL CFX_Font::LoadFile(IFX_FileRead* pFile) { m_bEmbedded = FALSE; FXFT_Library library; if (CFX_GEModule::Get()->GetFontMgr()->m_FTLibrary == NULL) { FXFT_Init_FreeType(&CFX_GEModule::Get()->GetFontMgr()->m_FTLibrary); } library = CFX_GEModule::Get()->GetFontMgr()->m_FTLibrary; FXFT_Stream stream = NULL; if (!_LoadFile(library, &m_Face, pFile, &stream)) { return FALSE; } m_pOwnedStream = stream; FXFT_Set_Pixel_Sizes(m_Face, 0, 64); return TRUE; }
FXFT_Face CFX_FontMgr::FindSubstFont(const CFX_ByteString& face_name, FX_BOOL bTrueType, FX_DWORD flags, int weight, int italic_angle, int CharsetCP, CFX_SubstFont* pSubstFont) { if (m_FTLibrary == NULL) { FXFT_Init_FreeType(&m_FTLibrary); } if (m_pExtMapper) { FXFT_Face face = m_pExtMapper->FindSubstFont(face_name, bTrueType, flags, weight, italic_angle, CharsetCP, pSubstFont); if (face) { return face; } } return m_pBuiltinMapper->FindSubstFont(face_name, bTrueType, flags, weight, italic_angle, CharsetCP, pSubstFont); }
static FXFT_Face FT_LoadFont(FX_LPBYTE pData, int size) { FXFT_Library library; if (CFX_GEModule::Get()->GetFontMgr()->m_FTLibrary == NULL) { FXFT_Init_FreeType(&CFX_GEModule::Get()->GetFontMgr()->m_FTLibrary); } library = CFX_GEModule::Get()->GetFontMgr()->m_FTLibrary; FXFT_Face face; int error = FXFT_New_Memory_Face(library, pData, size, 0, &face); if (error) { return NULL; } error = FXFT_Set_Pixel_Sizes(face, 64, 64); if (error) { return NULL; } return face; }
FXFT_Face CFX_FontMgr::GetFileFace(FX_LPCSTR filename, int face_index) { FXFT_Library library; if (m_FTLibrary == NULL) { FXFT_Init_FreeType(&m_FTLibrary); } library = m_FTLibrary; FXFT_Face face = NULL; int ret = FXFT_New_Face(library, filename, face_index, &face); if (ret) { return NULL; } ret = FXFT_Set_Pixel_Sizes(face, 64, 64); if (ret) { return NULL; } return face; }
FXFT_Face CFX_FontMgr::GetFixedFace(FX_LPCBYTE pData, FX_DWORD size, int face_index) { FXFT_Library library; if (m_FTLibrary == NULL) { FXFT_Init_FreeType(&m_FTLibrary); } library = m_FTLibrary; FXFT_Face face = NULL; int ret = FXFT_New_Memory_Face(library, pData, size, face_index, &face); if (ret) { return NULL; } ret = FXFT_Set_Pixel_Sizes(face, 64, 64); if (ret) { return NULL; } return face; }
void CFX_FontMgr::InitFTLibrary() { if (m_FTLibrary == NULL) { FXFT_Init_FreeType(&m_FTLibrary); } }
FX_BOOL CFPF_SkiaFontMgr::InitFTLibrary() { if (!m_FTLibrary) FXFT_Init_FreeType(&m_FTLibrary); return !!m_FTLibrary; }