Bug 471257

Summary: Request for line spacing setting in Subtitle tool
Product: [Applications] kdenlive Reporter: zcxvcb2 <zcxvcb2>
Component: Title Clips & SubtitlesAssignee: Ron <kdenlive-bugs>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: kdenlive-bugs
Priority: NOR    
Version First Reported In: 23.04.2   
Target Milestone: ---   
Platform: Flatpak   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: The options here, really want to see a spacing setting here.

Description zcxvcb2@gmail.com 2023-06-20 05:07:30 UTC
Created attachment 159785 [details]
The options here, really want to see a spacing setting here.

There's a property in the Title tool called "Line Spacing", 
which decides how much space 2 text line will have in between,
I'd love to have that setting in Subtitles tool as well.
Comment 1 zcxvcb2@gmail.com 2024-02-08 14:29:00 UTC
Also in BBCode. Might need to dynamically change that based on font size.
Comment 2 Ron 2025-05-22 04:26:21 UTC
I'm afraid this isn't actually possible.  We're now using ASS format subtitles by default,
which are the most featureful for custom styling, but they still have no direct option to
configure line spacing (and we don't control that to add them).

If you really need that for some project, and need it using subtitles rather than a title
clip, then you'll need to use one of the various tricks people have come up with to
simulate it, and check that it works for all the players you need to support.

Depending on exactly what you're doing, I'd either be looking at using explicit positioning
tags inline in the text, or possibly creating a separate style for each line position that you
want text on and using margins and/or layers to position it exactly as you want.

Searching for "ASS subtitle line spacing" should turn up some other options for that,
all with various pros and cons.

But I'd still be cautious about relying on this, because it could all fall apart on a player
using a font with different metrics to what you used for your explicit positioning or
with a differently scaled screen size.

You should probably think of subtitles a bit like old-school HTML.  Any styling or positioning
you might do really is just a hint for the player rendering them.  It is totally free to ignore all
of that and display it any way it (or the user configuring it) chooses.

If you want "graphic artist" levels of control over exactly what is displayed, then you probably
want to be using the title tool, not subtitles.  Subtitles are mostly more focussed on putting
control for if/how they are displayed into the hands of the viewer, not the creator.
Comment 3 zcxvcb2@gmail.com 2025-05-22 07:00:58 UTC
(In reply to Ron from comment #2)
Yeah it's fine, I simply use 2 tracks and manually off-setting their y position now. 
My bigger complain now is I can't find a way to save the style as a default, which is unrelated to this topic.
Still hope there'd be a more straight forward way to handle this at some point though, most editors probably don't know BBCode.
Comment 4 Ron 2025-05-22 07:26:59 UTC
> Yeah it's fine, I simply use 2 tracks and manually off-setting their y position now.

That's probably close to the best you can do for most cases.

> My bigger complain now is I can't find a way to save the style as a default,
> which is unrelated to this topic.

Right now, there isn't support for this in 25.04.  You can set a style as the default
for a layer, but even the "global" style is really still just local to the project.

That should change soon, I'm actively working on improving subtitle support,
so once that lands you'll be able to set system global and project default styles,
and save styles into style libraries that are available for reuse in other projects.

You'll find some of my original grumbles here:
https://discuss.kde.org/t/24-12-0-subtitle-editing/27471

Which is probably a good place to follow up if you have other wishlist things
to add in the near term.

> Still hope there'd be a more straight forward way to handle this at some
> point though, most editors probably don't know BBCode.

If anything like that gets added, it's more likely to be Markdown, to be consistent
with the 'rich text' support in other Qt widgets - but even that mostly seems like
overkill.  There's buttons above the edit box for one-click adding the most portable
and commonly used style options.  For anything else, you really do need to understand
a bit about ASS tags and their limitations and that what you do with them may not
work on all players - so hiding that behind other markup seems like a "promise we
can't keep" trap, where using it may or may not work like it appears to while you
are editing.
Comment 5 zcxvcb2@gmail.com 2025-05-23 17:22:09 UTC
(In reply to Ron from comment #4)
> > Still hope there'd be a more straight forward way to handle this at some
> > point though, most editors probably don't know BBCode.
> 
> If anything like that gets added, it's more likely to be Markdown, to be
> consistent
> with the 'rich text' support in other Qt widgets - but even that mostly
> seems like
> overkill.  There's buttons above the edit box for one-click adding the most
> portable
> and commonly used style options.  For anything else, you really do need to
> understand
> a bit about ASS tags and their limitations and that what you do with them
> may not
> work on all players - so hiding that behind other markup seems like a
> "promise we
> can't keep" trap, where using it may or may not work like it appears to
> while you
> are editing.

My bad, I just treat everything that's inside brackets and change texts as bbcode, tagging was what I should've said.
The overkill feature is probably useful for Titles though?  
https://bugs.kde.org/show_bug.cgi?id=465976 
This was my propose 4 months before this post, 2 years ago, asking for the "overkill" feature on Title.
I mean, if Title can do this much, I won't mind Subtitle being janky at all, I'd just put titles everywhere and call it a day.

...This thread is seriously getting side tracked, I hope it's not much trouble. 
Appreciate for reading this far, I don't really have much to add any more.