Flutter Engine
The Flutter Engine
Namespaces | Macros | Functions
SkShaper_harfbuzz.cpp File Reference
#include "modules/skshaper/include/SkShaper_harfbuzz.h"
#include "include/core/SkData.h"
#include "include/core/SkFont.h"
#include "include/core/SkFontArguments.h"
#include "include/core/SkFontMetrics.h"
#include "include/core/SkFontMgr.h"
#include "include/core/SkFontTypes.h"
#include "include/core/SkPaint.h"
#include "include/core/SkPoint.h"
#include "include/core/SkRect.h"
#include "include/core/SkRefCnt.h"
#include "include/core/SkScalar.h"
#include "include/core/SkSpan.h"
#include "include/core/SkStream.h"
#include "include/core/SkString.h"
#include "include/core/SkTypeface.h"
#include "include/core/SkTypes.h"
#include "include/private/base/SkDebug.h"
#include "include/private/base/SkMalloc.h"
#include "include/private/base/SkMutex.h"
#include "include/private/base/SkTArray.h"
#include "include/private/base/SkTemplates.h"
#include "include/private/base/SkTo.h"
#include "include/private/base/SkTypeTraits.h"
#include "modules/skshaper/include/SkShaper.h"
#include "modules/skunicode/include/SkUnicode.h"
#include "src/base/SkTDPQueue.h"
#include "src/base/SkUTF.h"
#include "src/core/SkLRUCache.h"
#include "modules/skshaper/include/SkShaper_skunicode.h"
#include <hb-ot.h>
#include <hb.h>
#include <cstdint>
#include <cstring>
#include <memory>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Namespaces

namespace  SkShapers
 
namespace  SkShapers::HB
 

Macros

#define HB_FEATURE_GLOBAL_START   0
 
#define HB_FEATURE_GLOBAL_END   ((unsigned int) -1)
 
#define SK_HB_VERSION_CHECK(x, y, z)
 

Functions

static sk_sp< SkUnicodeget_unicode ()
 
SKSHAPER_API std::unique_ptr< SkShaperSkShapers::HB::ShaperDrivenWrapper (sk_sp< SkUnicode > unicode, sk_sp< SkFontMgr > fallback)
 
SKSHAPER_API std::unique_ptr< SkShaperSkShapers::HB::ShapeThenWrap (sk_sp< SkUnicode > unicode, sk_sp< SkFontMgr > fallback)
 
SKSHAPER_API std::unique_ptr< SkShaperSkShapers::HB::ShapeDontWrapOrReorder (sk_sp< SkUnicode > unicode, sk_sp< SkFontMgr > fallback)
 
SKSHAPER_API std::unique_ptr< SkShaper::ScriptRunIteratorSkShapers::HB::ScriptRunIterator (const char *utf8, size_t utf8Bytes)
 
SKSHAPER_API std::unique_ptr< SkShaper::ScriptRunIteratorSkShapers::HB::ScriptRunIterator (const char *utf8, size_t utf8Bytes, SkFourByteTag script)
 
SKSHAPER_API void SkShapers::HB::PurgeCaches ()
 

Macro Definition Documentation

◆ HB_FEATURE_GLOBAL_END

#define HB_FEATURE_GLOBAL_END   ((unsigned int) -1)

Definition at line 60 of file SkShaper_harfbuzz.cpp.

◆ HB_FEATURE_GLOBAL_START

#define HB_FEATURE_GLOBAL_START   0

Definition at line 57 of file SkShaper_harfbuzz.cpp.

◆ SK_HB_VERSION_CHECK

#define SK_HB_VERSION_CHECK (   x,
  y,
 
)
Value:
(HB_VERSION_MAJOR > (x)) || \
(HB_VERSION_MAJOR == (x) && HB_VERSION_MINOR > (y)) || \
(HB_VERSION_MAJOR == (x) && HB_VERSION_MINOR == (y) && HB_VERSION_MICRO >= (z))
double y
double x

Definition at line 206 of file SkShaper_harfbuzz.cpp.

Function Documentation

◆ get_unicode()

static sk_sp< SkUnicode > get_unicode ( )
static

Definition at line 1436 of file SkShaper_harfbuzz.cpp.

1436 {
1437#if defined(SK_UNICODE_ICU_IMPLEMENTATION)
1438 if (auto unicode = SkUnicodes::ICU::Make()) {
1439 return unicode;
1440 }
1441#endif // defined(SK_UNICODE_ICU_IMPLEMENTATION)
1442#if defined(SK_UNICODE_LIBGRAPHEME_IMPLEMENTATION)
1444 return unicode;
1445 }
1446#endif
1447#if defined(SK_UNICODE_ICU4X_IMPLEMENTATION)
1448 if (auto unicode = SkUnicodes::ICU4X::Make()) {
1449 return unicode;
1450 }
1451#endif
1452 return nullptr;
1453}
SKUNICODE_API sk_sp< SkUnicode > Make()
SKUNICODE_API sk_sp< SkUnicode > Make()
SKUNICODE_API sk_sp< SkUnicode > Make()