diff -r 000000000000 -r 6474c204b198 gfx/ots/ots-visibility.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/ots/ots-visibility.patch Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,88 @@ +diff --git a/gfx/ots/include/opentype-sanitiser.h b/gfx/ots/include/opentype-sanitiser.h +--- a/gfx/ots/include/opentype-sanitiser.h ++++ b/gfx/ots/include/opentype-sanitiser.h +@@ -1,15 +1,35 @@ + // Copyright (c) 2009 The Chromium Authors. All rights reserved. + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + + #ifndef OPENTYPE_SANITISER_H_ + #define OPENTYPE_SANITISER_H_ + ++#if defined(_WIN32) || defined(__CYGWIN__) ++ #define OTS_DLL_IMPORT __declspec(dllimport) ++ #define OTS_DLL_EXPORT __declspec(dllexport) ++#else ++ #if __GNUC__ >= 4 ++ #define OTS_DLL_IMPORT __attribute__((visibility ("default"))) ++ #define OTS_DLL_EXPORT __attribute__((visibility ("default"))) ++ #endif ++#endif ++ ++#ifdef OTS_DLL ++ #ifdef OTS_DLL_EXPORTS ++ #define OTS_API OTS_DLL_EXPORT ++ #else ++ #define OTS_API OTS_DLL_IMPORT ++ #endif ++#else ++ #define OTS_API ++#endif ++ + #if defined(_WIN32) + #include + typedef signed char int8_t; + typedef unsigned char uint8_t; + typedef short int16_t; + typedef unsigned short uint16_t; + typedef int int32_t; + typedef unsigned int uint32_t; +@@ -182,45 +202,45 @@ class OTSStream { + // ----------------------------------------------------------------------------- + // Process a given OpenType file and write out a sanitised version + // output: a pointer to an object implementing the OTSStream interface. The + // sanitisied output will be written to this. In the even of a failure, + // partial output may have been written. + // input: the OpenType file + // length: the size, in bytes, of |input| + // ----------------------------------------------------------------------------- +-bool Process(OTSStream *output, const uint8_t *input, size_t length); ++bool OTS_API Process(OTSStream *output, const uint8_t *input, size_t length); + + // Signature of the function to be provided by the client in order to report errors. + // The return type is a boolean so that it can be used within an expression, + // but the actual value is ignored. (Suggested convention is to always return 'false'.) + #ifdef __GCC__ + #define MSGFUNC_FMT_ATTR __attribute__((format(printf, 2, 3))) + #else + #define MSGFUNC_FMT_ATTR + #endif + typedef bool (*MessageFunc)(void *user_data, const char *format, ...) MSGFUNC_FMT_ATTR; + + // Set a callback function that will be called when OTS is reporting an error. +-void SetMessageCallback(MessageFunc func, void *user_data); ++void OTS_API SetMessageCallback(MessageFunc func, void *user_data); + + enum TableAction { + TABLE_ACTION_DEFAULT, // Use OTS's default action for that table + TABLE_ACTION_SANITIZE, // Sanitize the table, potentially droping it + TABLE_ACTION_PASSTHRU, // Serialize the table unchanged + TABLE_ACTION_DROP // Drop the table + }; + + // Signature of the function to be provided by the client to decide what action + // to do for a given table. + typedef TableAction (*TableActionFunc)(uint32_t tag, void *user_data); + + // Set a callback function that will be called when OTS needs to decide what to + // do for a font table. +-void SetTableActionCallback(TableActionFunc func, void *user_data); ++void OTS_API SetTableActionCallback(TableActionFunc func, void *user_data); + + // Force to disable debug output even when the library is compiled with + // -DOTS_DEBUG. + void DisableDebugOutput(); + + // Enable WOFF2 support(experimental). + void EnableWOFF2(); +