📄 glyphs.xml
字号:
<refentry id="pango-Glyph-Storage"><refmeta><refentrytitle id="top_of_page">Glyph Storage</refentrytitle><manvolnum>3</manvolnum><refmiscinfo>PANGO Library</refmiscinfo></refmeta><refnamediv><refname>Glyph Storage</refname><refpurpose>Structures for storing information about glyphs</refpurpose><!--[<xref linkend="desc" endterm="desc.title"/>]--></refnamediv><refsynopsisdiv id="synopsis"><title id="synopsis.title">Synopsis</title><synopsis>#define <link linkend="PANGO-SCALE:CAPS">PANGO_SCALE</link>#define <link linkend="PANGO-PIXELS:CAPS">PANGO_PIXELS</link> (d)#define <link linkend="PANGO-PIXELS-FLOOR:CAPS">PANGO_PIXELS_FLOOR</link> (d)#define <link linkend="PANGO-PIXELS-CEIL:CAPS">PANGO_PIXELS_CEIL</link> (d)<link linkend="double">double</link> <link linkend="pango-units-to-double">pango_units_to_double</link> (<link linkend="int">int</link> i);<link linkend="int">int</link> <link linkend="pango-units-from-double">pango_units_from_double</link> (<link linkend="double">double</link> d); <link linkend="PangoRectangle">PangoRectangle</link>;#define <link linkend="PANGO-ASCENT:CAPS">PANGO_ASCENT</link> (rect)#define <link linkend="PANGO-DESCENT:CAPS">PANGO_DESCENT</link> (rect)#define <link linkend="PANGO-LBEARING:CAPS">PANGO_LBEARING</link> (rect)#define <link linkend="PANGO-RBEARING:CAPS">PANGO_RBEARING</link> (rect)<link linkend="void">void</link> <link linkend="pango-extents-to-pixels">pango_extents_to_pixels</link> (<link linkend="PangoRectangle">PangoRectangle</link> *ink_rect, <link linkend="PangoRectangle">PangoRectangle</link> *logical_rect); <link linkend="PangoMatrix">PangoMatrix</link>;#define <link linkend="PANGO-TYPE-MATRIX:CAPS">PANGO_TYPE_MATRIX</link>#define <link linkend="PANGO-MATRIX-INIT:CAPS">PANGO_MATRIX_INIT</link><link linkend="PangoMatrix">PangoMatrix</link>* <link linkend="pango-matrix-copy">pango_matrix_copy</link> (const <link linkend="PangoMatrix">PangoMatrix</link> *matrix);<link linkend="void">void</link> <link linkend="pango-matrix-free">pango_matrix_free</link> (<link linkend="PangoMatrix">PangoMatrix</link> *matrix);<link linkend="void">void</link> <link linkend="pango-matrix-translate">pango_matrix_translate</link> (<link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="double">double</link> tx, <link linkend="double">double</link> ty);<link linkend="void">void</link> <link linkend="pango-matrix-scale">pango_matrix_scale</link> (<link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="double">double</link> scale_x, <link linkend="double">double</link> scale_y);<link linkend="void">void</link> <link linkend="pango-matrix-rotate">pango_matrix_rotate</link> (<link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="double">double</link> degrees);<link linkend="void">void</link> <link linkend="pango-matrix-concat">pango_matrix_concat</link> (<link linkend="PangoMatrix">PangoMatrix</link> *matrix, const <link linkend="PangoMatrix">PangoMatrix</link> *new_matrix);<link linkend="void">void</link> <link linkend="pango-matrix-transform-point">pango_matrix_transform_point</link> (const <link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="double">double</link> *x, <link linkend="double">double</link> *y);<link linkend="void">void</link> <link linkend="pango-matrix-transform-distance">pango_matrix_transform_distance</link> (const <link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="double">double</link> *dx, <link linkend="double">double</link> *dy);<link linkend="void">void</link> <link linkend="pango-matrix-transform-rectangle">pango_matrix_transform_rectangle</link> (const <link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="PangoRectangle">PangoRectangle</link> *rect);<link linkend="void">void</link> <link linkend="pango-matrix-transform-pixel-rectangle">pango_matrix_transform_pixel_rectangle</link> (const <link linkend="PangoMatrix">PangoMatrix</link> *matrix, <link linkend="PangoRectangle">PangoRectangle</link> *rect);<link linkend="double">double</link> <link linkend="pango-matrix-get-font-scale-factor">pango_matrix_get_font_scale_factor</link> (const <link linkend="PangoMatrix">PangoMatrix</link> *matrix);typedef <link linkend="PangoGlyph">PangoGlyph</link>;#define <link linkend="PANGO-GLYPH-EMPTY:CAPS">PANGO_GLYPH_EMPTY</link>#define <link linkend="PANGO-GLYPH-UNKNOWN-FLAG:CAPS">PANGO_GLYPH_UNKNOWN_FLAG</link>#define <link linkend="PANGO-GET-UNKNOWN-GLYPH:CAPS">PANGO_GET_UNKNOWN_GLYPH</link> (wc) <link linkend="PangoGlyphInfo">PangoGlyphInfo</link>; <link linkend="PangoGlyphGeometry">PangoGlyphGeometry</link>;typedef <link linkend="PangoGlyphUnit">PangoGlyphUnit</link>; <link linkend="PangoGlyphVisAttr">PangoGlyphVisAttr</link>; <link linkend="PangoGlyphString">PangoGlyphString</link>; <link linkend="PangoGlyphItem">PangoGlyphItem</link>;#define <link linkend="PANGO-TYPE-GLYPH-STRING:CAPS">PANGO_TYPE_GLYPH_STRING</link><link linkend="PangoGlyphString">PangoGlyphString</link>* <link linkend="pango-glyph-string-new">pango_glyph_string_new</link> (void);<link linkend="PangoGlyphString">PangoGlyphString</link>* <link linkend="pango-glyph-string-copy">pango_glyph_string_copy</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *string);<link linkend="void">void</link> <link linkend="pango-glyph-string-set-size">pango_glyph_string_set_size</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *string, <link linkend="gint">gint</link> new_len);<link linkend="void">void</link> <link linkend="pango-glyph-string-free">pango_glyph_string_free</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *string);<link linkend="void">void</link> <link linkend="pango-glyph-string-extents">pango_glyph_string_extents</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs, <link linkend="PangoFont">PangoFont</link> *font, <link linkend="PangoRectangle">PangoRectangle</link> *ink_rect, <link linkend="PangoRectangle">PangoRectangle</link> *logical_rect);<link linkend="void">void</link> <link linkend="pango-glyph-string-extents-range">pango_glyph_string_extents_range</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs, <link linkend="int">int</link> start, <link linkend="int">int</link> end, <link linkend="PangoFont">PangoFont</link> *font, <link linkend="PangoRectangle">PangoRectangle</link> *ink_rect, <link linkend="PangoRectangle">PangoRectangle</link> *logical_rect);<link linkend="int">int</link> <link linkend="pango-glyph-string-get-width">pango_glyph_string_get_width</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs);<link linkend="void">void</link> <link linkend="pango-glyph-string-index-to-x">pango_glyph_string_index_to_x</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs, <link linkend="char">char</link> *text, <link linkend="int">int</link> length, <link linkend="PangoAnalysis">PangoAnalysis</link> *analysis, <link linkend="int">int</link> index_, <link linkend="gboolean">gboolean</link> trailing, <link linkend="int">int</link> *x_pos);<link linkend="void">void</link> <link linkend="pango-glyph-string-x-to-index">pango_glyph_string_x_to_index</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs, <link linkend="char">char</link> *text, <link linkend="int">int</link> length, <link linkend="PangoAnalysis">PangoAnalysis</link> *analysis, <link linkend="int">int</link> x_pos, <link linkend="int">int</link> *index_, <link linkend="int">int</link> *trailing);<link linkend="void">void</link> <link linkend="pango-glyph-string-get-logical-widths">pango_glyph_string_get_logical_widths</link> (<link linkend="PangoGlyphString">PangoGlyphString</link> *glyphs, const <link linkend="char">char</link> *text, <link linkend="int">int</link> length, <link linkend="int">int</link> embedding_level, <link linkend="int">int</link> *logical_widths);<link linkend="PangoGlyphItem">PangoGlyphItem</link>* <link linkend="pango-glyph-item-split">pango_glyph_item_split</link> (<link linkend="PangoGlyphItem">PangoGlyphItem</link> *orig, const <link linkend="char">char</link> *text, <link linkend="int">int</link> split_index);<link linkend="GSList">GSList</link>* <link linkend="pango-glyph-item-apply-attrs">pango_glyph_item_apply_attrs</link> (<link linkend="PangoGlyphItem">PangoGlyphItem</link> *glyph_item, const <link linkend="char">char</link> *text, <link linkend="PangoAttrList">PangoAttrList</link> *list);<link linkend="void">void</link> <link linkend="pango-glyph-item-letter-space">pango_glyph_item_letter_space</link> (<link linkend="PangoGlyphItem">PangoGlyphItem</link> *glyph_item, const <link linkend="char">char</link> *text, <link linkend="PangoLogAttr">PangoLogAttr</link> *log_attrs, <link linkend="int">int</link> letter_spacing);<link linkend="void">void</link> <link linkend="pango-glyph-item-free">pango_glyph_item_free</link> (<link linkend="PangoGlyphItem">PangoGlyphItem</link> *glyph_item);</synopsis></refsynopsisdiv><refsect1 id="desc"><title id="desc.title">Description</title><para><link linkend="pango-shape"><function>pango_shape()</function></link> produces a string of glyphs whichcan be measured or drawn to the screen. The followingstructures are used to store information aboutglyphs.</para></refsect1><refsect1 id="details"><title id="details.title">Details</title><refsect2><title><anchor id="PANGO-SCALE:CAPS" role="macro"/>PANGO_SCALE</title><indexterm><primary>PANGO_SCALE</primary></indexterm><programlisting>#define PANGO_SCALE 1024</programlisting><para>The <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> macro represents the scale between dimensions usedfor Pango distances and device units. (The definition of deviceunits is dependent on the output device; it will typically be pixelsfor a screen, and points for a printer.) <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> is currently1024, but this may be changed in the future.</para><para>When setting font sizes, device units are always considered to bepoints (as in "12 point font"), rather than pixels. </para></refsect2><refsect2><title><anchor id="PANGO-PIXELS:CAPS" role="macro"/>PANGO_PIXELS()</title><indexterm><primary>PANGO_PIXELS</primary></indexterm><programlisting>#define PANGO_PIXELS(d) (((int)(d) + 512) >> 10)</programlisting><para>Converts a dimension to device units by rounding.</para><variablelist role="params"><varlistentry><term><parameter>d</parameter> :</term><listitem><simpara>a dimension in Pango units.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="PANGO-PIXELS-FLOOR:CAPS" role="macro"/>PANGO_PIXELS_FLOOR()</title><indexterm><primary>PANGO_PIXELS_FLOOR</primary></indexterm><programlisting>#define PANGO_PIXELS_FLOOR(d) (((int)(d)) >> 10)</programlisting><para>Converts a dimension to device units by flooring.</para><variablelist role="params"><varlistentry><term><parameter>d</parameter> :</term><listitem><simpara>a dimension in Pango units.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="PANGO-PIXELS-CEIL:CAPS" role="macro"/>PANGO_PIXELS_CEIL()</title><indexterm><primary>PANGO_PIXELS_CEIL</primary></indexterm><programlisting>#define PANGO_PIXELS_CEIL(d) (((int)(d) + 1023) >> 10)</programlisting><para>Converts a dimension to device units by ceiling.</para><variablelist role="params"><varlistentry><term><parameter>d</parameter> :</term><listitem><simpara>a dimension in Pango units.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="pango-units-to-double" role="function" condition="since:1.16"/>pango_units_to_double ()</title><indexterm role="1.16"><primary>pango_units_to_double</primary></indexterm><programlisting><link linkend="double">double</link> pango_units_to_double (<link linkend="int">int</link> i);</programlisting><para>Converts a number in Pango units to floating-point: dividesit by <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link>.</para><para></para><variablelist role="params"><varlistentry><term><parameter>i</parameter> :</term><listitem><simpara> value in Pango units</simpara></listitem></varlistentry><varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the double value.</simpara></listitem></varlistentry></variablelist><para>Since 1.16</para></refsect2><refsect2><title><anchor id="pango-units-from-double" role="function" condition="since:1.16"/>pango_units_from_double ()</title><indexterm role="1.16"><primary>pango_units_from_double</primary></indexterm><programlisting><link linkend="int">int</link> pango_units_from_double (<link linkend="double">double</link> d);</programlisting><para>Converts a floating-point number to Pango units: multipliesit by <link linkend="PANGO-SCALE:CAPS"><literal>PANGO_SCALE</literal></link> and rounds to nearest integer.</para><para></para><variablelist role="params">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -