Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qharfbuzzng.cpp File Reference

(c4e550703c2bdc1ee710507b8df9c0c9a118402e)

#include "qharfbuzzng_p.h"
#include <qstring.h>
#include <private/qstringiterator_p.h>
#include "qfontengine_p.h"
+ Include dependency graph for qharfbuzzng.cpp:

Go to the source code of this file.

Classes

struct  _hb_unicode_funcs_t
 
struct  _hb_qt_font_funcs_t
 

Functions

hb_script_t hb_qt_script_to_script (QChar::Script script)
 
QChar::Script hb_qt_script_from_script (hb_script_t script)
 
static hb_unicode_combining_class_t _hb_qt_unicode_combining_class (hb_unicode_funcs_t *, hb_codepoint_t unicode, void *)
 
static hb_unicode_general_category_t _hb_qt_unicode_general_category (hb_unicode_funcs_t *, hb_codepoint_t unicode, void *)
 
static hb_codepoint_t _hb_qt_unicode_mirroring (hb_unicode_funcs_t *, hb_codepoint_t unicode, void *)
 
static hb_script_t _hb_qt_unicode_script (hb_unicode_funcs_t *, hb_codepoint_t unicode, void *)
 
static hb_bool_t _hb_qt_unicode_compose (hb_unicode_funcs_t *, hb_codepoint_t a, hb_codepoint_t b, hb_codepoint_t *ab, void *)
 
static hb_bool_t _hb_qt_unicode_decompose (hb_unicode_funcs_t *, hb_codepoint_t ab, hb_codepoint_t *a, hb_codepoint_t *b, void *)
 
hb_unicode_funcs_t * hb_qt_get_unicode_funcs ()
 
static hb_bool_t _hb_qt_get_font_h_extents (hb_font_t *, void *font_data, hb_font_extents_t *metrics, void *)
 
static hb_bool_t _hb_qt_font_get_nominal_glyph (hb_font_t *, void *font_data, hb_codepoint_t unicode, hb_codepoint_t *glyph, void *)
 
static hb_bool_t _hb_qt_font_get_variation_glyph (hb_font_t *, void *font_data, hb_codepoint_t unicode, hb_codepoint_t, hb_codepoint_t *glyph, void *)
 
static hb_position_t _hb_qt_font_get_glyph_h_advance (hb_font_t *font, void *font_data, hb_codepoint_t glyph, void *)
 
static hb_position_t _hb_qt_font_get_glyph_h_kerning (hb_font_t *font, void *font_data, hb_codepoint_t first_glyph, hb_codepoint_t second_glyph, void *)
 
static hb_bool_t _hb_qt_font_get_glyph_extents (hb_font_t *, void *font_data, hb_codepoint_t glyph, hb_glyph_extents_t *extents, void *)
 
static hb_bool_t _hb_qt_font_get_glyph_contour_point (hb_font_t *, void *font_data, hb_codepoint_t glyph, unsigned int point_index, hb_position_t *x, hb_position_t *y, void *)
 
void hb_qt_font_set_use_design_metrics (hb_font_t *font, uint value)
 
uint hb_qt_font_get_use_design_metrics (hb_font_t *font)
 
static hb_blob_t * _hb_qt_reference_table (hb_face_t *, hb_tag_t tag, void *user_data)
 
static hb_face_t_hb_qt_face_create (QFontEngine *fe)
 
static void _hb_qt_face_release (void *user_data)
 
hb_face_thb_qt_face_get_for_engine (QFontEngine *fe)
 
static hb_font_t_hb_qt_font_create (QFontEngine *fe)
 
static void _hb_qt_font_release (void *user_data)
 
hb_font_thb_qt_font_get_for_engine (QFontEngine *fe)
 

Variables

static QT_BEGIN_NAMESPACE const hb_script_t _qtscript_to_hbscript []
 
static const hb_unicode_general_category_t _qtcategory_to_hbcategory []
 
static hb_user_data_key_t _useDesignMetricsKey
 

Function Documentation

◆ _hb_qt_face_create()

static hb_face_t * _hb_qt_face_create ( QFontEngine * fe)
inlinestatic

Definition at line 617 of file qharfbuzzng.cpp.

References _hb_qt_reference_table(), and Q_CHECK_PTR().

Referenced by hb_qt_face_get_for_engine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_face_release()

static void _hb_qt_face_release ( void * user_data)
static

Definition at line 633 of file qharfbuzzng.cpp.

References user_data.

