From a8005130ccad80ee5fa21774776b41b9555667d0 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Fri, 15 Dec 2023 10:52:28 -0700 Subject: [PATCH] [varStore] Cache individual items in store*Many() --- Lib/fontTools/varLib/varStore.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Lib/fontTools/varLib/varStore.py b/Lib/fontTools/varLib/varStore.py index f93bf8562..f7948bfea 100644 --- a/Lib/fontTools/varLib/varStore.py +++ b/Lib/fontTools/varLib/varStore.py @@ -137,9 +137,11 @@ class OnlineVarStoreBuilder(object): # Full array. Start new one. self._add_VarData() return self.storeDeltasMany(deltas_list, round=noRound) - for deltas in deltas_list: + for i, deltas in enumerate(deltas_list): self._data.addItem(deltas, round=noRound) - # TODO Insert into the cache + + varIdx = (self._outer << 16) + inner + i + self._cache[deltas] = varIdx varIdx = (self._outer << 16) + inner return varIdx