Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Functions
SkShapers::HB Namespace Reference

Functions

SKSHAPER_API std::unique_ptr< SkShaperShaperDrivenWrapper (sk_sp< SkUnicode > unicode, sk_sp< SkFontMgr > fallback)
 
SKSHAPER_API std::unique_ptr< SkShaperShapeThenWrap (sk_sp< SkUnicode > unicode, sk_sp< SkFontMgr > fallback)
 
SKSHAPER_API std::unique_ptr< SkShaperShapeDontWrapOrReorder (sk_sp< SkUnicode > unicode, sk_sp< SkFontMgr > fallback)
 
SKSHAPER_API std::unique_ptr< SkShaper::ScriptRunIteratorScriptRunIterator (const char *utf8, size_t utf8Bytes)
 
SKSHAPER_API std::unique_ptr< SkShaper::ScriptRunIteratorScriptRunIterator (const char *utf8, size_t utf8Bytes, SkFourByteTag script)
 
SKSHAPER_API void PurgeCaches ()
 

Function Documentation

◆ PurgeCaches()

void SkShapers::HB::PurgeCaches ( )

Definition at line 1534 of file SkShaper_harfbuzz.cpp.

1534 {
1535 HBLockedFaceCache cache = get_hbFace_cache();
1536 cache.reset();
1537}

◆ ScriptRunIterator() [1/2]

std::unique_ptr< SkShaper::ScriptRunIterator > SkShapers::HB::ScriptRunIterator ( const char *  utf8,
size_t  utf8Bytes 
)

Definition at line 1524 of file SkShaper_harfbuzz.cpp.

1524 {
1525 return std::make_unique<SkUnicodeHbScriptRunIterator>(utf8, utf8Bytes, HB_SCRIPT_UNKNOWN);
1526}

◆ ScriptRunIterator() [2/2]

std::unique_ptr< SkShaper::ScriptRunIterator > SkShapers::HB::ScriptRunIterator ( const char *  utf8,
size_t  utf8Bytes,
SkFourByteTag  script 
)

Definition at line 1527 of file SkShaper_harfbuzz.cpp.

1529 {
1530 return std::make_unique<SkUnicodeHbScriptRunIterator>(
1531 utf8, utf8Bytes, hb_script_from_iso15924_tag((hb_tag_t)script));
1532}

◆ ShapeDontWrapOrReorder()

std::unique_ptr< SkShaper > SkShapers::HB::ShapeDontWrapOrReorder ( sk_sp< SkUnicode unicode,
sk_sp< SkFontMgr fallback 
)

Definition at line 1510 of file SkShaper_harfbuzz.cpp.

1511 {
1512 if (!unicode) {
1513 return nullptr;
1514 }
1515 HBBuffer buffer(hb_buffer_create());
1516 if (!buffer) {
1517 SkDEBUGF("Could not create hb_buffer");
1518 return nullptr;
1519 }
1520 return std::make_unique<::ShapeDontWrapOrReorder>(
1521 unicode, std::move(buffer), std::move(fallback));
1522}
#define SkDEBUGF(...)
Definition SkDebug.h:24
static const uint8_t buffer[]

◆ ShaperDrivenWrapper()

std::unique_ptr< SkShaper > SkShapers::HB::ShaperDrivenWrapper ( sk_sp< SkUnicode unicode,
sk_sp< SkFontMgr fallback 
)

Definition at line 1482 of file SkShaper_harfbuzz.cpp.

1483 {
1484 if (!unicode) {
1485 return nullptr;
1486 }
1487 HBBuffer buffer(hb_buffer_create());
1488 if (!buffer) {
1489 SkDEBUGF("Could not create hb_buffer");
1490 return nullptr;
1491 }
1492 return std::make_unique<::ShaperDrivenWrapper>(
1493 unicode, std::move(buffer), std::move(fallback));
1494}

◆ ShapeThenWrap()

std::unique_ptr< SkShaper > SkShapers::HB::ShapeThenWrap ( sk_sp< SkUnicode unicode,
sk_sp< SkFontMgr fallback 
)

Definition at line 1496 of file SkShaper_harfbuzz.cpp.

1497 {
1498 if (!unicode) {
1499 return nullptr;
1500 }
1501 HBBuffer buffer(hb_buffer_create());
1502 if (!buffer) {
1503 SkDEBUGF("Could not create hb_buffer");
1504 return nullptr;
1505 }
1506 return std::make_unique<::ShapeThenWrap>(
1507 unicode, std::move(buffer), std::move(fallback));
1508}