X7ROOT File Manager
Current Path:
/opt/alt/libicu/usr/share/doc/alt-libicu-devel/samples/layout
opt
/
alt
/
libicu
/
usr
/
share
/
doc
/
alt-libicu-devel
/
samples
/
layout
/
??
..
??
FontMap.GDI
(426 B)
??
FontMap.Gnome
(392 B)
??
FontMap.cpp
(7.34 KB)
??
FontMap.h
(1.84 KB)
??
FontTableCache.cpp
(2.37 KB)
??
FontTableCache.h
(1.06 KB)
??
GDIFontInstance.cpp
(9.6 KB)
??
GDIFontInstance.h
(3.6 KB)
??
GDIFontMap.cpp
(1.32 KB)
??
GDIFontMap.h
(1.23 KB)
??
GDIGUISupport.cpp
(862 B)
??
GDIGUISupport.h
(949 B)
??
GUISupport.h
(890 B)
??
GnomeFontInstance.cpp
(5.43 KB)
??
GnomeFontInstance.h
(3.79 KB)
??
GnomeFontMap.cpp
(1.39 KB)
??
GnomeFontMap.h
(1.21 KB)
??
GnomeGUISupport.cpp
(1.05 KB)
??
GnomeGUISupport.h
(961 B)
??
LayoutSample.rc
(3.37 KB)
??
Makefile
(2.92 KB)
??
Makefile.in
(2.92 KB)
??
RenderingSurface.h
(1.09 KB)
??
Sample.txt
(1.66 KB)
??
ScriptCompositeFontInstance.cpp
(3.2 KB)
??
ScriptCompositeFontInstance.h
(6.15 KB)
??
Surface.cpp
(892 B)
??
Surface.h
(519 B)
??
UnicodeReader.cpp
(4.1 KB)
??
UnicodeReader.h
(999 B)
??
arraymem.h
(646 B)
??
cgnomelayout.c
(8.45 KB)
??
clayout.c
(9.82 KB)
??
cmaps.cpp
(5.3 KB)
??
cmaps.h
(2.06 KB)
??
gdiglue.cpp
(1.67 KB)
??
gdiglue.h
(983 B)
??
gnomeglue.cpp
(1.64 KB)
??
gnomeglue.h
(986 B)
??
gnomelayout.cpp
(8.5 KB)
??
gsupport.h
(370 B)
??
layout.cpp
(9.8 KB)
??
layout.sln
(1.17 KB)
??
layout.vcxproj
(13.15 KB)
??
layout.vcxproj.filters
(3.06 KB)
??
paragraph.cpp
(7.58 KB)
??
paragraph.h
(2.18 KB)
??
pflow.c
(9.27 KB)
??
pflow.h
(940 B)
??
readme.html
(7.32 KB)
??
resource.h
(907 B)
??
rsurface.cpp
(712 B)
??
rsurface.h
(528 B)
??
sfnt.h
(4.9 KB)
??
ucreader.cpp
(509 B)
??
ucreader.h
(422 B)
Editing: FontTableCache.cpp
/* ************************************************************************* * © 2016 and later: Unicode, Inc. and others. * License & terms of use: http://www.unicode.org/copyright.html#License ************************************************************************* ************************************************************************* * Copyright (C) 2003 - 2008, International Business Machines * Corporation and others. All Rights Reserved. ************************************************************************* */ #include "layout/LETypes.h" #include "FontTableCache.h" #define TABLE_CACHE_INIT 5 #define TABLE_CACHE_GROW 5 struct FontTableCacheEntry { LETag tag; const void *table; }; FontTableCache::FontTableCache() : fTableCacheCurr(0), fTableCacheSize(TABLE_CACHE_INIT) { fTableCache = LE_NEW_ARRAY(FontTableCacheEntry, fTableCacheSize); if (fTableCache == NULL) { fTableCacheSize = 0; return; } for (int i = 0; i < fTableCacheSize; i += 1) { fTableCache[i].tag = 0; fTableCache[i].table = NULL; } } FontTableCache::~FontTableCache() { for (int i = fTableCacheCurr - 1; i >= 0; i -= 1) { freeFontTable(fTableCache[i].table); fTableCache[i].tag = 0; fTableCache[i].table = NULL; } fTableCacheCurr = 0; LE_DELETE_ARRAY(fTableCache); fTableCache = NULL; } void FontTableCache::freeFontTable(const void *table) const { LE_DELETE_ARRAY(table); } const void *FontTableCache::find(LETag tableTag) const { for (int i = 0; i < fTableCacheCurr; i += 1) { if (fTableCache[i].tag == tableTag) { return fTableCache[i].table; } } const void *table = readFontTable(tableTag); ((FontTableCache *) this)->add(tableTag, table); return table; } void FontTableCache::add(LETag tableTag, const void *table) { if (fTableCacheCurr >= fTableCacheSize) { le_int32 newSize = fTableCacheSize + TABLE_CACHE_GROW; fTableCache = (FontTableCacheEntry *) LE_GROW_ARRAY(fTableCache, newSize); for (le_int32 i = fTableCacheSize; i < newSize; i += 1) { fTableCache[i].tag = 0; fTableCache[i].table = NULL; } fTableCacheSize = newSize; } fTableCache[fTableCacheCurr].tag = tableTag; fTableCache[fTableCacheCurr].table = table; fTableCacheCurr += 1; }
Upload File
Create Folder