[API] Add hb_*_get_empty() for all objects
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc
index 6d0d4d4..7e79eef 100644
--- a/src/hb-buffer.cc
+++ b/src/hb-buffer.cc
@@ -153,6 +153,12 @@
}
hb_buffer_t *
+hb_buffer_get_empty (void)
+{
+ return &_hb_buffer_nil;
+}
+
+hb_buffer_t *
hb_buffer_reference (hb_buffer_t *buffer)
{
return hb_object_reference (buffer);
diff --git a/src/hb-buffer.h b/src/hb-buffer.h
index 47a2123..020a120 100644
--- a/src/hb-buffer.h
+++ b/src/hb-buffer.h
@@ -63,6 +63,9 @@
hb_buffer_create (unsigned int pre_alloc_size);
hb_buffer_t *
+hb_buffer_get_empty (void);
+
+hb_buffer_t *
hb_buffer_reference (hb_buffer_t *buffer);
void
diff --git a/src/hb-font.cc b/src/hb-font.cc
index 6cd436d..bb8f84c 100644
--- a/src/hb-font.cc
+++ b/src/hb-font.cc
@@ -160,6 +160,12 @@
}
hb_font_funcs_t *
+hb_font_funcs_get_empty (void)
+{
+ return &_hb_font_funcs_nil;
+}
+
+hb_font_funcs_t *
hb_font_funcs_reference (hb_font_funcs_t *ffuncs)
{
return hb_object_reference (ffuncs);
@@ -404,6 +410,12 @@
(hb_destroy_func_t) _hb_face_for_data_closure_destroy);
}
+hb_face_t *
+hb_face_get_empty (void)
+{
+ return &_hb_face_nil;
+}
+
hb_face_t *
hb_face_reference (hb_face_t *face)
@@ -534,6 +546,12 @@
}
hb_font_t *
+hb_font_get_empty (void)
+{
+ return &_hb_font_nil;
+}
+
+hb_font_t *
hb_font_reference (hb_font_t *font)
{
return hb_object_reference (font);
diff --git a/src/hb-font.h b/src/hb-font.h
index ce81985..7f05144 100644
--- a/src/hb-font.h
+++ b/src/hb-font.h
@@ -53,6 +53,9 @@
hb_destroy_func_t destroy);
hb_face_t *
+hb_face_get_empty (void);
+
+hb_face_t *
hb_face_reference (hb_face_t *face);
void
@@ -88,6 +91,9 @@
hb_font_funcs_create (void);
hb_font_funcs_t *
+hb_font_funcs_get_empty (void);
+
+hb_font_funcs_t *
hb_font_funcs_reference (hb_font_funcs_t *ffuncs);
void
@@ -207,6 +213,9 @@
hb_font_create_sub_font (hb_font_t *parent);
hb_font_t *
+hb_font_get_empty (void);
+
+hb_font_t *
hb_font_reference (hb_font_t *font);
void
diff --git a/src/hb-unicode.cc b/src/hb-unicode.cc
index 943d7a7..c2d7311 100644
--- a/src/hb-unicode.cc
+++ b/src/hb-unicode.cc
@@ -126,6 +126,12 @@
}
hb_unicode_funcs_t *
+hb_unicode_funcs_get_empty (void)
+{
+ return &_hb_unicode_funcs_nil;
+}
+
+hb_unicode_funcs_t *
hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs)
{
return hb_object_reference (ufuncs);
diff --git a/src/hb-unicode.h b/src/hb-unicode.h
index 9e590d8..e7a2005 100644
--- a/src/hb-unicode.h
+++ b/src/hb-unicode.h
@@ -54,6 +54,9 @@
hb_unicode_funcs_create (hb_unicode_funcs_t *parent);
hb_unicode_funcs_t *
+hb_unicode_funcs_get_empty (void);
+
+hb_unicode_funcs_t *
hb_unicode_funcs_reference (hb_unicode_funcs_t *ufuncs);
void