1// Copyright (c) 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "cbdt.h" 6 7// CBDT 8// https://color-emoji.googlecode.com/git/specification/v1.html 9// We don't support the table, but provide a way not to drop the table. 10 11namespace ots { 12 13extern bool g_drop_color_bitmap_tables; 14 15bool ots_cbdt_parse(OpenTypeFile *file, const uint8_t *data, size_t length) { 16 if (g_drop_color_bitmap_tables) { 17 return OTS_FAILURE(); 18 } 19 20 file->cbdt = new OpenTypeCBDT; 21 file->cbdt->data = data; 22 file->cbdt->length = length; 23 return true; 24} 25 26bool ots_cbdt_should_serialise(OpenTypeFile *file) { 27 return file->cbdt != NULL && file->cblc != NULL; 28} 29 30bool ots_cbdt_serialise(OTSStream *out, OpenTypeFile *file) { 31 if (!out->Write(file->cbdt->data, file->cbdt->length)) { 32 return OTS_FAILURE(); 33 } 34 return true; 35} 36 37void ots_cbdt_free(OpenTypeFile *file) { 38 delete file->cbdt; 39} 40 41} // namespace ots 42