Referenced by hb_qt_face_get_for_engine().

+ Here is the caller graph for this function:

◆ _hb_qt_font_create()

static hb_font_t * _hb_qt_font_create ( QFontEngine * fe)
inlinestatic

Definition at line 650 of file qharfbuzzng.cpp.

References font, QFixed::fromReal(), funcs, hb_qt_face_get_for_engine(), and QFont::pointSize().

Referenced by hb_qt_font_get_for_engine().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_font_get_glyph_contour_point()

static hb_bool_t _hb_qt_font_get_glyph_contour_point ( hb_font_t * ,
void * font_data,
hb_codepoint_t glyph,
unsigned int point_index,
hb_position_t * x,
hb_position_t * y,
void *  )
static

Definition at line 531 of file qharfbuzzng.cpp.

References Q_ASSERT, Q_LIKELY, and QFixed::value().

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_font_get_glyph_extents()

static hb_bool_t _hb_qt_font_get_glyph_extents ( hb_font_t * ,
void * font_data,
hb_codepoint_t glyph,
hb_glyph_extents_t * extents,
void *  )
static

Definition at line 512 of file qharfbuzzng.cpp.

References Q_ASSERT.

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_font_get_glyph_h_advance()

static hb_position_t _hb_qt_font_get_glyph_h_advance ( hb_font_t * font,
void * font_data,
hb_codepoint_t glyph,
void *  )
static

Definition at line 471 of file qharfbuzzng.cpp.

References font, hb_qt_font_get_use_design_metrics(), QGlyphLayout::numGlyphs, Q_ASSERT, and QFixed::value().

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_font_get_glyph_h_kerning()

static hb_position_t _hb_qt_font_get_glyph_h_kerning ( hb_font_t * font,
void * font_data,
hb_codepoint_t first_glyph,
hb_codepoint_t second_glyph,
void *  )
static

Definition at line 491 of file qharfbuzzng.cpp.

References font, hb_qt_font_get_use_design_metrics(), QGlyphLayout::numGlyphs, Q_ASSERT, and QFixed::value().

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_font_get_nominal_glyph()

static hb_bool_t _hb_qt_font_get_nominal_glyph ( hb_font_t * ,
void * font_data,
hb_codepoint_t unicode,
hb_codepoint_t * glyph,
void *  )
static

Definition at line 442 of file qharfbuzzng.cpp.

References Q_ASSERT.

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_font_get_variation_glyph()

static hb_bool_t _hb_qt_font_get_variation_glyph ( hb_font_t * ,
void * font_data,
hb_codepoint_t unicode,
hb_codepoint_t ,
hb_codepoint_t * glyph,
void *  )
static

Definition at line 456 of file qharfbuzzng.cpp.

References Q_ASSERT.

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_font_release()

static void _hb_qt_font_release ( void * user_data)
static

Definition at line 669 of file qharfbuzzng.cpp.

References user_data.

Referenced by hb_qt_font_get_for_engine().

+ Here is the caller graph for this function:

◆ _hb_qt_get_font_h_extents()

static hb_bool_t _hb_qt_get_font_h_extents ( hb_font_t * ,
void * font_data,
hb_font_extents_t * metrics,
void *  )
static

Definition at line 427 of file qharfbuzzng.cpp.

References Q_ASSERT.

Referenced by _hb_qt_font_funcs_t::_hb_qt_font_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_reference_table()

static hb_blob_t * _hb_qt_reference_table ( hb_face_t * ,
hb_tag_t tag,
void * user_data )
static

Definition at line 592 of file qharfbuzzng.cpp.

References Q_ASSERT, Q_UNLIKELY, tag, and user_data.

Referenced by _hb_qt_face_create().

+ Here is the caller graph for this function:

◆ _hb_qt_unicode_combining_class()

static hb_unicode_combining_class_t _hb_qt_unicode_combining_class ( hb_unicode_funcs_t * ,
hb_codepoint_t unicode,
void *  )
static

Definition at line 251 of file qharfbuzzng.cpp.

Referenced by _hb_unicode_funcs_t::_hb_unicode_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_unicode_compose()

static hb_bool_t _hb_qt_unicode_compose ( hb_unicode_funcs_t * ,
hb_codepoint_t a,
hb_codepoint_t b,
hb_codepoint_t * ab,
void *  )
static

Definition at line 322 of file qharfbuzzng.cpp.

References it, QString::NormalizationForm_C, QString::normalized(), Q_ASSERT, and QString::reserve().

