TextShaper implementation using these open source libraries:
More...
#include <kanzi/plugins/freetype/freetype_text_shaper.hpp>
TextShaper implementation using these open source libraries:
- HarfBuzz for text shaping
- libunibreak for line breaking
- ICU for handling text containing a mixture of left-to-right and right-to-left data
◆ FreeTypeTextShaper()
kanzi::FreeTypeTextShaper::FreeTypeTextShaper |
( |
const FontRuntime & |
font | ) |
|
|
explicit |
Constructor.
- Parameters
-
font | Font object used for shaping. |
◆ ~FreeTypeTextShaper()
kanzi::FreeTypeTextShaper::~FreeTypeTextShaper |
( |
| ) |
|
|
override |
◆ markBidiAndShape()
Use this function to:
- Create tags to indicate which parts of the text must be written left-to-right and which right-to-left.
- Mirror specific character for text written right-to-left.
- Shape text.
- Parameters
-
unicodeText | Text to shape and mirror. |
- Returns
- Layouting information for each character.
Reimplemented from kanzi::TextShaper.
◆ prepareLines()
Prepares internal data structures after line breaking.
- Parameters
-
layout | Pointer to intermediate layout containing the text. |
Reimplemented from kanzi::TextShaper.
◆ reorderLine()
Reorders the text line for text written right-to-left.
- Parameters
-
layout | Pointer to intermediate layout containing the text. |
line | Information defining the currently processed line. |
Reimplemented from kanzi::TextShaper.
◆ cleanup()
void kanzi::FreeTypeTextShaper::cleanup |
( |
| ) |
|
|
overridevirtual |
Cleans up the data that this text shaper used for shaping a specific text run.
You must call this function at the end of every text shaping run.
Reimplemented from kanzi::TextShaper.
The documentation for this class was generated from the following file: