diff --git a/fontbe/src/kern.rs b/fontbe/src/kern.rs index 498355233..dde800f25 100644 --- a/fontbe/src/kern.rs +++ b/fontbe/src/kern.rs @@ -253,10 +253,7 @@ impl Work for KerningGatherWork { } fn read_access(&self) -> Access { - AccessBuilder::new() - .variant(WorkId::GatherIrKerning) // until this runs there are no kern fragments to await - .variant(WorkId::KernFragment(0)) - .build() + Access::Unknown // https://github.com/googlefonts/fontc/issues/647: don't enable until KernFragment's spawn } fn exec(&self, context: &Context) -> Result<(), Error> { diff --git a/fontc/src/workload.rs b/fontc/src/workload.rs index a1e68e46b..ec901c3d5 100644 --- a/fontc/src/workload.rs +++ b/fontc/src/workload.rs @@ -311,6 +311,15 @@ impl<'a> Workload<'a> { for work in create_kern_segment_work(&kern_pairs) { self.add(work.into(), true); } + + // https://github.com/googlefonts/fontc/issues/647: it is now safe to set read access on segment gathering + self.jobs_pending + .get_mut(&AnyWorkId::Be(BeWorkIdentifier::GatherBeKerning)) + .expect("Gather BE Kerning has to be pending") + .read_access = AccessBuilder::::new() + .variant(BeWorkIdentifier::KernFragment(0)) + .build() + .into(); } if let AnyWorkId::Fe(FeWorkIdentifier::Glyph(glyph_name)) = success {