summaryrefslogtreecommitdiff
path: root/modules/brotli/enc/utf8_util.h
diff options
context:
space:
mode:
Diffstat (limited to 'modules/brotli/enc/utf8_util.h')
-rw-r--r--modules/brotli/enc/utf8_util.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/brotli/enc/utf8_util.h b/modules/brotli/enc/utf8_util.h
new file mode 100644
index 0000000000..8fda80c220
--- /dev/null
+++ b/modules/brotli/enc/utf8_util.h
@@ -0,0 +1,32 @@
+/* Copyright 2013 Google Inc. All Rights Reserved.
+
+ Distributed under MIT license.
+ See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
+*/
+
+/* Heuristics for deciding about the UTF8-ness of strings. */
+
+#ifndef BROTLI_ENC_UTF8_UTIL_H_
+#define BROTLI_ENC_UTF8_UTIL_H_
+
+#include "../common/platform.h"
+#include <brotli/types.h>
+
+#if defined(__cplusplus) || defined(c_plusplus)
+extern "C" {
+#endif
+
+static const double kMinUTF8Ratio = 0.75;
+
+/* Returns 1 if at least min_fraction of the bytes between pos and
+ pos + length in the (data, mask) ring-buffer is UTF8-encoded, otherwise
+ returns 0. */
+BROTLI_INTERNAL BROTLI_BOOL BrotliIsMostlyUTF8(
+ const uint8_t* data, const size_t pos, const size_t mask,
+ const size_t length, const double min_fraction);
+
+#if defined(__cplusplus) || defined(c_plusplus)
+} /* extern "C" */
+#endif
+
+#endif /* BROTLI_ENC_UTF8_UTIL_H_ */