![]() |
|
|||
File indexing completed on 2025-02-21 10:04:02
0001 /* 0002 * Copyright © 2018 Ebrahim Byagowi. 0003 * 0004 * This is part of HarfBuzz, a text shaping library. 0005 * 0006 * Permission is hereby granted, without written agreement and without 0007 * license or royalty fees, to use, copy, modify, and distribute this 0008 * software and its documentation for any purpose, provided that the 0009 * above copyright notice and the following two paragraphs appear in 0010 * all copies of this software. 0011 * 0012 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 0013 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 0014 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 0015 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 0016 * DAMAGE. 0017 * 0018 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 0019 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 0020 * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 0021 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 0022 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 0023 */ 0024 0025 #if !defined(HB_OT_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR) 0026 #error "Include <hb-ot.h> instead." 0027 #endif 0028 0029 #ifndef HB_OT_NAME_H 0030 #define HB_OT_NAME_H 0031 0032 #include "hb.h" 0033 0034 HB_BEGIN_DECLS 0035 0036 /** 0037 * hb_ot_name_id_predefined_t: 0038 * @HB_OT_NAME_ID_COPYRIGHT: Copyright notice 0039 * @HB_OT_NAME_ID_FONT_FAMILY: Font Family name 0040 * @HB_OT_NAME_ID_FONT_SUBFAMILY: Font Subfamily name 0041 * @HB_OT_NAME_ID_UNIQUE_ID: Unique font identifier 0042 * @HB_OT_NAME_ID_FULL_NAME: Full font name that reflects 0043 * all family and relevant subfamily descriptors 0044 * @HB_OT_NAME_ID_VERSION_STRING: Version string 0045 * @HB_OT_NAME_ID_POSTSCRIPT_NAME: PostScript name for the font 0046 * @HB_OT_NAME_ID_TRADEMARK: Trademark 0047 * @HB_OT_NAME_ID_MANUFACTURER: Manufacturer Name 0048 * @HB_OT_NAME_ID_DESIGNER: Designer 0049 * @HB_OT_NAME_ID_DESCRIPTION: Description 0050 * @HB_OT_NAME_ID_VENDOR_URL: URL of font vendor 0051 * @HB_OT_NAME_ID_DESIGNER_URL: URL of typeface designer 0052 * @HB_OT_NAME_ID_LICENSE: License Description 0053 * @HB_OT_NAME_ID_LICENSE_URL: URL where additional licensing 0054 * information can be found 0055 * @HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY: Typographic Family name 0056 * @HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY: Typographic Subfamily name 0057 * @HB_OT_NAME_ID_MAC_FULL_NAME: Compatible Full Name for MacOS 0058 * @HB_OT_NAME_ID_SAMPLE_TEXT: Sample text 0059 * @HB_OT_NAME_ID_CID_FINDFONT_NAME: PostScript CID findfont name 0060 * @HB_OT_NAME_ID_WWS_FAMILY: WWS Family Name 0061 * @HB_OT_NAME_ID_WWS_SUBFAMILY: WWS Subfamily Name 0062 * @HB_OT_NAME_ID_LIGHT_BACKGROUND: Light Background Palette 0063 * @HB_OT_NAME_ID_DARK_BACKGROUND: Dark Background Palette 0064 * @HB_OT_NAME_ID_VARIATIONS_PS_PREFIX: Variations PostScript Name Prefix 0065 * @HB_OT_NAME_ID_INVALID: Value to represent a nonexistent name ID. 0066 * 0067 * An enum type representing the pre-defined name IDs. 0068 * 0069 * For more information on these fields, see the 0070 * [OpenType spec](https://docs.microsoft.com/en-us/typography/opentype/spec/name#name-ids). 0071 * 0072 * Since: 7.0.0 0073 **/ 0074 typedef enum 0075 { 0076 HB_OT_NAME_ID_COPYRIGHT = 0, 0077 HB_OT_NAME_ID_FONT_FAMILY = 1, 0078 HB_OT_NAME_ID_FONT_SUBFAMILY = 2, 0079 HB_OT_NAME_ID_UNIQUE_ID = 3, 0080 HB_OT_NAME_ID_FULL_NAME = 4, 0081 HB_OT_NAME_ID_VERSION_STRING = 5, 0082 HB_OT_NAME_ID_POSTSCRIPT_NAME = 6, 0083 HB_OT_NAME_ID_TRADEMARK = 7, 0084 HB_OT_NAME_ID_MANUFACTURER = 8, 0085 HB_OT_NAME_ID_DESIGNER = 9, 0086 HB_OT_NAME_ID_DESCRIPTION = 10, 0087 HB_OT_NAME_ID_VENDOR_URL = 11, 0088 HB_OT_NAME_ID_DESIGNER_URL = 12, 0089 HB_OT_NAME_ID_LICENSE = 13, 0090 HB_OT_NAME_ID_LICENSE_URL = 14, 0091 /*HB_OT_NAME_ID_RESERVED = 15,*/ 0092 HB_OT_NAME_ID_TYPOGRAPHIC_FAMILY = 16, 0093 HB_OT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17, 0094 HB_OT_NAME_ID_MAC_FULL_NAME = 18, 0095 HB_OT_NAME_ID_SAMPLE_TEXT = 19, 0096 HB_OT_NAME_ID_CID_FINDFONT_NAME = 20, 0097 HB_OT_NAME_ID_WWS_FAMILY = 21, 0098 HB_OT_NAME_ID_WWS_SUBFAMILY = 22, 0099 HB_OT_NAME_ID_LIGHT_BACKGROUND = 23, 0100 HB_OT_NAME_ID_DARK_BACKGROUND = 24, 0101 HB_OT_NAME_ID_VARIATIONS_PS_PREFIX = 25, 0102 0103 HB_OT_NAME_ID_INVALID = 0xFFFF 0104 } hb_ot_name_id_predefined_t; 0105 0106 /** 0107 * hb_ot_name_id_t: 0108 * 0109 * An integral type representing an OpenType 'name' table name identifier. 0110 * There are predefined name IDs, as well as name IDs return from other 0111 * API. These can be used to fetch name strings from a font face. 0112 * 0113 * Since: 2.0.0 0114 **/ 0115 typedef unsigned int hb_ot_name_id_t; 0116 0117 0118 /** 0119 * hb_ot_name_entry_t: 0120 * @name_id: name ID 0121 * @language: language 0122 * 0123 * Structure representing a name ID in a particular language. 0124 * 0125 * Since: 2.1.0 0126 **/ 0127 typedef struct hb_ot_name_entry_t { 0128 hb_ot_name_id_t name_id; 0129 /*< private >*/ 0130 hb_var_int_t var; 0131 /*< public >*/ 0132 hb_language_t language; 0133 } hb_ot_name_entry_t; 0134 0135 HB_EXTERN const hb_ot_name_entry_t * 0136 hb_ot_name_list_names (hb_face_t *face, 0137 unsigned int *num_entries /* OUT */); 0138 0139 0140 HB_EXTERN unsigned int 0141 hb_ot_name_get_utf8 (hb_face_t *face, 0142 hb_ot_name_id_t name_id, 0143 hb_language_t language, 0144 unsigned int *text_size /* IN/OUT */, 0145 char *text /* OUT */); 0146 0147 HB_EXTERN unsigned int 0148 hb_ot_name_get_utf16 (hb_face_t *face, 0149 hb_ot_name_id_t name_id, 0150 hb_language_t language, 0151 unsigned int *text_size /* IN/OUT */, 0152 uint16_t *text /* OUT */); 0153 0154 HB_EXTERN unsigned int 0155 hb_ot_name_get_utf32 (hb_face_t *face, 0156 hb_ot_name_id_t name_id, 0157 hb_language_t language, 0158 unsigned int *text_size /* IN/OUT */, 0159 uint32_t *text /* OUT */); 0160 0161 0162 HB_END_DECLS 0163 0164 #endif /* HB_OT_NAME_H */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |