1*2d1272b8SAndroid Build Coastguard Worker /* 2*2d1272b8SAndroid Build Coastguard Worker * Copyright © 2019 Ebrahim Byagowi 3*2d1272b8SAndroid Build Coastguard Worker * 4*2d1272b8SAndroid Build Coastguard Worker * This is part of HarfBuzz, a text shaping library. 5*2d1272b8SAndroid Build Coastguard Worker * 6*2d1272b8SAndroid Build Coastguard Worker * Permission is hereby granted, without written agreement and without 7*2d1272b8SAndroid Build Coastguard Worker * license or royalty fees, to use, copy, modify, and distribute this 8*2d1272b8SAndroid Build Coastguard Worker * software and its documentation for any purpose, provided that the 9*2d1272b8SAndroid Build Coastguard Worker * above copyright notice and the following two paragraphs appear in 10*2d1272b8SAndroid Build Coastguard Worker * all copies of this software. 11*2d1272b8SAndroid Build Coastguard Worker * 12*2d1272b8SAndroid Build Coastguard Worker * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 13*2d1272b8SAndroid Build Coastguard Worker * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 14*2d1272b8SAndroid Build Coastguard Worker * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 15*2d1272b8SAndroid Build Coastguard Worker * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 16*2d1272b8SAndroid Build Coastguard Worker * DAMAGE. 17*2d1272b8SAndroid Build Coastguard Worker * 18*2d1272b8SAndroid Build Coastguard Worker * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 19*2d1272b8SAndroid Build Coastguard Worker * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 20*2d1272b8SAndroid Build Coastguard Worker * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 21*2d1272b8SAndroid Build Coastguard Worker * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 22*2d1272b8SAndroid Build Coastguard Worker * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 23*2d1272b8SAndroid Build Coastguard Worker */ 24*2d1272b8SAndroid Build Coastguard Worker 25*2d1272b8SAndroid Build Coastguard Worker #if !defined(HB_OT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR) 26*2d1272b8SAndroid Build Coastguard Worker #error "Include <hb-ot.h> instead." 27*2d1272b8SAndroid Build Coastguard Worker #endif 28*2d1272b8SAndroid Build Coastguard Worker 29*2d1272b8SAndroid Build Coastguard Worker #ifndef HB_OT_META_H 30*2d1272b8SAndroid Build Coastguard Worker #define HB_OT_META_H 31*2d1272b8SAndroid Build Coastguard Worker 32*2d1272b8SAndroid Build Coastguard Worker #include "hb.h" 33*2d1272b8SAndroid Build Coastguard Worker 34*2d1272b8SAndroid Build Coastguard Worker HB_BEGIN_DECLS 35*2d1272b8SAndroid Build Coastguard Worker 36*2d1272b8SAndroid Build Coastguard Worker /** 37*2d1272b8SAndroid Build Coastguard Worker * hb_ot_meta_tag_t: 38*2d1272b8SAndroid Build Coastguard Worker * @HB_OT_META_TAG_DESIGN_LANGUAGES: Design languages. Text, using only 39*2d1272b8SAndroid Build Coastguard Worker * Basic Latin (ASCII) characters. Indicates languages and/or scripts 40*2d1272b8SAndroid Build Coastguard Worker * for the user audiences that the font was primarily designed for. 41*2d1272b8SAndroid Build Coastguard Worker * @HB_OT_META_TAG_SUPPORTED_LANGUAGES: Supported languages. Text, using 42*2d1272b8SAndroid Build Coastguard Worker * only Basic Latin (ASCII) characters. Indicates languages and/or scripts 43*2d1272b8SAndroid Build Coastguard Worker * that the font is declared to be capable of supporting. 44*2d1272b8SAndroid Build Coastguard Worker * 45*2d1272b8SAndroid Build Coastguard Worker * Known metadata tags from https://docs.microsoft.com/en-us/typography/opentype/spec/meta 46*2d1272b8SAndroid Build Coastguard Worker * 47*2d1272b8SAndroid Build Coastguard Worker * Since: 2.6.0 48*2d1272b8SAndroid Build Coastguard Worker **/ 49*2d1272b8SAndroid Build Coastguard Worker typedef enum { 50*2d1272b8SAndroid Build Coastguard Worker /* 51*2d1272b8SAndroid Build Coastguard Worker HB_OT_META_TAG_APPL = HB_TAG ('a','p','p','l'), 52*2d1272b8SAndroid Build Coastguard Worker HB_OT_META_TAG_BILD = HB_TAG ('b','i','l','d'), 53*2d1272b8SAndroid Build Coastguard Worker */ 54*2d1272b8SAndroid Build Coastguard Worker HB_OT_META_TAG_DESIGN_LANGUAGES = HB_TAG ('d','l','n','g'), 55*2d1272b8SAndroid Build Coastguard Worker HB_OT_META_TAG_SUPPORTED_LANGUAGES = HB_TAG ('s','l','n','g'), 56*2d1272b8SAndroid Build Coastguard Worker 57*2d1272b8SAndroid Build Coastguard Worker /*< private >*/ 58*2d1272b8SAndroid Build Coastguard Worker _HB_OT_META_TAG_MAX_VALUE = HB_TAG_MAX_SIGNED /*< skip >*/ 59*2d1272b8SAndroid Build Coastguard Worker } hb_ot_meta_tag_t; 60*2d1272b8SAndroid Build Coastguard Worker 61*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN unsigned int 62*2d1272b8SAndroid Build Coastguard Worker hb_ot_meta_get_entry_tags (hb_face_t *face, 63*2d1272b8SAndroid Build Coastguard Worker unsigned int start_offset, 64*2d1272b8SAndroid Build Coastguard Worker unsigned int *entries_count, /* IN/OUT. May be NULL. */ 65*2d1272b8SAndroid Build Coastguard Worker hb_ot_meta_tag_t *entries /* OUT. May be NULL. */); 66*2d1272b8SAndroid Build Coastguard Worker 67*2d1272b8SAndroid Build Coastguard Worker HB_EXTERN hb_blob_t * 68*2d1272b8SAndroid Build Coastguard Worker hb_ot_meta_reference_entry (hb_face_t *face, hb_ot_meta_tag_t meta_tag); 69*2d1272b8SAndroid Build Coastguard Worker 70*2d1272b8SAndroid Build Coastguard Worker HB_END_DECLS 71*2d1272b8SAndroid Build Coastguard Worker 72*2d1272b8SAndroid Build Coastguard Worker #endif /* HB_OT_META_H */ 73