| Index: third_party/WebKit/Source/platform/fonts/opentype/OpenTypeCapsSupportMPL.cpp
|
| diff --git a/third_party/WebKit/Source/platform/fonts/opentype/OpenTypeCapsSupportMPL.cpp b/third_party/WebKit/Source/platform/fonts/opentype/OpenTypeCapsSupportMPL.cpp
|
| deleted file mode 100644
|
| index ad979fc07c5dd12332126ac332fb93e459d4eff5..0000000000000000000000000000000000000000
|
| --- a/third_party/WebKit/Source/platform/fonts/opentype/OpenTypeCapsSupportMPL.cpp
|
| +++ /dev/null
|
| @@ -1,81 +0,0 @@
|
| -/* ***** BEGIN LICENSE BLOCK *****
|
| - *
|
| - * This Source Code Form is subject to the terms of the Mozilla Public
|
| - * License, v. 2.0. If a copy of the MPL was not distributed with this
|
| - * file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
| - *
|
| - * ***** END LICENSE BLOCK ***** */
|
| -
|
| -#include "platform/fonts/opentype/OpenTypeCapsSupport.h"
|
| -
|
| -#include <hb-ot.h>
|
| -
|
| -namespace blink {
|
| -
|
| -bool OpenTypeCapsSupport::supportsOpenTypeFeature(
|
| - hb_script_t script,
|
| - uint32_t tag) const
|
| -{
|
| -
|
| - hb_face_t* face = m_harfBuzzFace->face();
|
| - ASSERT(face);
|
| -
|
| - ASSERT((tag == HB_TAG('s', 'm', 'c', 'p')
|
| - || tag == HB_TAG('c', '2', 's', 'c')
|
| - || tag == HB_TAG('p', 'c', 'a', 'p')
|
| - || tag == HB_TAG('c', '2', 'p', 'c')
|
| - || tag == HB_TAG('s', 'u', 'p', 's')
|
| - || tag == HB_TAG('s', 'u', 'b', 's')
|
| - || tag == HB_TAG('t', 'i', 't', 'l')
|
| - || tag == HB_TAG('u', 'n', 'i', 'c')
|
| - || tag == HB_TAG('v', 'e', 'r', 't')));
|
| -
|
| - bool result = false;
|
| -
|
| - if (!hb_ot_layout_has_substitution(face))
|
| - return false;
|
| -
|
| - // Get the OpenType tag(s) that match this script code
|
| - const size_t kMaxScriptTags = 4;
|
| - hb_tag_t scriptTags[kMaxScriptTags] = {
|
| - HB_TAG_NONE,
|
| - HB_TAG_NONE,
|
| - HB_TAG_NONE,
|
| - HB_TAG_NONE
|
| - };
|
| - hb_ot_tags_from_script(static_cast<hb_script_t>(script),
|
| - &scriptTags[0],
|
| - &scriptTags[1]);
|
| -
|
| - // Replace the first remaining NONE with DEFAULT
|
| - for (size_t i = 0; i < kMaxScriptTags; ++i) {
|
| - if (scriptTags[i] == HB_TAG_NONE) {
|
| - scriptTags[i] = HB_OT_TAG_DEFAULT_SCRIPT;
|
| - break;
|
| - }
|
| - }
|
| -
|
| - // Now check for 'smcp' under the first of those scripts that is present
|
| - const hb_tag_t kGSUB = HB_TAG('G', 'S', 'U', 'B');
|
| - for (size_t j = 0; j < kMaxScriptTags; ++j) {
|
| - if (scriptTags[j] == HB_TAG_NONE)
|
| - break;
|
| -
|
| - unsigned scriptIndex;
|
| - if (hb_ot_layout_table_find_script(face,
|
| - kGSUB,
|
| - scriptTags[j],
|
| - &scriptIndex)) {
|
| - if (hb_ot_layout_language_find_feature(face, kGSUB,
|
| - scriptIndex,
|
| - HB_OT_LAYOUT_DEFAULT_LANGUAGE_INDEX,
|
| - tag, nullptr)) {
|
| - result = true;
|
| - }
|
| - break;
|
| - }
|
| - }
|
| - return result;
|
| -}
|
| -
|
| -} // namespace blink
|
|
|