OpenTTD Source 20251213-master-g1091fa6071
UniscribeRun Struct Reference

Contains all information about a run of characters. More...

Public Member Functions

 UniscribeRun (int pos, int len, const Font &font, SCRIPT_ANALYSIS &sa)
 
void FallbackShape (const UniscribeParagraphLayoutFactory::CharType *buff)
 Manually shape a run for built-in non-truetype fonts.
 

Data Fields

int pos
 
int len
 
Font font
 
std::vector< GlyphIDft_glyphs
 
SCRIPT_ANALYSIS sa
 
std::vector< WORD > char_to_glyph
 
std::vector< SCRIPT_VISATTR > vis_attribs
 
std::vector< WORD > glyphs
 
std::vector< int > advances
 
std::vector< GOFFSET > offsets
 
int total_advance
 

Detailed Description

Contains all information about a run of characters.

A run are consecutive characters that share a single font and language.

Definition at line 40 of file string_uniscribe.cpp.

Constructor & Destructor Documentation

◆ UniscribeRun()

UniscribeRun::UniscribeRun ( int  pos,
int  len,
const Font font,
SCRIPT_ANALYSIS &  sa 
)
inline

Definition at line 56 of file string_uniscribe.cpp.

Member Function Documentation

◆ FallbackShape()

void UniscribeRun::FallbackShape ( const UniscribeParagraphLayoutFactory::CharType buff)

Manually shape a run for built-in non-truetype fonts.

Similar to but not quite the same as ICURun::FallbackShape.

Parameters
buffThe complete buffer of the run.

Definition at line 166 of file string_uniscribe.cpp.

References FontCache::GetGlyphWidth(), FontCache::MapCharToGlyph(), SwapRtlPairedCharacters(), Utf16DecodeChar(), and Utf16IsLeadSurrogate().

Referenced by UniscribeShapeRun().

Field Documentation

◆ advances

std::vector<int> UniscribeRun::advances

Definition at line 52 of file string_uniscribe.cpp.

◆ char_to_glyph

std::vector<WORD> UniscribeRun::char_to_glyph

Definition at line 48 of file string_uniscribe.cpp.

◆ font

Font UniscribeRun::font

Definition at line 43 of file string_uniscribe.cpp.

◆ ft_glyphs

std::vector<GlyphID> UniscribeRun::ft_glyphs

Definition at line 45 of file string_uniscribe.cpp.

◆ glyphs

std::vector<WORD> UniscribeRun::glyphs

Definition at line 51 of file string_uniscribe.cpp.

◆ len

int UniscribeRun::len

Definition at line 42 of file string_uniscribe.cpp.

◆ offsets

std::vector<GOFFSET> UniscribeRun::offsets

Definition at line 53 of file string_uniscribe.cpp.

◆ pos

int UniscribeRun::pos

Definition at line 41 of file string_uniscribe.cpp.

◆ sa

SCRIPT_ANALYSIS UniscribeRun::sa

Definition at line 47 of file string_uniscribe.cpp.

◆ total_advance

int UniscribeRun::total_advance

Definition at line 54 of file string_uniscribe.cpp.

◆ vis_attribs

std::vector<SCRIPT_VISATTR> UniscribeRun::vis_attribs

Definition at line 50 of file string_uniscribe.cpp.


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