1 /* Copyright 2013 Google Inc. All Rights Reserved. 2 3 Distributed under MIT license. 4 See file LICENSE for detail or copy at https://opensource.org/licenses/MIT 5 */ 6 7 /* Heuristics for deciding about the UTF8-ness of strings. */ 8 9 #ifndef BROTLI_ENC_UTF8_UTIL_H_ 10 #define BROTLI_ENC_UTF8_UTIL_H_ 11 12 #include "../common/platform.h" 13 #include <brotli/types.h> 14 15 #if defined(__cplusplus) || defined(c_plusplus) 16 extern "C" { 17 #endif 18 19 static const double kMinUTF8Ratio = 0.75; 20 21 /* Returns 1 if at least min_fraction of the bytes between pos and 22 pos + length in the (data, mask) ring-buffer is UTF8-encoded, otherwise 23 returns 0. */ 24 BROTLI_INTERNAL BROTLI_BOOL BrotliIsMostlyUTF8( 25 const uint8_t* data, const size_t pos, const size_t mask, 26 const size_t length, const double min_fraction); 27 28 #if defined(__cplusplus) || defined(c_plusplus) 29 } /* extern "C" */ 30 #endif 31 32 #endif /* BROTLI_ENC_UTF8_UTIL_H_ */ 33