FlatUI
An open source project by FPL.
 All Classes Namespaces Files Functions Variables Enumerations Groups Pages
font_manager.h File Reference
#include <set>
#include <sstream>
#include "fplbase/renderer.h"
#include "fplutil/mutex.h"
#include "flatui/font_buffer.h"
#include "flatui/font_util.h"
#include "flatui/version.h"
#include "flatui/internal/distance_computer.h"
#include "flatui/internal/glyph_cache.h"
#include "flatui/internal/flatui_util.h"
#include "flatui/internal/hb_complex_font.h"
#include "flatui/internal/hyphenator.h"

Go to the source code of this file.

Classes

class  flatui::FontManager
 FontManager manages font rendering with OpenGL utilizing freetype and harfbuzz as a glyph rendering and layout back end. More...
 
struct  flatui::ScriptInfo
 This struct holds the script information used for a text layout. More...
 
class  flatui::FontShader
 Helper class to handle shaders for a font rendering. The class keeps a reference to a shader, and a location of uniforms with a fixed names. A caller is responsive not to call set_* APIs that specified shader doesn't support. More...
 

Namespaces

 flatui
 Namespace for FlatUI library.
 

Macros

#define FLATUI_SYSTEM_FONT   (1)
 

Typedefs

typedef struct FT_LibraryRec_ * FT_Library
 
typedef struct FT_GlyphSlotRec_ * FT_GlyphSlot
 
typedef unsigned long FT_ULong
 
typedef const struct
hb_language_impl_t * 
hb_language_t
 

Variables

const int32_t flatui::kVerticesPerGlyph = 4
 
const int32_t flatui::kIndicesPerGlyph = 6
 The number of vertices/indices per a glyph entry.
 
const int32_t flatui::kGlyphCacheWidth = 1024
 The default size of the glyph cache width.
 
const int32_t flatui::kGlyphCacheHeight = 1024
 The default size of the glyph cache height.
 
const int32_t flatui::kGlyphCacheMaxSlices = 4
 The default size of the max glyph cache slices. The number of cache slices grows up to the value.
 
const char *const flatui::kDefaultLanguage = "en"
 The default language used for a line break.
 
const char *const flatui::kSystemFont = ".SystemFont"
 A constant to spefify loading a system font. Used with OpenFont() and SelectFont() API Currently the system font is supported on iOS/macOS and Android only.
 
static const HashedId flatui::kSystemFontId = HashId(kSystemFont)