1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-01 18:43:33 +02:00
VVVVVV/desktop_version/src/FontBidi.h
Dav999 29e2b19698 Add RTL level property and print flag
Again, the RTL property controls whether textboxes will be
right-aligned, and that kind of stuff. It can't be font-bound, since
Space Station supports Hebrew characters and we want to be able to
support, say, a Hebrew translation or Hebrew levels in the future
without having to make a dedicated (or duplicated) font for it.
Therefore it's a property of both the language pack as well as custom
levels - like custom levels already had a <font> tag, they now also
have an <rtl> tag that sets this property.

Right now, we'll have to hardcode it so the menu option for the Arabic
font sets the <rtl> property to 1, and all the other options set it to
0. But it's future-proof in that we can later decide to split the
option for Space Station into an LTR option and an RTL option (so both
"english/..." and "עברית" would select Space Station, but one sets the
RTL property to 0 and the other sets it to 1).
2024-01-08 19:17:44 -08:00

19 lines
367 B
C++

#ifndef FONTBIDI_H
#define FONTBIDI_H
#include <stdint.h>
namespace font
{
void bidi_init(void);
void bidi_destroy(void);
bool is_directional_character(uint32_t codepoint);
bool is_joiner(uint32_t codepoint);
bool bidi_should_transform(bool rtl, const char* text);
const char* bidi_transform(bool rtl, const char* text);
} // namespace font
#endif // FONTBIDI_H