summaryrefslogtreecommitdiff
path: root/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-08-02 22:27:18 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2018-08-02 22:27:18 +0000
commit00cddd8f501726c55398988ec393b39824688bc9 (patch)
treec383dbf0c33772288a3fef798ce38252fc41d462 /Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc
parent86d37d58807bbc32cbda99be0644cca69261a6ea (diff)
harfbuzz 1.8.5
git-svn-id: svn://tug.org/texlive/trunk@48337 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc')
-rw-r--r--Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc
index ee17cd3481c..e6920e7e01c 100644
--- a/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc
+++ b/Build/source/libs/harfbuzz/harfbuzz-src/src/hb-static.cc
@@ -25,8 +25,34 @@
*/
#include "hb-private.hh"
+#include "hb-face-private.hh"
+#include "hb-open-type-private.hh"
+#include "hb-ot-head-table.hh"
+#include "hb-ot-maxp-table.hh"
#ifndef HB_NO_VISIBILITY
+
hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)] = {};
/*thread_local*/ hb_vector_size_impl_t _hb_CrapPool[(HB_NULL_POOL_SIZE + sizeof (hb_vector_size_impl_t) - 1) / sizeof (hb_vector_size_impl_t)] = {};
+
+void
+hb_face_t::load_num_glyphs (void) const
+{
+ OT::hb_sanitize_context_t c = OT::hb_sanitize_context_t();
+ c.set_num_glyphs (0); /* So we don't recurse ad infinitum. */
+ hb_blob_t *maxp_blob = c.reference_table<OT::maxp> (this);
+ const OT::maxp *maxp_table = maxp_blob->as<OT::maxp> ();
+ num_glyphs = maxp_table->get_num_glyphs ();
+ hb_blob_destroy (maxp_blob);
+}
+
+void
+hb_face_t::load_upem (void) const
+{
+ hb_blob_t *head_blob = OT::hb_sanitize_context_t().reference_table<OT::head> (this);
+ const OT::head *head_table = head_blob->as<OT::head> ();
+ upem = head_table->get_upem ();
+ hb_blob_destroy (head_blob);
+}
+
#endif