/* * Copyright © 2016 Google, Inc. * * This is part of HarfBuzz, a text shaping library. * * Permission is hereby granted, without written agreement and without * license or royalty fees, to use, copy, modify, and distribute this * software and its documentation for any purpose, provided that the * above copyright notice and the following two paragraphs appear in * all copies of this software. * * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH * DAMAGE. * * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. * * Google Author(s): Seigo Nonaka, Calder Kitagawa */ #ifndef OT_COLOR_CBDT_CBDT_HH #define OT_COLOR_CBDT_CBDT_HH #include "../../../hb-open-type.hh" #include "../../../hb-paint.hh" /* * CBLC -- Color Bitmap Location * https://docs.microsoft.com/en-us/typography/opentype/spec/cblc * https://docs.microsoft.com/en-us/typography/opentype/spec/eblc * CBDT -- Color Bitmap Data * https://docs.microsoft.com/en-us/typography/opentype/spec/cbdt * https://docs.microsoft.com/en-us/typography/opentype/spec/ebdt */ #define HB_OT_TAG_CBLC … #define HB_OT_TAG_CBDT … namespace OT { struct cblc_bitmap_size_subset_context_t { … }; static inline bool _copy_data_to_cbdt (hb_vector_t<char> *cbdt_prime, const void *data, unsigned length) { … } struct SmallGlyphMetrics { … }; struct BigGlyphMetrics : SmallGlyphMetrics { … }; struct SBitLineMetrics { … }; /* * Index Subtables. */ struct IndexSubtableHeader { … }; template <typename OffsetType> struct IndexSubtableFormat1Or3 { … }; struct IndexSubtableFormat1 : IndexSubtableFormat1Or3<HBUINT32> { … }; struct IndexSubtableFormat3 : IndexSubtableFormat1Or3<HBUINT16> { … }; struct IndexSubtable { … }; struct IndexSubtableRecord { … }; struct IndexSubtableArray { … }; struct BitmapSizeTable { … }; /* * Glyph Bitmap Data Formats. */ struct GlyphBitmapDataFormat17 { … }; struct GlyphBitmapDataFormat18 { … }; struct GlyphBitmapDataFormat19 { … }; struct CBLC { … }; struct CBDT { … }; inline bool CBLC::subset (hb_subset_context_t *c) const { … } struct CBDT_accelerator_t : CBDT::accelerator_t { … }; } /* namespace OT */ #endif /* OT_COLOR_CBDT_CBDT_HH */