godot_tl
godot_tl copied to clipboard
BiDi, shaping and basic text layout for Godot Engine

libgdtl
BiDi, shaping and basic text layout for Godot Engine.
Dependencies
- Godot 3.x (3.1+)
- C++14 compiler
- Meson build system (for gdnative module build only)
- SCons build system
Compiling (as builtin module)
Build options
| Name | Description | Default value |
|---|---|---|
builtin_runtime |
Use the built-in libraries | true |
use_graphite2 |
Enable SIL Graphite 2 complementary shaper | true |
use_font_wrapper |
Enable Godot font wrapper for default controls | false |
If use_font_wrapper is enabled, apply patch_font.diff from the root of this repository to the Godot engine source first. Additionally apply patch_editor_fonts.diff to use libgdtl to render editor fonts and patch_lbl.diff/patch_le.diff to override default Label and LineEdit with TL counterparts.
Building libgdtl module
Clone this repository (without --recursive flag) into Godot's modules subfolder as godot_tl.
Rebuild Godot engine as usual.
Compiling (as gdnative module)
Build options
| Name | Description | Default value |
|---|---|---|
godot-cpp-lib-name |
godot-cpp static library name (without .a or .lib extension) |
libgodot-cpp |
static-lib |
Build static library | false |
static-runtime |
Link libraries statically for better portability | false |
builtin-runtime |
Use the built-in libraries | false |
use-graphite2 |
Enable SIL Graphite 2 complementary shaper | true |
Building godot-cpp static library
See Compiling the cpp bindings library
Building libgdtl module
See Compiling GDNative module for Windows, macOS and Linux, Compiling GDNative module for Android and Compiling GDNative module for iOS for build instructions.
Documentation
Screenshots




License
-
The source code of the libgdtl module is released under unlicense. For more information, see http://unlicense.org/ or the accompanying UNLICENSE file.
-
Godot and GodotNativeTools are licensed under MIT license. For more information, see https://github.com/godotengine/godot/blob/master/LICENSE.txt.
-
HarfBuzz is licensed under MIT-like License. For more information, see https://github.com/harfbuzz/harfbuzz/blob/master/COPYING
-
ICU4C is licensed under Unicode, Inc. License. For more information, see http://www.unicode.org/copyright.html#License
-
FreeType is licensed under FreeType License (BSD-like) or GNU General Public License (GPL), version 2. For more information, see https://www.freetype.org/license.html
-
SIL Graphite engine is licensed under GNU Lesser General Public License (LGPL), version 2.1+ or GNU General Public License (GPL), version 2 or Mozilla Public License. For more information, see https://github.com/silnrsi/graphite/blob/master/COPYING
Demo data
Montserrat, Awami Nastaliq, Comic Neue and Noto fonts are published under the SIL Open Font License, Version 1.1
Material Design icons by Google are published under the Apache License Version 2.0
Noto Color Emoji font is cut down to single glyph (U+1F604) using glyphhanger.