10#ifndef INCGUARD_MGL_FONT_RESOURCE_H_1622008768
11#define INCGUARD_MGL_FONT_RESOURCE_H_1622008768
32 : _indexConverter(*
this)
33 , _originType(originType)
53 const Text::FormatArgs &formatArgs) noexcept
97 return Text::kIndexedCharacterInvalid;
110 (void)indexedCharacter;
166 [[nodiscard]]
virtual bool IsValid() const noexcept = 0;
176 return _indexConverter;
189 return (_featureFlags &
static_cast<uint32_t
>(feature)) != 0;
215 _featureFlags |=
static_cast<uint32_t
>(feature);
219 _featureFlags &= ~(
static_cast<uint32_t
>(feature));
233 constexpr IndexConverter(
const FontResource &fontResource) noexcept
234 : _resource(fontResource)
246 [[nodiscard]]
Text::IndexedCharacter ToIndexedCharacter(
char32_t character, FontFaceType faceType)
const noexcept override
259 [[nodiscard]]
char32_t ToUTF32(Text::IndexedCharacter indexedCharacter, FontFaceType faceType)
const noexcept override
261 return _resource.
ToUTF32(indexedCharacter, faceType);
272 [[nodiscard]]
bool HasFontFace(FontFaceType faceType)
const noexcept override
281 IndexConverter _indexConverter;
283 uint32_t _featureFlags{0};
フォントリソースクラス
Definition mgl_font_resource.h:24
constexpr const Text::IndexConverter & GetIndexConverter() const noexcept
インデックス文字列のコンバータを取得
Definition mgl_font_resource.h:174
constexpr bool IsEnabled(FontFeature feature) const noexcept
フォント機能の有効状態を取得
Definition mgl_font_resource.h:187
constexpr FontOrigin GetOriginType() const noexcept
フォントの原点タイプを取得
Definition mgl_font_resource.h:198
constexpr void SetEnabled(FontFeature feature, bool isEnabled) noexcept
フォント機能の有効状態を設定
Definition mgl_font_resource.h:211
virtual const FontGlyph * GetGlyph(Text::IndexedCharacter character, FontFaceType faceType, const FontOption &option) const noexcept
グリフの取得
Definition mgl_font_resource.h:141
virtual const FontGlyph * GetGlyph(char32_t character, FontFaceType faceType, const FontOption &option) const noexcept
グリフの取得
Definition mgl_font_resource.h:124
constexpr FontResource(FontOrigin originType) noexcept
コンストラクタ
Definition mgl_font_resource.h:31
virtual bool HasFontFace(FontFaceType faceType) const noexcept=0
指定したフェイスを保持しているかを取得
virtual bool Print(FontWorkdata &workdata, const FontOption &option, const char *text, const Text::FormatArgs &formatArgs) noexcept
文字の表示
Definition mgl_font_resource.h:50
virtual Text::IndexedCharacter ToIndexedCharacter(char32_t character, FontFaceType faceType) const noexcept
文字をインデックス文字に変換
Definition mgl_font_resource.h:93
virtual bool Print(FontWorkdata &workdata, const FontOption &option, const Text::IndexedCharacter *indexedString, const Text::FormatArgs &formatArgs) noexcept
インデックス化した文字を表示
Definition mgl_font_resource.h:73
virtual char32_t ToUTF32(Text::IndexedCharacter indexedCharacter, FontFaceType faceType) const noexcept
インデックス文字をUTF-32の文字に変換
Definition mgl_font_resource.h:108
virtual bool IsValid() const noexcept=0
このフォントリソースが有効かどうかを取得
インデックスコンバータクラス
Definition mgl_text_index_converter.h:24
FontOrigin
フォントの原点
Definition mgl_font_defs.h:52
FontFeature
フォントの機能
Definition mgl_font_defs.h:41
FontFaceType
フォントのフェイスタイプ
Definition mgl_font_defs.h:21
std::shared_ptr< FontResource > SharedFontResource
フォントリソースの共有ポインタ
Definition mgl_font_resource.h:287
uint16_t IndexedCharacter
インデックス化文字
Definition mgl_text_defs.h:30
STL::vector< FormatArgument > FormatArgs
テキストフォーマットの引数の配列
Definition mgl_text_format_argument.h:282
グリフ情報
Definition mgl_font_glyph.h:20
フォント描画オプション
Definition mgl_font_option.h:22
フォント描画のワークデータ
Definition mgl_font_defs.h:59