⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pango-font.h

📁 Pango is a library for layout and rendering of text, with an emphasis on internationalization. Pang
💻 H
字号:
/* Pango * pango-font.h: Font handling * * Copyright (C) 2000 Red Hat Software * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#ifndef __PANGO_FONT_H__#define __PANGO_FONT_H__#include <pango/pango-coverage.h>#include <pango/pango-types.h>#include <glib-object.h>G_BEGIN_DECLStypedef struct _PangoFontDescription PangoFontDescription;typedef struct _PangoFontMetrics PangoFontMetrics;/** * PangoStyle: * @PANGO_STYLE_NORMAL: the font is upright. * @PANGO_STYLE_OBLIQUE: the font is slanted, but in a roman style. * @PANGO_STYLE_ITALIC: the font is slanted in an italic style. * * An enumeration specifying the various slant styles possible for a font. **/typedef enum {  PANGO_STYLE_NORMAL,  PANGO_STYLE_OBLIQUE,  PANGO_STYLE_ITALIC} PangoStyle;typedef enum {  PANGO_VARIANT_NORMAL,  PANGO_VARIANT_SMALL_CAPS} PangoVariant;typedef enum {  PANGO_WEIGHT_ULTRALIGHT = 200,  PANGO_WEIGHT_LIGHT = 300,  PANGO_WEIGHT_NORMAL = 400,  PANGO_WEIGHT_SEMIBOLD = 600,  PANGO_WEIGHT_BOLD = 700,  PANGO_WEIGHT_ULTRABOLD = 800,  PANGO_WEIGHT_HEAVY = 900} PangoWeight;typedef enum {  PANGO_STRETCH_ULTRA_CONDENSED,  PANGO_STRETCH_EXTRA_CONDENSED,  PANGO_STRETCH_CONDENSED,  PANGO_STRETCH_SEMI_CONDENSED,  PANGO_STRETCH_NORMAL,  PANGO_STRETCH_SEMI_EXPANDED,  PANGO_STRETCH_EXPANDED,  PANGO_STRETCH_EXTRA_EXPANDED,  PANGO_STRETCH_ULTRA_EXPANDED} PangoStretch;typedef enum {  PANGO_FONT_MASK_FAMILY  = 1 << 0,  PANGO_FONT_MASK_STYLE   = 1 << 1,  PANGO_FONT_MASK_VARIANT = 1 << 2,  PANGO_FONT_MASK_WEIGHT  = 1 << 3,  PANGO_FONT_MASK_STRETCH = 1 << 4,  PANGO_FONT_MASK_SIZE    = 1 << 5,  PANGO_FONT_MASK_GRAVITY = 1 << 6} PangoFontMask;/* CSS scale factors (1.2 factor between each size) */#define PANGO_SCALE_XX_SMALL ((double)0.5787037037037)#define PANGO_SCALE_X_SMALL  ((double)0.6444444444444)#define PANGO_SCALE_SMALL    ((double)0.8333333333333)#define PANGO_SCALE_MEDIUM   ((double)1.0)#define PANGO_SCALE_LARGE    ((double)1.2)#define PANGO_SCALE_X_LARGE  ((double)1.4399999999999)#define PANGO_SCALE_XX_LARGE ((double)1.728)/* * PangoFontDescription */#define PANGO_TYPE_FONT_DESCRIPTION (pango_font_description_get_type ())GType                 pango_font_description_get_type    (void) G_GNUC_CONST;PangoFontDescription *pango_font_description_new         (void);PangoFontDescription *pango_font_description_copy        (const PangoFontDescription  *desc);PangoFontDescription *pango_font_description_copy_static (const PangoFontDescription  *desc);guint                 pango_font_description_hash        (const PangoFontDescription  *desc) G_GNUC_PURE;gboolean              pango_font_description_equal       (const PangoFontDescription  *desc1,							  const PangoFontDescription  *desc2) G_GNUC_PURE;void                  pango_font_description_free        (PangoFontDescription        *desc);void                  pango_font_descriptions_free       (PangoFontDescription       **descs,							  int                          n_descs);void                 pango_font_description_set_family        (PangoFontDescription *desc,							       const char           *family);void                 pango_font_description_set_family_static (PangoFontDescription *desc,							       const char           *family);G_CONST_RETURN char *pango_font_description_get_family        (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_style         (PangoFontDescription *desc,							       PangoStyle            style);PangoStyle           pango_font_description_get_style         (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_variant       (PangoFontDescription *desc,							       PangoVariant          variant);PangoVariant         pango_font_description_get_variant       (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_weight        (PangoFontDescription *desc,							       PangoWeight           weight);PangoWeight          pango_font_description_get_weight        (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_stretch       (PangoFontDescription *desc,							       PangoStretch          stretch);PangoStretch         pango_font_description_get_stretch       (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_size          (PangoFontDescription *desc,							       gint                  size);gint                 pango_font_description_get_size          (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_absolute_size (PangoFontDescription *desc,							       double                size);gboolean             pango_font_description_get_size_is_absolute (const PangoFontDescription *desc) G_GNUC_PURE;void                 pango_font_description_set_gravity       (PangoFontDescription *desc,							       PangoGravity          gravity);PangoGravity         pango_font_description_get_gravity       (const PangoFontDescription *desc) G_GNUC_PURE;PangoFontMask pango_font_description_get_set_fields (const PangoFontDescription *desc) G_GNUC_PURE;void          pango_font_description_unset_fields   (PangoFontDescription       *desc,						     PangoFontMask               to_unset);void pango_font_description_merge        (PangoFontDescription       *desc,					  const PangoFontDescription *desc_to_merge,					  gboolean                    replace_existing);void pango_font_description_merge_static (PangoFontDescription       *desc,					  const PangoFontDescription *desc_to_merge,					  gboolean                    replace_existing);gboolean pango_font_description_better_match (const PangoFontDescription *desc,					      const PangoFontDescription *old_match,					      const PangoFontDescription *new_match) G_GNUC_PURE;PangoFontDescription *pango_font_description_from_string (const char                  *str);char *                pango_font_description_to_string   (const PangoFontDescription  *desc);char *                pango_font_description_to_filename (const PangoFontDescription  *desc);/* * PangoFontMetrics */#define PANGO_TYPE_FONT_METRICS  (pango_font_metrics_get_type ())GType             pango_font_metrics_get_type                    (void) G_GNUC_CONST;PangoFontMetrics *pango_font_metrics_ref                         (PangoFontMetrics *metrics);void              pango_font_metrics_unref                       (PangoFontMetrics *metrics);int               pango_font_metrics_get_ascent                  (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_descent                 (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_approximate_char_width  (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_approximate_digit_width (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_underline_position      (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_underline_thickness     (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_strikethrough_position  (PangoFontMetrics *metrics) G_GNUC_PURE;int               pango_font_metrics_get_strikethrough_thickness (PangoFontMetrics *metrics) G_GNUC_PURE;#ifdef PANGO_ENABLE_BACKENDPangoFontMetrics *pango_font_metrics_new (void);struct _PangoFontMetrics{  guint ref_count;  int ascent;  int descent;  int approximate_char_width;  int approximate_digit_width;  int underline_position;  int underline_thickness;  int strikethrough_position;  int strikethrough_thickness;};#endif /* PANGO_ENABLE_BACKEND *//* * PangoFontFamily */#define PANGO_TYPE_FONT_FAMILY              (pango_font_family_get_type ())#define PANGO_FONT_FAMILY(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, PangoFontFamily))#define PANGO_IS_FONT_FAMILY(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY))typedef struct _PangoFontFamily      PangoFontFamily;typedef struct _PangoFontFace        PangoFontFace;GType      pango_font_family_get_type       (void) G_GNUC_CONST;void                 pango_font_family_list_faces (PangoFontFamily  *family,						   PangoFontFace  ***faces,						   int              *n_faces);G_CONST_RETURN char *pango_font_family_get_name   (PangoFontFamily  *family) G_GNUC_PURE;gboolean   pango_font_family_is_monospace         (PangoFontFamily  *family) G_GNUC_PURE;#ifdef PANGO_ENABLE_BACKEND#define PANGO_FONT_FAMILY_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass))#define PANGO_IS_FONT_FAMILY_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FAMILY))#define PANGO_FONT_FAMILY_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FAMILY, PangoFontFamilyClass))typedef struct _PangoFontFamilyClass PangoFontFamilyClass;struct _PangoFontFamily{  GObject parent_instance;};struct _PangoFontFamilyClass{  GObjectClass parent_class;  /*< public >*/  void  (*list_faces)      (PangoFontFamily  *family,			    PangoFontFace  ***faces,			    int              *n_faces);  const char * (*get_name) (PangoFontFamily  *family);  gboolean (*is_monospace) (PangoFontFamily *family);  /*< private >*/  /* Padding for future expansion */  void (*_pango_reserved2) (void);  void (*_pango_reserved3) (void);  void (*_pango_reserved4) (void);};#endif /* PANGO_ENABLE_BACKEND *//* * PangoFontFace */#define PANGO_TYPE_FONT_FACE              (pango_font_face_get_type ())#define PANGO_FONT_FACE(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, PangoFontFace))#define PANGO_IS_FONT_FACE(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE))GType      pango_font_face_get_type       (void) G_GNUC_CONST;PangoFontDescription *pango_font_face_describe       (PangoFontFace  *face);G_CONST_RETURN char  *pango_font_face_get_face_name  (PangoFontFace  *face) G_GNUC_PURE;void                  pango_font_face_list_sizes     (PangoFontFace  *face,						      int           **sizes,						      int            *n_sizes);gboolean              pango_font_face_is_synthesized (PangoFontFace  *face) G_GNUC_PURE;#ifdef PANGO_ENABLE_BACKEND#define PANGO_FONT_FACE_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT_FACE, PangoFontFaceClass))#define PANGO_IS_FONT_FACE_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT_FACE))#define PANGO_FONT_FACE_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT_FACE, PangoFontFaceClass))typedef struct _PangoFontFaceClass   PangoFontFaceClass;struct _PangoFontFace{  GObject parent_instance;};struct _PangoFontFaceClass{  GObjectClass parent_class;  /*< public >*/  const char           * (*get_face_name)  (PangoFontFace *face);  PangoFontDescription * (*describe)       (PangoFontFace *face);  void                   (*list_sizes)     (PangoFontFace  *face,					    int           **sizes,					    int            *n_sizes);  gboolean               (*is_synthesized) (PangoFontFace *face);  /*< private >*/  /* Padding for future expansion */  void (*_pango_reserved3) (void);  void (*_pango_reserved4) (void);};#endif /* PANGO_ENABLE_BACKEND *//* * PangoFont */#define PANGO_TYPE_FONT              (pango_font_get_type ())#define PANGO_FONT(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont))#define PANGO_IS_FONT(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT))GType                 pango_font_get_type          (void) G_GNUC_CONST;PangoFontDescription *pango_font_describe          (PangoFont        *font);PangoFontDescription *pango_font_describe_with_absolute_size (PangoFont        *font);PangoCoverage *       pango_font_get_coverage      (PangoFont        *font,						    PangoLanguage    *language);PangoEngineShape *    pango_font_find_shaper       (PangoFont        *font,						    PangoLanguage    *language,						    guint32           ch);PangoFontMetrics *    pango_font_get_metrics       (PangoFont        *font,						    PangoLanguage    *language);void                  pango_font_get_glyph_extents (PangoFont        *font,						    PangoGlyph        glyph,						    PangoRectangle   *ink_rect,						    PangoRectangle   *logical_rect);PangoFontMap         *pango_font_get_font_map      (PangoFont        *font);#ifdef PANGO_ENABLE_BACKEND#define PANGO_FONT_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FONT, PangoFontClass))#define PANGO_IS_FONT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FONT))#define PANGO_FONT_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FONT, PangoFontClass))typedef struct _PangoFontClass       PangoFontClass;struct _PangoFont{  GObject parent_instance;};struct _PangoFontClass{  GObjectClass parent_class;  /*< public >*/  PangoFontDescription *(*describe)           (PangoFont      *font);  PangoCoverage *       (*get_coverage)       (PangoFont      *font,					       PangoLanguage  *lang);  PangoEngineShape *    (*find_shaper)        (PangoFont      *font,					       PangoLanguage  *lang,					       guint32         ch);  void                  (*get_glyph_extents)  (PangoFont      *font,					       PangoGlyph      glyph,					       PangoRectangle *ink_rect,					       PangoRectangle *logical_rect);  PangoFontMetrics *    (*get_metrics)        (PangoFont      *font,					       PangoLanguage  *language);  PangoFontMap *        (*get_font_map)       (PangoFont      *font);  PangoFontDescription *(*describe_absolute)  (PangoFont      *font);  /*< private >*/  /* Padding for future expansion */  void (*_pango_reserved1) (void);  void (*_pango_reserved2) (void);};/* used for very rare and miserable situtations that we cannot even * draw a hexbox */#define PANGO_UNKNOWN_GLYPH_WIDTH  10#define PANGO_UNKNOWN_GLYPH_HEIGHT 14#endif /* PANGO_ENABLE_BACKEND */#define PANGO_GLYPH_EMPTY           ((PangoGlyph)0x0FFFFFFF)#define PANGO_GLYPH_INVALID_INPUT   ((PangoGlyph)0xFFFFFFFF)#define PANGO_GLYPH_UNKNOWN_FLAG    ((PangoGlyph)0x10000000)#define PANGO_GET_UNKNOWN_GLYPH(wc) ((PangoGlyph)(wc)|PANGO_GLYPH_UNKNOWN_FLAG)G_END_DECLS#endif /* __PANGO_FONT_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -