All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.freedesktop.harfbuzz.package-info Maven / Gradle / Ivy

There is a newer version: 0.11.0
Show newest version
/**
 * The HarfBuzz text shaping engine
 * 

* The following native libraries are required and will be loaded: {@code libharfbuzz-gobject.0} *

* For namespace-global declarations, refer to the {@link HarfBuzz} class documentation. * *

Hb-aat-layout

* Functions for querying AAT Layout features in the font face. *

* HarfBuzz supports all of the AAT tables used to implement shaping. Other * AAT tables and their associated features are not supported. * *

Hb-blob

* Blobs wrap a chunk of binary data to handle lifecycle management of data * while it is passed between client and HarfBuzz. Blobs are primarily used * to create font faces, but also to access font face tables, as well as * pass around other binary data. * *

Hb-buffer

* Buffers serve a dual role in HarfBuzz; before shaping, they hold * the input characters that are passed to hb_shape(), and after * shaping they hold the output glyphs. * *

Hb-common

* Common data types used across HarfBuzz are defined here. * *

Hb-deprecated

* These API have been deprecated in favor of newer API, or because they * were deemed unnecessary. * *

Hb-draw

* Functions for drawing (extracting) glyph shapes. *

* The {@code hb_draw_funcs_t} struct can be used with hb_font_draw_glyph(). * *

Hb-face

* A font face is an object that represents a single face from within a * font family. *

* More precisely, a font face represents a single face in a binary font file. * Font faces are typically built from a binary blob and a face index. * Font faces are used to create fonts. * *

Hb-font

* Functions for working with font objects. *

* A font object represents a font face at a specific size and with * certain other parameters (pixels-per-em, points-per-em, variation * settings) specified. Font objects are created from font face * objects, and are used as input to hb_shape(), among other things. *

* Client programs can optionally pass in their own functions that * implement the basic, lower-level queries of font objects. This set * of font functions is defined by the virtual methods in * {@code hb_font_funcs_t}. *

* HarfBuzz provides a built-in set of lightweight default * functions for each method in {@code hb_font_funcs_t}. * *

Hb-ft

* Functions for using HarfBuzz with the FreeType library. *

* HarfBuzz supports using FreeType to provide face and * font data. *

* <note>Note that FreeType is not thread-safe, therefore these * functions are not thread-safe either.</note> * *

Hb-glib

* Functions for using HarfBuzz with the GLib library. *

* HarfBuzz supports using GLib to provide Unicode data, by attaching * GLib functions to the virtual methods in a {@code hb_unicode_funcs_t} function * structure. * *

Hb-gobject

* Support for using HarfBuzz with the GObject library to provide * type data. *

* The types and functions listed here are solely a linkage between * HarfBuzz's public data types and the GTypes used by the GObject framework. * HarfBuzz uses GObject introspection to generate its Python bindings * (and potentially other language bindings); client programs should never need * to access the GObject-integration mechanics. *

* For client programs using the GNOME and GTK software stack, please see the * GLib and FreeType integration pages. * *

Hb-map

* Map objects are integer-to-integer hash-maps. Currently they are * not used in the HarfBuzz public API, but are provided for client's * use if desired. * *

Hb-ot-color

* Functions for fetching color-font information from OpenType font faces. *

* HarfBuzz supports {@code COLR}/{@code CPAL}, {@code sbix}, {@code CBDT}, and {@code SVG} color fonts. * *

Hb-ot-font

* Functions for using OpenType fonts with hb_shape(). Note that fonts returned * by hb_font_create() default to using these functions, so most clients would * never need to call these functions directly. * *

Hb-ot-layout

* Functions for querying OpenType Layout features in the font face. * *

Hb-ot-math

* Functions for fetching mathematics layout data from OpenType fonts. *

* HarfBuzz itself does not implement a math layout solution. The * functions and types provided can be used by client programs to access * the font data necessary for typesetting OpenType Math layout. * *

Hb-ot-meta

* Functions for fetching metadata from fonts. * *

Hb-ot-metrics

* Functions for fetching metrics from fonts. * *

Hb-ot-name

* Functions for fetching name strings from OpenType fonts. * *

Hb-ot-shape

* Support functions for OpenType shaping related queries. * *

Hb-ot-var

* Functions for fetching information about OpenType Variable Fonts. * *

Hb-paint

* Functions for painting glyphs. *

* The main purpose of these functions is to paint (extract) color glyph layers * from the COLRv1 table, but the API works for drawing ordinary outlines and * images as well. *

* The {@code hb_paint_funcs_t} struct can be used with hb_font_paint_glyph(). * *

Hb-set

* Set objects represent a mathematical set of integer values. They are * used in non-shaping APIs to query certain sets of characters or glyphs, * or other integer values. * *

Hb-shape

* Shaping is the central operation of HarfBuzz. Shaping operates on buffers, * which are sequences of Unicode characters that use the same font and have * the same text direction, script, and language. After shaping the buffer * contains the output glyphs and their positions. * *

Hb-shape-plan

* Shape plans are an internal mechanism. Each plan contains state * describing how HarfBuzz will shape a particular text segment, based on * the combination of segment properties and the capabilities in the * font face in use. *

* Shape plans are not used for shaping directly, but can be queried to * access certain information about how shaping will perform, given a set * of specific input parameters (script, language, direction, features, * etc.). *

* Most client programs will not need to deal with shape plans directly. * *

Hb-style

* Functions for fetching style information from fonts. * *

Hb-unicode

* Unicode functions are used to access Unicode character properties. * With these functions, client programs can query various properties from * the Unicode Character Database for any code point, such as General * Category (gc), Script (sc), Canonical Combining Class (ccc), etc. *

* Client programs can optionally pass in their own Unicode functions * that implement the same queries. The set of functions available is * defined by the virtual methods in {@code hb_unicode_funcs_t}. *

* HarfBuzz provides built-in default functions for each method in * {@code hb_unicode_funcs_t}. * *

Hb-version

* These functions and macros allow accessing version of the HarfBuzz * library used at compile- as well as run-time, and to direct code * conditionally based on those versions, again, at compile- or run-time. * *

Hb-graphite2

* Functions for using HarfBuzz with fonts that include Graphite features. *

* For Graphite features to work, you must be sure that HarfBuzz was compiled * with the {@code graphite2} shaping engine enabled. Currently, the default is to * not enable {@code graphite2} shaping. */ package org.freedesktop.harfbuzz;





© 2015 - 2024 Weber Informatics LLC | Privacy Policy