XFER_PIO_SLOW " ˆl–Ým_J µ5*q@¿q·. õ1hßÁ ƒh¹À¿ 1 ˆ 0_’I|¥‰ÓMjqØ‚¦ð¬÷ÁÀ + ˆl–ßi~” ”†»Ò�vàp©‹Fÿà ƒq _‡I|¥‰ÓMÃÂ
HarfBuzz requires some simple functions for accessing
information from the Unicode Character Database (such as the
General_Category (gc) and
Script (sc) properties) that is useful
for shaping, as well as some useful operations like composing and
decomposing code points.
HarfBuzz includes its own internal, lightweight set of Unicode functions. At build time, it is also possible to compile support for some other options, such as the Unicode functions provided by GLib or the International Components for Unicode (ICU) library. Generally, this option is only of interest for client programs that have specific integration requirements or that do a significant amount of customization.
If your program has access to other Unicode functions, however, such as through a system library or application framework, you might prefer to use those instead of the built-in options. HarfBuzz supports this by implementing its Unicode functions as a set of virtual methods that you can replace — without otherwise affecting HarfBuzz's functionality.
The Unicode functions are specified in a structure called
unicode_funcs which is attached to each
buffer. But even though unicode_funcs is
associated with a hb_buffer_t, the functions
themselves are called by other HarfBuzz APIs that access
buffers, so it would be unwise for you to hook different
functions into different buffers.
In addition, you can mark your unicode_funcs
as immutable by calling
hb_unicode_funcs_make_immutable (ufuncs).
This is especially useful if your code is a
library or framework that will have its own client programs. By
marking your Unicode function choices as immutable, you prevent
your own client programs from changing the
unicode_funcs co