Kanzi 3.9.16
kanzi::ScriptOverrideResolver Class Reference

Per-TextFormat script override resolver. More...

#include <kanzi/plugins/freetype/script_override_resolver.hpp>

Inheritance diagram for kanzi::ScriptOverrideResolver:
[legend]

Public Member Functions

void clearAllOverrides ()
 
void clearOverride (UScriptCode script)
 
std::vector< FontFamilySharedPtr > getExtendedFamilies () const override
 Programmatic Extended chain (registerFallbackFamily), Studio order.
 
bool hasScriptOverrides () const override
 True if this resolver (or a nested fallback) can select a non-primary font.
 
ScriptOverrideResolver & operator= (const ScriptOverrideResolver &)=delete
 
ScriptOverrideResolver & operator= (ScriptOverrideResolver &&)=delete
 
FontRuntimeSharedPtr resolveRuntimeFont (FontRuntimeSharedPtr primaryFont, UScriptCode script, bool emoji, const FontStyleDefinition &style) override
 
 ScriptOverrideResolver (const ScriptOverrideResolver &)=delete
 
 ScriptOverrideResolver (FontManager *fontManager, ScriptFontResolverPtr fallbackResolver=nullptr)
 
 ScriptOverrideResolver (ScriptOverrideResolver &&)=delete
 
void setOverride (UScriptCode script, FontFamilySharedPtr family)
 
- Public Member Functions inherited from kanzi::IScriptFontResolver
 IScriptFontResolver ()=default
 
 IScriptFontResolver (const IScriptFontResolver &)=delete
 
 IScriptFontResolver (IScriptFontResolver &&)=delete
 
IScriptFontResolver & operator= (const IScriptFontResolver &)=delete
 
IScriptFontResolver & operator= (IScriptFontResolver &&)=delete
 
virtual ~IScriptFontResolver ()=default
 

Detailed Description

Per-TextFormat script override resolver.

Misses fall through to fallbackResolver, then primaryFont. Never calls FontManager::getRuntimeFont with a null family.

Constructor & Destructor Documentation

◆ ScriptOverrideResolver() [1/3]

kanzi::ScriptOverrideResolver::ScriptOverrideResolver ( FontManager * fontManager,
ScriptFontResolverPtr fallbackResolver = nullptr )
inline

◆ ScriptOverrideResolver() [2/3]

kanzi::ScriptOverrideResolver::ScriptOverrideResolver ( const ScriptOverrideResolver & )
delete

◆ ScriptOverrideResolver() [3/3]

kanzi::ScriptOverrideResolver::ScriptOverrideResolver ( ScriptOverrideResolver && )
delete

Member Function Documentation

◆ operator=() [1/2]

ScriptOverrideResolver & kanzi::ScriptOverrideResolver::operator= ( const ScriptOverrideResolver & )
delete

◆ operator=() [2/2]

ScriptOverrideResolver & kanzi::ScriptOverrideResolver::operator= ( ScriptOverrideResolver && )
delete

◆ setOverride()

void kanzi::ScriptOverrideResolver::setOverride ( UScriptCode script,
FontFamilySharedPtr family )
inline

◆ clearOverride()

void kanzi::ScriptOverrideResolver::clearOverride ( UScriptCode script)
inline

◆ clearAllOverrides()

void kanzi::ScriptOverrideResolver::clearAllOverrides ( )
inline

◆ resolveRuntimeFont()

FontRuntimeSharedPtr kanzi::ScriptOverrideResolver::resolveRuntimeFont ( FontRuntimeSharedPtr primaryFont,
UScriptCode script,
bool emoji,
const FontStyleDefinition & style )
inlineoverridevirtual

◆ hasScriptOverrides()

bool kanzi::ScriptOverrideResolver::hasScriptOverrides ( ) const
inlineoverridevirtual

True if this resolver (or a nested fallback) can select a non-primary font.

Used by FreeTypeFontEnginePlugin::getShaper to keep the stock FreeTypeTextShaper when Script Run is inactive (preserves paragraph BiDi for classic tests).

Reimplemented from kanzi::IScriptFontResolver.

◆ getExtendedFamilies()

std::vector< FontFamilySharedPtr > kanzi::ScriptOverrideResolver::getExtendedFamilies ( ) const
inlineoverridevirtual

Programmatic Extended chain (registerFallbackFamily), Studio order.

Reimplemented from kanzi::IScriptFontResolver.


The documentation for this class was generated from the following file: