YSTest: YSLib::Drawing::FontCache类 参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

Public 类型 | Public 成员函数 | Public 属性 | 静态 Public 属性 | Protected 属性 | Private 成员函数 | Private 属性 | 友元 | 所有成员列表
YSLib::Drawing::FontCache类 参考final

字体缓存。 更多...

`#include <Font.h>`

类 YSLib::Drawing::FontCache 继承关系图:
[图例]
YSLib::Drawing::FontCache 的协作图:
[图例]

## Public 类型

using | FaceMap = map< FontPath, unique_ptr< Typeface > >
| 字型映射类型。 更多...
using | FamilyMap = unordered_map< FamilyName, unique_ptr< FontFamily > >
| 字型家族组索引类型。 更多...

## Public 成员函数

| FontCache (size_t=DefaultGlyphCacheSize)
| 构造：分配指定大小的字形缓存空间。 更多...
| ~FontCache ()
| 析构：释放空间。 更多...
| DefGetter (const ynothrow, const FaceMap &, Faces, mFaces) DefGetter(const ynothrow
| 取字型映射。 更多...
const FamilyMap mFamilies YB_ATTR_nodiscard YB_PURE observer_ptr< const FontFamily > | GetFontFamilyPtr (const FamilyName &) const
| 取指定名称的字型家族指针。 更多...
YB_ATTR_nodiscard YB_PURE observer_ptr< const Typeface > | GetDefaultTypefacePtr () const
| 取默认字型指针。 更多...
YB_ATTR_nodiscard YB_PURE observer_ptr< const Typeface > | GetTypefacePtr (const FamilyName &, const StyleName &) const
| 取指定名称的字型指针。 更多...
size_t | LoadTypefaces (const FontPath &)
| 从字体文件组中载入字型信息。 更多...
YB_ATTR_nodiscard YB_PURE FontFamily & | LookupFamily (const FamilyName &)
| 在索引中查找字型家族。 更多...
void | InitializeDefaultTypeface ()
| 初始化默认字型。 更多...

## Public 属性

const FamilyMap | FamilyIndices

## 静态 Public 属性

static yconstexpr const size_t | DefaultGlyphCacheSize = yimpl(128U << 10)
| 字形缓冲区大小。 更多...

## Protected 属性

FaceMap | mFaces
| 字型映射。 更多...
FamilyMap | mFamilies
| 字型家族组索引。 更多...
observer_ptr< Typeface > | pDefaultFace
| 默认字型指针。 更多...

## Private 成员函数

void | Add (const FontPath &, unique_ptr< Typeface >)
| 向字型组添加字体路径和字型对象的映射。 更多...
Private 成员函数 继承自 ystdex::bases::noncopyable
| noncopyable (const noncopyable &)=delete
| 禁止复制构造。 更多...
| noncopyable (noncopyable &&)=default
| 允许转移构造。 更多...
noncopyable & | operator= (const noncopyable &)=delete
| 禁止复制赋值。 更多...
noncopyable & | operator= (noncopyable &&)=default
| 允许转移赋值。 更多...
| noncopyable ()=default
| `protected` 构造：默认实现。 更多...
| ~noncopyable ()=default
| `protected` 析构：默认实现。 更多...

## Private 属性

::FT_Library | library
| 库实例。 更多...

## 友元

class | Typeface
class | Font
| 友元类：访问 scaler 等对象。 更多...

## 详细描述

字体缓存。

自从
  build 209

在文件 Font.h 第 465 行定义.

## 成员类型定义说明

## ◆ FaceMap

using YSLib::Drawing::FontCache::FaceMap = map<FontPath, unique_ptr<Typeface> >

字型映射类型。

不变性
  被映射的值非空。

自从
  build 661

在文件 Font.h 第 481 行定义.

## ◆ FamilyMap

using YSLib::Drawing::FontCache::FamilyMap = unordered_map<FamilyName, unique_ptr<FontFamily> >

字型家族组索引类型。

不变性
  被映射的值非空。

在文件 Font.h 第 486 行定义.

## 构造及析构函数说明

## ◆ FontCache()

YSLib::Drawing::FontCache::FontCache | ( | size_t | = `DefaultGlyphCacheSize` | ) |

explicit

构造：分配指定大小的字形缓存空间。

注解
  当前暂时忽略参数。

自从
  build 316

在文件 Font.cpp 第 399 行定义.

引用了 platform::Descriptions::Alert, NPL::c_str(), platform::Descriptions::Informative, library, ystdex::sfmt(), YB_LIKELY , 以及 YTraceDe.

函数调用图:

## ◆ ~FontCache()

YSLib::Drawing::FontCache::~FontCache | ( |  | ) |

析构：释放空间。

自从
  build 461

在文件 Font.cpp 第 411 行定义.

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::clear(), library, mFaces , 以及 mFamilies.

函数调用图:

## 成员函数说明

## ◆ Add()

void YSLib::Drawing::FontCache::Add | ( | const FontPath & | path,
|  | unique_ptr< Typeface > | face
| ) |  |

private

向字型组添加字体路径和字型对象的映射。

自从
  build 661

在文件 Font.cpp 第 447 行定义.

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::emplace() , 以及 mFaces.

被这些函数引用 LoadTypefaces().

函数调用图:
这是这个函数的调用关系图:

## ◆ DefGetter()

YSLib::Drawing::FontCache::DefGetter | ( | const | ynothrow,
|  | const FaceMap & | ,
|  | Faces | ,
|  | mFaces |
| ) |  | const

取字型映射。

自从
  build 661

取字型家族组索引。

## ◆ GetDefaultTypefacePtr()

observer_ptr< const Typeface > YSLib::Drawing::FontCache::GetDefaultTypefacePtr | ( |  | ) | const

取默认字型指针。

异常

  LoggedEvent | 异常中立：初始化时发生的异常。

在文件 Font.cpp 第 429 行定义.

引用了 YSLib::FetchDefaultFontCache(), GetDefaultTypefacePtr() , 以及 pDefaultFace.

被这些函数引用 GetDefaultTypefacePtr().

函数调用图:
这是这个函数的调用关系图:

## ◆ GetFontFamilyPtr()

observer_ptr< const FontFamily > YSLib::Drawing::FontCache::GetFontFamilyPtr | ( | const FamilyName & | family_name | ) | const

取指定名称的字型家族指针。

自从
  build 671

在文件 Font.cpp 第 419 行定义.

引用了 YSLib::i, ystdex::make_observer(), mFamilies , 以及 ystdex::nullptr.

被这些函数引用 GetTypefacePtr().

函数调用图:
这是这个函数的调用关系图:

## ◆ GetTypefacePtr()

observer_ptr< const Typeface > YSLib::Drawing::FontCache::GetTypefacePtr | ( | const FamilyName & | family_name,
|  | const StyleName & | style_name
| ) |  | const

取指定名称的字型指针。

在文件 Font.cpp 第 438 行定义.

引用了 ystdex::call_value_or(), CHRLib::f() , 以及 GetFontFamilyPtr().

函数调用图:

## ◆ InitializeDefaultTypeface()

void YSLib::Drawing::FontCache::InitializeDefaultTypeface | ( |  | ) |

初始化默认字型。

在文件 Font.cpp 第 502 行定义.

引用了 ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::cbegin(), ystdex::map< _tKey, _tMapped, _fComp, _tAlloc >::empty(), ystdex::make_observer(), mFaces, pDefaultFace , 以及 YB_LIKELY.

函数调用图:

## ◆ LoadTypefaces()

size_t YSLib::Drawing::FontCache::LoadTypefaces | ( | const FontPath & | path | ) |

从字体文件组中载入字型信息。

返回
  成功载入的字型数。

自从
  build 316

在文件 Font.cpp 第 453 行定义.

引用了 Add(), CatchExpr, platform::Descriptions::Debug, YSLib::i, platform::Descriptions::Informative, library, YSLib::size_t, TryExpr, platform::ufexists(), YSLib::IO::VerifyDirectory, platform::Descriptions::Warning , 以及 YTraceDe.

函数调用图:

## ◆ LookupFamily()

FontFamily & YSLib::Drawing::FontCache::LookupFamily | ( | const FamilyName & | name | ) |

在索引中查找字型家族。

注解
  若索引中不存在，先初始化。

自从
  build 660

在文件 Font.cpp 第 487 行定义.

引用了 mFamilies, NPL::A1::name , 以及 TryExpr.

被这些函数引用 YSLib::Drawing::Typeface::Typeface().

这是这个函数的调用关系图:

## 友元及相关函数文档

## ◆ Font

friend class Font

friend

友元类：访问 scaler 等对象。

自从
  build 280

在文件 Font.h 第 473 行定义.

## ◆ Typeface

friend class Typeface

friend

在文件 Font.h 第 468 行定义.

## 类成员变量说明

## ◆ DefaultGlyphCacheSize

yconstexpr const size_t YSLib::Drawing::FontCache::DefaultGlyphCacheSize = yimpl(128U << 10)

static

字形缓冲区大小。

注解
  单位为字节。

自从
  build 277

在文件 Font.h 第 493 行定义.

## ◆ FamilyIndices

const FamilyMap YSLib::Drawing::FontCache::FamilyIndices

在文件 Font.h 第 534 行定义.

## ◆ library

::FT_Library YSLib::Drawing::FontCache::library

private

库实例。

在文件 Font.h 第 497 行定义.

被这些函数引用 FontCache(), LoadTypefaces(), YSLib::Drawing::Typeface::Typeface() , 以及 ~FontCache().

## ◆ mFaces

FaceMap YSLib::Drawing::FontCache::mFaces

protected

字型映射。

自从
  build 661

在文件 Font.h 第 504 行定义.

被这些函数引用 Add(), InitializeDefaultTypeface(), YSLib::Drawing::Typeface::Typeface() , 以及 ~FontCache().

## ◆ mFamilies

FamilyMap YSLib::Drawing::FontCache::mFamilies

protected

字型家族组索引。

在文件 Font.h 第 506 行定义.

被这些函数引用 GetFontFamilyPtr(), LookupFamily() , 以及 ~FontCache().

## ◆ pDefaultFace

observer_ptr<Typeface> YSLib::Drawing::FontCache::pDefaultFace

protected

默认字型指针。

自从
  build 671

在文件 Font.h 第 511 行定义.

被这些函数引用 GetDefaultTypefacePtr() , 以及 InitializeDefaultTypeface().

该类的文档由以下文件生成:

- Font.h
- Font.cpp