## hb-shape hb-shape |

## Functions

hb_bool_t | hb_feature_from_string ()
void | hb_feature_to_string ()
void | hb_shape ()
hb_bool_t | hb_shape_full ()
const char ** | hb_shape_list_shapers ()

## Types and Values

| hb_feature_t

## Object Hierarchy

        GBoxed
        ╰── hb_feature_t

## Description

## Functions

### hb_feature_from_string ()

    hb_bool_t
    hb_feature_from_string (const char *str,
                            int len,
                            hb_feature_t *feature);

#### Parameters

str | . | [array length=len]
feature | . | [out][optional]

#### Returns

Since 1.0

### hb_feature_to_string ()

    void
    hb_feature_to_string (hb_feature_t *feature,
                          char *buf,
                          unsigned int size);

#### Parameters

buf | . | [array length=size]

Since 1.0

### hb_shape ()

    void
    hb_shape (hb_font_t *font,
              hb_buffer_t *buffer,
              const hb_feature_t *features,
              unsigned int num_features);

#### Parameters

font | a font. |
buffer | a buffer. |
features | . | [array length=num_features]

Since 1.0

### hb_shape_full ()

    hb_bool_t
    hb_shape_full (hb_font_t *font,
                   hb_buffer_t *buffer,
                   const hb_feature_t *features,
                   unsigned int num_features,
                   const char * const *shaper_list);

#### Parameters

font | a font. |
buffer | a buffer. |
features | . | [array length=num_features]
shaper_list | . | [array zero-terminated=1]

#### Returns

Since 1.0

### hb_shape_list_shapers ()

    const char **
    hb_shape_list_shapers (void);

#### Returns

.

[transfer none]

Since 1.0

## Types and Values

### hb_feature_t

    typedef struct {
      hb_tag_t      tag;
      uint32_t      value;
      unsigned int  start;
      unsigned int  end;
    } hb_feature_t;