Automated release: version and notes generated from pull requests merged since 3.8.9.
Fixed
- Captions and text drawing: the thirteen open items of audit #457, and #505.
- Gurmukhi, Gujarati, Telugu, Kannada, Malayalam, Sinhala, Khmer and Myanmar text is detected
(A65). It was read as Latin, socaption.py,graphics.pyandoverlay.py --textdrew it in
the Latin font and reported the run verified; now a font that covers the script is picked (or
the job is refused when none is installed),graphics.pyrenders it through libass, and
overlay.py --textrefuses it as it refuses Devanagari. Agrid.pylabel in one of them is
drawn with a font that covers it (by drawtext, unshaped, as a Thai label is).doctor --json
lists the eight underfonts.scripts. --wrap phrasetreats the fullwidth,;:.as the kinsoku table treats、and。(A54: a
line opened with,). Its first fill no longer breaks before one of those characters (or after
an opening bracket), and the orphan and weak-line passes no longer move one down to open a
line: both happened in cues of three or more lines and in the pieces of a cue split past
--max-lines. A break after,;:is preferred, as after、. Where no allowed break fits
(a bracketed run wider than the line, a line of about 3 em, two such characters in a row) a
forbidden one is still taken.--wrap measuredis unchanged.graphics.py's wrapped titles
go through the same wrap and get the same fix.caption.py: an emoji PNG in a left- or right-aligned caption is placed from the Style's side
margins, not--margin(A62): on the left it covered the first words.--karaokewith word timings that match the cue's word count waits for the first word (A59) instead of leading the
speech by the cue's opening silence, and--offsetmoves the word timings with the cues
(#505):--offset 0.05had cut the first word short and0.2dropped the timings for an even
split.--animate slideends where the line is drawn without it, for every--position, a cue's
{\anN}and a platform's side margins (A56); it always ended at the bottom centre.--karaoke-style wordwith--animate: the caption fades out at the cue's end, not at the
end of the first word, and a slide or a pop carries on across the word events instead of
jumping (A57).- The size fit measures against the
--karaoke-style wordbudget (A58), so a cue reported as
fitting is not split. --mode muxadds a soft subtitle track without wrapping or splitting it at the burn-in size
(A55; one cue on a 360x640 video became three); a--max-linesother than the default 2, or--wrap measured,
with--mode muxis refused (the default is accepted and has no effect there).- The emoji placeholder no longer resets the line's own overrides for the text after an emoji
(A69): the pop animation, a per-cue size and a cue's italics, bold and colour now carry past
it (caption.pyandgraphics.py's ASS route). doctor --jsonfonts.emoji.modeismonowhen libass draws an emoji glyph and no colour
emoji family is installed (A64); it saidnone, and acaption.py --emoji autorun left the
emoji out of the text.font_used.fileundercaption.py --boldnames the face fontconfig matches for the family at
bold weight (A70), on Linux and macOS, where the face is resolved through fontconfig; it named
the regular face. With--ass, or--fonts-dirand no script font, it staysnull.- In a burn,
--languageis the script and wrap hint only (A71):--language ja_JPwas refused
as--srt: 'ja_JP' is not a language code; the wrap now readsja_JPasja, as the font
pick already did. With--mode muxthe refusal names--language,
and a--text/--transcribetrack's tag is checked as an--srtone is. - An SRT burn draws text in braces (A68): ffmpeg's SRT reader hands
{curly}to libass as an
override block, which draws nothing, while the result saidtext_unchanged: true. Such cues
are drawn through the generated ASS, braces included, and a note says so;{\...}blocks on
their own are left to ffmpeg's reader as before.
- Gurmukhi, Gujarati, Telugu, Kannada, Malayalam, Sinhala, Khmer and Myanmar text is detected
- fix: captions and text drawing, the open items of audit #457, and #505 (#511)
What's Changed
Full Changelog: v3.8.9...v3.8.10