📄 opentype.xml
字号:
gushort ligID; gushort property_cache; /* Internal */} PangoOTGlyph;</programlisting><para>The <link linkend="PangoOTGlyph"><type>PangoOTGlyph</type></link> structure represents a single glyph together withinformation used for OpenType layout processing of the glyph.It contains the following fields.</para><variablelist role="struct"><varlistentry><term><link linkend="guint">guint</link> <structfield>glyph</structfield>;</term><listitem><simpara>the glyph itself.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guint">guint</link> <structfield>properties</structfield>;</term><listitem><simpara>the properties value, identifying which features should be applied on this glyph. See <link linkend="pango-ruleset-add-feature"><function>pango_ruleset_add_feature()</function></link>.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guint">guint</link> <structfield>cluster</structfield>;</term><listitem><simpara>the cluster that this glyph belongs to.</simpara></listitem></varlistentry><varlistentry><term><link linkend="gushort">gushort</link> <structfield>component</structfield>;</term><listitem><simpara>a component value, set by the OpenType layout engine.</simpara></listitem></varlistentry><varlistentry><term><link linkend="gushort">gushort</link> <structfield>ligID</structfield>;</term><listitem><simpara>a ligature index value, set by the OpenType layout engine.</simpara></listitem></varlistentry><varlistentry><term><link linkend="gushort">gushort</link> <structfield>property_cache</structfield>;</term><listitem><simpara>for internal use.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="PangoOTRuleset-struct" role="struct"><title>PangoOTRuleset</title><indexterm zone="PangoOTRuleset-struct"><primary>PangoOTRuleset</primary></indexterm><programlisting>typedef struct _PangoOTRuleset PangoOTRuleset;</programlisting><para>The <link linkend="PangoOTRuleset"><type>PangoOTRuleset</type></link> structure holds aset of features selected from the tables in an OpenType font.(A feature is an operation such as adjusting glyph positioningthat should be applied to a text feature such as a certaintype of accent.) A <link linkend="PangoOTRuleset"><type>PangoOTRuleset</type></link>is created with <link linkend="pango-ot-ruleset-new"><function>pango_ot_ruleset_new()</function></link>, features are addedto it with <link linkend="pango-ot-ruleset-add-feature"><function>pango_ot_ruleset_add_feature()</function></link>, then it isapplied to a <link linkend="PangoGlyphString"><type>PangoGlyphString</type></link> with <link linkend="pango-ot-ruleset-shape"><function>pango_ot_ruleset_shape()</function></link>.</para></refsect2><refsect2 id="PangoOTRulesetDescription" role="struct" condition="since:1.18"><title>PangoOTRulesetDescription</title><indexterm zone="PangoOTRulesetDescription" role="1.18"><primary>PangoOTRulesetDescription</primary></indexterm><programlisting>typedef struct { PangoScript script; PangoLanguage *language; const PangoOTFeatureMap *static_gsub_features; guint n_static_gsub_features; const PangoOTFeatureMap *static_gpos_features; guint n_static_gpos_features; const PangoOTFeatureMap *other_features; guint n_other_features;} PangoOTRulesetDescription;</programlisting><para>The <link linkend="PangoOTRuleset"><type>PangoOTRuleset</type></link> structure holds all the information neededto build a complete <link linkend="PangoOTRuleset"><type>PangoOTRuleset</type></link> from an OpenType font.The main use of this struct is to act as the key for a per-fonthash of rulesets. The user populates a ruleset description andgets the ruleset using <link linkend="pango-ot-ruleset-get-for-description"><function>pango_ot_ruleset_get_for_description()</function></link>or create a new one using <link linkend="pango-ot-ruleset-new-from-description"><function>pango_ot_ruleset_new_from_description()</function></link>.</para><variablelist role="struct"><varlistentry><term><link linkend="PangoScript">PangoScript</link> <structfield>script</structfield>;</term><listitem><simpara>a <link linkend="PangoScript"><type>PangoScript</type></link>.</simpara></listitem></varlistentry><varlistentry><term><link linkend="PangoLanguage">PangoLanguage</link> *<structfield>language</structfield>;</term><listitem><simpara>a <link linkend="PangoLanguage"><type>PangoLanguage</type></link>.</simpara></listitem></varlistentry><varlistentry><term>const <link linkend="PangoOTFeatureMap">PangoOTFeatureMap</link> *<structfield>static_gsub_features</structfield>;</term><listitem><simpara>static map of GSUB features, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guint">guint</link> <structfield>n_static_gsub_features</structfield>;</term><listitem><simpara>length of <parameter>static_gsub_features</parameter>, or 0.</simpara></listitem></varlistentry><varlistentry><term>const <link linkend="PangoOTFeatureMap">PangoOTFeatureMap</link> *<structfield>static_gpos_features</structfield>;</term><listitem><simpara>static map of GPOS features, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guint">guint</link> <structfield>n_static_gpos_features</structfield>;</term><listitem><simpara>length of <parameter>static_gpos_features</parameter>, or 0.</simpara></listitem></varlistentry><varlistentry><term>const <link linkend="PangoOTFeatureMap">PangoOTFeatureMap</link> *<structfield>other_features</structfield>;</term><listitem><simpara>map of extra features to add to both GSUB and GPOS, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. Unlike the static maps, this pointer need not live beyond the life of function calls taking this struct.</simpara></listitem></varlistentry><varlistentry><term><link linkend="guint">guint</link> <structfield>n_other_features</structfield>;</term><listitem><simpara>length of <parameter>other_features</parameter>, or 0.</simpara></listitem></varlistentry></variablelist><para role="since">Since 1.18</para></refsect2><refsect2 id="PangoOTTableType" role="enum"><title>enum PangoOTTableType</title><indexterm zone="PangoOTTableType"><primary>PangoOTTableType</primary></indexterm><programlisting>typedef enum{ PANGO_OT_TABLE_GSUB, PANGO_OT_TABLE_GPOS} PangoOTTableType;</programlisting><para>The <type>PangoOTTableType</type> enumeration values are used toidentify the various OpenType tables in the<function>pango_ot_info_*</function> functions.</para><variablelist role="enum"><varlistentry id="PANGO-OT-TABLE-GSUB:CAPS" role="constant"><term><literal>PANGO_OT_TABLE_GSUB</literal></term><listitem><simpara>The GSUB table.</simpara></listitem></varlistentry><varlistentry id="PANGO-OT-TABLE-GPOS:CAPS" role="constant"><term><literal>PANGO_OT_TABLE_GPOS</literal></term><listitem><simpara>The GPOS table.</simpara></listitem></varlistentry></variablelist></refsect2><refsect2 id="PangoOTFeatureMap" role="struct" condition="since:1.18"><title>PangoOTFeatureMap</title><indexterm zone="PangoOTFeatureMap" role="1.18"><primary>PangoOTFeatureMap</primary></indexterm><programlisting>typedef struct { char feature_name[5]; gulong property_bit;} PangoOTFeatureMap;</programlisting><para>The <type>PangoOTFeatureMap</type> typedef is used to represent an OpenTypefeature with the property bit associated with it. The feature tag isrepresented as a char array instead of a <link linkend="PangoOTTag"><type>PangoOTTag</type></link> for convenience.</para><variablelist role="struct"><varlistentry><term><link linkend="char">char</link> <structfield>feature_name</structfield>[5];</term><listitem><simpara>feature tag in represented as four-letter ASCII string.</simpara></listitem></varlistentry><varlistentry><term><link linkend="gulong">gulong</link> <structfield>property_bit</structfield>;</term><listitem><simpara>the property bit to use for this feature. See <link linkend="pango-ot-ruleset-add-feature"><function>pango_ot_ruleset_add_feature()</function></link> for details.</simpara></listitem></varlistentry></variablelist><para role="since">Since 1.18</para></refsect2><refsect2 id="PANGO-OT-TAG-MAKE:CAPS" role="macro"><title>PANGO_OT_TAG_MAKE()</title><indexterm zone="PANGO-OT-TAG-MAKE:CAPS"><primary>PANGO_OT_TAG_MAKE</primary></indexterm><programlisting>#define PANGO_OT_TAG_MAKE(c1,c2,c3,c4) ((PangoOTTag) FT_MAKE_TAG (c1, c2, c3, c4))</programlisting><para>Creates a <link linkend="PangoOTTag"><type>PangoOTTag</type></link> from four characters. This is similar andcompatible with the <function><link linkend="FT-MAKE-TAG:CAPS"><function>FT_MAKE_TAG()</function></link></function> macro fromFreeType.</para><variablelist role="params"><varlistentry><term><parameter>c1</parameter> :</term><listitem><simpara>First character.</simpara></listitem></varlistentry><varlistentry><term><parameter>c2</parameter> :</term><listitem><simpara>Second character.</simpara></listitem></varlistentry><varlistentry><term><parameter>c3</parameter> :</term><listitem><simpara>Third character.</simpara></listitem></varlistentry><varlistentry><term><parameter>c4</parameter> :</term>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -