--- harfbuzz-1.1.3/src/hb-uniscribe.cc.orig 2016-01-06 13:29:29.337284954 +0100 +++ harfbuzz-1.1.3/src/hb-uniscribe.cc 2016-01-12 17:19:29.371811035 +0100 @@ -42,6 +42,9 @@ #define HB_DEBUG_UNISCRIBE (HB_DEBUG+0) #endif +#ifndef E_NOT_SUFFICIENT_BUFFER +#define E_NOT_SUFFICIENT_BUFFER ((HRESULT)0x8007007A) +#endif static inline uint16_t hb_uint16_swap (const uint16_t v) { return (v >> 8) | (v << 8); } --- harfbuzz-1.4.5/src/hb-atomic-private.hh.orig 2016-07-13 04:09:47.000000000 +0200 +++ harfbuzz-1.4.5/src/hb-atomic-private.hh 2017-04-09 14:28:37.769359459 +0200 @@ -67,7 +67,7 @@ #define hb_atomic_int_impl_add(AI, V) InterlockedExchangeAdd (&(AI), (V)) #define hb_atomic_ptr_impl_get(P) (_HBMemoryBarrier (), (void *) *(P)) -#define hb_atomic_ptr_impl_cmpexch(P,O,N) (InterlockedCompareExchangePointer ((void **) (P), (void *) (N), (void *) (O)) == (void *) (O)) +#define hb_atomic_ptr_impl_cmpexch(P,O,N) (((void*)InterlockedCompareExchange((long volatile*)(void **) (P), (long)(void *) (N), (long)(void *) (O))) == (void *) (O)) #elif !defined(HB_NO_MT) && defined(__APPLE__)