| Pango Reference Manual |
|---|
PangoEngineLangPangoEngineLang — Rendering-system independent script engines |
PangoEngineLang;
PangoEngineLangClass;
#define PANGO_ENGINE_TYPE_LANG
#define PANGO_ENGINE_LANG_DEFINE_TYPE (name, prefix, class_init, instance_init)
typedef struct _PangoEngineLang PangoEngineLang;
The PangoEngineLang class is implemented by engines that customize the rendering-system independent part of the Pango pipeline for a particular script or language. For instance, a custom PangoEngineLang could be provided for Thai to implement the dictionary-based word boundary lookups needed for that language.
typedef struct {
void (*script_break) (PangoEngineLang *engine,
const char *text,
int len,
PangoAnalysis *analysis,
PangoLogAttr *attrs,
int attrs_len);
} PangoEngineLangClass;
Class structure for PangoEngineLang
script_break () | Provides a custom implementation of pango_break().
if this is NULL, pango_default_break() will be used.
|
#define PANGO_ENGINE_TYPE_LANG "PangoEngineLang"
A string constant defining the engine type for language engines. These engines derive from PangoEngineLang.
#define PANGO_ENGINE_LANG_DEFINE_TYPE(name, prefix, class_init, instance_init)
Outputs the necessary code for GObject type registration for a PangoEngineLang class defined in a module. Two static symbols are defined.
static GTypeprefix_type; static voidprefix_register_type (GTypeModule module);
The
function should be called in your prefix, _register_type()script_engine_init() function for
each type that your module implements, and then your script_engine_create()
function can create instances of the object as follows:
PangoEngine *engine = g_object_new (prefix_type, NULL);
name : | Name of the the type to register (for example:, ArabicEngineFc
|
prefix : | Prefix for symbols that will be defined (for example:, arabic_engine_fc
|
class_init : | Class initialization function for the new type, or NULL
|
instance_init : | Instance initialization function for the new type, or NULL
|
| << Engines | PangoEngineShape >> |