diff options
author | Seigo Nonaka <nona@google.com> | 2021-01-21 17:58:54 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-01-21 17:58:54 +0000 |
commit | bcba17031d7619fa253ec34b7b830d39378935f6 (patch) | |
tree | f406ec605183ee4e8a33c5c543985022f9b8d9fe | |
parent | 6451abb3a776a20cd828530bb8ff2f1a60c9bc8f (diff) | |
parent | 51e5c0c2802e05cfb37323444c806232ff63fe5f (diff) | |
download | minikin-bcba17031d7619fa253ec34b7b830d39378935f6.tar.gz |
Merge "Add API for determining font type."
-rw-r--r-- | include/minikin/FontFileParser.h | 1 | ||||
-rw-r--r-- | libs/minikin/FontFileParser.cpp | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/minikin/FontFileParser.h b/include/minikin/FontFileParser.h index b6d155c..34880a3 100644 --- a/include/minikin/FontFileParser.h +++ b/include/minikin/FontFileParser.h @@ -36,6 +36,7 @@ public: std::optional<uint32_t> getFontRevision() const; std::optional<std::string> getPostScriptName() const; + std::optional<bool> isPostScriptType1Font() const; protected: // protected for testing purposes. static bool analyzeFontRevision(const uint8_t* head_data, size_t head_size, uint32_t* out); diff --git a/libs/minikin/FontFileParser.cpp b/libs/minikin/FontFileParser.cpp index 7ca81aa..1bcb711 100644 --- a/libs/minikin/FontFileParser.cpp +++ b/libs/minikin/FontFileParser.cpp @@ -208,4 +208,12 @@ std::optional<std::string> FontFileParser::getPostScriptName() const { return out; } +std::optional<bool> FontFileParser::isPostScriptType1Font() const { + if (!mFace) return std::optional<bool>(); + + HbBlob cffTable(mFace, MinikinFont::MakeTag('C', 'F', 'F', ' ')); + HbBlob cff2Table(mFace, MinikinFont::MakeTag('C', 'F', 'F', '2')); + return cffTable || cff2Table; +} + } // namespace minikin |