diff --git a/src/loaders/lottie/tvgLottieBuilder.cpp b/src/loaders/lottie/tvgLottieBuilder.cpp index b76020fa..32d40a2b 100644 --- a/src/loaders/lottie/tvgLottieBuilder.cpp +++ b/src/loaders/lottie/tvgLottieBuilder.cpp @@ -606,7 +606,7 @@ static void _updateText(LottieGroup* parent, LottieObject** child, float frameNo p += glyph->len; //advance the cursor position horizontally - cursor.x += glyph->width + spacing; + cursor.x += glyph->width + spacing + doc.tracking; break; } } diff --git a/src/loaders/lottie/tvgLottieParser.cpp b/src/loaders/lottie/tvgLottieParser.cpp index 782e0030..7a102783 100644 --- a/src/loaders/lottie/tvgLottieParser.cpp +++ b/src/loaders/lottie/tvgLottieParser.cpp @@ -183,7 +183,7 @@ void LottieParser::getValue(TextDocument& doc) else if (KEY_AS("f")) doc.name = getStringCopy(); else if (KEY_AS("t")) doc.text = getStringCopy(); else if (KEY_AS("j")) doc.justify = getInt(); - else if (KEY_AS("tr")) doc.tracking = getInt(); + else if (KEY_AS("tr")) doc.tracking = getFloat() * 0.1f; else if (KEY_AS("lh")) doc.height = getFloat(); else if (KEY_AS("ls")) doc.shift = getFloat(); else if (KEY_AS("fc")) getValue(doc.color); diff --git a/src/loaders/lottie/tvgLottieProperty.h b/src/loaders/lottie/tvgLottieProperty.h index 85720c8a..26a495eb 100644 --- a/src/loaders/lottie/tvgLottieProperty.h +++ b/src/loaders/lottie/tvgLottieProperty.h @@ -75,8 +75,8 @@ struct TextDocument } stroke; char* name = nullptr; float size; + float tracking; uint8_t justify; - uint8_t tracking; };