Preload entire font file if the font file isn't efficiently seekable, which should fix very slow startup times on Android.

This commit is contained in:
elasota
2020-11-30 18:43:17 -05:00
parent f0b1d6fff9
commit 6851025147
10 changed files with 136 additions and 44 deletions

View File

@@ -26,17 +26,28 @@ namespace PortabilityLayer
void SetDefaultVariation(int defaultVariation);
int GetVariationForFlags(int variation) const;
IGpFont *GetFontForVariation(int variation) const;
IGpFont *GetFontForVariation(int variation);
FontHacks GetHacksForVariation(int variation) const;
int GetCacheID() const;
void PurgeCache();
static FontFamily *Create(int cacheID);
void Destroy();
private:
FontHacks m_hacks[kNumVariations];
IGpFont *m_fonts[kNumVariations];
struct FontSpec
{
FontSpec();
IGpFont *m_font;
FontHacks m_hacks;
const char *m_fontPath;
bool m_isRegistered;
};
FontSpec m_fontSpecs[kNumVariations];
uint8_t m_defaultVariation;
int m_cacheID;