Blame docs/html/harfbuzz-Shaping.html

Packit Service 5bcba8
Packit Service 5bcba8
<html>
Packit Service 5bcba8
<head>
Packit Service 5bcba8
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service 5bcba8
<title>Shaping: HarfBuzz Manual</title>
Packit Service 5bcba8
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
Packit Service 5bcba8
<link rel="home" href="index.html" title="HarfBuzz Manual">
Packit Service 5bcba8
<link rel="up" href="ch08.html" title="Harfbuzz API">
Packit Service 5bcba8
<link rel="prev" href="harfbuzz-hb-font.html" title="hb-font">
Packit Service 5bcba8
<link rel="next" href="harfbuzz-hb-version.html" title="hb-version">
Packit Service 5bcba8
<meta name="generator" content="GTK-Doc V1.25.1 (XML mode)">
Packit Service 5bcba8
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service 5bcba8
</head>
Packit Service 5bcba8
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Top  | 
Packit Service 5bcba8
                  Description  | 
Packit Service 5bcba8
                  Object Hierarchy
Packit Service 5bcba8
Packit Service 5bcba8
Home
Packit Service 5bcba8
Up
Packit Service 5bcba8
Prev
Packit Service 5bcba8
Next
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Shaping

Packit Service 5bcba8

Shaping — Conversion of text strings into positioned glyphs

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Functions

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_bool_t
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_feature_from_string ()
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
void
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_feature_to_string ()
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
void
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_shape ()
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_bool_t
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_shape_full ()
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
const char **
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
hb_shape_list_shapers ()
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Types and Values

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
 
Packit Service 5bcba8
hb_feature_t
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Object Hierarchy

Packit Service 5bcba8
    GBoxed
Packit Service 5bcba8
    ╰── hb_feature_t
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Includes

Packit Service 5bcba8
#include <hb.h>
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Description

Packit Service 5bcba8

Shaping is the central operation of HarfBuzz. Shaping operates on buffers,

Packit Service 5bcba8
which are sequences of Unicode characters that use the same font and have
Packit Service 5bcba8
the same text direction, script and language. After shaping the buffer
Packit Service 5bcba8
contains the output glyphs and their positions.

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Functions

Packit Service 5bcba8
Packit Service 5bcba8

hb_feature_from_string ()

Packit Service 5bcba8
hb_bool_t
Packit Service 5bcba8
hb_feature_from_string (const char *str,
Packit Service 5bcba8
                        int len,
Packit Service 5bcba8
                        hb_feature_t *feature);
Packit Service 5bcba8

Parses a string into a hb_feature_t.

Packit Service 5bcba8

TODO: document the syntax here.

Packit Service 5bcba8
Packit Service 5bcba8

Parameters

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

str

Packit Service 5bcba8

a string to parse.

Packit Service 5bcba8
[array length=len][element-type uint8_t]
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

len

Packit Service 5bcba8

length of str

Packit Service 5bcba8
, or -1 if string is NULL terminated

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

feature

Packit Service 5bcba8

the hb_feature_t to initialize with the parsed values.

Packit Service 5bcba8
[out]
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Returns

Packit Service 5bcba8

true if str

Packit Service 5bcba8
is successfully parsed, false otherwise.

Packit Service 5bcba8

Packit Service 5bcba8
Packit Service 5bcba8

Since 0.9.5

Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
Packit Service 5bcba8

hb_feature_to_string ()

Packit Service 5bcba8
void
Packit Service 5bcba8
hb_feature_to_string (hb_feature_t *feature,
Packit Service 5bcba8
                      char *buf,
Packit Service 5bcba8
                      unsigned int size);
Packit Service 5bcba8

Converts a hb_feature_t into a NULL-terminated string in the format

Packit Service 5bcba8
understood by hb_feature_from_string(). The client in responsible for
Packit Service 5bcba8
allocating big enough size for buf
Packit Service 5bcba8
, 128 bytes is more than enough.

Packit Service 5bcba8
Packit Service 5bcba8

Parameters

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

feature

Packit Service 5bcba8

an hb_feature_t to convert

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

buf

Packit Service 5bcba8

output string.

Packit Service 5bcba8
[array length=size][out]
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

size

Packit Service 5bcba8

the allocated size of buf

Packit Service 5bcba8

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Since 0.9.5

Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
Packit Service 5bcba8

hb_shape ()

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

Shapes buffer

Packit Service 5bcba8
 using font
Packit Service 5bcba8
 turning its Unicode characters content to
Packit Service 5bcba8
positioned glyphs. If features
Packit Service 5bcba8
 is not NULL, it will be used to control the
Packit Service 5bcba8
features applied during shaping.

Packit Service 5bcba8
Packit Service 5bcba8

Parameters

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

font

Packit Service 5bcba8

an hb_font_t to use for shaping

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

buffer

Packit Service 5bcba8

an hb_buffer_t to shape

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

features

Packit Service 5bcba8

an array of user

Packit Service 5bcba8
specified hb_feature_t or NULL. 

Packit Service 5bcba8
[array length=num_features][allow-none]
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

num_features

Packit Service 5bcba8

the length of features

Packit Service 5bcba8
array

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Since 0.9.2

Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
Packit Service 5bcba8

hb_shape_full ()

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

See hb_shape() for details. If shaper_list

Packit Service 5bcba8
 is not NULL, the specified
Packit Service 5bcba8
shapers will be used in the given order, otherwise the default shapers list
Packit Service 5bcba8
will be used.

Packit Service 5bcba8
Packit Service 5bcba8

Parameters

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

font

Packit Service 5bcba8

an hb_font_t to use for shaping

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

buffer

Packit Service 5bcba8

an hb_buffer_t to shape

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

features

Packit Service 5bcba8

an array of user

Packit Service 5bcba8
specified hb_feature_t or NULL. 

Packit Service 5bcba8
[array length=num_features][allow-none]
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

num_features

Packit Service 5bcba8

the length of features

Packit Service 5bcba8
array

Packit Service 5bcba8
 
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

shaper_list

Packit Service 5bcba8

a NULL-terminated

Packit Service 5bcba8
array of shapers to use or NULL. 

Packit Service 5bcba8
[array zero-terminated=1][allow-none]
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Returns

Packit Service 5bcba8

false if all shapers failed, true otherwise

Packit Service 5bcba8

Packit Service 5bcba8
Packit Service 5bcba8

Since 0.9.2

Packit Service 5bcba8
Packit Service 5bcba8

Packit Service 5bcba8
Packit Service 5bcba8

hb_shape_list_shapers ()

Packit Service 5bcba8
const char **
Packit Service 5bcba8
hb_shape_list_shapers (void);
Packit Service 5bcba8

Retrieves the list of shapers supported by HarfBuzz.

Packit Service 5bcba8
Packit Service 5bcba8

Returns

Packit Service 5bcba8

an array of

Packit Service 5bcba8
constant strings. 

Packit Service 5bcba8

[transfer none][array zero-terminated=1]

Packit Service 5bcba8
Packit Service 5bcba8

Since 0.9.2

Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Types and Values

Packit Service 5bcba8
Packit Service 5bcba8

hb_feature_t

Packit Service 5bcba8
typedef struct {
Packit Service 5bcba8
  hb_tag_t      tag;
Packit Service 5bcba8
  uint32_t      value;
Packit Service 5bcba8
  unsigned int  start;
Packit Service 5bcba8
  unsigned int  end;
Packit Service 5bcba8
} hb_feature_t;
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8
Packit Service 5bcba8

Generated by GTK-Doc V1.25.1
Packit Service 5bcba8
</body>
Packit Service 5bcba8
</html>