1 /* Pango 2 * pango-ot-private.h: Implementation details for Pango OpenType code 3 * 4 * Copyright (C) 2000 Red Hat Software 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Library General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Library General Public License for more details. 15 * 16 * You should have received a copy of the GNU Library General Public 17 * License along with this library; if not, write to the 18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 * Boston, MA 02111-1307, USA. 20 */ 21 22 #ifndef __PANGO_OT_PRIVATE_H__ 23 #define __PANGO_OT_PRIVATE_H__ 24 25 #include <glib.h> 26 #include <glib-object.h> 27 28 #include <pango/pango-ot.h> 29 #include <hb-ot.h> 30 #include <hb-ft.h> 31 32 #include "pangofc-private.h" 33 34 G_BEGIN_DECLS 35 36 typedef struct _PangoOTInfoClass PangoOTInfoClass; 37 38 /** 39 * PangoOTInfo: 40 * 41 * The `PangoOTInfo` struct contains the various 42 * tables associated with an OpenType font. It contains only private fields and 43 * should only be accessed via the pango_ot_info_… functions 44 * which are documented below. To obtain a `PangoOTInfo`, 45 * use pango_ot_info_get(). 46 */ 47 struct _PangoOTInfo 48 { 49 GObject parent_instance; 50 51 FT_Face face; 52 hb_face_t *hb_face; 53 }; 54 55 struct _PangoOTInfoClass 56 { 57 GObjectClass parent_class; 58 }; 59 60 61 typedef struct _PangoOTRulesetClass PangoOTRulesetClass; 62 63 struct _PangoOTRuleset 64 { 65 GObject parent_instance; 66 }; 67 68 struct _PangoOTRulesetClass 69 { 70 GObjectClass parent_class; 71 }; 72 73 /** 74 * PangoOTBuffer: 75 * 76 * The `PangoOTBuffer` structure is used to store strings of glyphs associated 77 * with a `PangoFcFont`, suitable for OpenType layout processing. It contains 78 * only private fields and should only be accessed via the 79 * pango_ot_buffer_… functions which are documented below. 80 * To obtain a `PangoOTBuffer`, use pango_ot_buffer_new(). 81 */ 82 struct _PangoOTBuffer 83 { 84 hb_buffer_t *buffer; 85 }; 86 87 G_END_DECLS 88 89 #endif /* __PANGO_OT_PRIVATE_H__ */ 90