~spvkgn/libass/+git/libass:explicit-ts-tagging

Last commit made on 2021-11-03
Get this branch:
git clone -b explicit-ts-tagging https://git.launchpad.net/~spvkgn/libass/+git/libass

Branch merges

Branch information

Name:
explicit-ts-tagging
Repository:
lp:~spvkgn/libass/+git/libass

Recent commits

7ed799e... by Ridley Combs

render: support explicitly tagging a line as TS or dialogue

This is done via a comment at the start of the line, and only has meaning when selective overrides are enabled, so it should be safe to add.

ac2ddef... by Oleg Oshmyan <email address hidden>

README: use a webchat IRC link for clickability on GitHub

Plus the new link adds TLS.

3f9b634... by Oleg Oshmyan <email address hidden>

Pass ZWJ/ZWNJ to HarfBuzz across shape run boundaries

ZWJ and the characters next to it may be separated into different shape
runs by bidi, script or font-fallback splitting. Nevertheless, ZWJ must
affect Arabic-script characters on both sides of itself. This is noted
in the description of the Unicode bidirectional algorithm [TR9-Joiners]
and matches the observed behavior of VSFilter (GDI/Uniscribe).

Fixes https://github.com/libass/libass/issues/545.

We could more easily pass the whole event text to HarfBuzz rather than
single out ZWJ and ZWNJ, but that would produce results different from
VSFilter's: it shapes each high-level run in isolation; and in the rare
case that Arabic text is set in a font that is missing some glyphs,
GDI/Uniscribe apply font fallback and choose isolated/initial/final
letter forms for each section separately, without joining the letters
from different fonts together (which HarfBuzz would do if we gave it the
full surrounding context), unless an explicit ZWJ is placed in between.

Unlike ZWJ, I have not been able to produce a test for ZWNJ that would
confirm whether VSFilter does this for ZWNJ as well. It should not matter
for Arabic as the boundaries are non-joining by default, but it might
make a difference for Indic scripts or others. It seems to make sense,
so in absence of evidence to the contrary, this commit applies the same
treatment to ZWNJ as well.

[TR9-Joiners]: https://unicode.org/reports/tr9/#Joiners

3b6e3d8... by Ridley Combs

cache: switch to wyhash for cache tables

This is dramatically faster on files with large drawings.

1664e0a... by Ridley Combs

Add wyhash.h

This is a very fast hash function for the cache system

The version of the header corresponds to
https://github.com/wangyi-fudan/wyhash/commit/166f35228204b97ddd8ddead6b7a00467c91fdf6

64bf6ee... by Ridley Combs

cache: give the hash a more generic function name

359a067... by Oneric <email address hidden>

Move the cache function to ass_cache.c

2813f79... by Oneric <email address hidden>

ci/gha: add a build using tcc

3329d91... by Oneric <email address hidden>

configure: use AC_PACKAGE_VERSION

AC_INIT already defines a macro for the version
so there's no need to create our own.

7bf4bee... by "Dr.Smile" <email address hidden>

outline: refactor and add comments and asserts