Blame docs/html/harfbuzz-Shaping.html

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

Shaping

Packit 874993

Shaping — Conversion of text strings into positioned glyphs

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Functions

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

Types and Values

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
 
Packit 874993
hb_feature_t
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Object Hierarchy

Packit 874993
    GBoxed
Packit 874993
    ╰── hb_feature_t
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Includes

Packit 874993
#include <hb.h>
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Description

Packit 874993

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

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

Packit 874993
Packit 874993
Packit 874993

Functions

Packit 874993
Packit 874993

hb_feature_from_string ()

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

Parses a string into a hb_feature_t.

Packit 874993

TODO: document the syntax here.

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

str

Packit 874993

a string to parse.

Packit 874993
[array length=len][element-type uint8_t]
Packit 874993
Packit 874993
Packit 874993

len

Packit 874993

length of str

Packit 874993
, or -1 if string is NULL terminated

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

feature

Packit 874993

the hb_feature_t to initialize with the parsed values.

Packit 874993
[out]
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

true if str

Packit 874993
is successfully parsed, false otherwise.

Packit 874993

Packit 874993
Packit 874993

Since 0.9.5

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_feature_to_string ()

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

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

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

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

feature

Packit 874993

an hb_feature_t to convert

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

buf

Packit 874993

output string.

Packit 874993
[array length=size][out]
Packit 874993
Packit 874993
Packit 874993

size

Packit 874993

the allocated size of buf

Packit 874993

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Since 0.9.5

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_shape ()

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

Shapes buffer

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

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

font

Packit 874993

an hb_font_t to use for shaping

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

buffer

Packit 874993

an hb_buffer_t to shape

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

features

Packit 874993

an array of user

Packit 874993
specified hb_feature_t or NULL. 

Packit 874993
[array length=num_features][allow-none]
Packit 874993
Packit 874993
Packit 874993

num_features

Packit 874993

the length of features

Packit 874993
array

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_shape_full ()

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

See hb_shape() for details. If shaper_list

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

Packit 874993
Packit 874993

Parameters

Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

font

Packit 874993

an hb_font_t to use for shaping

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

buffer

Packit 874993

an hb_buffer_t to shape

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

features

Packit 874993

an array of user

Packit 874993
specified hb_feature_t or NULL. 

Packit 874993
[array length=num_features][allow-none]
Packit 874993
Packit 874993
Packit 874993

num_features

Packit 874993

the length of features

Packit 874993
array

Packit 874993
 
Packit 874993
Packit 874993
Packit 874993

shaper_list

Packit 874993

a NULL-terminated

Packit 874993
array of shapers to use or NULL. 

Packit 874993
[array zero-terminated=1][allow-none]
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993
Packit 874993

Returns

Packit 874993

false if all shapers failed, true otherwise

Packit 874993

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993

Packit 874993
Packit 874993

hb_shape_list_shapers ()

Packit 874993
const char **
Packit 874993
hb_shape_list_shapers (void);
Packit 874993

Retrieves the list of shapers supported by HarfBuzz.

Packit 874993
Packit 874993

Returns

Packit 874993

an array of

Packit 874993
constant strings. 

Packit 874993

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

Packit 874993
Packit 874993

Since 0.9.2

Packit 874993
Packit 874993
Packit 874993
Packit 874993

Types and Values

Packit 874993
Packit 874993

hb_feature_t

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

Generated by GTK-Doc V1.25.1
Packit 874993
</body>
Packit 874993
</html>