/* ********************************************************************** * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html ********************************************************************** ********************************************************************** * Copyright (C) 2003-2013, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** */ #ifndef __FONTTABLECACHE_H #define __FONTTABLECACHE_H #include "layout/LETypes.h" U_NAMESPACE_USE struct FontTableCacheEntry; class FontTableCache { public: FontTableCache(); virtual ~FontTableCache(); const void *find(LETag tableTag, size_t &length) const; protected: virtual const void *readFontTable(LETag tableTag, size_t &length) const = 0; virtual void freeFontTable(const void *table) const; private: void add(LETag tableTag, const void *table, size_t length); FontTableCacheEntry *fTableCache; le_int32 fTableCacheCurr; le_int32 fTableCacheSize; }; #endif