mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-04-08 18:40:55 +03:00
0031468: Visualization - add public interface to return embedding a single fallback font
This commit is contained in:
parent
420f5c8682
commit
21095f2dc2
@ -21,8 +21,6 @@
|
|||||||
#include <Message.hxx>
|
#include <Message.hxx>
|
||||||
#include <Message_Messenger.hxx>
|
#include <Message_Messenger.hxx>
|
||||||
|
|
||||||
#include "Font_DejavuSans_Latin_woff.pxx"
|
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
@ -191,11 +189,8 @@ Handle(Font_FTFont) Font_FTFont::FindAndCreate (const TCollection_AsciiString& t
|
|||||||
aParams.ToSynthesizeItalic = true;
|
aParams.ToSynthesizeItalic = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
Handle(NCollection_Buffer) aBuffer = new NCollection_Buffer (Handle(NCollection_BaseAllocator)(),
|
|
||||||
Font_DejavuSans_Latin_woff_size,
|
|
||||||
const_cast<Standard_Byte*>(Font_DejavuSans_Latin_woff));
|
|
||||||
Handle(Font_FTFont) aFont = new Font_FTFont();
|
Handle(Font_FTFont) aFont = new Font_FTFont();
|
||||||
if (aFont->Init (aBuffer, "Embed Fallback Font", aParams, 0))
|
if (aFont->Init (Font_FontMgr::EmbedFallbackFont(), "Embed Fallback Font", aParams, 0))
|
||||||
{
|
{
|
||||||
aFont->myFontAspect = aFontAspect;
|
aFont->myFontAspect = aFontAspect;
|
||||||
return aFont;
|
return aFont;
|
||||||
@ -234,10 +229,7 @@ bool Font_FTFont::FindAndInit (const TCollection_AsciiString& theFontName,
|
|||||||
{
|
{
|
||||||
aParams.ToSynthesizeItalic = true;
|
aParams.ToSynthesizeItalic = true;
|
||||||
}
|
}
|
||||||
Handle(NCollection_Buffer) aBuffer = new NCollection_Buffer (Handle(NCollection_BaseAllocator)(),
|
return Init (Font_FontMgr::EmbedFallbackFont(), "Embed Fallback Font", aParams, 0);
|
||||||
Font_DejavuSans_Latin_woff_size,
|
|
||||||
const_cast<Standard_Byte*>(Font_DejavuSans_Latin_woff));
|
|
||||||
return Init (aBuffer, "Embed Fallback Font", aParams, 0);
|
|
||||||
}
|
}
|
||||||
Release();
|
Release();
|
||||||
return false;
|
return false;
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <Font_SystemFont.hxx>
|
#include <Font_SystemFont.hxx>
|
||||||
#include <Message.hxx>
|
#include <Message.hxx>
|
||||||
#include <Message_Messenger.hxx>
|
#include <Message_Messenger.hxx>
|
||||||
|
#include <NCollection_Buffer.hxx>
|
||||||
#include <NCollection_List.hxx>
|
#include <NCollection_List.hxx>
|
||||||
#include <NCollection_Map.hxx>
|
#include <NCollection_Map.hxx>
|
||||||
#include <OSD_Environment.hxx>
|
#include <OSD_Environment.hxx>
|
||||||
@ -27,6 +28,8 @@
|
|||||||
#include <Standard_Type.hxx>
|
#include <Standard_Type.hxx>
|
||||||
#include <TCollection_HAsciiString.hxx>
|
#include <TCollection_HAsciiString.hxx>
|
||||||
|
|
||||||
|
#include "Font_DejavuSans_Latin_woff.pxx"
|
||||||
|
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
IMPLEMENT_STANDARD_RTTIEXT(Font_FontMgr,Standard_Transient)
|
IMPLEMENT_STANDARD_RTTIEXT(Font_FontMgr,Standard_Transient)
|
||||||
@ -1035,3 +1038,14 @@ Handle(Font_SystemFont) Font_FontMgr::Font_FontMap::Find (const TCollection_Asci
|
|||||||
}
|
}
|
||||||
return Handle(Font_SystemFont)();
|
return Handle(Font_SystemFont)();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// =======================================================================
|
||||||
|
// function : EmbedFallbackFont
|
||||||
|
// purpose :
|
||||||
|
// =======================================================================
|
||||||
|
Handle(NCollection_Buffer) Font_FontMgr::EmbedFallbackFont()
|
||||||
|
{
|
||||||
|
return new NCollection_Buffer (Handle(NCollection_BaseAllocator)(),
|
||||||
|
Font_DejavuSans_Latin_woff_size,
|
||||||
|
const_cast<Standard_Byte*>(Font_DejavuSans_Latin_woff));
|
||||||
|
}
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
|
|
||||||
class Font_SystemFont;
|
class Font_SystemFont;
|
||||||
class TCollection_HAsciiString;
|
class TCollection_HAsciiString;
|
||||||
|
class NCollection_Buffer;
|
||||||
|
|
||||||
DEFINE_STANDARD_HANDLE(Font_FontMgr, Standard_Transient)
|
DEFINE_STANDARD_HANDLE(Font_FontMgr, Standard_Transient)
|
||||||
|
|
||||||
@ -158,6 +159,12 @@ public:
|
|||||||
//! Clear registry. Can be used for testing purposes.
|
//! Clear registry. Can be used for testing purposes.
|
||||||
Standard_EXPORT void ClearFontDataBase();
|
Standard_EXPORT void ClearFontDataBase();
|
||||||
|
|
||||||
|
//! Return DejaVu font as embed a single fallback font.
|
||||||
|
//! It can be used in cases when there is no own font file.
|
||||||
|
//! Note: result buffer is readonly and should not be changed,
|
||||||
|
//! any data modification can lead to unpredictable consequences.
|
||||||
|
Standard_EXPORT static Handle(NCollection_Buffer) EmbedFallbackFont();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
//! Creates empty font manager object
|
//! Creates empty font manager object
|
||||||
|
Loading…
x
Reference in New Issue
Block a user