OpenTTD Source: src/os/windows/string_uniscribe.cpp File Reference

OpenTTD Source 14.0-RC3

Data Structures | Functions | Variables
string_uniscribe.cpp File Reference
`#include "../../stdafx.h"`
`#include "../../debug.h"`
`#include "string_uniscribe.h"`
`#include "../../language.h"`
`#include "../../strings_func.h"`
`#include "../../string_func.h"`
`#include "../../table/control_codes.h"`
`#include "../../zoom_func.h"`
`#include "win32.h"`
`#include <windows.h>`
`#include <usp10.h>`
`#include "../../safeguards.h"`

Go to the source code of this file.

## Data Structures
struct | UniscribeRun
| Contains all information about a run of characters. More...
class | UniscribeParagraphLayout
| Wrapper for doing layouts with Uniscribe. More...
class | UniscribeParagraphLayout::UniscribeVisualRun
| Visual run contains data about the bit of text with the same font. More...
class | UniscribeParagraphLayout::UniscribeLine
| A single line worth of VisualRuns. More...

## Functions
static std::vector< SCRIPT_ITEM > | UniscribeItemizeString (UniscribeParagraphLayoutFactory::CharType *buff, int32_t length)
| Break a string into language formatting ranges.
static bool | UniscribeShapeRun (const UniscribeParagraphLayoutFactory::CharType *buff, UniscribeRun &range)
| Generate and place glyphs for a run of characters. More...
void | UniscribeResetScriptCache (FontSize size)
static HFONT | HFontFromFont (Font *font)
| Load the matching native Windows font.

## Variables
static SCRIPT_CACHE | _script_cache [FS_END]
| Uniscribe cache for internal font information, cleared when OTTD changes fonts.

## Detailed Description

Functions related to laying out text on Win32.

Definition in file string_uniscribe.cpp.

## Function Documentation

## ◆ UniscribeShapeRun()

static bool UniscribeShapeRun | ( | const UniscribeParagraphLayoutFactory::CharType * | buff,
|  | UniscribeRun & | range
| ) |  |
| static

Generate and place glyphs for a run of characters.

Determine the glyph positions for a run.

Definition at line 156 of file string_uniscribe.cpp.

References _script_cache, Font::fc, and FontCache::GetSize().

Referenced by UniscribeParagraphLayoutFactory::GetParagraphLayout().