From 2eef71737ea29ffadbb5a2be4a898b44f53f66ac Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Tue, 28 Aug 2012 19:16:38 -0400 Subject: [PATCH] [hb-icu-le] Add visbility --- src/hb-icu-le/FontTableCache.h | 6 +++- src/hb-icu-le/PortableFontInstance.cpp | 39 -------------------------- src/hb-icu-le/PortableFontInstance.h | 7 +++-- src/hb-icu-le/cmaps.cpp | 2 +- src/hb-icu-le/cmaps.h | 5 +++- src/hb-icu-le/letest.h | 14 +++++++++ src/hb-icu-le/sfnt.h | 6 +++- 7 files changed, 34 insertions(+), 45 deletions(-) diff --git a/src/hb-icu-le/FontTableCache.h b/src/hb-icu-le/FontTableCache.h index d41d7c72..f956f885 100644 --- a/src/hb-icu-le/FontTableCache.h +++ b/src/hb-icu-le/FontTableCache.h @@ -13,6 +13,9 @@ #include #include "layout/LETypes.h" +#include "letest.h" + +HB_BEGIN_VISIBILITY U_NAMESPACE_USE @@ -40,5 +43,6 @@ private: le_int32 fTableCacheSize; }; -#endif +HB_END_VISIBILITY +#endif diff --git a/src/hb-icu-le/PortableFontInstance.cpp b/src/hb-icu-le/PortableFontInstance.cpp index f4eb1716..c38e2b11 100644 --- a/src/hb-icu-le/PortableFontInstance.cpp +++ b/src/hb-icu-le/PortableFontInstance.cpp @@ -24,45 +24,6 @@ #include -// -// Finds the high bit by binary searching -// through the bits in n. -// -le_int8 PortableFontInstance::highBit(le_int32 value) -{ - if (value <= 0) { - return -32; - } - - le_uint8 bit = 0; - - if (value >= 1 << 16) { - value >>= 16; - bit += 16; - } - - if (value >= 1 << 8) { - value >>= 8; - bit += 8; - } - - if (value >= 1 << 4) { - value >>= 4; - bit += 4; - } - - if (value >= 1 << 2) { - value >>= 2; - bit += 2; - } - - if (value >= 1 << 1) { - value >>= 1; - bit += 1; - } - - return bit; -} PortableFontInstance::PortableFontInstance(hb_face_t *face, float xScale, float yScale, LEErrorCode &status) : fFace(face), fXScale(xScale), fYScale(yScale), fUnitsPerEM(0), fAscent(0), fDescent(0), fLeading(0), diff --git a/src/hb-icu-le/PortableFontInstance.h b/src/hb-icu-le/PortableFontInstance.h index 4bfeb364..ff48311d 100644 --- a/src/hb-icu-le/PortableFontInstance.h +++ b/src/hb-icu-le/PortableFontInstance.h @@ -21,11 +21,14 @@ #include "layout/LETypes.h" #include "layout/LEFontInstance.h" +#include "letest.h" #include "FontTableCache.h" #include "cmaps.h" +HB_BEGIN_VISIBILITY + class PortableFontInstance : public LEFontInstance, protected FontTableCache { private: @@ -51,8 +54,6 @@ private: le_uint16 fNumGlyphs; le_uint16 fNumLongHorMetrics; - static le_int8 highBit(le_int32 value); - void getMetrics(); CMAPMapper *findUnicodeMapper(); @@ -109,4 +110,6 @@ public: }; +HB_END_VISIBILITY + #endif diff --git a/src/hb-icu-le/cmaps.cpp b/src/hb-icu-le/cmaps.cpp index 87087aaa..d03ee710 100644 --- a/src/hb-icu-le/cmaps.cpp +++ b/src/hb-icu-le/cmaps.cpp @@ -18,7 +18,7 @@ // Finds the high bit by binary searching // through the bits in value. // -le_int8 highBit(le_uint32 value) +static inline le_int8 highBit(le_uint32 value) { le_uint8 bit = 0; diff --git a/src/hb-icu-le/cmaps.h b/src/hb-icu-le/cmaps.h index fcad788b..cf73f3a2 100644 --- a/src/hb-icu-le/cmaps.h +++ b/src/hb-icu-le/cmaps.h @@ -13,6 +13,8 @@ #include "letest.h" #include "sfnt.h" +HB_BEGIN_VISIBILITY + class CMAPMapper { public: @@ -80,5 +82,6 @@ inline CMAPMapper::~CMAPMapper() { } -#endif +HB_END_VISIBILITY +#endif diff --git a/src/hb-icu-le/letest.h b/src/hb-icu-le/letest.h index f924ca86..ff564ba6 100644 --- a/src/hb-icu-le/letest.h +++ b/src/hb-icu-le/letest.h @@ -14,12 +14,24 @@ #ifndef __LETEST_H #define __LETEST_H + +#if defined(__GNUC__) && (__GNUC__ >= 4) && !defined(__MINGW32__) +# define HB_BEGIN_VISIBILITY _Pragma ("GCC visibility push(hidden)") +# define HB_END_VISIBILITY _Pragma ("GCC visibility pop") +#else +# define HB_BEGIN_VISIBILITY +# define HB_END_VISIBILITY +#endif + + #include "layout/LETypes.h" /*#include "unicode/ctest.h"*/ #include #include +HB_BEGIN_VISIBILITY + U_NAMESPACE_USE #define ARRAY_SIZE(array) (sizeof array / sizeof array[0]) @@ -46,4 +58,6 @@ typedef struct TestResult TestResult; //U_CFUNC void addCTests(TestNode **root); +HB_END_VISIBILITY + #endif diff --git a/src/hb-icu-le/sfnt.h b/src/hb-icu-le/sfnt.h index 4a8f2f39..feec0ade 100644 --- a/src/hb-icu-le/sfnt.h +++ b/src/hb-icu-le/sfnt.h @@ -9,6 +9,9 @@ #define __SFNT_H #include "layout/LETypes.h" +#include "letest.h" + +HB_BEGIN_VISIBILITY U_NAMESPACE_USE @@ -445,5 +448,6 @@ struct NAMETable typedef struct NAMETable NAMETable; #endif -#endif +HB_END_VISIBILITY +#endif -- GitLab