mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
89 lines
3.3 KiB
Diff
89 lines
3.3 KiB
Diff
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 <stdlib.h>
|
|
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();
|
|
|