Referenced by _hb_unicode_funcs_t::_hb_unicode_funcs_t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_unicode_decompose()

static hb_bool_t _hb_qt_unicode_decompose ( hb_unicode_funcs_t * ,
hb_codepoint_t ab,
hb_codepoint_t * a,
hb_codepoint_t * b,
void *  )
static

Definition at line 342 of file qharfbuzzng.cpp.

References it, QString::NormalizationForm_C, QString::normalized(), and Q_ASSERT.

Referenced by _hb_unicode_funcs_t::_hb_unicode_funcs_t().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _hb_qt_unicode_general_category()

static hb_unicode_general_category_t _hb_qt_unicode_general_category ( hb_unicode_funcs_t * ,
hb_codepoint_t unicode,
void *  )
static

Definition at line 298 of file qharfbuzzng.cpp.

References _qtcategory_to_hbcategory.

Referenced by _hb_unicode_funcs_t::_hb_unicode_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_unicode_mirroring()

static hb_codepoint_t _hb_qt_unicode_mirroring ( hb_unicode_funcs_t * ,
hb_codepoint_t unicode,
void *  )
static

Definition at line 306 of file qharfbuzzng.cpp.

Referenced by _hb_unicode_funcs_t::_hb_unicode_funcs_t().

+ Here is the caller graph for this function:

◆ _hb_qt_unicode_script()

static hb_script_t _hb_qt_unicode_script ( hb_unicode_funcs_t * ,
hb_codepoint_t unicode,
void *  )
static

Definition at line 314 of file qharfbuzzng.cpp.

References _qtscript_to_hbscript.

Referenced by _hb_unicode_funcs_t::_hb_unicode_funcs_t().

+ Here is the caller graph for this function:

◆ hb_qt_face_get_for_engine()

hb_face_t * hb_qt_face_get_for_engine ( QFontEngine * fe)

Definition at line 638 of file qharfbuzzng.cpp.

References _hb_qt_face_create(), _hb_qt_face_release(), QFontEngine::Multi, Q_ASSERT, and Q_UNLIKELY.

Referenced by _hb_qt_font_create(), QFontEngine::harfbuzzFace(), and QFontEngine::supportsScript().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hb_qt_font_get_for_engine()

hb_font_t * hb_qt_font_get_for_engine ( QFontEngine * fe)

Definition at line 674 of file qharfbuzzng.cpp.

References _hb_qt_font_create(), _hb_qt_font_release(), QFontEngine::Multi, Q_ASSERT, and Q_UNLIKELY.

Referenced by QFontEngine::harfbuzzFont().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hb_qt_font_get_use_design_metrics()

uint hb_qt_font_get_use_design_metrics ( hb_font_t * font)

Definition at line 559 of file qharfbuzzng.cpp.

References _useDesignMetricsKey, and font.

Referenced by _hb_qt_font_get_glyph_h_advance(), and _hb_qt_font_get_glyph_h_kerning().

+ Here is the caller graph for this function:

◆ hb_qt_font_set_use_design_metrics()

void hb_qt_font_set_use_design_metrics ( hb_font_t * font,
uint value )

Definition at line 554 of file qharfbuzzng.cpp.

References _useDesignMetricsKey, and font.

◆ hb_qt_get_unicode_funcs()

hb_unicode_funcs_t * hb_qt_get_unicode_funcs ( )

Definition at line 418 of file qharfbuzzng.cpp.

◆ hb_qt_script_from_script()

QChar::Script hb_qt_script_from_script ( hb_script_t script)

Definition at line 241 of file qharfbuzzng.cpp.

References _qtscript_to_hbscript, and i.

◆ hb_qt_script_to_script()

hb_script_t hb_qt_script_to_script ( QChar::Script script)

Definition at line 236 of file qharfbuzzng.cpp.

References _qtscript_to_hbscript.

Referenced by QFontEngine::supportsScript().

+ Here is the caller graph for this function:

Variable Documentation

◆ _qtcategory_to_hbcategory

const hb_unicode_general_category_t _qtcategory_to_hbcategory[]
static

Definition at line 258 of file qharfbuzzng.cpp.

Referenced by _hb_qt_unicode_general_category().

◆ _qtscript_to_hbscript

QT_BEGIN_NAMESPACE const hb_script_t _qtscript_to_hbscript[]
static

◆ _useDesignMetricsKey

hb_user_data_key_t _useDesignMetricsKey
static