On Thu, 28 Sep 2023 at 21:44, Hugh McMaster wrote:

> Hi Andres,
>
> On Thu, 28 Sept 2023 at 18:49, Andres Salomon wrote:
> >
> > Control: affects -1 chromium
> >
> >
> > On Thu, 28 Sep 2023 01:24:00 +0900 SuperCat wrote:
> > > Hi,
> > >
> > > In chromium source code, function SkScalerContext::GlyphMetrics
> > > SkScalerContext_FreeType::generateMetrics() will call
> > > FT_Get_Color_Glyph_Paint() if macro TT_SUPPORT_COLRV1 exists. Somehow
> > > FT_Get_Color_Glyph_Paint will be a NULL pointer if this patch applied,
> and
> > > chromium will not be able to run.
> >
> >
> > This smells like an ABI change that doesn't really seem appropriate for
> a point release update. I can patch TT_SUPPORT_COLRV1 out of bookworm's
> Chromium, but I wonder if any other packages are using it on bookworm?
> >
> > For the record, Skia has the following code:
> >
> > #ifdef TT_SUPPORT_COLRV1
> >
> > // So undefine TT_SUPPORT_COLRV1 before 2.11.1 but not if FT_STATIC_CAST
> is defined.
> > #if (((FREETYPE_MAJOR)  < 2) || \
> >      ((FREETYPE_MAJOR) == 2 && (FREETYPE_MINOR)  < 11) || \
> >      ((FREETYPE_MAJOR) == 2 && (FREETYPE_MINOR) == 11 &&
> (FREETYPE_PATCH) < 1)) && \
> >     !defined(FT_STATIC_CAST)
> > #    undef TT_SUPPORT_COLRV1
> >
> >
> > So on bullseye (with freetype 2.10) it doesn't try to use COLRV1. On sid
> (with freetype 2.13) it will use COLRV1. If freetype's COLRV1 is going to
> remain disabled on bookworm via the proposed-update (with chromium being
> the only broken package), then I'll probably just bump that version check
> to only allow TT_SUPPORT_COLRV1 with FREETYPE_MINOR >= 13.
>
> FreeType 2.12.1 was released with experimental COLRv1 support enabled.
> This was unintentional, as the implementation shipped in this release
> was incomplete and incompatible with the final COLRv1 API.
>
> Upstream's intention was to enable COLRv1 support in FreeType 2.13.0,
> which has a stable and complete COLRv1 API.
>
> I'm surprised Chromium actually used an experimental API, although
> this version check copied above seems like a bug.
>
> Grepping for TT_SUPPORT_COLRV1 yields a small number of packages.
> firefox*, godot and paraview are fine. Most of the openjdk-* packages
> aren't in bookworm.


After discussing the timing of Debian 12.2 with a release manager, I’ll
revert the change shortly.

Hugh

>

Reply via email to