Home | History | Annotate | Download | only in src
      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 "cblc.h"
      6 
      7 // CBLC
      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 
     11 namespace ots {
     12 
     13 extern bool g_drop_color_bitmap_tables;
     14 
     15 bool ots_cblc_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->cblc = new OpenTypeCBLC;
     21   file->cblc->data = data;
     22   file->cblc->length = length;
     23   return true;
     24 }
     25 
     26 bool ots_cblc_should_serialise(OpenTypeFile *file) {
     27   return file->cblc != NULL && file->cbdt != NULL;
     28 }
     29 
     30 bool ots_cblc_serialise(OTSStream *out, OpenTypeFile *file) {
     31   if (!out->Write(file->cblc->data, file->cblc->length)) {
     32     return OTS_FAILURE();
     33   }
     34   return true;
     35 }
     36 
     37 void ots_cblc_free(OpenTypeFile *file) {
     38   delete file->cblc;
     39 }
     40 
     41 }  // namespace ots
     42