[HarfBuzz] harfbuzz: Branch 'master' - 3 commits
Behdad Esfahbod
behdad at kemper.freedesktop.org
Mon Sep 10 23:27:49 UTC 2018
docs/harfbuzz-sections.txt | 2 ++
src/hb-common.cc | 4 ++--
src/hb-common.h | 13 +++++++++++++
src/hb-dsalgs.hh | 20 ++++++++++++++++++++
src/hb-open-type.hh | 1 -
5 files changed, 37 insertions(+), 3 deletions(-)
New commits:
commit becd84aa2f2902ea9d2d1677b28945e103a68816
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Tue Sep 11 01:26:18 2018 +0200
Add HB_FEATURE_GLOBAL_START/END
Fixes https://github.com/harfbuzz/harfbuzz/issues/1141
New API:
HB_FEATURE_GLOBAL_START
HB_FEATURE_GLOBAL_END
diff --git a/docs/harfbuzz-sections.txt b/docs/harfbuzz-sections.txt
index ca0e908f..b69c1686 100644
--- a/docs/harfbuzz-sections.txt
+++ b/docs/harfbuzz-sections.txt
@@ -582,6 +582,8 @@ hb_set_union
<SECTION>
<FILE>hb-shape</FILE>
+HB_FEATURE_GLOBAL_END
+HB_FEATURE_GLOBAL_START
hb_feature_t
hb_feature_from_string
hb_feature_to_string
diff --git a/src/hb-common.cc b/src/hb-common.cc
index ed3fed2a..c1651232 100644
--- a/src/hb-common.cc
+++ b/src/hb-common.cc
@@ -877,8 +877,8 @@ parse_feature_indices (const char **pp, const char *end, hb_feature_t *feature)
bool has_start;
- feature->start = 0;
- feature->end = (unsigned int) -1;
+ feature->start = HB_FEATURE_GLOBAL_START;
+ feature->end = HB_FEATURE_GLOBAL_END;
if (!parse_char (pp, end, '['))
return true;
diff --git a/src/hb-common.h b/src/hb-common.h
index 5dc1ebcd..fdceff9d 100644
--- a/src/hb-common.h
+++ b/src/hb-common.h
@@ -379,6 +379,19 @@ typedef void (*hb_destroy_func_t) (void *user_data);
/* Font features and variations. */
+/**
+ * HB_FEATURE_GLOBAL_START
+ *
+ * Since: REPLACEME
+ */
+#define HB_FEATURE_GLOBAL_START 0
+/**
+ * HB_FEATURE_GLOBAL_END
+ *
+ * Since: REPLACEME
+ */
+#define HB_FEATURE_GLOBAL_END ((unsigned int) -1)
+
typedef struct hb_feature_t {
hb_tag_t tag;
uint32_t value;
commit 13a8786c7c580651d8a6db9345b9aa85ca8ed956
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Tue Sep 11 01:07:06 2018 +0200
Add (unused) hb_array_t<>
diff --git a/src/hb-dsalgs.hh b/src/hb-dsalgs.hh
index 7e06ff17..def968eb 100644
--- a/src/hb-dsalgs.hh
+++ b/src/hb-dsalgs.hh
@@ -29,6 +29,8 @@
#include "hb.hh"
+#include "hb-null.hh"
+
/* Void! For when we need a expression-type of void. */
typedef const struct _hb_void_t *hb_void_t;
@@ -507,6 +509,24 @@ struct hb_auto_t : Type
void fini (void) {}
};
+template <typename T>
+struct hb_array_t
+{
+ inline hb_array_t (void) : arrayZ (nullptr), len (0) {}
+ inline hb_array_t (const T *array_, unsigned int len_) : arrayZ (array_), len (len_) {}
+
+ inline const T& operator [] (unsigned int i) const
+ {
+ if (unlikely (i >= len)) return Null(T);
+ return arrayZ[i];
+ }
+
+ inline void free (void) { ::free ((void *) arrayZ); arrayZ = nullptr; len = 0; }
+
+ const T *arrayZ;
+ unsigned int len;
+};
+
struct hb_bytes_t
{
inline hb_bytes_t (void) : bytes (nullptr), len (0) {}
commit bccf3e1827eec07433340eea705597201b6d0a32
Author: Behdad Esfahbod <behdad at behdad.org>
Date: Tue Sep 11 01:04:50 2018 +0200
Minor
diff --git a/src/hb-open-type.hh b/src/hb-open-type.hh
index 27ec7720..5d09c520 100644
--- a/src/hb-open-type.hh
+++ b/src/hb-open-type.hh
@@ -299,7 +299,6 @@ static inline Type& operator + (Base &base, OffsetTo<Type, OffsetType> &offset)
* Array Types
*/
-/* TODO Use it in ArrayOf, HeadlessArrayOf, and other places around the code base?? */
template <typename Type>
struct UnsizedArrayOf
{
More information about the HarfBuzz
mailing list