12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/FontFile.xml.
- .. _class_FontFile:
- FontFile
- ========
- **Inherits:** :ref:`Font<class_Font>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
- Holds font source data and prerendered glyph cache, imported from a dynamic or a bitmap font.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- **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.
- Use :ref:`FontVariation<class_FontVariation>` to access specific OpenType variation of the font, create simulated bold / slanted version, and draw lines of text.
- For more complex text processing, use :ref:`FontVariation<class_FontVariation>` in conjunction with :ref:`TextLine<class_TextLine>` or :ref:`TextParagraph<class_TextParagraph>`.
- Supported font formats:
- - Dynamic font importer: TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).
- - Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants.
- - Monospace image font importer: All supported image formats.
- \ **Note:** A character is a symbol that represents an item (letter, digit etc.) in an abstract way.
- \ **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.
- \ **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.
- .. tabs::
- .. code-tab:: gdscript
- var f = load("res://BarlowCondensed-Bold.ttf")
- $Label.add_theme_font_override("font", f)
- $Label.add_theme_font_size_override("font_size", 64)
- .. code-tab:: csharp
- var f = ResourceLoader.Load<FontFile>("res://BarlowCondensed-Bold.ttf");
- GetNode("Label").AddThemeFontOverride("font", f);
- GetNode("Label").AddThemeFontSizeOverride("font_size", 64);
- .. rst-class:: classref-introduction-group
- Tutorials
- ---------
- - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>`
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`allow_system_fallback<class_FontFile_property_allow_system_fallback>` | ``true`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` | :ref:`antialiasing<class_FontFile_property_antialiasing>` | ``1`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_FontFile_property_data>` | ``PackedByteArray()`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`fixed_size<class_FontFile_property_fixed_size>` | ``0`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` | :ref:`fixed_size_scale_mode<class_FontFile_property_fixed_size_scale_mode>` | ``0`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`String<class_String>` | :ref:`font_name<class_FontFile_property_font_name>` | ``""`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`font_stretch<class_FontFile_property_font_stretch>` | ``100`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> | :ref:`font_style<class_FontFile_property_font_style>` | ``0`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`font_weight<class_FontFile_property_font_weight>` | ``400`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`force_autohinter<class_FontFile_property_force_autohinter>` | ``false`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`generate_mipmaps<class_FontFile_property_generate_mipmaps>` | ``false`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Hinting<enum_TextServer_Hinting>` | :ref:`hinting<class_FontFile_property_hinting>` | ``1`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`msdf_pixel_range<class_FontFile_property_msdf_pixel_range>` | ``16`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`int<class_int>` | :ref:`msdf_size<class_FontFile_property_msdf_size>` | ``48`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`multichannel_signed_distance_field<class_FontFile_property_multichannel_signed_distance_field>` | ``false`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`opentype_feature_overrides<class_FontFile_property_opentype_feature_overrides>` | ``{}`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`oversampling<class_FontFile_property_oversampling>` | ``0.0`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`String<class_String>` | :ref:`style_name<class_FontFile_property_style_name>` | ``""`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- | :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` | :ref:`subpixel_positioning<class_FontFile_property_subpixel_positioning>` | ``1`` |
- +-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear_cache<class_FontFile_method_clear_cache>` **(** **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear_glyphs<class_FontFile_method_clear_glyphs>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear_kerning_map<class_FontFile_method_clear_kerning_map>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear_size_cache<class_FontFile_method_clear_size_cache>` **(** :ref:`int<class_int>` cache_index **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`clear_textures<class_FontFile_method_clear_textures>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_cache_count<class_FontFile_method_get_cache_count>` **(** **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`get_embolden<class_FontFile_method_get_embolden>` **(** :ref:`int<class_int>` cache_index **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`get_face_index<class_FontFile_method_get_face_index>` **(** :ref:`int<class_int>` cache_index **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`get_language_support_override<class_FontFile_method_get_language_support_override>` **(** :ref:`String<class_String>` language **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_language_support_overrides<class_FontFile_method_get_language_support_overrides>` **(** **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`get_script_support_override<class_FontFile_method_get_script_support_override>` **(** :ref:`String<class_String>` script **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_script_support_overrides<class_FontFile_method_get_script_support_overrides>` **(** **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Vector2i[]<class_Vector2i>` | :ref:`get_size_cache_list<class_FontFile_method_get_size_cache_list>` **(** :ref:`int<class_int>` cache_index **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :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| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Transform2D<class_Transform2D>` | :ref:`get_transform<class_FontFile_method_get_transform>` **(** :ref:`int<class_int>` cache_index **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Dictionary<class_Dictionary>` | :ref:`get_variation_coordinates<class_FontFile_method_get_variation_coordinates>` **(** :ref:`int<class_int>` cache_index **)** |const| |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_bitmap_font<class_FontFile_method_load_bitmap_font>` **(** :ref:`String<class_String>` path **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_dynamic_font<class_FontFile_method_load_dynamic_font>` **(** :ref:`String<class_String>` path **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`remove_cache<class_FontFile_method_remove_cache>` **(** :ref:`int<class_int>` cache_index **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`remove_language_support_override<class_FontFile_method_remove_language_support_override>` **(** :ref:`String<class_String>` language **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`remove_script_support_override<class_FontFile_method_remove_script_support_override>` **(** :ref:`String<class_String>` script **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`remove_size_cache<class_FontFile_method_remove_size_cache>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_embolden<class_FontFile_method_set_embolden>` **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` strength **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_face_index<class_FontFile_method_set_face_index>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` face_index **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_language_support_override<class_FontFile_method_set_language_support_override>` **(** :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_script_support_override<class_FontFile_method_set_script_support_override>` **(** :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | 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 **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_transform<class_FontFile_method_set_transform>` **(** :ref:`int<class_int>` cache_index, :ref:`Transform2D<class_Transform2D>` transform **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_variation_coordinates<class_FontFile_method_set_variation_coordinates>` **(** :ref:`int<class_int>` cache_index, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |
- +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_FontFile_property_allow_system_fallback:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **allow_system_fallback** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_allow_system_fallback** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **is_allow_system_fallback** **(** **)**
- If set to ``true``, system fonts can be automatically used as fallbacks.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_antialiasing:
- .. rst-class:: classref-property
- :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` **antialiasing** = ``1``
- .. rst-class:: classref-property-setget
- - void **set_antialiasing** **(** :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` value **)**
- - :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` **get_antialiasing** **(** **)**
- Font anti-aliasing mode.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_data:
- .. rst-class:: classref-property
- :ref:`PackedByteArray<class_PackedByteArray>` **data** = ``PackedByteArray()``
- .. rst-class:: classref-property-setget
- - void **set_data** **(** :ref:`PackedByteArray<class_PackedByteArray>` value **)**
- - :ref:`PackedByteArray<class_PackedByteArray>` **get_data** **(** **)**
- Contents of the dynamic font source file.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_fixed_size:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **fixed_size** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_fixed_size** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_fixed_size** **(** **)**
- Font size, used only for the bitmap fonts.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_fixed_size_scale_mode:
- .. rst-class:: classref-property
- :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **fixed_size_scale_mode** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_fixed_size_scale_mode** **(** :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` value **)**
- - :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **get_fixed_size_scale_mode** **(** **)**
- Scaling mode, used only for the bitmap fonts with :ref:`fixed_size<class_FontFile_property_fixed_size>` greater than zero.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_font_name:
- .. rst-class:: classref-property
- :ref:`String<class_String>` **font_name** = ``""``
- .. rst-class:: classref-property-setget
- - void **set_font_name** **(** :ref:`String<class_String>` value **)**
- - :ref:`String<class_String>` **get_font_name** **(** **)**
- Font family name.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_font_stretch:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **font_stretch** = ``100``
- .. rst-class:: classref-property-setget
- - void **set_font_stretch** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_font_stretch** **(** **)**
- Font stretch amount, compared to a normal width. A percentage value between ``50%`` and ``200%``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_font_style:
- .. rst-class:: classref-property
- |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> **font_style** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_font_style** **(** |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> value **)**
- - |bitfield|\<:ref:`FontStyle<enum_TextServer_FontStyle>`\> **get_font_style** **(** **)**
- Font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_font_weight:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **font_weight** = ``400``
- .. rst-class:: classref-property-setget
- - void **set_font_weight** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_font_weight** **(** **)**
- Weight (boldness) of the font. A value in the ``100...999`` range, normal font weight is ``400``, bold font weight is ``700``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_force_autohinter:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **force_autohinter** = ``false``
- .. rst-class:: classref-property-setget
- - void **set_force_autohinter** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **is_force_autohinter** **(** **)**
- 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).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_generate_mipmaps:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **generate_mipmaps** = ``false``
- .. rst-class:: classref-property-setget
- - void **set_generate_mipmaps** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **get_generate_mipmaps** **(** **)**
- If set to ``true``, generate mipmaps for the font textures.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_hinting:
- .. rst-class:: classref-property
- :ref:`Hinting<enum_TextServer_Hinting>` **hinting** = ``1``
- .. rst-class:: classref-property-setget
- - void **set_hinting** **(** :ref:`Hinting<enum_TextServer_Hinting>` value **)**
- - :ref:`Hinting<enum_TextServer_Hinting>` **get_hinting** **(** **)**
- Font hinting mode. Used by dynamic fonts only.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_msdf_pixel_range:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **msdf_pixel_range** = ``16``
- .. rst-class:: classref-property-setget
- - void **set_msdf_pixel_range** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_msdf_pixel_range** **(** **)**
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_msdf_size:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **msdf_size** = ``48``
- .. rst-class:: classref-property-setget
- - void **set_msdf_size** **(** :ref:`int<class_int>` value **)**
- - :ref:`int<class_int>` **get_msdf_size** **(** **)**
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_multichannel_signed_distance_field:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **multichannel_signed_distance_field** = ``false``
- .. rst-class:: classref-property-setget
- - void **set_multichannel_signed_distance_field** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **is_multichannel_signed_distance_field** **(** **)**
- 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.
- \ **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.
- \ **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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_opentype_feature_overrides:
- .. rst-class:: classref-property
- :ref:`Dictionary<class_Dictionary>` **opentype_feature_overrides** = ``{}``
- .. rst-class:: classref-property-setget
- - void **set_opentype_feature_overrides** **(** :ref:`Dictionary<class_Dictionary>` value **)**
- - :ref:`Dictionary<class_Dictionary>` **get_opentype_feature_overrides** **(** **)**
- Font OpenType feature set override.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_oversampling:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **oversampling** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_oversampling** **(** :ref:`float<class_float>` value **)**
- - :ref:`float<class_float>` **get_oversampling** **(** **)**
- Font oversampling factor. If set to ``0.0``, the global oversampling factor is used instead. Used by dynamic fonts only (MSDF fonts ignore oversampling).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_style_name:
- .. rst-class:: classref-property
- :ref:`String<class_String>` **style_name** = ``""``
- .. rst-class:: classref-property-setget
- - void **set_font_style_name** **(** :ref:`String<class_String>` value **)**
- - :ref:`String<class_String>` **get_font_style_name** **(** **)**
- Font style name.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_property_subpixel_positioning:
- .. rst-class:: classref-property
- :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` **subpixel_positioning** = ``1``
- .. rst-class:: classref-property-setget
- - void **set_subpixel_positioning** **(** :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` value **)**
- - :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` **get_subpixel_positioning** **(** **)**
- 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.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_FontFile_method_clear_cache:
- .. rst-class:: classref-method
- void **clear_cache** **(** **)**
- Removes all font cache entries.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_clear_glyphs:
- .. rst-class:: classref-method
- void **clear_glyphs** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
- Removes all rendered glyphs information from the cache entry.
- \ **Note:** This function will not remove textures associated with the glyphs, use :ref:`remove_texture<class_FontFile_method_remove_texture>` to remove them manually.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_clear_kerning_map:
- .. rst-class:: classref-method
- void **clear_kerning_map** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)**
- Removes all kerning overrides.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_clear_size_cache:
- .. rst-class:: classref-method
- void **clear_size_cache** **(** :ref:`int<class_int>` cache_index **)**
- Removes all font sizes from the cache entry
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_clear_textures:
- .. rst-class:: classref-method
- void **clear_textures** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
- Removes all textures from font cache entry.
- \ **Note:** This function will not remove glyphs associated with the texture, use :ref:`remove_glyph<class_FontFile_method_remove_glyph>` to remove them manually.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_cache_ascent:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_cache_ascent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
- Returns the font ascent (number of pixels above the baseline).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_cache_count:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_cache_count** **(** **)** |const|
- Returns number of the font cache entries.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_cache_descent:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_cache_descent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
- Returns the font descent (number of pixels below the baseline).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_cache_scale:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_cache_scale** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
- Returns scaling factor of the color bitmap font.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_cache_underline_position:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_cache_underline_position** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
- Returns pixel offset of the underline below the baseline.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_cache_underline_thickness:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_cache_underline_thickness** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
- Returns thickness of the underline in pixels.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_char_from_glyph_index:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_char_from_glyph_index** **(** :ref:`int<class_int>` size, :ref:`int<class_int>` glyph_index **)** |const|
- 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>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_embolden:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_embolden** **(** :ref:`int<class_int>` cache_index **)** |const|
- Returns embolden strength, if is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_extra_spacing:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_extra_spacing** **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing **)** |const|
- Returns spacing for ``spacing`` (see :ref:`SpacingType<enum_TextServer_SpacingType>`) in pixels (not relative to the font size).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_face_index:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_face_index** **(** :ref:`int<class_int>` cache_index **)** |const|
- Returns an active face index in the TrueType / OpenType collection.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_advance:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_glyph_advance** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |const|
- Returns glyph advance (offset of the next glyph).
- \ **Note:** Advance for glyphs outlines is the same as the base glyph advance and is not saved.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_index:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_glyph_index** **(** :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |const|
- Returns the glyph index of a ``char``, optionally modified by the ``variation_selector``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_list:
- .. rst-class:: classref-method
- :ref:`PackedInt32Array<class_PackedInt32Array>` **get_glyph_list** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const|
- Returns list of rendered glyphs in the cache entry.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_offset:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_glyph_offset** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
- Returns glyph offset from the baseline.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_size:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_glyph_size** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
- Returns glyph size.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_texture_idx:
- .. rst-class:: classref-method
- :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|
- Returns index of the cache texture containing the glyph.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_glyph_uv_rect:
- .. rst-class:: classref-method
- :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|
- Returns rectangle in the cache texture containing the glyph.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_kerning:
- .. rst-class:: classref-method
- :ref:`Vector2<class_Vector2>` **get_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |const|
- Returns kerning for the pair of glyphs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_kerning_list:
- .. rst-class:: classref-method
- :ref:`Vector2i[]<class_Vector2i>` **get_kerning_list** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
- Returns list of the kerning overrides.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_language_support_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **get_language_support_override** **(** :ref:`String<class_String>` language **)** |const|
- Returns ``true`` if support override is enabled for the ``language``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_language_support_overrides:
- .. rst-class:: classref-method
- :ref:`PackedStringArray<class_PackedStringArray>` **get_language_support_overrides** **(** **)** |const|
- Returns list of language support overrides.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_script_support_override:
- .. rst-class:: classref-method
- :ref:`bool<class_bool>` **get_script_support_override** **(** :ref:`String<class_String>` script **)** |const|
- Returns ``true`` if support override is enabled for the ``script``.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_script_support_overrides:
- .. rst-class:: classref-method
- :ref:`PackedStringArray<class_PackedStringArray>` **get_script_support_overrides** **(** **)** |const|
- Returns list of script support overrides.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_size_cache_list:
- .. rst-class:: classref-method
- :ref:`Vector2i[]<class_Vector2i>` **get_size_cache_list** **(** :ref:`int<class_int>` cache_index **)** |const|
- Returns list of the font sizes in the cache. Each size is :ref:`Vector2i<class_Vector2i>` with font size and outline size.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_texture_count:
- .. rst-class:: classref-method
- :ref:`int<class_int>` **get_texture_count** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const|
- Returns number of textures used by font cache entry.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_texture_image:
- .. rst-class:: classref-method
- :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|
- Returns a copy of the font cache texture image.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_texture_offsets:
- .. rst-class:: classref-method
- :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|
- Returns a copy of the array containing glyph packing data.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_transform:
- .. rst-class:: classref-method
- :ref:`Transform2D<class_Transform2D>` **get_transform** **(** :ref:`int<class_int>` cache_index **)** |const|
- Returns 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_get_variation_coordinates:
- .. rst-class:: classref-method
- :ref:`Dictionary<class_Dictionary>` **get_variation_coordinates** **(** :ref:`int<class_int>` cache_index **)** |const|
- 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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_load_bitmap_font:
- .. rst-class:: classref-method
- :ref:`Error<enum_@GlobalScope_Error>` **load_bitmap_font** **(** :ref:`String<class_String>` path **)**
- Loads an AngelCode BMFont (.fnt, .font) bitmap font from file ``path``.
- \ **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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_load_dynamic_font:
- .. rst-class:: classref-method
- :ref:`Error<enum_@GlobalScope_Error>` **load_dynamic_font** **(** :ref:`String<class_String>` path **)**
- Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file ``path``.
- \ **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.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_cache:
- .. rst-class:: classref-method
- void **remove_cache** **(** :ref:`int<class_int>` cache_index **)**
- Removes specified font cache entry.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_glyph:
- .. rst-class:: classref-method
- void **remove_glyph** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)**
- Removes specified rendered glyph information from the cache entry.
- \ **Note:** This function will not remove textures associated with the glyphs, use :ref:`remove_texture<class_FontFile_method_remove_texture>` to remove them manually.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_kerning:
- .. rst-class:: classref-method
- void **remove_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)**
- Removes kerning override for the pair of glyphs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_language_support_override:
- .. rst-class:: classref-method
- void **remove_language_support_override** **(** :ref:`String<class_String>` language **)**
- Remove language support override.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_script_support_override:
- .. rst-class:: classref-method
- void **remove_script_support_override** **(** :ref:`String<class_String>` script **)**
- Removes script support override.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_size_cache:
- .. rst-class:: classref-method
- void **remove_size_cache** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
- Removes specified font size from the cache entry.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_remove_texture:
- .. rst-class:: classref-method
- void **remove_texture** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)**
- Removes specified texture from the cache entry.
- \ **Note:** This function will not remove glyphs associated with the texture. Remove them manually using :ref:`remove_glyph<class_FontFile_method_remove_glyph>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_render_glyph:
- .. rst-class:: classref-method
- void **render_glyph** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)**
- Renders specified glyph to the font cache texture.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_render_range:
- .. rst-class:: classref-method
- void **render_range** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)**
- Renders the range of characters to the font cache texture.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_cache_ascent:
- .. rst-class:: classref-method
- void **set_cache_ascent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)**
- Sets the font ascent (number of pixels above the baseline).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_cache_descent:
- .. rst-class:: classref-method
- void **set_cache_descent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)**
- Sets the font descent (number of pixels below the baseline).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_cache_scale:
- .. rst-class:: classref-method
- void **set_cache_scale** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)**
- Sets scaling factor of the color bitmap font.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_cache_underline_position:
- .. rst-class:: classref-method
- void **set_cache_underline_position** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)**
- Sets pixel offset of the underline below the baseline.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_cache_underline_thickness:
- .. rst-class:: classref-method
- void **set_cache_underline_thickness** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)**
- Sets thickness of the underline in pixels.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_embolden:
- .. rst-class:: classref-method
- void **set_embolden** **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` strength **)**
- Sets embolden strength, if is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_extra_spacing:
- .. rst-class:: classref-method
- void **set_extra_spacing** **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing, :ref:`int<class_int>` value **)**
- Sets the spacing for ``spacing`` (see :ref:`SpacingType<enum_TextServer_SpacingType>`) to ``value`` in pixels (not relative to the font size).
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_face_index:
- .. rst-class:: classref-method
- void **set_face_index** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` face_index **)**
- Sets an active face index in the TrueType / OpenType collection.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_glyph_advance:
- .. rst-class:: classref-method
- 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 **)**
- Sets glyph advance (offset of the next glyph).
- \ **Note:** Advance for glyphs outlines is the same as the base glyph advance and is not saved.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_glyph_offset:
- .. rst-class:: classref-method
- 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 **)**
- Sets glyph offset from the baseline.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_glyph_size:
- .. rst-class:: classref-method
- 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 **)**
- Sets glyph size.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_glyph_texture_idx:
- .. rst-class:: classref-method
- 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 **)**
- Sets index of the cache texture containing the glyph.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_glyph_uv_rect:
- .. rst-class:: classref-method
- 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 **)**
- Sets rectangle in the cache texture containing the glyph.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_kerning:
- .. rst-class:: classref-method
- 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 **)**
- Sets kerning for the pair of glyphs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_language_support_override:
- .. rst-class:: classref-method
- void **set_language_support_override** **(** :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)**
- Adds override for :ref:`Font.is_language_supported<class_Font_method_is_language_supported>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_script_support_override:
- .. rst-class:: classref-method
- void **set_script_support_override** **(** :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)**
- Adds override for :ref:`Font.is_script_supported<class_Font_method_is_script_supported>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_texture_image:
- .. rst-class:: classref-method
- 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 **)**
- Sets font cache texture image.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_texture_offsets:
- .. rst-class:: classref-method
- 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 **)**
- Sets array containing glyph packing data.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_transform:
- .. rst-class:: classref-method
- void **set_transform** **(** :ref:`int<class_int>` cache_index, :ref:`Transform2D<class_Transform2D>` transform **)**
- Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
- .. rst-class:: classref-item-separator
- ----
- .. _class_FontFile_method_set_variation_coordinates:
- .. rst-class:: classref-method
- void **set_variation_coordinates** **(** :ref:`int<class_int>` cache_index, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)**
- 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.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
|