diff options
Diffstat (limited to 'cpp/src/sample/chromium/subsetter_impl.cc')
-rw-r--r-- | cpp/src/sample/chromium/subsetter_impl.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cpp/src/sample/chromium/subsetter_impl.cc b/cpp/src/sample/chromium/subsetter_impl.cc index 528e336..c53e607 100644 --- a/cpp/src/sample/chromium/subsetter_impl.cc +++ b/cpp/src/sample/chromium/subsetter_impl.cc @@ -616,6 +616,24 @@ SubsetterImpl::SubsetterImpl() { SubsetterImpl::~SubsetterImpl() { } +bool SubsetterImpl::LoadFont(int font_index, + const unsigned char* original_font, + size_t font_size) { + MemoryInputStream mis; + mis.Attach(original_font, font_size); + if (factory_ == NULL) { + factory_.Attach(FontFactory::GetInstance()); + } + + FontArray font_array; + factory_->LoadFonts(&mis, &font_array); + if (font_index < 0 || (size_t)font_index >= font_array.size()) { + return false; + } + font_ = font_array[font_index].p_; + return font_ != NULL; +} + bool SubsetterImpl::LoadFont(const char* font_name, const unsigned char* original_font, size_t font_size) { |