arch1t3cht / Aegisub

Cross-platform advanced subtitle editor, with new feature branches. Read the README on the feature branch.
http://www.aegisub.org
Other
738 stars 32 forks source link

Kerning not applying when using color tags between letters #59

Closed TealRabbit19 closed 1 year ago

TealRabbit19 commented 1 year ago

When kerning is enabled in Script Info, it breaks when text color changes between characters in a kerning pair. For example, my font has a kerning pair for 'wa,' and if there is a color tag between these two letters, for example: w{\c&H1B61AF&}a the kerning reverts as if none has been set. This particularly causes issues with typesetting signs on multiple layers where one layer is all the same color but another layer is not.

OS: Windows 11 Version: Aegisub 9530-cibuilds-79a0655eb

Kerning: Yes in Script Info for both these screenshots: with color tag nocolortag Closeup better showing the kerning of layer 2 has changed but layer 1 is fine: sidebyside

arch1t3cht commented 1 year ago

This has to do with libass/VSFilter and not Aegisub, and is also mostly intended. See https://github.com/libass/libass/issues/648 for more discussion.

TealRabbit19 commented 1 year ago

thanks for the info! in that case I've thought of a workaround, if i insert a color tag inbetween the letters on the solid-color layer, it breaks the kerning, so all the layers match at least. then I can set "kerning" directly with /fsp. the color just has to be changed by one value, which is completely imperceptible. i hope this helps anyone googling this same issue