Body: <p>0</p>
  <p>I'm trying to make my subtitles scale one word at a time, but I'm running into an issue with the whole line shifting. Is there a way I can scale a word, and make the other words not move sue to the scale effect? Here is the ASS File</p>
  <pre><code>[Script Info]
  ScriptType: v4.00+
  PlayResX: 384
  PlayResY: 288
  ScaledBorderAndShadow: yes
  [V4+ Styles]
  Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, 
  BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, 
  BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
  Style: Default,Arial,18,&amp;H00FFFFFF,&amp;H00FFFFFF,&amp;H00000000,&amp;HFF000000,-1,0,0,0,100,100,0,0,3,1,0.6,5,10,10,10,0
  [Events]
  Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
  Dialogue: 0,0:00:0.00,0:00:1.00,Default,,0,0,0,,{\an5\pos(192,144)\alpha&amp;HFF&amp;}And so my fellow Americans,
  Dialogue: 0,0:00:0.00,0:00:02.50,Default,,0,0,0,,{\an5\pos(192,144)\fscx90\fscy90\t(0,2500,\fscx120\fscy120)}And{\fscx100\fscy100} so my fellow Americans,
  Dialogue: 0,0:00:2.50,0:00:05.00,Default,,0,0,0,,{\an5\pos(192,144)\fscx120\fscy120\t(0,2500,\fscx100\fscy100)}And{\fscx100\fscy100} so my fellow Americans,
  </code></pre>
  <p>this shows the video output.</p>
  <p><a href="https://youtube.com/shorts/d4VaoWqTMtQ?feature=share" rel="nofollow noreferrer">https://youtube.com/shorts/d4VaoWqTMtQ?feature=share</a></p>
  <p>Thanks in advanced.</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-24T03:54:45.580Z
Comments.Text: You can split text to 2 lines: `Dialogue: 0,0:00:0.00,0:00:02.50,Default,,0,0,0,,{\an5\pos(50,14)\fscx90\fscy90\t(0,2500,\fscx120\fscy120)}And`
  `Dialogue: 0,0:00:0.00,0:00:02.50,Default,,0,0,0,,{\an5\pos(200,23)} so my fellow Americans,`. Change \pos() values to fit. Why PlayResX PlayResY is not 720 1280?
Comments.UserDisplayName: Баяр Гончикжапов
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2024-04-25T04:25:25.280Z
Comments.Text: This is a good idea, but measuring the text is very tricky.  Any suggestions for how to accurately measure the letters, and spaces to match where it naturally goes?  The PlayResX and PlayResY are being set by stable-ts, which is generating the ass file.  Maybe these are just defaults, but you're right, I will update to the input video.
Comments.UserDisplayName: Barrard
Tags: <ffmpeg><subtitles>
Title: Subtitle word scaling with ASS file causing line shifting
UserDisplayName: Barrard
ThreadText: # Subtitle word scaling with ASS file causing line shifting
  
  (Asked by: username_0 on 2024-04-23)
  
  0
  
  I'm trying to make my subtitles scale one word at a time, but I'm running into an issue with the whole line shifting. Is there a way I can scale a word, and make the other words not move sue to the scale effect? Here is the ASS File
  
  ```
  [Script Info]
  ScriptType: v4.00+
  PlayResX: 384
  PlayResY: 288
  ScaledBorderAndShadow: yes
  [V4+ Styles]
  Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, 
  BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, 
  BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
  Style: Default,Arial,18,&H00FFFFFF,&H00FFFFFF,&H00000000,&HFF000000,-1,0,0,0,100,100,0,0,3,1,0.6,5,10,10,10,0
  [Events]
  Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
  Dialogue: 0,0:00:0.00,0:00:1.00,Default,,0,0,0,,{\an5\pos(192,144)\alpha&HFF&}And so my fellow Americans,
  Dialogue: 0,0:00:0.00,0:00:02.50,Default,,0,0,0,,{\an5\pos(192,144)\fscx90\fscy90\t(0,2500,\fscx120\fscy120)}And{\fscx100\fscy100} so my fellow Americans,
  Dialogue: 0,0:00:2.50,0:00:05.00,Default,,0,0,0,,{\an5\pos(192,144)\fscx120\fscy120\t(0,2500,\fscx100\fscy100)}And{\fscx100\fscy100} so my fellow Americans,
  
  ```
  
  this shows the video output.
  
  <https://youtube.com/shorts/d4VaoWqTMtQ?feature=share>
  
  Thanks in advanced.
  
  **Tags:** ffmpeg, subtitles
  
  > **Comments:**
  > **username_1**: You can split text to 2 lines: `Dialogue: 0,0:00:0.00,0:00:02.50,Default,,0,0,0,,{\an5\pos(50,14)\fscx90\fscy90\t(0,2500,\fscx120\fscy120)}And` `Dialogue: 0,0:00:0.00,0:00:02.50,Default,,0,0,0,,{\an5\pos(200,23)} so my fellow Americans,`. Change \pos() values to fit. Why PlayResX PlayResY is not 720 1280?  
  > **username_0**: This is a good idea, but measuring the text is very tricky.  Any suggestions for how to accurately measure the letters, and spaces to match where it naturally goes?  The PlayResX and PlayResY are being set by stable-ts, which is generating the ass file.  Maybe these are just defaults, but you're right, I will update to the input video.  
  
  ---
  
  ## 0 answers
  
  