45 return stream->read(
buffer, amount) == amount;
49 return stream->skip(amount) == amount;
76 if ((
unsigned)ttcIndex >=
count) {
128 if (!
skip(stream, offsetToDir)) {
147 if (!
read(stream, &shared,
sizeof(shared))) {
163 if (!
header.init(stream, ttcIndex)) {
168 for (
int i = 0; i <
header.fCount; i++) {
179 if (!
header.init(stream, ttcIndex)) {
183 for (
int i = 0; i <
header.fCount; i++) {
187 if (
offset >= realLength) {
203 size_t bytesToSkip = realOffset +
offset;
204 if (!
skip(stream, bytesToSkip)) {
#define SkEndian_SwapBE32(n)
#define SkEndian_SwapBE16(n)
static bool read(SkStream *stream, void *buffer, size_t amount)
static bool skip(SkStream *stream, size_t amount)
static int count_tables(SkStream *stream, int ttcIndex, size_t *offsetToDir)
SK_API void sk_free(void *)
static void * sk_malloc_throw(size_t size)
static constexpr SkFourByteTag SkSetFourByteTag(char a, char b, char c, char d)
void * reset(size_t size, SkAutoMalloc::OnShrink shrink=SkAutoMalloc::kAlloc_OnShrink, bool *didChangeAlloc=nullptr)
static size_t GetTableData(SkStream *, int ttcIndex, SkFontTableTag tag, size_t offset, size_t length, void *data)
static int GetTableTags(SkStream *, int ttcIndex, SkFontTableTag tags[])
static int CountTTCEntries(SkStream *)
static const uint8_t buffer[]
static const char header[]