Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dalai@blender.org>2020-09-21 10:49:15 +0300
committerCampbell Barton <ideasman42@gmail.com>2020-09-21 11:00:36 +0300
commit213445e3896922c2278fc7cdcb74d8ca13fa6a3e (patch)
tree7913d35c3ccedf20d1a1e3918b3f46a4785c6576 /source/blender/blenkernel/intern/font.c
parent701c3e499f61f9400b5f1c570fbbe04dfa21f158 (diff)
Fix T66614: Text objects: Truncate overflow for non-top aligned text
Diffstat (limited to 'source/blender/blenkernel/intern/font.c')
-rw-r--r--source/blender/blenkernel/intern/font.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index 88d91cf5640..124e53b4008 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -1188,6 +1188,14 @@ static bool vfont_to_curve(Object *ob,
ct_last = chartransdata + (is_last_filled_textbox ? slen : i_textbox_next - 1);
lines = ct_last->linenr - ct_first->linenr + 1;
+ if (cu->overflow == CU_OVERFLOW_TRUNCATE) {
+ /* Ensure overflow doesn't truncate text, before centering vertically
+ * giving odd/buggy results, see: T66614. */
+ if ((tb_index == cu->totbox - 1) && (last_line != -1)) {
+ lines = last_line - ct_first->linenr;
+ }
+ }
+
textbox_scale(&tb_scale, &cu->tb[tb_index], 1.0f / font_size);
/* The initial Y origin of the textbox is hardcoded to 1.0f * text scale. */
const float textbox_y_origin = 1.0f;