class_fontfile.rst 83 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/FontFile.xml.
  6. .. _class_FontFile:
  7. FontFile
  8. ========
  9. **Inherits:** :ref:`Font<class_Font>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Holds font source data and prerendered glyph cache, imported from a dynamic or a bitmap font.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. **FontFile** contains a set of glyphs to represent Unicode characters imported from a font file, as well as a cache of rasterized glyphs, and a set of fallback :ref:`Font<class_Font>`\ s to use.
  15. Use :ref:`FontVariation<class_FontVariation>` to access specific OpenType variation of the font, create simulated bold / slanted version, and draw lines of text.
  16. For more complex text processing, use :ref:`FontVariation<class_FontVariation>` in conjunction with :ref:`TextLine<class_TextLine>` or :ref:`TextParagraph<class_TextParagraph>`.
  17. Supported font formats:
  18. - Dynamic font importer: TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).
  19. - Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants.
  20. - Monospace image font importer: All supported image formats.
  21. \ **Note:** A character is a symbol that represents an item (letter, digit etc.) in an abstract way.
  22. \ **Note:** A glyph is a bitmap or a shape used to draw one or more characters in a context-dependent manner. Glyph indices are bound to the specific font data source.
  23. \ **Note:** If none of the font data sources contain glyphs for a character used in a string, the character in question will be replaced with a box displaying its hexadecimal code.
  24. .. tabs::
  25. .. code-tab:: gdscript
  26. var f = load("res://BarlowCondensed-Bold.ttf")
  27. $Label.add_theme_font_override("font", f)
  28. $Label.add_theme_font_size_override("font_size", 64)
  29. .. code-tab:: csharp
  30. var f = ResourceLoader.Load<FontFile>("res://BarlowCondensed-Bold.ttf");
  31. GetNode("Label").AddThemeFontOverride("font", f);
  32. GetNode("Label").AddThemeFontSizeOverride("font_size", 64);
  33. .. rst-class:: classref-introduction-group
  34. Tutorials
  35. ---------
  36. - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
  37. .. rst-class:: classref-reftable-group
  38. Properties
  39. ----------
  40. .. table::
  41. :widths: auto
  42. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  43. | :ref:`bool<class_bool>` | :ref:`allow_system_fallback<class_FontFile_property_allow_system_fallback>` | ``true`` |
  44. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  45. | :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` | :ref:`antialiasing<class_FontFile_property_antialiasing>` | ``1`` |
  46. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  47. | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_FontFile_property_data>` | ``PackedByteArray()`` |
  48. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  49. | :ref:`int<class_int>` | :ref:`fixed_size<class_FontFile_property_fixed_size>` | ``0`` |
  50. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  51. | :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` | :ref:`fixed_size_scale_mode<class_FontFile_property_fixed_size_scale_mode>` | ``0`` |
  52. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  53. | :ref:`String<class_String>` | :ref:`font_name<class_FontFile_property_font_name>` | ``""`` |
  54. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  55. | :ref:`int<class_int>` | :ref:`font_stretch<class_FontFile_property_font_stretch>` | ``100`` |
  56. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  57. | |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> | :ref:`font_style<class_FontFile_property_font_style>` | ``0`` |
  58. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  59. | :ref:`int<class_int>` | :ref:`font_weight<class_FontFile_property_font_weight>` | ``400`` |
  60. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  61. | :ref:`bool<class_bool>` | :ref:`force_autohinter<class_FontFile_property_force_autohinter>` | ``false`` |
  62. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  63. | :ref:`bool<class_bool>` | :ref:`generate_mipmaps<class_FontFile_property_generate_mipmaps>` | ``false`` |
  64. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  65. | :ref:`Hinting<enum_TextServer_Hinting>` | :ref:`hinting<class_FontFile_property_hinting>` | ``1`` |
  66. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  67. | :ref:`int<class_int>` | :ref:`msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` | ``16`` |
  68. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  69. | :ref:`int<class_int>` | :ref:`msdf_size<class_FontFile_property_msdf_size>` | ``48`` |
  70. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  71. | :ref:`bool<class_bool>` | :ref:`multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` | ``false`` |
  72. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  73. | :ref:`Dictionary<class_Dictionary>` | :ref:`opentype_feature_overrides<class_FontFile_property_opentype_feature_overrides>` | ``{}`` |
  74. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  75. | :ref:`float<class_float>` | :ref:`oversampling<class_FontFile_property_oversampling>` | ``0.0`` |
  76. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  77. | :ref:`String<class_String>` | :ref:`style_name<class_FontFile_property_style_name>` | ``""`` |
  78. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  79. | :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` | :ref:`subpixel_positioning<class_FontFile_property_subpixel_positioning>` | ``1`` |
  80. +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
  81. .. rst-class:: classref-reftable-group
  82. Methods
  83. -------
  84. .. table::
  85. :widths: auto
  86. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  87. | void | :ref:`clear_cache<class_FontFile_method_clear_cache>` **(** **)** |
  88. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  89. | void | :ref:`clear_glyphs<class_FontFile_method_clear_glyphs>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
  90. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  91. | void | :ref:`clear_kerning_map<class_FontFile_method_clear_kerning_map>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |
  92. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  93. | void | :ref:`clear_size_cache<class_FontFile_method_clear_size_cache>` **(** :ref:`int<class_int>` cache_index **)** |
  94. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  95. | void | :ref:`clear_textures<class_FontFile_method_clear_textures>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
  96. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  97. | :ref:`float<class_float>` | :ref:`get_cache_ascent<class_FontFile_method_get_cache_ascent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
  98. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  99. | :ref:`int<class_int>` | :ref:`get_cache_count<class_FontFile_method_get_cache_count>` **(** **)** |const| |
  100. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  101. | :ref:`float<class_float>` | :ref:`get_cache_descent<class_FontFile_method_get_cache_descent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
  102. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  103. | :ref:`float<class_float>` | :ref:`get_cache_scale<class_FontFile_method_get_cache_scale>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
  104. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  105. | :ref:`float<class_float>` | :ref:`get_cache_underline_position<class_FontFile_method_get_cache_underline_position>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
  106. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  107. | :ref:`float<class_float>` | :ref:`get_cache_underline_thickness<class_FontFile_method_get_cache_underline_thickness>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
  108. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  109. | :ref:`int<class_int>` | :ref:`get_char_from_glyph_index<class_FontFile_method_get_char_from_glyph_index>` **(** :ref:`int<class_int>` size, :ref:`int<class_int>` glyph_index **)** |const| |
  110. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  111. | :ref:`float<class_float>` | :ref:`get_embolden<class_FontFile_method_get_embolden>` **(** :ref:`int<class_int>` cache_index **)** |const| |
  112. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  113. | :ref:`int<class_int>` | :ref:`get_extra_spacing<class_FontFile_method_get_extra_spacing>` **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing **)** |const| |
  114. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  115. | :ref:`int<class_int>` | :ref:`get_face_index<class_FontFile_method_get_face_index>` **(** :ref:`int<class_int>` cache_index **)** |const| |
  116. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  117. | :ref:`Vector2<class_Vector2>` | :ref:`get_glyph_advance<class_FontFile_method_get_glyph_advance>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |const| |
  118. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  119. | :ref:`int<class_int>` | :ref:`get_glyph_index<class_FontFile_method_get_glyph_index>` **(** :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |const| |
  120. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  121. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_glyph_list<class_FontFile_method_get_glyph_list>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const| |
  122. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  123. | :ref:`Vector2<class_Vector2>` | :ref:`get_glyph_offset<class_FontFile_method_get_glyph_offset>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
  124. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  125. | :ref:`Vector2<class_Vector2>` | :ref:`get_glyph_size<class_FontFile_method_get_glyph_size>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
  126. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  127. | :ref:`int<class_int>` | :ref:`get_glyph_texture_idx<class_FontFile_method_get_glyph_texture_idx>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
  128. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  129. | :ref:`Rect2<class_Rect2>` | :ref:`get_glyph_uv_rect<class_FontFile_method_get_glyph_uv_rect>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
  130. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  131. | :ref:`Vector2<class_Vector2>` | :ref:`get_kerning<class_FontFile_method_get_kerning>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |const| |
  132. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  133. | :ref:`Vector2i[]<class_Vector2i>` | :ref:`get_kerning_list<class_FontFile_method_get_kerning_list>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
  134. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  135. | :ref:`bool<class_bool>` | :ref:`get_language_support_override<class_FontFile_method_get_language_support_override>` **(** :ref:`String<class_String>` language **)** |const| |
  136. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  137. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_language_support_overrides<class_FontFile_method_get_language_support_overrides>` **(** **)** |const| |
  138. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  139. | :ref:`bool<class_bool>` | :ref:`get_script_support_override<class_FontFile_method_get_script_support_override>` **(** :ref:`String<class_String>` script **)** |const| |
  140. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  141. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_script_support_overrides<class_FontFile_method_get_script_support_overrides>` **(** **)** |const| |
  142. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  143. | :ref:`Vector2i[]<class_Vector2i>` | :ref:`get_size_cache_list<class_FontFile_method_get_size_cache_list>` **(** :ref:`int<class_int>` cache_index **)** |const| |
  144. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  145. | :ref:`int<class_int>` | :ref:`get_texture_count<class_FontFile_method_get_texture_count>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const| |
  146. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  147. | :ref:`Image<class_Image>` | :ref:`get_texture_image<class_FontFile_method_get_texture_image>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const| |
  148. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  149. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_texture_offsets<class_FontFile_method_get_texture_offsets>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const| |
  150. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  151. | :ref:`Transform2D<class_Transform2D>` | :ref:`get_transform<class_FontFile_method_get_transform>` **(** :ref:`int<class_int>` cache_index **)** |const| |
  152. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  153. | :ref:`Dictionary<class_Dictionary>` | :ref:`get_variation_coordinates<class_FontFile_method_get_variation_coordinates>` **(** :ref:`int<class_int>` cache_index **)** |const| |
  154. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  155. | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_bitmap_font<class_FontFile_method_load_bitmap_font>` **(** :ref:`String<class_String>` path **)** |
  156. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  157. | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_dynamic_font<class_FontFile_method_load_dynamic_font>` **(** :ref:`String<class_String>` path **)** |
  158. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  159. | void | :ref:`remove_cache<class_FontFile_method_remove_cache>` **(** :ref:`int<class_int>` cache_index **)** |
  160. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  161. | void | :ref:`remove_glyph<class_FontFile_method_remove_glyph>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |
  162. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  163. | void | :ref:`remove_kerning<class_FontFile_method_remove_kerning>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |
  164. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  165. | void | :ref:`remove_language_support_override<class_FontFile_method_remove_language_support_override>` **(** :ref:`String<class_String>` language **)** |
  166. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  167. | void | :ref:`remove_script_support_override<class_FontFile_method_remove_script_support_override>` **(** :ref:`String<class_String>` script **)** |
  168. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  169. | void | :ref:`remove_size_cache<class_FontFile_method_remove_size_cache>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
  170. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  171. | void | :ref:`remove_texture<class_FontFile_method_remove_texture>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |
  172. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  173. | void | :ref:`render_glyph<class_FontFile_method_render_glyph>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)** |
  174. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  175. | void | :ref:`render_range<class_FontFile_method_render_range>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |
  176. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  177. | void | :ref:`set_cache_ascent<class_FontFile_method_set_cache_ascent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)** |
  178. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  179. | void | :ref:`set_cache_descent<class_FontFile_method_set_cache_descent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)** |
  180. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  181. | void | :ref:`set_cache_scale<class_FontFile_method_set_cache_scale>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)** |
  182. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  183. | void | :ref:`set_cache_underline_position<class_FontFile_method_set_cache_underline_position>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)** |
  184. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  185. | void | :ref:`set_cache_underline_thickness<class_FontFile_method_set_cache_underline_thickness>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)** |
  186. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  187. | void | :ref:`set_embolden<class_FontFile_method_set_embolden>` **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` strength **)** |
  188. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  189. | void | :ref:`set_extra_spacing<class_FontFile_method_set_extra_spacing>` **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing, :ref:`int<class_int>` value **)** |
  190. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  191. | void | :ref:`set_face_index<class_FontFile_method_set_face_index>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` face_index **)** |
  192. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  193. | void | :ref:`set_glyph_advance<class_FontFile_method_set_glyph_advance>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` advance **)** |
  194. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  195. | void | :ref:`set_glyph_offset<class_FontFile_method_set_glyph_offset>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` offset **)** |
  196. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  197. | void | :ref:`set_glyph_size<class_FontFile_method_set_glyph_size>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` gl_size **)** |
  198. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  199. | void | :ref:`set_glyph_texture_idx<class_FontFile_method_set_glyph_texture_idx>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`int<class_int>` texture_idx **)** |
  200. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  201. | void | :ref:`set_glyph_uv_rect<class_FontFile_method_set_glyph_uv_rect>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Rect2<class_Rect2>` uv_rect **)** |
  202. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  203. | void | :ref:`set_kerning<class_FontFile_method_set_kerning>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair, :ref:`Vector2<class_Vector2>` kerning **)** |
  204. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  205. | void | :ref:`set_language_support_override<class_FontFile_method_set_language_support_override>` **(** :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)** |
  206. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  207. | void | :ref:`set_script_support_override<class_FontFile_method_set_script_support_override>` **(** :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)** |
  208. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  209. | void | :ref:`set_texture_image<class_FontFile_method_set_texture_image>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`Image<class_Image>` image **)** |
  210. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  211. | void | :ref:`set_texture_offsets<class_FontFile_method_set_texture_offsets>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)** |
  212. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  213. | void | :ref:`set_transform<class_FontFile_method_set_transform>` **(** :ref:`int<class_int>` cache_index, :ref:`Transform2D<class_Transform2D>` transform **)** |
  214. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  215. | void | :ref:`set_variation_coordinates<class_FontFile_method_set_variation_coordinates>` **(** :ref:`int<class_int>` cache_index, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |
  216. +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  217. .. rst-class:: classref-section-separator
  218. ----
  219. .. rst-class:: classref-descriptions-group
  220. Property Descriptions
  221. ---------------------
  222. .. _class_FontFile_property_allow_system_fallback:
  223. .. rst-class:: classref-property
  224. :ref:`bool<class_bool>` **allow_system_fallback** = ``true``
  225. .. rst-class:: classref-property-setget
  226. - void **set_allow_system_fallback** **(** :ref:`bool<class_bool>` value **)**
  227. - :ref:`bool<class_bool>` **is_allow_system_fallback** **(** **)**
  228. If set to ``true``, system fonts can be automatically used as fallbacks.
  229. .. rst-class:: classref-item-separator
  230. ----
  231. .. _class_FontFile_property_antialiasing:
  232. .. rst-class:: classref-property
  233. :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` **antialiasing** = ``1``
  234. .. rst-class:: classref-property-setget
  235. - void **set_antialiasing** **(** :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` value **)**
  236. - :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` **get_antialiasing** **(** **)**
  237. Font anti-aliasing mode.
  238. .. rst-class:: classref-item-separator
  239. ----
  240. .. _class_FontFile_property_data:
  241. .. rst-class:: classref-property
  242. :ref:`PackedByteArray<class_PackedByteArray>` **data** = ``PackedByteArray()``
  243. .. rst-class:: classref-property-setget
  244. - void **set_data** **(** :ref:`PackedByteArray<class_PackedByteArray>` value **)**
  245. - :ref:`PackedByteArray<class_PackedByteArray>` **get_data** **(** **)**
  246. Contents of the dynamic font source file.
  247. .. rst-class:: classref-item-separator
  248. ----
  249. .. _class_FontFile_property_fixed_size:
  250. .. rst-class:: classref-property
  251. :ref:`int<class_int>` **fixed_size** = ``0``
  252. .. rst-class:: classref-property-setget
  253. - void **set_fixed_size** **(** :ref:`int<class_int>` value **)**
  254. - :ref:`int<class_int>` **get_fixed_size** **(** **)**
  255. Font size, used only for the bitmap fonts.
  256. .. rst-class:: classref-item-separator
  257. ----
  258. .. _class_FontFile_property_fixed_size_scale_mode:
  259. .. rst-class:: classref-property
  260. :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **fixed_size_scale_mode** = ``0``
  261. .. rst-class:: classref-property-setget
  262. - void **set_fixed_size_scale_mode** **(** :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` value **)**
  263. - :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **get_fixed_size_scale_mode** **(** **)**
  264. Scaling mode, used only for the bitmap fonts with :ref:`fixed_size<class_FontFile_property_fixed_size>` greater than zero.
  265. .. rst-class:: classref-item-separator
  266. ----
  267. .. _class_FontFile_property_font_name:
  268. .. rst-class:: classref-property
  269. :ref:`String<class_String>` **font_name** = ``""``
  270. .. rst-class:: classref-property-setget
  271. - void **set_font_name** **(** :ref:`String<class_String>` value **)**
  272. - :ref:`String<class_String>` **get_font_name** **(** **)**
  273. Font family name.
  274. .. rst-class:: classref-item-separator
  275. ----
  276. .. _class_FontFile_property_font_stretch:
  277. .. rst-class:: classref-property
  278. :ref:`int<class_int>` **font_stretch** = ``100``
  279. .. rst-class:: classref-property-setget
  280. - void **set_font_stretch** **(** :ref:`int<class_int>` value **)**
  281. - :ref:`int<class_int>` **get_font_stretch** **(** **)**
  282. Font stretch amount, compared to a normal width. A percentage value between ``50%`` and ``200%``.
  283. .. rst-class:: classref-item-separator
  284. ----
  285. .. _class_FontFile_property_font_style:
  286. .. rst-class:: classref-property
  287. |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> **font_style** = ``0``
  288. .. rst-class:: classref-property-setget
  289. - void **set_font_style** **(** |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> value **)**
  290. - |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> **get_font_style** **(** **)**
  291. Font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
  292. .. rst-class:: classref-item-separator
  293. ----
  294. .. _class_FontFile_property_font_weight:
  295. .. rst-class:: classref-property
  296. :ref:`int<class_int>` **font_weight** = ``400``
  297. .. rst-class:: classref-property-setget
  298. - void **set_font_weight** **(** :ref:`int<class_int>` value **)**
  299. - :ref:`int<class_int>` **get_font_weight** **(** **)**
  300. Weight (boldness) of the font. A value in the ``100...999`` range, normal font weight is ``400``, bold font weight is ``700``.
  301. .. rst-class:: classref-item-separator
  302. ----
  303. .. _class_FontFile_property_force_autohinter:
  304. .. rst-class:: classref-property
  305. :ref:`bool<class_bool>` **force_autohinter** = ``false``
  306. .. rst-class:: classref-property-setget
  307. - void **set_force_autohinter** **(** :ref:`bool<class_bool>` value **)**
  308. - :ref:`bool<class_bool>` **is_force_autohinter** **(** **)**
  309. If set to ``true``, auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only (MSDF fonts don't support hinting).
  310. .. rst-class:: classref-item-separator
  311. ----
  312. .. _class_FontFile_property_generate_mipmaps:
  313. .. rst-class:: classref-property
  314. :ref:`bool<class_bool>` **generate_mipmaps** = ``false``
  315. .. rst-class:: classref-property-setget
  316. - void **set_generate_mipmaps** **(** :ref:`bool<class_bool>` value **)**
  317. - :ref:`bool<class_bool>` **get_generate_mipmaps** **(** **)**
  318. If set to ``true``, generate mipmaps for the font textures.
  319. .. rst-class:: classref-item-separator
  320. ----
  321. .. _class_FontFile_property_hinting:
  322. .. rst-class:: classref-property
  323. :ref:`Hinting<enum_TextServer_Hinting>` **hinting** = ``1``
  324. .. rst-class:: classref-property-setget
  325. - void **set_hinting** **(** :ref:`Hinting<enum_TextServer_Hinting>` value **)**
  326. - :ref:`Hinting<enum_TextServer_Hinting>` **get_hinting** **(** **)**
  327. Font hinting mode. Used by dynamic fonts only.
  328. .. rst-class:: classref-item-separator
  329. ----
  330. .. _class_FontFile_property_msdf_pixel_range:
  331. .. rst-class:: classref-property
  332. :ref:`int<class_int>` **msdf_pixel_range** = ``16``
  333. .. rst-class:: classref-property-setget
  334. - void **set_msdf_pixel_range** **(** :ref:`int<class_int>` value **)**
  335. - :ref:`int<class_int>` **get_msdf_pixel_range** **(** **)**
  336. The width of the range around the shape between the minimum and maximum representable signed distance. If using font outlines, :ref:`msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the size of the largest font outline. The default :ref:`msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` value of ``16`` allows outline sizes up to ``8`` to look correct.
  337. .. rst-class:: classref-item-separator
  338. ----
  339. .. _class_FontFile_property_msdf_size:
  340. .. rst-class:: classref-property
  341. :ref:`int<class_int>` **msdf_size** = ``48``
  342. .. rst-class:: classref-property-setget
  343. - void **set_msdf_size** **(** :ref:`int<class_int>` value **)**
  344. - :ref:`int<class_int>` **get_msdf_size** **(** **)**
  345. Source font size used to generate MSDF textures. Higher values allow for more precision, but are slower to render and require more memory. Only increase this value if you notice a visible lack of precision in glyph rendering.
  346. .. rst-class:: classref-item-separator
  347. ----
  348. .. _class_FontFile_property_multichannel_signed_distance_field:
  349. .. rst-class:: classref-property
  350. :ref:`bool<class_bool>` **multichannel_signed_distance_field** = ``false``
  351. .. rst-class:: classref-property-setget
  352. - void **set_multichannel_signed_distance_field** **(** :ref:`bool<class_bool>` value **)**
  353. - :ref:`bool<class_bool>` **is_multichannel_signed_distance_field** **(** **)**
  354. If set to ``true``, glyphs of all sizes are rendered using single multichannel signed distance field (MSDF) generated from the dynamic font vector data. Since this approach does not rely on rasterizing the font every time its size changes, this allows for resizing the font in real-time without any performance penalty. Text will also not look grainy for :ref:`Control<class_Control>`\ s that are scaled down (or for :ref:`Label3D<class_Label3D>`\ s viewed from a long distance). As a downside, font hinting is not available with MSDF. The lack of font hinting may result in less crisp and less readable fonts at small sizes.
  355. \ **Note:** If using font outlines, :ref:`msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` must be set to at least *twice* the size of the largest font outline.
  356. \ **Note:** MSDF font rendering does not render glyphs with overlapping shapes correctly. Overlapping shapes are not valid per the OpenType standard, but are still commonly found in many font files, especially those converted by Google Fonts. To avoid issues with overlapping glyphs, consider downloading the font file directly from the type foundry instead of relying on Google Fonts.
  357. .. rst-class:: classref-item-separator
  358. ----
  359. .. _class_FontFile_property_opentype_feature_overrides:
  360. .. rst-class:: classref-property
  361. :ref:`Dictionary<class_Dictionary>` **opentype_feature_overrides** = ``{}``
  362. .. rst-class:: classref-property-setget
  363. - void **set_opentype_feature_overrides** **(** :ref:`Dictionary<class_Dictionary>` value **)**
  364. - :ref:`Dictionary<class_Dictionary>` **get_opentype_feature_overrides** **(** **)**
  365. Font OpenType feature set override.
  366. .. rst-class:: classref-item-separator
  367. ----
  368. .. _class_FontFile_property_oversampling:
  369. .. rst-class:: classref-property
  370. :ref:`float<class_float>` **oversampling** = ``0.0``
  371. .. rst-class:: classref-property-setget
  372. - void **set_oversampling** **(** :ref:`float<class_float>` value **)**
  373. - :ref:`float<class_float>` **get_oversampling** **(** **)**
  374. Font oversampling factor. If set to ``0.0``, the global oversampling factor is used instead. Used by dynamic fonts only (MSDF fonts ignore oversampling).
  375. .. rst-class:: classref-item-separator
  376. ----
  377. .. _class_FontFile_property_style_name:
  378. .. rst-class:: classref-property
  379. :ref:`String<class_String>` **style_name** = ``""``
  380. .. rst-class:: classref-property-setget
  381. - void **set_font_style_name** **(** :ref:`String<class_String>` value **)**
  382. - :ref:`String<class_String>` **get_font_style_name** **(** **)**
  383. Font style name.
  384. .. rst-class:: classref-item-separator
  385. ----
  386. .. _class_FontFile_property_subpixel_positioning:
  387. .. rst-class:: classref-property
  388. :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` **subpixel_positioning** = ``1``
  389. .. rst-class:: classref-property-setget
  390. - void **set_subpixel_positioning** **(** :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` value **)**
  391. - :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` **get_subpixel_positioning** **(** **)**
  392. Font glyph subpixel positioning mode. Subpixel positioning provides shaper text and better kerning for smaller font sizes, at the cost of higher memory usage and lower font rasterization speed. Use :ref:`TextServer.SUBPIXEL_POSITIONING_AUTO<class_TextServer_constant_SUBPIXEL_POSITIONING_AUTO>` to automatically enable it based on the font size.
  393. .. rst-class:: classref-section-separator
  394. ----
  395. .. rst-class:: classref-descriptions-group
  396. Method Descriptions
  397. -------------------
  398. .. _class_FontFile_method_clear_cache:
  399. .. rst-class:: classref-method
  400. void **clear_cache** **(** **)**
  401. Removes all font cache entries.
  402. .. rst-class:: classref-item-separator
  403. ----
  404. .. _class_FontFile_method_clear_glyphs:
  405. .. rst-class:: classref-method
  406. void **clear_glyphs** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
  407. Removes all rendered glyphs information from the cache entry.
  408. \ **Note:** This function will not remove textures associated with the glyphs, use :ref:`remove_texture<class_FontFile_method_remove_texture>` to remove them manually.
  409. .. rst-class:: classref-item-separator
  410. ----
  411. .. _class_FontFile_method_clear_kerning_map:
  412. .. rst-class:: classref-method
  413. void **clear_kerning_map** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)**
  414. Removes all kerning overrides.
  415. .. rst-class:: classref-item-separator
  416. ----
  417. .. _class_FontFile_method_clear_size_cache:
  418. .. rst-class:: classref-method
  419. void **clear_size_cache** **(** :ref:`int<class_int>` cache_index **)**
  420. Removes all font sizes from the cache entry
  421. .. rst-class:: classref-item-separator
  422. ----
  423. .. _class_FontFile_method_clear_textures:
  424. .. rst-class:: classref-method
  425. void **clear_textures** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
  426. Removes all textures from font cache entry.
  427. \ **Note:** This function will not remove glyphs associated with the texture, use :ref:`remove_glyph<class_FontFile_method_remove_glyph>` to remove them manually.
  428. .. rst-class:: classref-item-separator
  429. ----
  430. .. _class_FontFile_method_get_cache_ascent:
  431. .. rst-class:: classref-method
  432. :ref:`float<class_float>` **get_cache_ascent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
  433. Returns the font ascent (number of pixels above the baseline).
  434. .. rst-class:: classref-item-separator
  435. ----
  436. .. _class_FontFile_method_get_cache_count:
  437. .. rst-class:: classref-method
  438. :ref:`int<class_int>` **get_cache_count** **(** **)** |const|
  439. Returns number of the font cache entries.
  440. .. rst-class:: classref-item-separator
  441. ----
  442. .. _class_FontFile_method_get_cache_descent:
  443. .. rst-class:: classref-method
  444. :ref:`float<class_float>` **get_cache_descent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
  445. Returns the font descent (number of pixels below the baseline).
  446. .. rst-class:: classref-item-separator
  447. ----
  448. .. _class_FontFile_method_get_cache_scale:
  449. .. rst-class:: classref-method
  450. :ref:`float<class_float>` **get_cache_scale** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
  451. Returns scaling factor of the color bitmap font.
  452. .. rst-class:: classref-item-separator
  453. ----
  454. .. _class_FontFile_method_get_cache_underline_position:
  455. .. rst-class:: classref-method
  456. :ref:`float<class_float>` **get_cache_underline_position** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
  457. Returns pixel offset of the underline below the baseline.
  458. .. rst-class:: classref-item-separator
  459. ----
  460. .. _class_FontFile_method_get_cache_underline_thickness:
  461. .. rst-class:: classref-method
  462. :ref:`float<class_float>` **get_cache_underline_thickness** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
  463. Returns thickness of the underline in pixels.
  464. .. rst-class:: classref-item-separator
  465. ----
  466. .. _class_FontFile_method_get_char_from_glyph_index:
  467. .. rst-class:: classref-method
  468. :ref:`int<class_int>` **get_char_from_glyph_index** **(** :ref:`int<class_int>` size, :ref:`int<class_int>` glyph_index **)** |const|
  469. Returns character code associated with ``glyph_index``, or ``0`` if ``glyph_index`` is invalid. See :ref:`get_glyph_index<class_FontFile_method_get_glyph_index>`.
  470. .. rst-class:: classref-item-separator
  471. ----
  472. .. _class_FontFile_method_get_embolden:
  473. .. rst-class:: classref-method
  474. :ref:`float<class_float>` **get_embolden** **(** :ref:`int<class_int>` cache_index **)** |const|
  475. Returns embolden strength, if is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
  476. .. rst-class:: classref-item-separator
  477. ----
  478. .. _class_FontFile_method_get_extra_spacing:
  479. .. rst-class:: classref-method
  480. :ref:`int<class_int>` **get_extra_spacing** **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing **)** |const|
  481. Returns spacing for ``spacing`` (see :ref:`SpacingType<enum_TextServer_SpacingType>`) in pixels (not relative to the font size).
  482. .. rst-class:: classref-item-separator
  483. ----
  484. .. _class_FontFile_method_get_face_index:
  485. .. rst-class:: classref-method
  486. :ref:`int<class_int>` **get_face_index** **(** :ref:`int<class_int>` cache_index **)** |const|
  487. Returns an active face index in the TrueType / OpenType collection.
  488. .. rst-class:: classref-item-separator
  489. ----
  490. .. _class_FontFile_method_get_glyph_advance:
  491. .. rst-class:: classref-method
  492. :ref:`Vector2<class_Vector2>` **get_glyph_advance** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |const|
  493. Returns glyph advance (offset of the next glyph).
  494. \ **Note:** Advance for glyphs outlines is the same as the base glyph advance and is not saved.
  495. .. rst-class:: classref-item-separator
  496. ----
  497. .. _class_FontFile_method_get_glyph_index:
  498. .. rst-class:: classref-method
  499. :ref:`int<class_int>` **get_glyph_index** **(** :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |const|
  500. Returns the glyph index of a ``char``, optionally modified by the ``variation_selector``.
  501. .. rst-class:: classref-item-separator
  502. ----
  503. .. _class_FontFile_method_get_glyph_list:
  504. .. rst-class:: classref-method
  505. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_glyph_list** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const|
  506. Returns list of rendered glyphs in the cache entry.
  507. .. rst-class:: classref-item-separator
  508. ----
  509. .. _class_FontFile_method_get_glyph_offset:
  510. .. rst-class:: classref-method
  511. :ref:`Vector2<class_Vector2>` **get_glyph_offset** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
  512. Returns glyph offset from the baseline.
  513. .. rst-class:: classref-item-separator
  514. ----
  515. .. _class_FontFile_method_get_glyph_size:
  516. .. rst-class:: classref-method
  517. :ref:`Vector2<class_Vector2>` **get_glyph_size** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
  518. Returns glyph size.
  519. .. rst-class:: classref-item-separator
  520. ----
  521. .. _class_FontFile_method_get_glyph_texture_idx:
  522. .. rst-class:: classref-method
  523. :ref:`int<class_int>` **get_glyph_texture_idx** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
  524. Returns index of the cache texture containing the glyph.
  525. .. rst-class:: classref-item-separator
  526. ----
  527. .. _class_FontFile_method_get_glyph_uv_rect:
  528. .. rst-class:: classref-method
  529. :ref:`Rect2<class_Rect2>` **get_glyph_uv_rect** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
  530. Returns rectangle in the cache texture containing the glyph.
  531. .. rst-class:: classref-item-separator
  532. ----
  533. .. _class_FontFile_method_get_kerning:
  534. .. rst-class:: classref-method
  535. :ref:`Vector2<class_Vector2>` **get_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |const|
  536. Returns kerning for the pair of glyphs.
  537. .. rst-class:: classref-item-separator
  538. ----
  539. .. _class_FontFile_method_get_kerning_list:
  540. .. rst-class:: classref-method
  541. :ref:`Vector2i[]<class_Vector2i>` **get_kerning_list** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
  542. Returns list of the kerning overrides.
  543. .. rst-class:: classref-item-separator
  544. ----
  545. .. _class_FontFile_method_get_language_support_override:
  546. .. rst-class:: classref-method
  547. :ref:`bool<class_bool>` **get_language_support_override** **(** :ref:`String<class_String>` language **)** |const|
  548. Returns ``true`` if support override is enabled for the ``language``.
  549. .. rst-class:: classref-item-separator
  550. ----
  551. .. _class_FontFile_method_get_language_support_overrides:
  552. .. rst-class:: classref-method
  553. :ref:`PackedStringArray<class_PackedStringArray>` **get_language_support_overrides** **(** **)** |const|
  554. Returns list of language support overrides.
  555. .. rst-class:: classref-item-separator
  556. ----
  557. .. _class_FontFile_method_get_script_support_override:
  558. .. rst-class:: classref-method
  559. :ref:`bool<class_bool>` **get_script_support_override** **(** :ref:`String<class_String>` script **)** |const|
  560. Returns ``true`` if support override is enabled for the ``script``.
  561. .. rst-class:: classref-item-separator
  562. ----
  563. .. _class_FontFile_method_get_script_support_overrides:
  564. .. rst-class:: classref-method
  565. :ref:`PackedStringArray<class_PackedStringArray>` **get_script_support_overrides** **(** **)** |const|
  566. Returns list of script support overrides.
  567. .. rst-class:: classref-item-separator
  568. ----
  569. .. _class_FontFile_method_get_size_cache_list:
  570. .. rst-class:: classref-method
  571. :ref:`Vector2i[]<class_Vector2i>` **get_size_cache_list** **(** :ref:`int<class_int>` cache_index **)** |const|
  572. Returns list of the font sizes in the cache. Each size is :ref:`Vector2i<class_Vector2i>` with font size and outline size.
  573. .. rst-class:: classref-item-separator
  574. ----
  575. .. _class_FontFile_method_get_texture_count:
  576. .. rst-class:: classref-method
  577. :ref:`int<class_int>` **get_texture_count** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const|
  578. Returns number of textures used by font cache entry.
  579. .. rst-class:: classref-item-separator
  580. ----
  581. .. _class_FontFile_method_get_texture_image:
  582. .. rst-class:: classref-method
  583. :ref:`Image<class_Image>` **get_texture_image** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const|
  584. Returns a copy of the font cache texture image.
  585. .. rst-class:: classref-item-separator
  586. ----
  587. .. _class_FontFile_method_get_texture_offsets:
  588. .. rst-class:: classref-method
  589. :ref:`PackedInt32Array<class_PackedInt32Array>` **get_texture_offsets** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const|
  590. Returns a copy of the array containing glyph packing data.
  591. .. rst-class:: classref-item-separator
  592. ----
  593. .. _class_FontFile_method_get_transform:
  594. .. rst-class:: classref-method
  595. :ref:`Transform2D<class_Transform2D>` **get_transform** **(** :ref:`int<class_int>` cache_index **)** |const|
  596. Returns 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
  597. .. rst-class:: classref-item-separator
  598. ----
  599. .. _class_FontFile_method_get_variation_coordinates:
  600. .. rst-class:: classref-method
  601. :ref:`Dictionary<class_Dictionary>` **get_variation_coordinates** **(** :ref:`int<class_int>` cache_index **)** |const|
  602. Returns variation coordinates for the specified font cache entry. See :ref:`Font.get_supported_variation_list<class_Font_method_get_supported_variation_list>` for more info.
  603. .. rst-class:: classref-item-separator
  604. ----
  605. .. _class_FontFile_method_load_bitmap_font:
  606. .. rst-class:: classref-method
  607. :ref:`Error<enum_@GlobalScope_Error>` **load_bitmap_font** **(** :ref:`String<class_String>` path **)**
  608. Loads an AngelCode BMFont (.fnt, .font) bitmap font from file ``path``.
  609. \ **Warning:** This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the ``user://`` directory.
  610. .. rst-class:: classref-item-separator
  611. ----
  612. .. _class_FontFile_method_load_dynamic_font:
  613. .. rst-class:: classref-method
  614. :ref:`Error<enum_@GlobalScope_Error>` **load_dynamic_font** **(** :ref:`String<class_String>` path **)**
  615. Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file ``path``.
  616. \ **Warning:** This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the ``user://`` directory.
  617. .. rst-class:: classref-item-separator
  618. ----
  619. .. _class_FontFile_method_remove_cache:
  620. .. rst-class:: classref-method
  621. void **remove_cache** **(** :ref:`int<class_int>` cache_index **)**
  622. Removes specified font cache entry.
  623. .. rst-class:: classref-item-separator
  624. ----
  625. .. _class_FontFile_method_remove_glyph:
  626. .. rst-class:: classref-method
  627. void **remove_glyph** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)**
  628. Removes specified rendered glyph information from the cache entry.
  629. \ **Note:** This function will not remove textures associated with the glyphs, use :ref:`remove_texture<class_FontFile_method_remove_texture>` to remove them manually.
  630. .. rst-class:: classref-item-separator
  631. ----
  632. .. _class_FontFile_method_remove_kerning:
  633. .. rst-class:: classref-method
  634. void **remove_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)**
  635. Removes kerning override for the pair of glyphs.
  636. .. rst-class:: classref-item-separator
  637. ----
  638. .. _class_FontFile_method_remove_language_support_override:
  639. .. rst-class:: classref-method
  640. void **remove_language_support_override** **(** :ref:`String<class_String>` language **)**
  641. Remove language support override.
  642. .. rst-class:: classref-item-separator
  643. ----
  644. .. _class_FontFile_method_remove_script_support_override:
  645. .. rst-class:: classref-method
  646. void **remove_script_support_override** **(** :ref:`String<class_String>` script **)**
  647. Removes script support override.
  648. .. rst-class:: classref-item-separator
  649. ----
  650. .. _class_FontFile_method_remove_size_cache:
  651. .. rst-class:: classref-method
  652. void **remove_size_cache** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
  653. Removes specified font size from the cache entry.
  654. .. rst-class:: classref-item-separator
  655. ----
  656. .. _class_FontFile_method_remove_texture:
  657. .. rst-class:: classref-method
  658. void **remove_texture** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)**
  659. Removes specified texture from the cache entry.
  660. \ **Note:** This function will not remove glyphs associated with the texture. Remove them manually using :ref:`remove_glyph<class_FontFile_method_remove_glyph>`.
  661. .. rst-class:: classref-item-separator
  662. ----
  663. .. _class_FontFile_method_render_glyph:
  664. .. rst-class:: classref-method
  665. void **render_glyph** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)**
  666. Renders specified glyph to the font cache texture.
  667. .. rst-class:: classref-item-separator
  668. ----
  669. .. _class_FontFile_method_render_range:
  670. .. rst-class:: classref-method
  671. void **render_range** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)**
  672. Renders the range of characters to the font cache texture.
  673. .. rst-class:: classref-item-separator
  674. ----
  675. .. _class_FontFile_method_set_cache_ascent:
  676. .. rst-class:: classref-method
  677. void **set_cache_ascent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)**
  678. Sets the font ascent (number of pixels above the baseline).
  679. .. rst-class:: classref-item-separator
  680. ----
  681. .. _class_FontFile_method_set_cache_descent:
  682. .. rst-class:: classref-method
  683. void **set_cache_descent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)**
  684. Sets the font descent (number of pixels below the baseline).
  685. .. rst-class:: classref-item-separator
  686. ----
  687. .. _class_FontFile_method_set_cache_scale:
  688. .. rst-class:: classref-method
  689. void **set_cache_scale** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)**
  690. Sets scaling factor of the color bitmap font.
  691. .. rst-class:: classref-item-separator
  692. ----
  693. .. _class_FontFile_method_set_cache_underline_position:
  694. .. rst-class:: classref-method
  695. void **set_cache_underline_position** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)**
  696. Sets pixel offset of the underline below the baseline.
  697. .. rst-class:: classref-item-separator
  698. ----
  699. .. _class_FontFile_method_set_cache_underline_thickness:
  700. .. rst-class:: classref-method
  701. void **set_cache_underline_thickness** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)**
  702. Sets thickness of the underline in pixels.
  703. .. rst-class:: classref-item-separator
  704. ----
  705. .. _class_FontFile_method_set_embolden:
  706. .. rst-class:: classref-method
  707. void **set_embolden** **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` strength **)**
  708. Sets embolden strength, if is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
  709. .. rst-class:: classref-item-separator
  710. ----
  711. .. _class_FontFile_method_set_extra_spacing:
  712. .. rst-class:: classref-method
  713. void **set_extra_spacing** **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing, :ref:`int<class_int>` value **)**
  714. Sets the spacing for ``spacing`` (see :ref:`SpacingType<enum_TextServer_SpacingType>`) to ``value`` in pixels (not relative to the font size).
  715. .. rst-class:: classref-item-separator
  716. ----
  717. .. _class_FontFile_method_set_face_index:
  718. .. rst-class:: classref-method
  719. void **set_face_index** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` face_index **)**
  720. Sets an active face index in the TrueType / OpenType collection.
  721. .. rst-class:: classref-item-separator
  722. ----
  723. .. _class_FontFile_method_set_glyph_advance:
  724. .. rst-class:: classref-method
  725. void **set_glyph_advance** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` advance **)**
  726. Sets glyph advance (offset of the next glyph).
  727. \ **Note:** Advance for glyphs outlines is the same as the base glyph advance and is not saved.
  728. .. rst-class:: classref-item-separator
  729. ----
  730. .. _class_FontFile_method_set_glyph_offset:
  731. .. rst-class:: classref-method
  732. void **set_glyph_offset** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` offset **)**
  733. Sets glyph offset from the baseline.
  734. .. rst-class:: classref-item-separator
  735. ----
  736. .. _class_FontFile_method_set_glyph_size:
  737. .. rst-class:: classref-method
  738. void **set_glyph_size** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` gl_size **)**
  739. Sets glyph size.
  740. .. rst-class:: classref-item-separator
  741. ----
  742. .. _class_FontFile_method_set_glyph_texture_idx:
  743. .. rst-class:: classref-method
  744. void **set_glyph_texture_idx** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`int<class_int>` texture_idx **)**
  745. Sets index of the cache texture containing the glyph.
  746. .. rst-class:: classref-item-separator
  747. ----
  748. .. _class_FontFile_method_set_glyph_uv_rect:
  749. .. rst-class:: classref-method
  750. void **set_glyph_uv_rect** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Rect2<class_Rect2>` uv_rect **)**
  751. Sets rectangle in the cache texture containing the glyph.
  752. .. rst-class:: classref-item-separator
  753. ----
  754. .. _class_FontFile_method_set_kerning:
  755. .. rst-class:: classref-method
  756. void **set_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair, :ref:`Vector2<class_Vector2>` kerning **)**
  757. Sets kerning for the pair of glyphs.
  758. .. rst-class:: classref-item-separator
  759. ----
  760. .. _class_FontFile_method_set_language_support_override:
  761. .. rst-class:: classref-method
  762. void **set_language_support_override** **(** :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)**
  763. Adds override for :ref:`Font.is_language_supported<class_Font_method_is_language_supported>`.
  764. .. rst-class:: classref-item-separator
  765. ----
  766. .. _class_FontFile_method_set_script_support_override:
  767. .. rst-class:: classref-method
  768. void **set_script_support_override** **(** :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)**
  769. Adds override for :ref:`Font.is_script_supported<class_Font_method_is_script_supported>`.
  770. .. rst-class:: classref-item-separator
  771. ----
  772. .. _class_FontFile_method_set_texture_image:
  773. .. rst-class:: classref-method
  774. void **set_texture_image** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`Image<class_Image>` image **)**
  775. Sets font cache texture image.
  776. .. rst-class:: classref-item-separator
  777. ----
  778. .. _class_FontFile_method_set_texture_offsets:
  779. .. rst-class:: classref-method
  780. void **set_texture_offsets** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)**
  781. Sets array containing glyph packing data.
  782. .. rst-class:: classref-item-separator
  783. ----
  784. .. _class_FontFile_method_set_transform:
  785. .. rst-class:: classref-method
  786. void **set_transform** **(** :ref:`int<class_int>` cache_index, :ref:`Transform2D<class_Transform2D>` transform **)**
  787. Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
  788. .. rst-class:: classref-item-separator
  789. ----
  790. .. _class_FontFile_method_set_variation_coordinates:
  791. .. rst-class:: classref-method
  792. void **set_variation_coordinates** **(** :ref:`int<class_int>` cache_index, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)**
  793. Sets variation coordinates for the specified font cache entry. See :ref:`Font.get_supported_variation_list<class_Font_method_get_supported_variation_list>` for more info.
  794. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  795. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  796. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  797. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  798. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  799. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  800. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`