uharfbuzz 0.39.1__zip → 0.39.3__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/PKG-INFO +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Color/COLR/COLR.hh +281 -33
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Color/COLR/colrv1-closure.hh +40 -10
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GDEF/GDEF.hh +33 -56
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/Ligature.hh +14 -1
- uharfbuzz-0.39.3/harfbuzz/src/OT/Var/VARC/VARC.cc +346 -0
- uharfbuzz-0.39.3/harfbuzz/src/OT/Var/VARC/VARC.hh +193 -0
- {uharfbuzz-0.39.1/harfbuzz/src/OT/glyf → uharfbuzz-0.39.3/harfbuzz/src/OT/Var/VARC}/coord-setter.hh +10 -9
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/Glyph.hh +4 -131
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/SubsetGlyph.hh +1 -12
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/glyf.hh +11 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/harfbuzz-subset.cc +1 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/harfbuzz.cc +1 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-common.hh +183 -30
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-kerx-table.hh +202 -25
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-morx-table.hh +253 -40
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout.cc +28 -25
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-algs.hh +4 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer.cc +44 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer.h +6 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer.hh +1 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cff-interp-common.hh +0 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cff2-interp-cs.hh +2 -6
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-common.h +5 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-config.hh +4 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cplusplus.hh +0 -3
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-draw.hh +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ft-colr.hh +1 -1
- uharfbuzz-0.39.1/harfbuzz/src/hb-paint-extents.hh → uharfbuzz-0.39.3/harfbuzz/src/hb-geometry.hh +91 -100
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-iter.hh +10 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-limits.hh +8 -9
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-open-type.hh +717 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cff-common.hh +0 -241
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cff1-table.hh +2 -3
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cff2-table.cc +6 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cff2-table.hh +2 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-face-table-list.hh +7 -4
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-face.cc +2 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-font.cc +8 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-hmtx-table.hh +3 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-kern-table.hh +67 -4
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-base-table.hh +63 -12
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-common.hh +756 -24
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-gsubgpos.hh +76 -17
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout.cc +9 -5
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-os2-table.hh +5 -5
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-post-table.hh +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape-normalize.cc +2 -20
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape-normalize.hh +33 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape.cc +6 -5
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-hebrew.cc +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper.hh +14 -13
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-stat-table.hh +2 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-tag-table.hh +60 -51
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-avar-table.hh +4 -4
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-common.hh +74 -473
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-cvar-table.hh +2 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-fvar-table.hh +5 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-gvar-table.hh +5 -8
- uharfbuzz-0.39.3/harfbuzz/src/hb-ot-var-varc-table.hh +32 -0
- uharfbuzz-0.39.3/harfbuzz/src/hb-paint-extents.hh +132 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-repacker.hh +13 -5
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-serialize.hh +52 -8
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-set-digest.hh +15 -5
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-set.hh +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-cff-common.hh +51 -6
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-cff2.cc +3 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-input.cc +8 -10
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-instancer-iup.cc +34 -34
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-instancer-iup.hh +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-instancer-solver.cc +47 -47
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-instancer-solver.hh +17 -15
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-plan-member-list.hh +7 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-plan.cc +204 -111
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset.h +5 -6
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-version.h +4 -4
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api.h +3 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-shape.cc +3 -3
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/main.cc +2 -1
- uharfbuzz-0.39.3/harfbuzz/src/test-cff.cc +75 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-item-varstore.cc +2 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-repacker.cc +101 -11
- uharfbuzz-0.39.3/harfbuzz/src/test-subset-instancer-solver.cc +431 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-tuple-varstore.cc +11 -11
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/pyproject.toml +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/_harfbuzz.cpp +51 -13
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/_harfbuzz_test.cpp +35 -5
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/_version.py +2 -2
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz.egg-info/PKG-INFO +1 -1
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz.egg-info/SOURCES.txt +6 -2
- uharfbuzz-0.39.1/harfbuzz/src/OT/glyf/VarCompositeGlyph.hh +0 -401
- uharfbuzz-0.39.1/harfbuzz/src/test-subset-instancer-solver.cc +0 -431
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/.coveragerc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/.github/workflows/ci.yml +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/.gitignore +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/.gitmodules +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/LICENSE +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/MANIFEST.in +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/README.md +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Color/CBDT/CBDT.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Color/CPAL/CPAL.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Color/sbix/sbix.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Color/svg/svg.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/Common/Coverage.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/Common/CoverageFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/Common/CoverageFormat2.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/Common/RangeRecord.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/Anchor.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/AnchorFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/AnchorFormat2.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/AnchorFormat3.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/AnchorMatrix.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/ChainContextPos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/Common.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/ContextPos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/CursivePos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/CursivePosFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/ExtensionPos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/GPOS.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/LigatureArray.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkArray.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkBasePos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkBasePosFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkLigPos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkLigPosFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkMarkPos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkMarkPosFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/MarkRecord.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PairPos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PairPosFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PairPosFormat2.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PairSet.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PairValueRecord.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PosLookup.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/PosLookupSubTable.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/SinglePos.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/SinglePosFormat2.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GPOS/ValueFormat.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/AlternateSet.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/AlternateSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/AlternateSubstFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/ChainContextSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/Common.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/ContextSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/ExtensionSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/GSUB.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/LigatureSet.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/LigatureSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/LigatureSubstFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/MultipleSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/MultipleSubstFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/ReverseChainSingleSubstFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/Sequence.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/SingleSubst.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat1.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/SingleSubstFormat2.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/SubstLookup.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/GSUB/SubstLookupSubTable.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/Layout/types.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/CompositeGlyph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/GlyphHeader.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/SimpleGlyph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/composite-iter.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/glyf-helpers.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/loca.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/glyf/path-builder.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/OT/name/name.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/classdef-graph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/coverage-graph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/graph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/gsubgpos-context.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/gsubgpos-context.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/gsubgpos-graph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/markbasepos-graph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/pairpos-graph.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/serialize.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/split-helpers.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/graph/test-classdef-graph.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-ankr-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-bsln-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-feat-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-just-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-opbd-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout-trak-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-layout.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-ltag-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-map.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat-map.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-aat.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-array.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-atomic.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-bimap.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-bit-page.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-bit-set-invertible.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-bit-set.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-blob.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-blob.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-blob.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer-deserialize-json.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer-deserialize-text-glyphs.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer-deserialize-text-unicode.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer-serialize.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-buffer-verify.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cache.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cairo-utils.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cairo-utils.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cairo.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cairo.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cff-interp-cs-common.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cff-interp-dict-common.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-cff1-interp-cs.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-common.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-coretext.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-coretext.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-debug.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-deprecated.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-directwrite.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-directwrite.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-dispatch.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-draw.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-draw.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-face-builder.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-face.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-face.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-face.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-fallback-shape.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-font.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-font.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-font.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ft.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ft.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-gdi.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-gdi.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-glib.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-glib.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-gobject-structs.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-gobject-structs.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-gobject.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-graphite2.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-graphite2.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-icu.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-icu.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-kern.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-machinery.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-map.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-map.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-map.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-meta.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ms-feature-ranges.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-multimap.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-mutex.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-null.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-number-parser.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-number.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-number.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-object.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-open-file.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cff1-std-str.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cff1-table.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-cmap-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-color.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-color.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-deprecated.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-face.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-font.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-gasp-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-glyf-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-hdmx-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-head-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-hhea-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-gdef-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-gpos-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-gsub-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout-jstf-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-layout.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-map.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-map.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-math-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-math.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-math.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-maxp-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-meta-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-meta.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-meta.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-metrics.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-metrics.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-metrics.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-name-language-static.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-name-language.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-name-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-name.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-name.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-os2-unicode-ranges.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-post-macroman.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-post-table-v2subset.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape-fallback.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape-fallback.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shape.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic-fallback.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic-joining-list.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic-pua.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic-win1256.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-arabic.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-default.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-hangul.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-indic-machine.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-indic-table.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-indic.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-indic.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-khmer-machine.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-khmer.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-myanmar-machine.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-myanmar.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-syllabic.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-syllabic.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-thai.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-use-machine.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-use-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-use.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-vowel-constraints.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-shaper-vowel-constraints.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-tag.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-hvar-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var-mvar-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-var.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot-vorg-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ot.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-outline.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-outline.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-paint-extents.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-paint.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-paint.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-paint.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-pool.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-priority-queue.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-sanitize.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-set.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-set.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shape-plan.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shape-plan.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shape-plan.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shape.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shape.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shaper-impl.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shaper-list.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shaper.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-shaper.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-static.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-string-array.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-style.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-style.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-accelerator.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-cff-common.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-cff1.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-input.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-plan.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-repacker.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset-repacker.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-subset.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ucd-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-ucd.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-unicode-emoji-table.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-unicode.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-unicode.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-unicode.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-uniscribe.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-uniscribe.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-utf.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-vector.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-blob.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-buffer.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-common.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-face.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-font.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-list.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api-shape.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb-wasm-api.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb.h +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/hb.hh +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-algs.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-array.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-bimap.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-buffer-serialize.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-gpos-size-params.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-gsub-get-alternates.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-gsub-would-substitute.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-iter.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-machinery.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-map.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-multimap.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-number.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-ot-glyphname.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-ot-meta.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-ot-name.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-priority-queue.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-serialize.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-set.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-unicode-ranges.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-use-table.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test-vector.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/test.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/wasm/graphite/shape.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/wasm/sample/c/shape-fallback.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/harfbuzz/src/wasm/sample/c/shape-ot.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/requirements-dev.txt +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/setup.cfg +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/setup.py +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/__init__.py +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/_draw_test_funcs.cc +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/_harfbuzz.pyx +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/_harfbuzz_test.pyx +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz/charfbuzz.pxd +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz.egg-info/dependency_links.txt +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz.egg-info/not-zip-safe +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/src/uharfbuzz.egg-info/top_level.txt +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/AdobeBlank.fea +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/AdobeBlank.subset.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/LICENSE_AdobeBlank.txt +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/LICENSE_MutatorSans.txt +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/LICENSE_OpenSans.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/MutatorSans-VF.subset.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/OpenSans.subset.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/STIXTwoMath-Regular.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/SparseFont.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/chromacheck-colr.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/hand-10 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-10 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-106 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-116 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-123 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-154 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-165 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-175 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-6 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/expected/test-92 +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/noto_handwriting-cff2_colr_1.otf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/data/test_glyphs-glyf_colr_1.ttf +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tests/test_uharfbuzz.py +0 -0
- {uharfbuzz-0.39.1 → uharfbuzz-0.39.3}/tox.ini +0 -0
|
@@ -72,7 +72,7 @@ public:
|
|
|
72
72
|
hb_map_t current_glyphs;
|
|
73
73
|
hb_map_t current_layers;
|
|
74
74
|
int depth_left = HB_MAX_NESTING_LEVEL;
|
|
75
|
-
int edge_count =
|
|
75
|
+
int edge_count = HB_MAX_GRAPH_EDGE_COUNT;
|
|
76
76
|
|
|
77
77
|
hb_paint_context_t (const void *base_,
|
|
78
78
|
hb_paint_funcs_t *funcs_,
|
|
@@ -159,23 +159,35 @@ struct hb_colrv1_closure_context_t :
|
|
|
159
159
|
void add_palette_index (unsigned palette_index)
|
|
160
160
|
{ palette_indices->add (palette_index); }
|
|
161
161
|
|
|
162
|
+
void add_var_idxes (unsigned first_var_idx, unsigned num_idxes)
|
|
163
|
+
{
|
|
164
|
+
if (!num_idxes || first_var_idx == VarIdx::NO_VARIATION) return;
|
|
165
|
+
variation_indices->add_range (first_var_idx, first_var_idx + num_idxes - 1);
|
|
166
|
+
}
|
|
167
|
+
|
|
162
168
|
public:
|
|
163
169
|
const void *base;
|
|
164
170
|
hb_set_t visited_paint;
|
|
165
171
|
hb_set_t *glyphs;
|
|
166
172
|
hb_set_t *layer_indices;
|
|
167
173
|
hb_set_t *palette_indices;
|
|
174
|
+
hb_set_t *variation_indices;
|
|
175
|
+
unsigned num_var_idxes;
|
|
168
176
|
unsigned nesting_level_left;
|
|
169
177
|
|
|
170
178
|
hb_colrv1_closure_context_t (const void *base_,
|
|
171
179
|
hb_set_t *glyphs_,
|
|
172
180
|
hb_set_t *layer_indices_,
|
|
173
181
|
hb_set_t *palette_indices_,
|
|
182
|
+
hb_set_t *variation_indices_,
|
|
183
|
+
unsigned num_var_idxes_ = 1,
|
|
174
184
|
unsigned nesting_level_left_ = HB_MAX_NESTING_LEVEL) :
|
|
175
185
|
base (base_),
|
|
176
186
|
glyphs (glyphs_),
|
|
177
187
|
layer_indices (layer_indices_),
|
|
178
188
|
palette_indices (palette_indices_),
|
|
189
|
+
variation_indices (variation_indices_),
|
|
190
|
+
num_var_idxes (num_var_idxes_),
|
|
179
191
|
nesting_level_left (nesting_level_left_)
|
|
180
192
|
{}
|
|
181
193
|
};
|
|
@@ -242,7 +254,12 @@ struct Variable
|
|
|
242
254
|
}
|
|
243
255
|
|
|
244
256
|
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
245
|
-
{
|
|
257
|
+
{
|
|
258
|
+
c->num_var_idxes = 0;
|
|
259
|
+
// update c->num_var_idxes during value closure
|
|
260
|
+
value.closurev1 (c);
|
|
261
|
+
c->add_var_idxes (varIdxBase, c->num_var_idxes);
|
|
262
|
+
}
|
|
246
263
|
|
|
247
264
|
bool subset (hb_subset_context_t *c,
|
|
248
265
|
const ItemVarStoreInstancer &instancer) const
|
|
@@ -252,8 +269,18 @@ struct Variable
|
|
|
252
269
|
if (c->plan->all_axes_pinned)
|
|
253
270
|
return_trace (true);
|
|
254
271
|
|
|
255
|
-
|
|
256
|
-
|
|
272
|
+
VarIdx new_varidx;
|
|
273
|
+
new_varidx = varIdxBase;
|
|
274
|
+
if (varIdxBase != VarIdx::NO_VARIATION)
|
|
275
|
+
{
|
|
276
|
+
hb_pair_t<unsigned, int> *new_varidx_delta;
|
|
277
|
+
if (!c->plan->colrv1_variation_idx_delta_map.has (varIdxBase, &new_varidx_delta))
|
|
278
|
+
return_trace (false);
|
|
279
|
+
|
|
280
|
+
new_varidx = hb_first (*new_varidx_delta);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
return_trace (c->serializer->embed (new_varidx));
|
|
257
284
|
}
|
|
258
285
|
|
|
259
286
|
bool sanitize (hb_sanitize_context_t *c) const
|
|
@@ -345,7 +372,10 @@ struct NoVariable
|
|
|
345
372
|
struct ColorStop
|
|
346
373
|
{
|
|
347
374
|
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
348
|
-
{
|
|
375
|
+
{
|
|
376
|
+
c->add_palette_index (paletteIndex);
|
|
377
|
+
c->num_var_idxes = 2;
|
|
378
|
+
}
|
|
349
379
|
|
|
350
380
|
bool subset (hb_subset_context_t *c,
|
|
351
381
|
const ItemVarStoreInstancer &instancer,
|
|
@@ -542,6 +572,9 @@ struct Affine2x3
|
|
|
542
572
|
return_trace (c->check_struct (this));
|
|
543
573
|
}
|
|
544
574
|
|
|
575
|
+
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
576
|
+
{ c->num_var_idxes = 6; }
|
|
577
|
+
|
|
545
578
|
bool subset (hb_subset_context_t *c,
|
|
546
579
|
const ItemVarStoreInstancer &instancer,
|
|
547
580
|
uint32_t varIdxBase) const
|
|
@@ -617,7 +650,10 @@ struct PaintColrLayers
|
|
|
617
650
|
struct PaintSolid
|
|
618
651
|
{
|
|
619
652
|
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
620
|
-
{
|
|
653
|
+
{
|
|
654
|
+
c->add_palette_index (paletteIndex);
|
|
655
|
+
c->num_var_idxes = 1;
|
|
656
|
+
}
|
|
621
657
|
|
|
622
658
|
bool subset (hb_subset_context_t *c,
|
|
623
659
|
const ItemVarStoreInstancer &instancer,
|
|
@@ -666,7 +702,10 @@ template <template<typename> class Var>
|
|
|
666
702
|
struct PaintLinearGradient
|
|
667
703
|
{
|
|
668
704
|
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
669
|
-
{
|
|
705
|
+
{
|
|
706
|
+
(this+colorLine).closurev1 (c);
|
|
707
|
+
c->num_var_idxes = 6;
|
|
708
|
+
}
|
|
670
709
|
|
|
671
710
|
bool subset (hb_subset_context_t *c,
|
|
672
711
|
const ItemVarStoreInstancer &instancer,
|
|
@@ -733,7 +772,10 @@ template <template<typename> class Var>
|
|
|
733
772
|
struct PaintRadialGradient
|
|
734
773
|
{
|
|
735
774
|
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
736
|
-
{
|
|
775
|
+
{
|
|
776
|
+
(this+colorLine).closurev1 (c);
|
|
777
|
+
c->num_var_idxes = 6;
|
|
778
|
+
}
|
|
737
779
|
|
|
738
780
|
bool subset (hb_subset_context_t *c,
|
|
739
781
|
const ItemVarStoreInstancer &instancer,
|
|
@@ -800,7 +842,10 @@ template <template<typename> class Var>
|
|
|
800
842
|
struct PaintSweepGradient
|
|
801
843
|
{
|
|
802
844
|
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
803
|
-
{
|
|
845
|
+
{
|
|
846
|
+
(this+colorLine).closurev1 (c);
|
|
847
|
+
c->num_var_idxes = 4;
|
|
848
|
+
}
|
|
804
849
|
|
|
805
850
|
bool subset (hb_subset_context_t *c,
|
|
806
851
|
const ItemVarStoreInstancer &instancer,
|
|
@@ -1544,6 +1589,9 @@ struct ClipBoxFormat2 : Variable<ClipBoxFormat1>
|
|
|
1544
1589
|
clip_box.yMax += roundf (instancer (varIdxBase, 3));
|
|
1545
1590
|
}
|
|
1546
1591
|
}
|
|
1592
|
+
|
|
1593
|
+
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
1594
|
+
{ c->variation_indices->add_range (varIdxBase, varIdxBase + 3); }
|
|
1547
1595
|
};
|
|
1548
1596
|
|
|
1549
1597
|
struct ClipBox
|
|
@@ -1559,6 +1607,14 @@ struct ClipBox
|
|
|
1559
1607
|
}
|
|
1560
1608
|
}
|
|
1561
1609
|
|
|
1610
|
+
void closurev1 (hb_colrv1_closure_context_t* c) const
|
|
1611
|
+
{
|
|
1612
|
+
switch (u.format) {
|
|
1613
|
+
case 2: u.format2.closurev1 (c);
|
|
1614
|
+
default:return;
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1562
1618
|
template <typename context_t, typename ...Ts>
|
|
1563
1619
|
typename context_t::return_t dispatch (context_t *c, Ts&&... ds) const
|
|
1564
1620
|
{
|
|
@@ -1606,6 +1662,12 @@ struct ClipRecord
|
|
|
1606
1662
|
int cmp (hb_codepoint_t g) const
|
|
1607
1663
|
{ return g < startGlyphID ? -1 : g <= endGlyphID ? 0 : +1; }
|
|
1608
1664
|
|
|
1665
|
+
void closurev1 (hb_colrv1_closure_context_t* c, const void *base) const
|
|
1666
|
+
{
|
|
1667
|
+
if (!c->glyphs->intersects (startGlyphID, endGlyphID)) return;
|
|
1668
|
+
(base+clipBox).closurev1 (c);
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1609
1671
|
bool subset (hb_subset_context_t *c,
|
|
1610
1672
|
const void *base,
|
|
1611
1673
|
const ItemVarStoreInstancer &instancer) const
|
|
@@ -1941,6 +2003,76 @@ struct LayerList : Array32OfOffset32To<Paint>
|
|
|
1941
2003
|
}
|
|
1942
2004
|
};
|
|
1943
2005
|
|
|
2006
|
+
struct delta_set_index_map_subset_plan_t
|
|
2007
|
+
{
|
|
2008
|
+
unsigned get_inner_bit_count () const { return inner_bit_count; }
|
|
2009
|
+
unsigned get_width () const { return ((outer_bit_count + inner_bit_count + 7) / 8); }
|
|
2010
|
+
hb_array_t<const uint32_t> get_output_map () const { return output_map.as_array (); }
|
|
2011
|
+
|
|
2012
|
+
delta_set_index_map_subset_plan_t (const hb_map_t &new_deltaset_idx_varidx_map)
|
|
2013
|
+
{
|
|
2014
|
+
map_count = 0;
|
|
2015
|
+
outer_bit_count = 0;
|
|
2016
|
+
inner_bit_count = 1;
|
|
2017
|
+
output_map.init ();
|
|
2018
|
+
|
|
2019
|
+
/* search backwards */
|
|
2020
|
+
unsigned count = new_deltaset_idx_varidx_map.get_population ();
|
|
2021
|
+
if (!count) return;
|
|
2022
|
+
|
|
2023
|
+
unsigned last_idx = (unsigned)-1;
|
|
2024
|
+
unsigned last_varidx = (unsigned)-1;
|
|
2025
|
+
|
|
2026
|
+
for (unsigned i = count; i; i--)
|
|
2027
|
+
{
|
|
2028
|
+
unsigned delta_set_idx = i - 1;
|
|
2029
|
+
unsigned var_idx = new_deltaset_idx_varidx_map.get (delta_set_idx);
|
|
2030
|
+
if (i == count)
|
|
2031
|
+
{
|
|
2032
|
+
last_idx = delta_set_idx;
|
|
2033
|
+
last_varidx = var_idx;
|
|
2034
|
+
continue;
|
|
2035
|
+
}
|
|
2036
|
+
if (var_idx != last_varidx)
|
|
2037
|
+
break;
|
|
2038
|
+
last_idx = delta_set_idx;
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
map_count = last_idx + 1;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
bool remap (const hb_map_t &new_deltaset_idx_varidx_map)
|
|
2045
|
+
{
|
|
2046
|
+
/* recalculate bit_count */
|
|
2047
|
+
outer_bit_count = 1;
|
|
2048
|
+
inner_bit_count = 1;
|
|
2049
|
+
|
|
2050
|
+
if (unlikely (!output_map.resize (map_count, false))) return false;
|
|
2051
|
+
|
|
2052
|
+
for (unsigned idx = 0; idx < map_count; idx++)
|
|
2053
|
+
{
|
|
2054
|
+
uint32_t *var_idx;
|
|
2055
|
+
if (!new_deltaset_idx_varidx_map.has (idx, &var_idx)) return false;
|
|
2056
|
+
output_map.arrayZ[idx] = *var_idx;
|
|
2057
|
+
|
|
2058
|
+
unsigned outer = (*var_idx) >> 16;
|
|
2059
|
+
unsigned bit_count = (outer == 0) ? 1 : hb_bit_storage (outer);
|
|
2060
|
+
outer_bit_count = hb_max (bit_count, outer_bit_count);
|
|
2061
|
+
|
|
2062
|
+
unsigned inner = (*var_idx) & 0xFFFF;
|
|
2063
|
+
bit_count = (inner == 0) ? 1 : hb_bit_storage (inner);
|
|
2064
|
+
inner_bit_count = hb_max (bit_count, inner_bit_count);
|
|
2065
|
+
}
|
|
2066
|
+
return true;
|
|
2067
|
+
}
|
|
2068
|
+
|
|
2069
|
+
private:
|
|
2070
|
+
unsigned map_count;
|
|
2071
|
+
unsigned outer_bit_count;
|
|
2072
|
+
unsigned inner_bit_count;
|
|
2073
|
+
hb_vector_t<uint32_t> output_map;
|
|
2074
|
+
};
|
|
2075
|
+
|
|
1944
2076
|
struct COLR
|
|
1945
2077
|
{
|
|
1946
2078
|
static constexpr hb_tag_t tableTag = HB_OT_TAG_COLR;
|
|
@@ -1992,8 +2124,22 @@ struct COLR
|
|
|
1992
2124
|
|
|
1993
2125
|
void closure_forV1 (hb_set_t *glyphset,
|
|
1994
2126
|
hb_set_t *layer_indices,
|
|
1995
|
-
hb_set_t *palette_indices
|
|
1996
|
-
|
|
2127
|
+
hb_set_t *palette_indices,
|
|
2128
|
+
hb_set_t *variation_indices,
|
|
2129
|
+
hb_set_t *delta_set_indices) const
|
|
2130
|
+
{ colr->closure_forV1 (glyphset, layer_indices, palette_indices, variation_indices, delta_set_indices); }
|
|
2131
|
+
|
|
2132
|
+
bool has_var_store () const
|
|
2133
|
+
{ return colr->has_var_store (); }
|
|
2134
|
+
|
|
2135
|
+
const ItemVariationStore &get_var_store () const
|
|
2136
|
+
{ return colr->get_var_store (); }
|
|
2137
|
+
|
|
2138
|
+
bool has_delta_set_index_map () const
|
|
2139
|
+
{ return colr->has_delta_set_index_map (); }
|
|
2140
|
+
|
|
2141
|
+
const DeltaSetIndexMap &get_delta_set_index_map () const
|
|
2142
|
+
{ return colr->get_delta_set_index_map (); }
|
|
1997
2143
|
|
|
1998
2144
|
private:
|
|
1999
2145
|
hb_blob_ptr_t<COLR> colr;
|
|
@@ -2030,14 +2176,16 @@ struct COLR
|
|
|
2030
2176
|
|
|
2031
2177
|
void closure_forV1 (hb_set_t *glyphset,
|
|
2032
2178
|
hb_set_t *layer_indices,
|
|
2033
|
-
hb_set_t *palette_indices
|
|
2179
|
+
hb_set_t *palette_indices,
|
|
2180
|
+
hb_set_t *variation_indices,
|
|
2181
|
+
hb_set_t *delta_set_indices) const
|
|
2034
2182
|
{
|
|
2035
2183
|
if (version != 1) return;
|
|
2036
2184
|
hb_barrier ();
|
|
2037
2185
|
|
|
2038
2186
|
hb_set_t visited_glyphs;
|
|
2039
2187
|
|
|
2040
|
-
hb_colrv1_closure_context_t c (this, &visited_glyphs, layer_indices, palette_indices);
|
|
2188
|
+
hb_colrv1_closure_context_t c (this, &visited_glyphs, layer_indices, palette_indices, variation_indices);
|
|
2041
2189
|
const BaseGlyphList &baseglyph_paintrecords = this+baseGlyphList;
|
|
2042
2190
|
|
|
2043
2191
|
for (const BaseGlyphPaintRecord &baseglyph_paintrecord: baseglyph_paintrecords.iter ())
|
|
@@ -2049,6 +2197,22 @@ struct COLR
|
|
|
2049
2197
|
paint.dispatch (&c);
|
|
2050
2198
|
}
|
|
2051
2199
|
hb_set_union (glyphset, &visited_glyphs);
|
|
2200
|
+
|
|
2201
|
+
const ClipList &cliplist = this+clipList;
|
|
2202
|
+
c.glyphs = glyphset;
|
|
2203
|
+
for (const ClipRecord &clip_record : cliplist.clips.iter())
|
|
2204
|
+
clip_record.closurev1 (&c, &cliplist);
|
|
2205
|
+
|
|
2206
|
+
// if a DeltaSetIndexMap is included, collected variation indices are
|
|
2207
|
+
// actually delta set indices, we need to map them into variation indices
|
|
2208
|
+
if (has_delta_set_index_map ())
|
|
2209
|
+
{
|
|
2210
|
+
const DeltaSetIndexMap &var_idx_map = this+varIdxMap;
|
|
2211
|
+
delta_set_indices->set (*variation_indices);
|
|
2212
|
+
variation_indices->clear ();
|
|
2213
|
+
for (unsigned delta_set_idx : *delta_set_indices)
|
|
2214
|
+
variation_indices->add (var_idx_map.map (delta_set_idx));
|
|
2215
|
+
}
|
|
2052
2216
|
}
|
|
2053
2217
|
|
|
2054
2218
|
const LayerList& get_layerList () const
|
|
@@ -2057,6 +2221,18 @@ struct COLR
|
|
|
2057
2221
|
const BaseGlyphList& get_baseglyphList () const
|
|
2058
2222
|
{ return (this+baseGlyphList); }
|
|
2059
2223
|
|
|
2224
|
+
bool has_var_store () const
|
|
2225
|
+
{ return version >= 1 && varStore != 0; }
|
|
2226
|
+
|
|
2227
|
+
bool has_delta_set_index_map () const
|
|
2228
|
+
{ return version >= 1 && varIdxMap != 0; }
|
|
2229
|
+
|
|
2230
|
+
const DeltaSetIndexMap &get_delta_set_index_map () const
|
|
2231
|
+
{ return (version == 0 || varIdxMap == 0) ? Null (DeltaSetIndexMap) : this+varIdxMap; }
|
|
2232
|
+
|
|
2233
|
+
const ItemVariationStore &get_var_store () const
|
|
2234
|
+
{ return (version == 0 || varStore == 0) ? Null (ItemVariationStore) : this+varStore; }
|
|
2235
|
+
|
|
2060
2236
|
bool sanitize (hb_sanitize_context_t *c) const
|
|
2061
2237
|
{
|
|
2062
2238
|
TRACE_SANITIZE (this);
|
|
@@ -2132,6 +2308,88 @@ struct COLR
|
|
|
2132
2308
|
return record;
|
|
2133
2309
|
}
|
|
2134
2310
|
|
|
2311
|
+
bool downgrade_to_V0 (const hb_set_t &glyphset) const
|
|
2312
|
+
{
|
|
2313
|
+
//no more COLRv1 glyphs, downgrade to version 0
|
|
2314
|
+
for (const BaseGlyphPaintRecord& _ : get_baseglyphList ())
|
|
2315
|
+
if (glyphset.has (_.glyphId))
|
|
2316
|
+
return false;
|
|
2317
|
+
|
|
2318
|
+
return true;
|
|
2319
|
+
}
|
|
2320
|
+
|
|
2321
|
+
bool subset_varstore (hb_subset_context_t *c,
|
|
2322
|
+
COLR* out /* OUT */) const
|
|
2323
|
+
{
|
|
2324
|
+
TRACE_SUBSET (this);
|
|
2325
|
+
if (!varStore || c->plan->all_axes_pinned ||
|
|
2326
|
+
!c->plan->colrv1_variation_idx_delta_map)
|
|
2327
|
+
return_trace (true);
|
|
2328
|
+
|
|
2329
|
+
const ItemVariationStore& var_store = this+varStore;
|
|
2330
|
+
if (c->plan->normalized_coords)
|
|
2331
|
+
{
|
|
2332
|
+
item_variations_t item_vars;
|
|
2333
|
+
/* turn off varstore optimization when varIdxMap is null, so we maintain
|
|
2334
|
+
* original var_idx sequence */
|
|
2335
|
+
bool optimize = (varIdxMap != 0) ? true : false;
|
|
2336
|
+
if (!item_vars.instantiate (var_store, c->plan,
|
|
2337
|
+
optimize, /* optimization */
|
|
2338
|
+
optimize, /* use_no_variation_idx = false */
|
|
2339
|
+
c->plan->colrv1_varstore_inner_maps.as_array ()))
|
|
2340
|
+
return_trace (false);
|
|
2341
|
+
|
|
2342
|
+
if (!out->varStore.serialize_serialize (c->serializer,
|
|
2343
|
+
item_vars.has_long_word (),
|
|
2344
|
+
c->plan->axis_tags,
|
|
2345
|
+
item_vars.get_region_list (),
|
|
2346
|
+
item_vars.get_vardata_encodings ()))
|
|
2347
|
+
return_trace (false);
|
|
2348
|
+
|
|
2349
|
+
/* if varstore is optimized, update colrv1_new_deltaset_idx_varidx_map in
|
|
2350
|
+
* subset plan */
|
|
2351
|
+
if (optimize)
|
|
2352
|
+
{
|
|
2353
|
+
const hb_map_t &varidx_map = item_vars.get_varidx_map ();
|
|
2354
|
+
for (auto _ : c->plan->colrv1_new_deltaset_idx_varidx_map.iter_ref ())
|
|
2355
|
+
{
|
|
2356
|
+
uint32_t varidx = _.second;
|
|
2357
|
+
uint32_t *new_varidx;
|
|
2358
|
+
if (varidx_map.has (varidx, &new_varidx))
|
|
2359
|
+
_.second = *new_varidx;
|
|
2360
|
+
else
|
|
2361
|
+
_.second = VarIdx::NO_VARIATION;
|
|
2362
|
+
}
|
|
2363
|
+
}
|
|
2364
|
+
}
|
|
2365
|
+
else
|
|
2366
|
+
{
|
|
2367
|
+
if (unlikely (!out->varStore.serialize_serialize (c->serializer,
|
|
2368
|
+
&var_store,
|
|
2369
|
+
c->plan->colrv1_varstore_inner_maps.as_array ())))
|
|
2370
|
+
return_trace (false);
|
|
2371
|
+
}
|
|
2372
|
+
|
|
2373
|
+
return_trace (true);
|
|
2374
|
+
}
|
|
2375
|
+
|
|
2376
|
+
bool subset_delta_set_index_map (hb_subset_context_t *c,
|
|
2377
|
+
COLR* out /* OUT */) const
|
|
2378
|
+
{
|
|
2379
|
+
TRACE_SUBSET (this);
|
|
2380
|
+
if (!varIdxMap || c->plan->all_axes_pinned ||
|
|
2381
|
+
!c->plan->colrv1_new_deltaset_idx_varidx_map)
|
|
2382
|
+
return_trace (true);
|
|
2383
|
+
|
|
2384
|
+
const hb_map_t &deltaset_idx_varidx_map = c->plan->colrv1_new_deltaset_idx_varidx_map;
|
|
2385
|
+
delta_set_index_map_subset_plan_t index_map_plan (deltaset_idx_varidx_map);
|
|
2386
|
+
|
|
2387
|
+
if (unlikely (!index_map_plan.remap (deltaset_idx_varidx_map)))
|
|
2388
|
+
return_trace (false);
|
|
2389
|
+
|
|
2390
|
+
return_trace (out->varIdxMap.serialize_serialize (c->serializer, index_map_plan));
|
|
2391
|
+
}
|
|
2392
|
+
|
|
2135
2393
|
bool subset (hb_subset_context_t *c) const
|
|
2136
2394
|
{
|
|
2137
2395
|
TRACE_SUBSET (this);
|
|
@@ -2200,34 +2458,28 @@ struct COLR
|
|
|
2200
2458
|
auto *colr_prime = c->serializer->start_embed<COLR> ();
|
|
2201
2459
|
if (unlikely (!c->serializer->extend_min (colr_prime))) return_trace (false);
|
|
2202
2460
|
|
|
2203
|
-
if (version == 0)
|
|
2204
|
-
return_trace (colr_prime->serialize_V0 (c->serializer,
|
|
2461
|
+
if (version == 0 || downgrade_to_V0 (glyphset))
|
|
2462
|
+
return_trace (colr_prime->serialize_V0 (c->serializer, 0, base_it, layer_it));
|
|
2205
2463
|
|
|
2206
|
-
|
|
2464
|
+
//start version 1
|
|
2207
2465
|
if (!c->serializer->allocate_size<void> (5 * HBUINT32::static_size)) return_trace (false);
|
|
2466
|
+
if (!colr_prime->serialize_V0 (c->serializer, version, base_it, layer_it)) return_trace (false);
|
|
2467
|
+
|
|
2468
|
+
/* subset ItemVariationStore first, cause varidx_map needs to be updated
|
|
2469
|
+
* after instancing */
|
|
2470
|
+
if (!subset_varstore (c, colr_prime)) return_trace (false);
|
|
2208
2471
|
|
|
2209
2472
|
ItemVarStoreInstancer instancer (varStore ? &(this+varStore) : nullptr,
|
|
2210
2473
|
varIdxMap ? &(this+varIdxMap) : nullptr,
|
|
2211
2474
|
c->plan->normalized_coords.as_array ());
|
|
2212
2475
|
|
|
2213
2476
|
if (!colr_prime->baseGlyphList.serialize_subset (c, baseGlyphList, this, instancer))
|
|
2214
|
-
|
|
2215
|
-
if (c->serializer->in_error ()) return_trace (false);
|
|
2216
|
-
//no more COLRv1 glyphs: downgrade to version 0
|
|
2217
|
-
c->serializer->revert (snap);
|
|
2218
|
-
return_trace (colr_prime->serialize_V0 (c->serializer, 0, base_it, layer_it));
|
|
2219
|
-
}
|
|
2220
|
-
|
|
2221
|
-
if (!colr_prime->serialize_V0 (c->serializer, version, base_it, layer_it)) return_trace (false);
|
|
2477
|
+
return_trace (false);
|
|
2222
2478
|
|
|
2223
2479
|
colr_prime->layerList.serialize_subset (c, layerList, this, instancer);
|
|
2224
2480
|
colr_prime->clipList.serialize_subset (c, clipList, this, instancer);
|
|
2225
|
-
if (!varStore || c->plan->all_axes_pinned)
|
|
2226
|
-
return_trace (true);
|
|
2227
2481
|
|
|
2228
|
-
|
|
2229
|
-
colr_prime->varStore.serialize_copy (c->serializer, varStore, this);
|
|
2230
|
-
return_trace (true);
|
|
2482
|
+
return_trace (subset_delta_set_index_map (c, colr_prime));
|
|
2231
2483
|
}
|
|
2232
2484
|
|
|
2233
2485
|
const Paint *get_base_glyph_paint (hb_codepoint_t glyph) const
|
|
@@ -2327,10 +2579,6 @@ struct COLR
|
|
|
2327
2579
|
{
|
|
2328
2580
|
// COLRv1 glyph
|
|
2329
2581
|
|
|
2330
|
-
ItemVarStoreInstancer instancer (&(this+varStore),
|
|
2331
|
-
&(this+varIdxMap),
|
|
2332
|
-
hb_array (font->coords, font->num_coords));
|
|
2333
|
-
|
|
2334
2582
|
bool is_bounded = true;
|
|
2335
2583
|
if (clip)
|
|
2336
2584
|
{
|
|
@@ -66,34 +66,64 @@ HB_INTERNAL void PaintColrGlyph::closurev1 (hb_colrv1_closure_context_t* c) cons
|
|
|
66
66
|
|
|
67
67
|
template <template<typename> class Var>
|
|
68
68
|
HB_INTERNAL void PaintTransform<Var>::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
69
|
-
{
|
|
69
|
+
{
|
|
70
|
+
(this+src).dispatch (c);
|
|
71
|
+
(this+transform).closurev1 (c);
|
|
72
|
+
}
|
|
70
73
|
|
|
71
74
|
HB_INTERNAL void PaintTranslate::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
72
|
-
{
|
|
75
|
+
{
|
|
76
|
+
(this+src).dispatch (c);
|
|
77
|
+
c->num_var_idxes = 2;
|
|
78
|
+
}
|
|
73
79
|
|
|
74
80
|
HB_INTERNAL void PaintScale::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
75
|
-
{
|
|
81
|
+
{
|
|
82
|
+
(this+src).dispatch (c);
|
|
83
|
+
c->num_var_idxes = 2;
|
|
84
|
+
}
|
|
76
85
|
|
|
77
86
|
HB_INTERNAL void PaintScaleAroundCenter::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
78
|
-
{
|
|
87
|
+
{
|
|
88
|
+
(this+src).dispatch (c);
|
|
89
|
+
c->num_var_idxes = 4;
|
|
90
|
+
}
|
|
79
91
|
|
|
80
92
|
HB_INTERNAL void PaintScaleUniform::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
81
|
-
{
|
|
93
|
+
{
|
|
94
|
+
(this+src).dispatch (c);
|
|
95
|
+
c->num_var_idxes = 1;
|
|
96
|
+
}
|
|
82
97
|
|
|
83
98
|
HB_INTERNAL void PaintScaleUniformAroundCenter::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
84
|
-
{
|
|
99
|
+
{
|
|
100
|
+
(this+src).dispatch (c);
|
|
101
|
+
c->num_var_idxes = 3;
|
|
102
|
+
}
|
|
85
103
|
|
|
86
104
|
HB_INTERNAL void PaintRotate::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
87
|
-
{
|
|
105
|
+
{
|
|
106
|
+
(this+src).dispatch (c);
|
|
107
|
+
c->num_var_idxes = 1;
|
|
108
|
+
}
|
|
88
109
|
|
|
89
110
|
HB_INTERNAL void PaintRotateAroundCenter::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
90
|
-
{
|
|
111
|
+
{
|
|
112
|
+
(this+src).dispatch (c);
|
|
113
|
+
c->num_var_idxes = 3;
|
|
114
|
+
}
|
|
91
115
|
|
|
92
116
|
HB_INTERNAL void PaintSkew::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
93
|
-
{
|
|
117
|
+
{
|
|
118
|
+
(this+src).dispatch (c);
|
|
119
|
+
c->num_var_idxes = 2;
|
|
120
|
+
}
|
|
94
121
|
|
|
95
122
|
HB_INTERNAL void PaintSkewAroundCenter::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
96
|
-
{
|
|
123
|
+
{
|
|
124
|
+
(this+src).dispatch (c);
|
|
125
|
+
c->num_var_idxes = 4;
|
|
126
|
+
}
|
|
97
127
|
|
|
98
128
|
HB_INTERNAL void PaintComposite::closurev1 (hb_colrv1_closure_context_t* c) const
|
|
99
129
|
{
|