class_textserverextension.rst 213 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927
  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/TextServerExtension.xml.
  6. .. _class_TextServerExtension:
  7. TextServerExtension
  8. ===================
  9. **Inherits:** :ref:`TextServer<class_TextServer>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. **Inherited By:** :ref:`TextServerAdvanced<class_TextServerAdvanced>`, :ref:`TextServerDummy<class_TextServerDummy>`, :ref:`TextServerFallback<class_TextServerFallback>`
  11. Base class for TextServer custom implementations (plugins).
  12. Description
  13. -----------
  14. External TextServer implementations should inherit from this class.
  15. Methods
  16. -------
  17. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | :ref:`RID<class_RID>` | :ref:`create_font<class_TextServerExtension_method_create_font>` **(** **)** |virtual| |
  19. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`RID<class_RID>` | :ref:`create_shaped_text<class_TextServerExtension_method_create_shaped_text>` **(** :ref:`Direction<enum_TextServer_Direction>` direction, :ref:`Orientation<enum_TextServer_Orientation>` orientation **)** |virtual| |
  21. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | void | :ref:`draw_hex_code_box<class_TextServerExtension_method_draw_hex_code_box>` **(** :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` size, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |virtual| |const| |
  23. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | void | :ref:`font_clear_glyphs<class_TextServerExtension_method_font_clear_glyphs>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |
  25. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | void | :ref:`font_clear_kerning_map<class_TextServerExtension_method_font_clear_kerning_map>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |
  27. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | void | :ref:`font_clear_size_cache<class_TextServerExtension_method_font_clear_size_cache>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |
  29. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | void | :ref:`font_clear_textures<class_TextServerExtension_method_font_clear_textures>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |
  31. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. | void | :ref:`font_draw_glyph<class_TextServerExtension_method_font_draw_glyph>` **(** :ref:`RID<class_RID>` font_rid, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` size, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |virtual| |const| |
  33. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  34. | void | :ref:`font_draw_glyph_outline<class_TextServerExtension_method_font_draw_glyph_outline>` **(** :ref:`RID<class_RID>` font_rid, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` size, :ref:`int<class_int>` outline_size, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |virtual| |const| |
  35. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  36. | :ref:`float<class_float>` | :ref:`font_get_ascent<class_TextServerExtension_method_font_get_ascent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| |
  37. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  38. | :ref:`float<class_float>` | :ref:`font_get_descent<class_TextServerExtension_method_font_get_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| |
  39. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  40. | :ref:`float<class_float>` | :ref:`font_get_embolden<class_TextServerExtension_method_font_get_embolden>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  41. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  42. | :ref:`int<class_int>` | :ref:`font_get_face_count<class_TextServerExtension_method_font_get_face_count>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  43. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  44. | :ref:`int<class_int>` | :ref:`font_get_face_index<class_TextServerExtension_method_font_get_face_index>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  45. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  46. | :ref:`int<class_int>` | :ref:`font_get_fixed_size<class_TextServerExtension_method_font_get_fixed_size>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  47. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`bool<class_bool>` | :ref:`font_get_generate_mipmaps<class_TextServerExtension_method_font_get_generate_mipmaps>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  49. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`float<class_float>` | :ref:`font_get_global_oversampling<class_TextServerExtension_method_font_get_global_oversampling>` **(** **)** |virtual| |const| |
  51. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  52. | :ref:`Vector2<class_Vector2>` | :ref:`font_get_glyph_advance<class_TextServerExtension_method_font_get_glyph_advance>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  53. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  54. | :ref:`Dictionary<class_Dictionary>` | :ref:`font_get_glyph_contours<class_TextServerExtension_method_font_get_glyph_contours>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` index **)** |virtual| |const| |
  55. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  56. | :ref:`int<class_int>` | :ref:`font_get_glyph_index<class_TextServerExtension_method_font_get_glyph_index>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |virtual| |const| |
  57. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  58. | :ref:`Array<class_Array>` | :ref:`font_get_glyph_list<class_TextServerExtension_method_font_get_glyph_list>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |const| |
  59. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  60. | :ref:`Vector2<class_Vector2>` | :ref:`font_get_glyph_offset<class_TextServerExtension_method_font_get_glyph_offset>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  61. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  62. | :ref:`Vector2<class_Vector2>` | :ref:`font_get_glyph_size<class_TextServerExtension_method_font_get_glyph_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  63. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  64. | :ref:`int<class_int>` | :ref:`font_get_glyph_texture_idx<class_TextServerExtension_method_font_get_glyph_texture_idx>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  65. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  66. | :ref:`RID<class_RID>` | :ref:`font_get_glyph_texture_rid<class_TextServerExtension_method_font_get_glyph_texture_rid>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  67. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  68. | :ref:`Vector2<class_Vector2>` | :ref:`font_get_glyph_texture_size<class_TextServerExtension_method_font_get_glyph_texture_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  69. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  70. | :ref:`Rect2<class_Rect2>` | :ref:`font_get_glyph_uv_rect<class_TextServerExtension_method_font_get_glyph_uv_rect>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const| |
  71. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  72. | :ref:`Hinting<enum_TextServer_Hinting>` | :ref:`font_get_hinting<class_TextServerExtension_method_font_get_hinting>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  73. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  74. | :ref:`Vector2<class_Vector2>` | :ref:`font_get_kerning<class_TextServerExtension_method_font_get_kerning>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |virtual| |const| |
  75. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  76. | :ref:`Array<class_Array>` | :ref:`font_get_kerning_list<class_TextServerExtension_method_font_get_kerning_list>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| |
  77. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  78. | :ref:`bool<class_bool>` | :ref:`font_get_language_support_override<class_TextServerExtension_method_font_get_language_support_override>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language **)** |virtual| |
  79. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  80. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`font_get_language_support_overrides<class_TextServerExtension_method_font_get_language_support_overrides>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |
  81. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  82. | :ref:`int<class_int>` | :ref:`font_get_msdf_pixel_range<class_TextServerExtension_method_font_get_msdf_pixel_range>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  83. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  84. | :ref:`int<class_int>` | :ref:`font_get_msdf_size<class_TextServerExtension_method_font_get_msdf_size>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  85. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  86. | :ref:`String<class_String>` | :ref:`font_get_name<class_TextServerExtension_method_font_get_name>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  87. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  88. | :ref:`Dictionary<class_Dictionary>` | :ref:`font_get_opentype_feature_overrides<class_TextServerExtension_method_font_get_opentype_feature_overrides>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  89. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  90. | :ref:`float<class_float>` | :ref:`font_get_oversampling<class_TextServerExtension_method_font_get_oversampling>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  91. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  92. | :ref:`float<class_float>` | :ref:`font_get_scale<class_TextServerExtension_method_font_get_scale>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| |
  93. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  94. | :ref:`bool<class_bool>` | :ref:`font_get_script_support_override<class_TextServerExtension_method_font_get_script_support_override>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script **)** |virtual| |
  95. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  96. | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`font_get_script_support_overrides<class_TextServerExtension_method_font_get_script_support_overrides>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |
  97. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  98. | :ref:`Array<class_Array>` | :ref:`font_get_size_cache_list<class_TextServerExtension_method_font_get_size_cache_list>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  99. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  100. | :ref:`FontStyle<enum_TextServer_FontStyle>` | :ref:`font_get_style<class_TextServerExtension_method_font_get_style>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  101. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  102. | :ref:`String<class_String>` | :ref:`font_get_style_name<class_TextServerExtension_method_font_get_style_name>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  103. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  104. | :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` | :ref:`font_get_subpixel_positioning<class_TextServerExtension_method_font_get_subpixel_positioning>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  105. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  106. | :ref:`String<class_String>` | :ref:`font_get_supported_chars<class_TextServerExtension_method_font_get_supported_chars>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  107. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  108. | :ref:`int<class_int>` | :ref:`font_get_texture_count<class_TextServerExtension_method_font_get_texture_count>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |const| |
  109. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  110. | :ref:`Image<class_Image>` | :ref:`font_get_texture_image<class_TextServerExtension_method_font_get_texture_image>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual| |const| |
  111. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  112. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`font_get_texture_offsets<class_TextServerExtension_method_font_get_texture_offsets>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual| |const| |
  113. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  114. | :ref:`Transform2D<class_Transform2D>` | :ref:`font_get_transform<class_TextServerExtension_method_font_get_transform>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  115. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  116. | :ref:`float<class_float>` | :ref:`font_get_underline_position<class_TextServerExtension_method_font_get_underline_position>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| |
  117. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  118. | :ref:`float<class_float>` | :ref:`font_get_underline_thickness<class_TextServerExtension_method_font_get_underline_thickness>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| |
  119. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  120. | :ref:`Dictionary<class_Dictionary>` | :ref:`font_get_variation_coordinates<class_TextServerExtension_method_font_get_variation_coordinates>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  121. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  122. | :ref:`bool<class_bool>` | :ref:`font_has_char<class_TextServerExtension_method_font_has_char>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` char **)** |virtual| |const| |
  123. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  124. | :ref:`bool<class_bool>` | :ref:`font_is_antialiased<class_TextServerExtension_method_font_is_antialiased>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  125. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  126. | :ref:`bool<class_bool>` | :ref:`font_is_force_autohinter<class_TextServerExtension_method_font_is_force_autohinter>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  127. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  128. | :ref:`bool<class_bool>` | :ref:`font_is_language_supported<class_TextServerExtension_method_font_is_language_supported>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language **)** |virtual| |const| |
  129. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  130. | :ref:`bool<class_bool>` | :ref:`font_is_multichannel_signed_distance_field<class_TextServerExtension_method_font_is_multichannel_signed_distance_field>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  131. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  132. | :ref:`bool<class_bool>` | :ref:`font_is_script_supported<class_TextServerExtension_method_font_is_script_supported>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script **)** |virtual| |const| |
  133. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  134. | void | :ref:`font_remove_glyph<class_TextServerExtension_method_font_remove_glyph>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |
  135. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  136. | void | :ref:`font_remove_kerning<class_TextServerExtension_method_font_remove_kerning>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |virtual| |
  137. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  138. | void | :ref:`font_remove_language_support_override<class_TextServerExtension_method_font_remove_language_support_override>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language **)** |virtual| |
  139. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  140. | void | :ref:`font_remove_script_support_override<class_TextServerExtension_method_font_remove_script_support_override>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script **)** |virtual| |
  141. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  142. | void | :ref:`font_remove_size_cache<class_TextServerExtension_method_font_remove_size_cache>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |
  143. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  144. | void | :ref:`font_remove_texture<class_TextServerExtension_method_font_remove_texture>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual| |
  145. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  146. | void | :ref:`font_render_glyph<class_TextServerExtension_method_font_render_glyph>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)** |virtual| |
  147. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  148. | void | :ref:`font_render_range<class_TextServerExtension_method_font_render_range>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |virtual| |
  149. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  150. | void | :ref:`font_set_antialiased<class_TextServerExtension_method_font_set_antialiased>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` antialiased **)** |virtual| |
  151. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  152. | void | :ref:`font_set_ascent<class_TextServerExtension_method_font_set_ascent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)** |virtual| |
  153. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  154. | void | :ref:`font_set_data<class_TextServerExtension_method_font_set_data>` **(** :ref:`RID<class_RID>` font_rid, :ref:`PackedByteArray<class_PackedByteArray>` data **)** |virtual| |
  155. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  156. | void | :ref:`font_set_data_ptr<class_TextServerExtension_method_font_set_data_ptr>` **(** :ref:`RID<class_RID>` font_rid, const uint8_t* data_ptr, :ref:`int<class_int>` data_size **)** |virtual| |
  157. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  158. | void | :ref:`font_set_descent<class_TextServerExtension_method_font_set_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)** |virtual| |
  159. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  160. | void | :ref:`font_set_embolden<class_TextServerExtension_method_font_set_embolden>` **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` strength **)** |virtual| |
  161. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  162. | void | :ref:`font_set_face_index<class_TextServerExtension_method_font_set_face_index>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` face_index **)** |virtual| |
  163. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  164. | void | :ref:`font_set_fixed_size<class_TextServerExtension_method_font_set_fixed_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)** |virtual| |
  165. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  166. | void | :ref:`font_set_force_autohinter<class_TextServerExtension_method_font_set_force_autohinter>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` force_autohinter **)** |virtual| |
  167. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  168. | void | :ref:`font_set_generate_mipmaps<class_TextServerExtension_method_font_set_generate_mipmaps>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` generate_mipmaps **)** |virtual| |
  169. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  170. | void | :ref:`font_set_global_oversampling<class_TextServerExtension_method_font_set_global_oversampling>` **(** :ref:`float<class_float>` oversampling **)** |virtual| |
  171. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  172. | void | :ref:`font_set_glyph_advance<class_TextServerExtension_method_font_set_glyph_advance>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` advance **)** |virtual| |
  173. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  174. | void | :ref:`font_set_glyph_offset<class_TextServerExtension_method_font_set_glyph_offset>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` offset **)** |virtual| |
  175. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  176. | void | :ref:`font_set_glyph_size<class_TextServerExtension_method_font_set_glyph_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` gl_size **)** |virtual| |
  177. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  178. | void | :ref:`font_set_glyph_texture_idx<class_TextServerExtension_method_font_set_glyph_texture_idx>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`int<class_int>` texture_idx **)** |virtual| |
  179. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  180. | void | :ref:`font_set_glyph_uv_rect<class_TextServerExtension_method_font_set_glyph_uv_rect>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Rect2<class_Rect2>` uv_rect **)** |virtual| |
  181. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  182. | void | :ref:`font_set_hinting<class_TextServerExtension_method_font_set_hinting>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Hinting<enum_TextServer_Hinting>` hinting **)** |virtual| |
  183. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  184. | void | :ref:`font_set_kerning<class_TextServerExtension_method_font_set_kerning>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair, :ref:`Vector2<class_Vector2>` kerning **)** |virtual| |
  185. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  186. | void | :ref:`font_set_language_support_override<class_TextServerExtension_method_font_set_language_support_override>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)** |virtual| |
  187. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  188. | void | :ref:`font_set_msdf_pixel_range<class_TextServerExtension_method_font_set_msdf_pixel_range>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` msdf_pixel_range **)** |virtual| |
  189. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  190. | void | :ref:`font_set_msdf_size<class_TextServerExtension_method_font_set_msdf_size>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` msdf_size **)** |virtual| |
  191. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  192. | void | :ref:`font_set_multichannel_signed_distance_field<class_TextServerExtension_method_font_set_multichannel_signed_distance_field>` **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` msdf **)** |virtual| |
  193. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  194. | void | :ref:`font_set_name<class_TextServerExtension_method_font_set_name>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` name **)** |virtual| |
  195. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  196. | void | :ref:`font_set_opentype_feature_overrides<class_TextServerExtension_method_font_set_opentype_feature_overrides>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Dictionary<class_Dictionary>` overrides **)** |virtual| |
  197. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  198. | void | :ref:`font_set_oversampling<class_TextServerExtension_method_font_set_oversampling>` **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` oversampling **)** |virtual| |
  199. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  200. | void | :ref:`font_set_scale<class_TextServerExtension_method_font_set_scale>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)** |virtual| |
  201. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  202. | void | :ref:`font_set_script_support_override<class_TextServerExtension_method_font_set_script_support_override>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)** |virtual| |
  203. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  204. | void | :ref:`font_set_style<class_TextServerExtension_method_font_set_style>` **(** :ref:`RID<class_RID>` font_rid, :ref:`FontStyle<enum_TextServer_FontStyle>` style **)** |virtual| |
  205. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  206. | void | :ref:`font_set_style_name<class_TextServerExtension_method_font_set_style_name>` **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` name_style **)** |virtual| |
  207. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  208. | void | :ref:`font_set_subpixel_positioning<class_TextServerExtension_method_font_set_subpixel_positioning>` **(** :ref:`RID<class_RID>` font_rid, :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` subpixel_positioning **)** |virtual| |
  209. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  210. | void | :ref:`font_set_texture_image<class_TextServerExtension_method_font_set_texture_image>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`Image<class_Image>` image **)** |virtual| |
  211. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  212. | void | :ref:`font_set_texture_offsets<class_TextServerExtension_method_font_set_texture_offsets>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)** |virtual| |
  213. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  214. | void | :ref:`font_set_transform<class_TextServerExtension_method_font_set_transform>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual| |
  215. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  216. | void | :ref:`font_set_underline_position<class_TextServerExtension_method_font_set_underline_position>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)** |virtual| |
  217. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  218. | void | :ref:`font_set_underline_thickness<class_TextServerExtension_method_font_set_underline_thickness>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)** |virtual| |
  219. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  220. | void | :ref:`font_set_variation_coordinates<class_TextServerExtension_method_font_set_variation_coordinates>` **(** :ref:`RID<class_RID>` font_rid, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |virtual| |
  221. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  222. | :ref:`Dictionary<class_Dictionary>` | :ref:`font_supported_feature_list<class_TextServerExtension_method_font_supported_feature_list>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  223. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  224. | :ref:`Dictionary<class_Dictionary>` | :ref:`font_supported_variation_list<class_TextServerExtension_method_font_supported_variation_list>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| |
  225. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  226. | :ref:`String<class_String>` | :ref:`format_number<class_TextServerExtension_method_format_number>` **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const| |
  227. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  228. | void | :ref:`free_rid<class_TextServerExtension_method_free_rid>` **(** :ref:`RID<class_RID>` rid **)** |virtual| |
  229. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  230. | :ref:`int<class_int>` | :ref:`get_features<class_TextServerExtension_method_get_features>` **(** **)** |virtual| |const| |
  231. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  232. | :ref:`Vector2<class_Vector2>` | :ref:`get_hex_code_box_size<class_TextServerExtension_method_get_hex_code_box_size>` **(** :ref:`int<class_int>` size, :ref:`int<class_int>` index **)** |virtual| |const| |
  233. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  234. | :ref:`String<class_String>` | :ref:`get_name<class_TextServerExtension_method_get_name>` **(** **)** |virtual| |const| |
  235. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  236. | :ref:`String<class_String>` | :ref:`get_support_data_filename<class_TextServerExtension_method_get_support_data_filename>` **(** **)** |virtual| |const| |
  237. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  238. | :ref:`String<class_String>` | :ref:`get_support_data_info<class_TextServerExtension_method_get_support_data_info>` **(** **)** |virtual| |const| |
  239. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  240. | :ref:`bool<class_bool>` | :ref:`has<class_TextServerExtension_method_has>` **(** :ref:`RID<class_RID>` rid **)** |virtual| |
  241. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  242. | :ref:`bool<class_bool>` | :ref:`has_feature<class_TextServerExtension_method_has_feature>` **(** :ref:`Feature<enum_TextServer_Feature>` feature **)** |virtual| |const| |
  243. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  244. | :ref:`bool<class_bool>` | :ref:`is_locale_right_to_left<class_TextServerExtension_method_is_locale_right_to_left>` **(** :ref:`String<class_String>` locale **)** |virtual| |const| |
  245. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  246. | :ref:`bool<class_bool>` | :ref:`load_support_data<class_TextServerExtension_method_load_support_data>` **(** :ref:`String<class_String>` filename **)** |virtual| |
  247. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  248. | :ref:`int<class_int>` | :ref:`name_to_tag<class_TextServerExtension_method_name_to_tag>` **(** :ref:`String<class_String>` name **)** |virtual| |const| |
  249. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  250. | :ref:`String<class_String>` | :ref:`parse_number<class_TextServerExtension_method_parse_number>` **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const| |
  251. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  252. | :ref:`Array<class_Array>` | :ref:`parse_structured_text<class_TextServerExtension_method_parse_structured_text>` **(** :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` parser_type, :ref:`Array<class_Array>` args, :ref:`String<class_String>` text **)** |virtual| |const| |
  253. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  254. | :ref:`String<class_String>` | :ref:`percent_sign<class_TextServerExtension_method_percent_sign>` **(** :ref:`String<class_String>` language **)** |virtual| |const| |
  255. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  256. | :ref:`bool<class_bool>` | :ref:`save_support_data<class_TextServerExtension_method_save_support_data>` **(** :ref:`String<class_String>` filename **)** |virtual| |const| |
  257. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  258. | :ref:`int<class_int>` | :ref:`shaped_get_span_count<class_TextServerExtension_method_shaped_get_span_count>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  259. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  260. | :ref:`Variant<class_Variant>` | :ref:`shaped_get_span_meta<class_TextServerExtension_method_shaped_get_span_meta>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` index **)** |virtual| |const| |
  261. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  262. | void | :ref:`shaped_set_span_update_font<class_TextServerExtension_method_shaped_set_span_update_font>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` index, :ref:`Array<class_Array>` fonts, :ref:`int<class_int>` size, :ref:`Dictionary<class_Dictionary>` opentype_features **)** |virtual| |
  263. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  264. | :ref:`bool<class_bool>` | :ref:`shaped_text_add_object<class_TextServerExtension_method_shaped_text_add_object>` **(** :ref:`RID<class_RID>` shaped, :ref:`Variant<class_Variant>` key, :ref:`Vector2<class_Vector2>` size, :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` inline_align, :ref:`int<class_int>` length **)** |virtual| |
  265. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  266. | :ref:`bool<class_bool>` | :ref:`shaped_text_add_string<class_TextServerExtension_method_shaped_text_add_string>` **(** :ref:`RID<class_RID>` shaped, :ref:`String<class_String>` text, :ref:`Array<class_Array>` fonts, :ref:`int<class_int>` size, :ref:`Dictionary<class_Dictionary>` opentype_features, :ref:`String<class_String>` language, :ref:`Variant<class_Variant>` meta **)** |virtual| |
  267. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  268. | void | :ref:`shaped_text_clear<class_TextServerExtension_method_shaped_text_clear>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |
  269. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  270. | void | :ref:`shaped_text_draw<class_TextServerExtension_method_shaped_text_draw>` **(** :ref:`RID<class_RID>` shaped, :ref:`RID<class_RID>` canvas, :ref:`Vector2<class_Vector2>` pos, :ref:`float<class_float>` clip_l, :ref:`float<class_float>` clip_r, :ref:`Color<class_Color>` color **)** |virtual| |const| |
  271. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  272. | void | :ref:`shaped_text_draw_outline<class_TextServerExtension_method_shaped_text_draw_outline>` **(** :ref:`RID<class_RID>` shaped, :ref:`RID<class_RID>` canvas, :ref:`Vector2<class_Vector2>` pos, :ref:`float<class_float>` clip_l, :ref:`float<class_float>` clip_r, :ref:`int<class_int>` outline_size, :ref:`Color<class_Color>` color **)** |virtual| |const| |
  273. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  274. | :ref:`float<class_float>` | :ref:`shaped_text_fit_to_width<class_TextServerExtension_method_shaped_text_fit_to_width>` **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` width, :ref:`JustificationFlag<enum_TextServer_JustificationFlag>` jst_flags **)** |virtual| |
  275. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  276. | :ref:`float<class_float>` | :ref:`shaped_text_get_ascent<class_TextServerExtension_method_shaped_text_get_ascent>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  277. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  278. | void | :ref:`shaped_text_get_carets<class_TextServerExtension_method_shaped_text_get_carets>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` position, CaretInfo* caret **)** |virtual| |const| |
  279. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  280. | :ref:`String<class_String>` | :ref:`shaped_text_get_custom_punctuation<class_TextServerExtension_method_shaped_text_get_custom_punctuation>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  281. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  282. | :ref:`float<class_float>` | :ref:`shaped_text_get_descent<class_TextServerExtension_method_shaped_text_get_descent>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  283. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  284. | :ref:`Direction<enum_TextServer_Direction>` | :ref:`shaped_text_get_direction<class_TextServerExtension_method_shaped_text_get_direction>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  285. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  286. | :ref:`int<class_int>` | :ref:`shaped_text_get_dominant_direction_in_range<class_TextServerExtension_method_shaped_text_get_dominant_direction_in_range>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |virtual| |const| |
  287. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  288. | :ref:`int<class_int>` | :ref:`shaped_text_get_ellipsis_glyph_count<class_TextServerExtension_method_shaped_text_get_ellipsis_glyph_count>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  289. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  290. | const Glyph* | :ref:`shaped_text_get_ellipsis_glyphs<class_TextServerExtension_method_shaped_text_get_ellipsis_glyphs>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  291. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  292. | :ref:`int<class_int>` | :ref:`shaped_text_get_ellipsis_pos<class_TextServerExtension_method_shaped_text_get_ellipsis_pos>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  293. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  294. | :ref:`int<class_int>` | :ref:`shaped_text_get_glyph_count<class_TextServerExtension_method_shaped_text_get_glyph_count>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  295. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  296. | const Glyph* | :ref:`shaped_text_get_glyphs<class_TextServerExtension_method_shaped_text_get_glyphs>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  297. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  298. | :ref:`Vector2<class_Vector2>` | :ref:`shaped_text_get_grapheme_bounds<class_TextServerExtension_method_shaped_text_get_grapheme_bounds>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` pos **)** |virtual| |const| |
  299. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  300. | :ref:`Direction<enum_TextServer_Direction>` | :ref:`shaped_text_get_inferred_direction<class_TextServerExtension_method_shaped_text_get_inferred_direction>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  301. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  302. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`shaped_text_get_line_breaks<class_TextServerExtension_method_shaped_text_get_line_breaks>` **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` width, :ref:`int<class_int>` start, :ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>` break_flags **)** |virtual| |const| |
  303. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  304. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`shaped_text_get_line_breaks_adv<class_TextServerExtension_method_shaped_text_get_line_breaks_adv>` **(** :ref:`RID<class_RID>` shaped, :ref:`PackedFloat32Array<class_PackedFloat32Array>` width, :ref:`int<class_int>` start, :ref:`bool<class_bool>` once, :ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>` break_flags **)** |virtual| |const| |
  305. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  306. | :ref:`Rect2<class_Rect2>` | :ref:`shaped_text_get_object_rect<class_TextServerExtension_method_shaped_text_get_object_rect>` **(** :ref:`RID<class_RID>` shaped, :ref:`Variant<class_Variant>` key **)** |virtual| |const| |
  307. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  308. | :ref:`Array<class_Array>` | :ref:`shaped_text_get_objects<class_TextServerExtension_method_shaped_text_get_objects>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  309. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  310. | :ref:`Orientation<enum_TextServer_Orientation>` | :ref:`shaped_text_get_orientation<class_TextServerExtension_method_shaped_text_get_orientation>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  311. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  312. | :ref:`RID<class_RID>` | :ref:`shaped_text_get_parent<class_TextServerExtension_method_shaped_text_get_parent>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  313. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  314. | :ref:`bool<class_bool>` | :ref:`shaped_text_get_preserve_control<class_TextServerExtension_method_shaped_text_get_preserve_control>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  315. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  316. | :ref:`bool<class_bool>` | :ref:`shaped_text_get_preserve_invalid<class_TextServerExtension_method_shaped_text_get_preserve_invalid>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  317. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  318. | :ref:`Vector2i<class_Vector2i>` | :ref:`shaped_text_get_range<class_TextServerExtension_method_shaped_text_get_range>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  319. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  320. | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`shaped_text_get_selection<class_TextServerExtension_method_shaped_text_get_selection>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |virtual| |const| |
  321. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  322. | :ref:`Vector2<class_Vector2>` | :ref:`shaped_text_get_size<class_TextServerExtension_method_shaped_text_get_size>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  323. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  324. | :ref:`int<class_int>` | :ref:`shaped_text_get_spacing<class_TextServerExtension_method_shaped_text_get_spacing>` **(** :ref:`RID<class_RID>` shaped, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing **)** |virtual| |const| |
  325. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  326. | :ref:`int<class_int>` | :ref:`shaped_text_get_trim_pos<class_TextServerExtension_method_shaped_text_get_trim_pos>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  327. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  328. | :ref:`float<class_float>` | :ref:`shaped_text_get_underline_position<class_TextServerExtension_method_shaped_text_get_underline_position>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  329. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  330. | :ref:`float<class_float>` | :ref:`shaped_text_get_underline_thickness<class_TextServerExtension_method_shaped_text_get_underline_thickness>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  331. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  332. | :ref:`float<class_float>` | :ref:`shaped_text_get_width<class_TextServerExtension_method_shaped_text_get_width>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  333. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  334. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`shaped_text_get_word_breaks<class_TextServerExtension_method_shaped_text_get_word_breaks>` **(** :ref:`RID<class_RID>` shaped, :ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>` grapheme_flags **)** |virtual| |const| |
  335. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  336. | :ref:`int<class_int>` | :ref:`shaped_text_hit_test_grapheme<class_TextServerExtension_method_shaped_text_hit_test_grapheme>` **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` coord **)** |virtual| |const| |
  337. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  338. | :ref:`int<class_int>` | :ref:`shaped_text_hit_test_position<class_TextServerExtension_method_shaped_text_hit_test_position>` **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` coord **)** |virtual| |const| |
  339. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  340. | :ref:`bool<class_bool>` | :ref:`shaped_text_is_ready<class_TextServerExtension_method_shaped_text_is_ready>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const| |
  341. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  342. | :ref:`int<class_int>` | :ref:`shaped_text_next_grapheme_pos<class_TextServerExtension_method_shaped_text_next_grapheme_pos>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` pos **)** |virtual| |const| |
  343. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  344. | void | :ref:`shaped_text_overrun_trim_to_width<class_TextServerExtension_method_shaped_text_overrun_trim_to_width>` **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` width, :ref:`TextOverrunFlag<enum_TextServer_TextOverrunFlag>` trim_flags **)** |virtual| |
  345. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  346. | :ref:`int<class_int>` | :ref:`shaped_text_prev_grapheme_pos<class_TextServerExtension_method_shaped_text_prev_grapheme_pos>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` pos **)** |virtual| |const| |
  347. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  348. | :ref:`bool<class_bool>` | :ref:`shaped_text_resize_object<class_TextServerExtension_method_shaped_text_resize_object>` **(** :ref:`RID<class_RID>` shaped, :ref:`Variant<class_Variant>` key, :ref:`Vector2<class_Vector2>` size, :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` inline_align **)** |virtual| |
  349. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  350. | void | :ref:`shaped_text_set_bidi_override<class_TextServerExtension_method_shaped_text_set_bidi_override>` **(** :ref:`RID<class_RID>` shaped, :ref:`Array<class_Array>` override **)** |virtual| |
  351. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  352. | void | :ref:`shaped_text_set_custom_punctuation<class_TextServerExtension_method_shaped_text_set_custom_punctuation>` **(** :ref:`RID<class_RID>` shaped, :ref:`String<class_String>` punct **)** |virtual| |
  353. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  354. | void | :ref:`shaped_text_set_direction<class_TextServerExtension_method_shaped_text_set_direction>` **(** :ref:`RID<class_RID>` shaped, :ref:`Direction<enum_TextServer_Direction>` direction **)** |virtual| |
  355. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  356. | void | :ref:`shaped_text_set_orientation<class_TextServerExtension_method_shaped_text_set_orientation>` **(** :ref:`RID<class_RID>` shaped, :ref:`Orientation<enum_TextServer_Orientation>` orientation **)** |virtual| |
  357. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  358. | void | :ref:`shaped_text_set_preserve_control<class_TextServerExtension_method_shaped_text_set_preserve_control>` **(** :ref:`RID<class_RID>` shaped, :ref:`bool<class_bool>` enabled **)** |virtual| |
  359. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  360. | void | :ref:`shaped_text_set_preserve_invalid<class_TextServerExtension_method_shaped_text_set_preserve_invalid>` **(** :ref:`RID<class_RID>` shaped, :ref:`bool<class_bool>` enabled **)** |virtual| |
  361. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  362. | void | :ref:`shaped_text_set_spacing<class_TextServerExtension_method_shaped_text_set_spacing>` **(** :ref:`RID<class_RID>` shaped, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing, :ref:`int<class_int>` value **)** |virtual| |
  363. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  364. | :ref:`bool<class_bool>` | :ref:`shaped_text_shape<class_TextServerExtension_method_shaped_text_shape>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |
  365. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  366. | const Glyph* | :ref:`shaped_text_sort_logical<class_TextServerExtension_method_shaped_text_sort_logical>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |
  367. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  368. | :ref:`RID<class_RID>` | :ref:`shaped_text_substr<class_TextServerExtension_method_shaped_text_substr>` **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` start, :ref:`int<class_int>` length **)** |virtual| |const| |
  369. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  370. | :ref:`float<class_float>` | :ref:`shaped_text_tab_align<class_TextServerExtension_method_shaped_text_tab_align>` **(** :ref:`RID<class_RID>` shaped, :ref:`PackedFloat32Array<class_PackedFloat32Array>` tab_stops **)** |virtual| |
  371. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  372. | :ref:`bool<class_bool>` | :ref:`shaped_text_update_breaks<class_TextServerExtension_method_shaped_text_update_breaks>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |
  373. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  374. | :ref:`bool<class_bool>` | :ref:`shaped_text_update_justification_ops<class_TextServerExtension_method_shaped_text_update_justification_ops>` **(** :ref:`RID<class_RID>` shaped **)** |virtual| |
  375. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  376. | :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`string_get_word_breaks<class_TextServerExtension_method_string_get_word_breaks>` **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const| |
  377. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  378. | :ref:`String<class_String>` | :ref:`string_to_lower<class_TextServerExtension_method_string_to_lower>` **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const| |
  379. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  380. | :ref:`String<class_String>` | :ref:`string_to_upper<class_TextServerExtension_method_string_to_upper>` **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const| |
  381. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  382. | :ref:`String<class_String>` | :ref:`strip_diacritics<class_TextServerExtension_method_strip_diacritics>` **(** :ref:`String<class_String>` string **)** |virtual| |const| |
  383. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  384. | :ref:`String<class_String>` | :ref:`tag_to_name<class_TextServerExtension_method_tag_to_name>` **(** :ref:`int<class_int>` tag **)** |virtual| |const| |
  385. +-----------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  386. Method Descriptions
  387. -------------------
  388. .. _class_TextServerExtension_method_create_font:
  389. - :ref:`RID<class_RID>` **create_font** **(** **)** |virtual|
  390. Creates new, empty font cache entry resource. To free the resulting resourec, use :ref:`free_rid<class_TextServerExtension_method_free_rid>` method.
  391. ----
  392. .. _class_TextServerExtension_method_create_shaped_text:
  393. - :ref:`RID<class_RID>` **create_shaped_text** **(** :ref:`Direction<enum_TextServer_Direction>` direction, :ref:`Orientation<enum_TextServer_Orientation>` orientation **)** |virtual|
  394. Creates new buffer for complex text layout, with the given ``direction`` and ``orientation``. To free the resulting buffer, use :ref:`free_rid<class_TextServerExtension_method_free_rid>` method.
  395. ----
  396. .. _class_TextServerExtension_method_draw_hex_code_box:
  397. - void **draw_hex_code_box** **(** :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` size, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |virtual| |const|
  398. Draws box displaying character hexadecimal code. Used for replacing missing characters.
  399. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  400. ----
  401. .. _class_TextServerExtension_method_font_clear_glyphs:
  402. - void **font_clear_glyphs** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual|
  403. Removes all rendered glyphs information from the cache entry.
  404. ----
  405. .. _class_TextServerExtension_method_font_clear_kerning_map:
  406. - void **font_clear_kerning_map** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual|
  407. Removes all kerning overrides.
  408. ----
  409. .. _class_TextServerExtension_method_font_clear_size_cache:
  410. - void **font_clear_size_cache** **(** :ref:`RID<class_RID>` font_rid **)** |virtual|
  411. Removes all font sizes from the cache entry.
  412. ----
  413. .. _class_TextServerExtension_method_font_clear_textures:
  414. - void **font_clear_textures** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual|
  415. Removes all textures from font cache entry.
  416. ----
  417. .. _class_TextServerExtension_method_font_draw_glyph:
  418. - void **font_draw_glyph** **(** :ref:`RID<class_RID>` font_rid, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` size, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |virtual| |const|
  419. Draws single glyph into a canvas item at the position, using ``font_rid`` at the size ``size``.
  420. ----
  421. .. _class_TextServerExtension_method_font_draw_glyph_outline:
  422. - void **font_draw_glyph_outline** **(** :ref:`RID<class_RID>` font_rid, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` size, :ref:`int<class_int>` outline_size, :ref:`Vector2<class_Vector2>` pos, :ref:`int<class_int>` index, :ref:`Color<class_Color>` color **)** |virtual| |const|
  423. Draws single glyph outline of size ``outline_size`` into a canvas item at the position, using ``font_rid`` at the size ``size``.
  424. ----
  425. .. _class_TextServerExtension_method_font_get_ascent:
  426. - :ref:`float<class_float>` **font_get_ascent** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
  427. Returns the font ascent (number of pixels above the baseline).
  428. ----
  429. .. _class_TextServerExtension_method_font_get_descent:
  430. - :ref:`float<class_float>` **font_get_descent** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
  431. Returns the font descent (number of pixels below the baseline).
  432. ----
  433. .. _class_TextServerExtension_method_font_get_embolden:
  434. - :ref:`float<class_float>` **font_get_embolden** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  435. Returns font embolden strength.
  436. ----
  437. .. _class_TextServerExtension_method_font_get_face_count:
  438. - :ref:`int<class_int>` **font_get_face_count** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  439. Returns number of faces in the TrueType / OpenType collection.
  440. ----
  441. .. _class_TextServerExtension_method_font_get_face_index:
  442. - :ref:`int<class_int>` **font_get_face_index** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  443. Returns an active face index in the TrueType / OpenType collection.
  444. ----
  445. .. _class_TextServerExtension_method_font_get_fixed_size:
  446. - :ref:`int<class_int>` **font_get_fixed_size** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  447. Returns bitmap font fixed size.
  448. ----
  449. .. _class_TextServerExtension_method_font_get_generate_mipmaps:
  450. - :ref:`bool<class_bool>` **font_get_generate_mipmaps** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  451. Returns ``true`` if font texture mipmap generation is enabled.
  452. ----
  453. .. _class_TextServerExtension_method_font_get_global_oversampling:
  454. - :ref:`float<class_float>` **font_get_global_oversampling** **(** **)** |virtual| |const|
  455. Returns the font oversampling factor, shared by all fonts in the TextServer.
  456. ----
  457. .. _class_TextServerExtension_method_font_get_glyph_advance:
  458. - :ref:`Vector2<class_Vector2>` **font_get_glyph_advance** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  459. Returns glyph advance (offset of the next glyph).
  460. ----
  461. .. _class_TextServerExtension_method_font_get_glyph_contours:
  462. - :ref:`Dictionary<class_Dictionary>` **font_get_glyph_contours** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` index **)** |virtual| |const|
  463. Returns outline contours of the glyph as a ``Dictionary`` with the following contents:
  464. \ ``points`` - :ref:`PackedVector3Array<class_PackedVector3Array>`, containing outline points. ``x`` and ``y`` are point coordinates. ``z`` is the type of the point, using the :ref:`ContourPointTag<enum_TextServer_ContourPointTag>` values.
  465. \ ``contours`` - :ref:`PackedInt32Array<class_PackedInt32Array>`, containing indices the end points of each contour.
  466. \ ``orientation`` - :ref:`bool<class_bool>`, contour orientation. If ``true``, clockwise contours must be filled.
  467. ----
  468. .. _class_TextServerExtension_method_font_get_glyph_index:
  469. - :ref:`int<class_int>` **font_get_glyph_index** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |virtual| |const|
  470. Returns the glyph index of a ``char``, optionally modified by the ``variation_selector``.
  471. ----
  472. .. _class_TextServerExtension_method_font_get_glyph_list:
  473. - :ref:`Array<class_Array>` **font_get_glyph_list** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |const|
  474. Returns list of rendered glyphs in the cache entry.
  475. ----
  476. .. _class_TextServerExtension_method_font_get_glyph_offset:
  477. - :ref:`Vector2<class_Vector2>` **font_get_glyph_offset** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  478. Returns glyph offset from the baseline.
  479. ----
  480. .. _class_TextServerExtension_method_font_get_glyph_size:
  481. - :ref:`Vector2<class_Vector2>` **font_get_glyph_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  482. Returns size of the glyph.
  483. ----
  484. .. _class_TextServerExtension_method_font_get_glyph_texture_idx:
  485. - :ref:`int<class_int>` **font_get_glyph_texture_idx** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  486. Returns index of the cache texture containing the glyph.
  487. ----
  488. .. _class_TextServerExtension_method_font_get_glyph_texture_rid:
  489. - :ref:`RID<class_RID>` **font_get_glyph_texture_rid** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  490. Returns resource id of the cache texture containing the glyph.
  491. ----
  492. .. _class_TextServerExtension_method_font_get_glyph_texture_size:
  493. - :ref:`Vector2<class_Vector2>` **font_get_glyph_texture_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  494. Returns size of the cache texture containing the glyph.
  495. ----
  496. .. _class_TextServerExtension_method_font_get_glyph_uv_rect:
  497. - :ref:`Rect2<class_Rect2>` **font_get_glyph_uv_rect** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual| |const|
  498. Returns rectangle in the cache texture containing the glyph.
  499. ----
  500. .. _class_TextServerExtension_method_font_get_hinting:
  501. - :ref:`Hinting<enum_TextServer_Hinting>` **font_get_hinting** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  502. Returns the font hinting mode. Used by dynamic fonts only.
  503. ----
  504. .. _class_TextServerExtension_method_font_get_kerning:
  505. - :ref:`Vector2<class_Vector2>` **font_get_kerning** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |virtual| |const|
  506. Returns kerning for the pair of glyphs.
  507. ----
  508. .. _class_TextServerExtension_method_font_get_kerning_list:
  509. - :ref:`Array<class_Array>` **font_get_kerning_list** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
  510. Returns list of the kerning overrides.
  511. ----
  512. .. _class_TextServerExtension_method_font_get_language_support_override:
  513. - :ref:`bool<class_bool>` **font_get_language_support_override** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language **)** |virtual|
  514. Returns ``true`` if support override is enabled for the ``language``.
  515. ----
  516. .. _class_TextServerExtension_method_font_get_language_support_overrides:
  517. - :ref:`PackedStringArray<class_PackedStringArray>` **font_get_language_support_overrides** **(** :ref:`RID<class_RID>` font_rid **)** |virtual|
  518. Returns list of language support overrides.
  519. ----
  520. .. _class_TextServerExtension_method_font_get_msdf_pixel_range:
  521. - :ref:`int<class_int>` **font_get_msdf_pixel_range** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  522. Returns the width of the range around the shape between the minimum and maximum representable signed distance.
  523. ----
  524. .. _class_TextServerExtension_method_font_get_msdf_size:
  525. - :ref:`int<class_int>` **font_get_msdf_size** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  526. Returns source font size used to generate MSDF textures.
  527. ----
  528. .. _class_TextServerExtension_method_font_get_name:
  529. - :ref:`String<class_String>` **font_get_name** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  530. Returns font family name.
  531. ----
  532. .. _class_TextServerExtension_method_font_get_opentype_feature_overrides:
  533. - :ref:`Dictionary<class_Dictionary>` **font_get_opentype_feature_overrides** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  534. Returns font OpenType feature set override.
  535. ----
  536. .. _class_TextServerExtension_method_font_get_oversampling:
  537. - :ref:`float<class_float>` **font_get_oversampling** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  538. Returns font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only.
  539. ----
  540. .. _class_TextServerExtension_method_font_get_scale:
  541. - :ref:`float<class_float>` **font_get_scale** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
  542. Returns scaling factor of the color bitmap font.
  543. ----
  544. .. _class_TextServerExtension_method_font_get_script_support_override:
  545. - :ref:`bool<class_bool>` **font_get_script_support_override** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script **)** |virtual|
  546. Returns ``true`` if support override is enabled for the ``script``.
  547. ----
  548. .. _class_TextServerExtension_method_font_get_script_support_overrides:
  549. - :ref:`PackedStringArray<class_PackedStringArray>` **font_get_script_support_overrides** **(** :ref:`RID<class_RID>` font_rid **)** |virtual|
  550. Returns list of script support overrides.
  551. ----
  552. .. _class_TextServerExtension_method_font_get_size_cache_list:
  553. - :ref:`Array<class_Array>` **font_get_size_cache_list** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  554. Returns list of the font sizes in the cache. Each size is ``Vector2i`` with font size and outline size.
  555. ----
  556. .. _class_TextServerExtension_method_font_get_style:
  557. - :ref:`FontStyle<enum_TextServer_FontStyle>` **font_get_style** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  558. Returns font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
  559. ----
  560. .. _class_TextServerExtension_method_font_get_style_name:
  561. - :ref:`String<class_String>` **font_get_style_name** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  562. Returns font style name.
  563. ----
  564. .. _class_TextServerExtension_method_font_get_subpixel_positioning:
  565. - :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` **font_get_subpixel_positioning** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  566. Returns font sub-pixel glyph positioning mode.
  567. ----
  568. .. _class_TextServerExtension_method_font_get_supported_chars:
  569. - :ref:`String<class_String>` **font_get_supported_chars** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  570. Returns a string containing all the characters available in the font.
  571. ----
  572. .. _class_TextServerExtension_method_font_get_texture_count:
  573. - :ref:`int<class_int>` **font_get_texture_count** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual| |const|
  574. Returns number of textures used by font cache entry.
  575. ----
  576. .. _class_TextServerExtension_method_font_get_texture_image:
  577. - :ref:`Image<class_Image>` **font_get_texture_image** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual| |const|
  578. Returns font cache texture image data.
  579. ----
  580. .. _class_TextServerExtension_method_font_get_texture_offsets:
  581. - :ref:`PackedInt32Array<class_PackedInt32Array>` **font_get_texture_offsets** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual| |const|
  582. Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
  583. ----
  584. .. _class_TextServerExtension_method_font_get_transform:
  585. - :ref:`Transform2D<class_Transform2D>` **font_get_transform** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  586. Returns 2D transform applied to the font outlines.
  587. ----
  588. .. _class_TextServerExtension_method_font_get_underline_position:
  589. - :ref:`float<class_float>` **font_get_underline_position** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
  590. Returns pixel offset of the underline below the baseline.
  591. ----
  592. .. _class_TextServerExtension_method_font_get_underline_thickness:
  593. - :ref:`float<class_float>` **font_get_underline_thickness** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const|
  594. Returns thickness of the underline in pixels.
  595. ----
  596. .. _class_TextServerExtension_method_font_get_variation_coordinates:
  597. - :ref:`Dictionary<class_Dictionary>` **font_get_variation_coordinates** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  598. Returns variation coordinates for the specified font cache entry. See :ref:`font_supported_variation_list<class_TextServerExtension_method_font_supported_variation_list>` for more info.
  599. ----
  600. .. _class_TextServerExtension_method_font_has_char:
  601. - :ref:`bool<class_bool>` **font_has_char** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` char **)** |virtual| |const|
  602. Returns ``true`` if a Unicode ``char`` is available in the font.
  603. ----
  604. .. _class_TextServerExtension_method_font_is_antialiased:
  605. - :ref:`bool<class_bool>` **font_is_antialiased** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  606. Returns ``true`` if font 8-bit anitialiased glyph rendering is supported and enabled.
  607. ----
  608. .. _class_TextServerExtension_method_font_is_force_autohinter:
  609. - :ref:`bool<class_bool>` **font_is_force_autohinter** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  610. Returns ``true`` if auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only.
  611. ----
  612. .. _class_TextServerExtension_method_font_is_language_supported:
  613. - :ref:`bool<class_bool>` **font_is_language_supported** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language **)** |virtual| |const|
  614. Returns ``true``, if font supports given language (`ISO 639 <https://en.wikipedia.org/wiki/ISO_639-1>`__ code).
  615. ----
  616. .. _class_TextServerExtension_method_font_is_multichannel_signed_distance_field:
  617. - :ref:`bool<class_bool>` **font_is_multichannel_signed_distance_field** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  618. Returns ``true`` if glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
  619. ----
  620. .. _class_TextServerExtension_method_font_is_script_supported:
  621. - :ref:`bool<class_bool>` **font_is_script_supported** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script **)** |virtual| |const|
  622. Returns ``true``, if font supports given script (ISO 15924 code).
  623. ----
  624. .. _class_TextServerExtension_method_font_remove_glyph:
  625. - void **font_remove_glyph** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |virtual|
  626. Removes specified rendered glyph information from the cache entry.
  627. ----
  628. .. _class_TextServerExtension_method_font_remove_kerning:
  629. - void **font_remove_kerning** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |virtual|
  630. Removes kerning override for the pair of glyphs.
  631. ----
  632. .. _class_TextServerExtension_method_font_remove_language_support_override:
  633. - void **font_remove_language_support_override** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language **)** |virtual|
  634. Remove language support override.
  635. ----
  636. .. _class_TextServerExtension_method_font_remove_script_support_override:
  637. - void **font_remove_script_support_override** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script **)** |virtual|
  638. Removes script support override.
  639. ----
  640. .. _class_TextServerExtension_method_font_remove_size_cache:
  641. - void **font_remove_size_cache** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size **)** |virtual|
  642. Removes specified font size from the cache entry.
  643. ----
  644. .. _class_TextServerExtension_method_font_remove_texture:
  645. - void **font_remove_texture** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |virtual|
  646. Removes specified texture from the cache entry.
  647. ----
  648. .. _class_TextServerExtension_method_font_render_glyph:
  649. - void **font_render_glyph** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)** |virtual|
  650. Renders specified glyph to the font cache texture.
  651. ----
  652. .. _class_TextServerExtension_method_font_render_range:
  653. - void **font_render_range** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |virtual|
  654. Renders the range of characters to the font cache texture.
  655. ----
  656. .. _class_TextServerExtension_method_font_set_antialiased:
  657. - void **font_set_antialiased** **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` antialiased **)** |virtual|
  658. If set to ``true``, 8-bit antialiased glyph rendering is used, otherwise 1-bit rendering is used. Used by dynamic fonts only.
  659. ----
  660. .. _class_TextServerExtension_method_font_set_ascent:
  661. - void **font_set_ascent** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)** |virtual|
  662. Sets the font ascent (number of pixels above the baseline).
  663. ----
  664. .. _class_TextServerExtension_method_font_set_data:
  665. - void **font_set_data** **(** :ref:`RID<class_RID>` font_rid, :ref:`PackedByteArray<class_PackedByteArray>` data **)** |virtual|
  666. Sets font source data, e.g contents of the dynamic font source file.
  667. ----
  668. .. _class_TextServerExtension_method_font_set_data_ptr:
  669. - void **font_set_data_ptr** **(** :ref:`RID<class_RID>` font_rid, const uint8_t* data_ptr, :ref:`int<class_int>` data_size **)** |virtual|
  670. Sets font source data, e.g contents of the dynamic font source file. ``data_ptr`` memory buffer must remain accessible during font lifetime.
  671. ----
  672. .. _class_TextServerExtension_method_font_set_descent:
  673. - void **font_set_descent** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)** |virtual|
  674. Sets the font descent (number of pixels below the baseline).
  675. ----
  676. .. _class_TextServerExtension_method_font_set_embolden:
  677. - void **font_set_embolden** **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` strength **)** |virtual|
  678. Sets font embolden strength. If ``strength`` is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
  679. ----
  680. .. _class_TextServerExtension_method_font_set_face_index:
  681. - void **font_set_face_index** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` face_index **)** |virtual|
  682. Sets an active face index in the TrueType / OpenType collection.
  683. ----
  684. .. _class_TextServerExtension_method_font_set_fixed_size:
  685. - void **font_set_fixed_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` fixed_size **)** |virtual|
  686. Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes.
  687. ----
  688. .. _class_TextServerExtension_method_font_set_force_autohinter:
  689. - void **font_set_force_autohinter** **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` force_autohinter **)** |virtual|
  690. If set to ``true`` auto-hinting is preferred over font built-in hinting.
  691. ----
  692. .. _class_TextServerExtension_method_font_set_generate_mipmaps:
  693. - void **font_set_generate_mipmaps** **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` generate_mipmaps **)** |virtual|
  694. If set to ``true`` font texture mipmap generation is enabled.
  695. ----
  696. .. _class_TextServerExtension_method_font_set_global_oversampling:
  697. - void **font_set_global_oversampling** **(** :ref:`float<class_float>` oversampling **)** |virtual|
  698. Sets oversampling factor, shared by all font in the TextServer.
  699. \ **Note:** This value can be automatically changed by display server.
  700. ----
  701. .. _class_TextServerExtension_method_font_set_glyph_advance:
  702. - void **font_set_glyph_advance** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` advance **)** |virtual|
  703. Sets glyph advance (offset of the next glyph).
  704. ----
  705. .. _class_TextServerExtension_method_font_set_glyph_offset:
  706. - void **font_set_glyph_offset** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` offset **)** |virtual|
  707. Sets glyph offset from the baseline.
  708. ----
  709. .. _class_TextServerExtension_method_font_set_glyph_size:
  710. - void **font_set_glyph_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` gl_size **)** |virtual|
  711. Sets size of the glyph.
  712. ----
  713. .. _class_TextServerExtension_method_font_set_glyph_texture_idx:
  714. - void **font_set_glyph_texture_idx** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`int<class_int>` texture_idx **)** |virtual|
  715. Sets index of the cache texture containing the glyph.
  716. ----
  717. .. _class_TextServerExtension_method_font_set_glyph_uv_rect:
  718. - void **font_set_glyph_uv_rect** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Rect2<class_Rect2>` uv_rect **)** |virtual|
  719. Sets rectangle in the cache texture containing the glyph.
  720. ----
  721. .. _class_TextServerExtension_method_font_set_hinting:
  722. - void **font_set_hinting** **(** :ref:`RID<class_RID>` font_rid, :ref:`Hinting<enum_TextServer_Hinting>` hinting **)** |virtual|
  723. Sets font hinting mode. Used by dynamic fonts only.
  724. ----
  725. .. _class_TextServerExtension_method_font_set_kerning:
  726. - void **font_set_kerning** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair, :ref:`Vector2<class_Vector2>` kerning **)** |virtual|
  727. Sets kerning for the pair of glyphs.
  728. ----
  729. .. _class_TextServerExtension_method_font_set_language_support_override:
  730. - void **font_set_language_support_override** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)** |virtual|
  731. Adds override for :ref:`font_is_language_supported<class_TextServerExtension_method_font_is_language_supported>`.
  732. ----
  733. .. _class_TextServerExtension_method_font_set_msdf_pixel_range:
  734. - void **font_set_msdf_pixel_range** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` msdf_pixel_range **)** |virtual|
  735. Sets the width of the range around the shape between the minimum and maximum representable signed distance.
  736. ----
  737. .. _class_TextServerExtension_method_font_set_msdf_size:
  738. - void **font_set_msdf_size** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` msdf_size **)** |virtual|
  739. Sets source font size used to generate MSDF textures.
  740. ----
  741. .. _class_TextServerExtension_method_font_set_multichannel_signed_distance_field:
  742. - void **font_set_multichannel_signed_distance_field** **(** :ref:`RID<class_RID>` font_rid, :ref:`bool<class_bool>` msdf **)** |virtual|
  743. If set to ``true``, glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data. MSDF rendering allows displaying the font at any scaling factor without blurriness, and without incurring a CPU cost when the font size changes (since the font no longer needs to be rasterized on the CPU). 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.
  744. \ **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.
  745. ----
  746. .. _class_TextServerExtension_method_font_set_name:
  747. - void **font_set_name** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` name **)** |virtual|
  748. Sets the font family name.
  749. ----
  750. .. _class_TextServerExtension_method_font_set_opentype_feature_overrides:
  751. - void **font_set_opentype_feature_overrides** **(** :ref:`RID<class_RID>` font_rid, :ref:`Dictionary<class_Dictionary>` overrides **)** |virtual|
  752. Sets font OpenType feature set override.
  753. ----
  754. .. _class_TextServerExtension_method_font_set_oversampling:
  755. - void **font_set_oversampling** **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` oversampling **)** |virtual|
  756. Sets font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only.
  757. ----
  758. .. _class_TextServerExtension_method_font_set_scale:
  759. - void **font_set_scale** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)** |virtual|
  760. Sets scaling factor of the color bitmap font.
  761. ----
  762. .. _class_TextServerExtension_method_font_set_script_support_override:
  763. - void **font_set_script_support_override** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)** |virtual|
  764. Adds override for :ref:`font_is_script_supported<class_TextServerExtension_method_font_is_script_supported>`.
  765. ----
  766. .. _class_TextServerExtension_method_font_set_style:
  767. - void **font_set_style** **(** :ref:`RID<class_RID>` font_rid, :ref:`FontStyle<enum_TextServer_FontStyle>` style **)** |virtual|
  768. Sets the font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
  769. ----
  770. .. _class_TextServerExtension_method_font_set_style_name:
  771. - void **font_set_style_name** **(** :ref:`RID<class_RID>` font_rid, :ref:`String<class_String>` name_style **)** |virtual|
  772. Sets the font style name.
  773. ----
  774. .. _class_TextServerExtension_method_font_set_subpixel_positioning:
  775. - void **font_set_subpixel_positioning** **(** :ref:`RID<class_RID>` font_rid, :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` subpixel_positioning **)** |virtual|
  776. Sets font sub-pixel glyph positioning mode.
  777. ----
  778. .. _class_TextServerExtension_method_font_set_texture_image:
  779. - void **font_set_texture_image** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`Image<class_Image>` image **)** |virtual|
  780. Sets font cache texture image data.
  781. ----
  782. .. _class_TextServerExtension_method_font_set_texture_offsets:
  783. - void **font_set_texture_offsets** **(** :ref:`RID<class_RID>` font_rid, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)** |virtual|
  784. Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
  785. ----
  786. .. _class_TextServerExtension_method_font_set_transform:
  787. - void **font_set_transform** **(** :ref:`RID<class_RID>` font_rid, :ref:`Transform2D<class_Transform2D>` transform **)** |virtual|
  788. Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
  789. For example, to simulate italic typeface by slanting, apply the following transform ``Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)``.
  790. ----
  791. .. _class_TextServerExtension_method_font_set_underline_position:
  792. - void **font_set_underline_position** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)** |virtual|
  793. Sets pixel offset of the underline below the baseline.
  794. ----
  795. .. _class_TextServerExtension_method_font_set_underline_thickness:
  796. - void **font_set_underline_thickness** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)** |virtual|
  797. Sets thickness of the underline in pixels.
  798. ----
  799. .. _class_TextServerExtension_method_font_set_variation_coordinates:
  800. - void **font_set_variation_coordinates** **(** :ref:`RID<class_RID>` font_rid, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |virtual|
  801. Sets variation coordinates for the specified font cache entry. See :ref:`font_supported_variation_list<class_TextServerExtension_method_font_supported_variation_list>` for more info.
  802. ----
  803. .. _class_TextServerExtension_method_font_supported_feature_list:
  804. - :ref:`Dictionary<class_Dictionary>` **font_supported_feature_list** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  805. Returns the dictionary of the supported OpenType features.
  806. ----
  807. .. _class_TextServerExtension_method_font_supported_variation_list:
  808. - :ref:`Dictionary<class_Dictionary>` **font_supported_variation_list** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const|
  809. Returns the dictionary of the supported OpenType variation coordinates.
  810. ----
  811. .. _class_TextServerExtension_method_format_number:
  812. - :ref:`String<class_String>` **format_number** **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const|
  813. Converts a number from the Western Arabic (0..9) to the numeral systems used in ``language``.
  814. ----
  815. .. _class_TextServerExtension_method_free_rid:
  816. - void **free_rid** **(** :ref:`RID<class_RID>` rid **)** |virtual|
  817. Frees an object created by this :ref:`TextServer<class_TextServer>`.
  818. ----
  819. .. _class_TextServerExtension_method_get_features:
  820. - :ref:`int<class_int>` **get_features** **(** **)** |virtual| |const|
  821. Returns text server features, see :ref:`Feature<enum_TextServer_Feature>`.
  822. ----
  823. .. _class_TextServerExtension_method_get_hex_code_box_size:
  824. - :ref:`Vector2<class_Vector2>` **get_hex_code_box_size** **(** :ref:`int<class_int>` size, :ref:`int<class_int>` index **)** |virtual| |const|
  825. Returns size of the replacement character (box with character hexadecimal code that is drawn in place of invalid characters).
  826. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  827. ----
  828. .. _class_TextServerExtension_method_get_name:
  829. - :ref:`String<class_String>` **get_name** **(** **)** |virtual| |const|
  830. Returns the name of the server interface.
  831. ----
  832. .. _class_TextServerExtension_method_get_support_data_filename:
  833. - :ref:`String<class_String>` **get_support_data_filename** **(** **)** |virtual| |const|
  834. Returns default TextServer database (e.g. ICU break iterators and dictionaries) filename.
  835. ----
  836. .. _class_TextServerExtension_method_get_support_data_info:
  837. - :ref:`String<class_String>` **get_support_data_info** **(** **)** |virtual| |const|
  838. Returns TextServer database (e.g. ICU break iterators and dictionaries) description.
  839. ----
  840. .. _class_TextServerExtension_method_has:
  841. - :ref:`bool<class_bool>` **has** **(** :ref:`RID<class_RID>` rid **)** |virtual|
  842. Returns ``true`` if ``rid`` is valid resource owned by this text server.
  843. ----
  844. .. _class_TextServerExtension_method_has_feature:
  845. - :ref:`bool<class_bool>` **has_feature** **(** :ref:`Feature<enum_TextServer_Feature>` feature **)** |virtual| |const|
  846. Returns ``true`` if the server supports a feature.
  847. ----
  848. .. _class_TextServerExtension_method_is_locale_right_to_left:
  849. - :ref:`bool<class_bool>` **is_locale_right_to_left** **(** :ref:`String<class_String>` locale **)** |virtual| |const|
  850. Returns ``true`` if locale is right-to-left.
  851. ----
  852. .. _class_TextServerExtension_method_load_support_data:
  853. - :ref:`bool<class_bool>` **load_support_data** **(** :ref:`String<class_String>` filename **)** |virtual|
  854. Loads optional TextServer database (e.g. ICU break iterators and dictionaries).
  855. ----
  856. .. _class_TextServerExtension_method_name_to_tag:
  857. - :ref:`int<class_int>` **name_to_tag** **(** :ref:`String<class_String>` name **)** |virtual| |const|
  858. Converts readable feature, variation, script or language name to OpenType tag.
  859. ----
  860. .. _class_TextServerExtension_method_parse_number:
  861. - :ref:`String<class_String>` **parse_number** **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const|
  862. Converts a number from the numeral systems used in ``language`` to Western Arabic (0..9).
  863. ----
  864. .. _class_TextServerExtension_method_parse_structured_text:
  865. - :ref:`Array<class_Array>` **parse_structured_text** **(** :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` parser_type, :ref:`Array<class_Array>` args, :ref:`String<class_String>` text **)** |virtual| |const|
  866. ----
  867. .. _class_TextServerExtension_method_percent_sign:
  868. - :ref:`String<class_String>` **percent_sign** **(** :ref:`String<class_String>` language **)** |virtual| |const|
  869. Returns percent sign used in the ``language``.
  870. ----
  871. .. _class_TextServerExtension_method_save_support_data:
  872. - :ref:`bool<class_bool>` **save_support_data** **(** :ref:`String<class_String>` filename **)** |virtual| |const|
  873. Saves optional TextServer database (e.g. ICU break iterators and dictionaries) to the file.
  874. \ **Note:** This function is used by during project export, to include TextServer database.
  875. ----
  876. .. _class_TextServerExtension_method_shaped_get_span_count:
  877. - :ref:`int<class_int>` **shaped_get_span_count** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  878. Returns number of text spans added using :ref:`shaped_text_add_string<class_TextServerExtension_method_shaped_text_add_string>` or :ref:`shaped_text_add_object<class_TextServerExtension_method_shaped_text_add_object>`.
  879. ----
  880. .. _class_TextServerExtension_method_shaped_get_span_meta:
  881. - :ref:`Variant<class_Variant>` **shaped_get_span_meta** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` index **)** |virtual| |const|
  882. Returns text span metadata.
  883. ----
  884. .. _class_TextServerExtension_method_shaped_set_span_update_font:
  885. - void **shaped_set_span_update_font** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` index, :ref:`Array<class_Array>` fonts, :ref:`int<class_int>` size, :ref:`Dictionary<class_Dictionary>` opentype_features **)** |virtual|
  886. Changes text span font, font size and OpenType features, without changing the text.
  887. ----
  888. .. _class_TextServerExtension_method_shaped_text_add_object:
  889. - :ref:`bool<class_bool>` **shaped_text_add_object** **(** :ref:`RID<class_RID>` shaped, :ref:`Variant<class_Variant>` key, :ref:`Vector2<class_Vector2>` size, :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` inline_align, :ref:`int<class_int>` length **)** |virtual|
  890. Adds inline object to the text buffer, ``key`` must be unique. In the text, object is represented as ``length`` object replacement characters.
  891. ----
  892. .. _class_TextServerExtension_method_shaped_text_add_string:
  893. - :ref:`bool<class_bool>` **shaped_text_add_string** **(** :ref:`RID<class_RID>` shaped, :ref:`String<class_String>` text, :ref:`Array<class_Array>` fonts, :ref:`int<class_int>` size, :ref:`Dictionary<class_Dictionary>` opentype_features, :ref:`String<class_String>` language, :ref:`Variant<class_Variant>` meta **)** |virtual|
  894. Adds text span and font to draw it to the text buffer.
  895. ----
  896. .. _class_TextServerExtension_method_shaped_text_clear:
  897. - void **shaped_text_clear** **(** :ref:`RID<class_RID>` shaped **)** |virtual|
  898. Clears text buffer (removes text and inline objects).
  899. ----
  900. .. _class_TextServerExtension_method_shaped_text_draw:
  901. - void **shaped_text_draw** **(** :ref:`RID<class_RID>` shaped, :ref:`RID<class_RID>` canvas, :ref:`Vector2<class_Vector2>` pos, :ref:`float<class_float>` clip_l, :ref:`float<class_float>` clip_r, :ref:`Color<class_Color>` color **)** |virtual| |const|
  902. Draw shaped text into a canvas item at a given position, with ``color``. ``pos`` specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
  903. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  904. ----
  905. .. _class_TextServerExtension_method_shaped_text_draw_outline:
  906. - void **shaped_text_draw_outline** **(** :ref:`RID<class_RID>` shaped, :ref:`RID<class_RID>` canvas, :ref:`Vector2<class_Vector2>` pos, :ref:`float<class_float>` clip_l, :ref:`float<class_float>` clip_r, :ref:`int<class_int>` outline_size, :ref:`Color<class_Color>` color **)** |virtual| |const|
  907. Draw the outline of the shaped text into a canvas item at a given position, with ``color``. ``pos`` specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
  908. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  909. ----
  910. .. _class_TextServerExtension_method_shaped_text_fit_to_width:
  911. - :ref:`float<class_float>` **shaped_text_fit_to_width** **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` width, :ref:`JustificationFlag<enum_TextServer_JustificationFlag>` jst_flags **)** |virtual|
  912. Adjusts text with to fit to specified width, returns new text width.
  913. ----
  914. .. _class_TextServerExtension_method_shaped_text_get_ascent:
  915. - :ref:`float<class_float>` **shaped_text_get_ascent** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  916. Returns the text ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical).
  917. ----
  918. .. _class_TextServerExtension_method_shaped_text_get_carets:
  919. - void **shaped_text_get_carets** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` position, CaretInfo* caret **)** |virtual| |const|
  920. Returns shapes of the carets corresponding to the character offset ``position`` in the text. Returned caret shape is 1 pixel wide rectangle.
  921. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  922. ----
  923. .. _class_TextServerExtension_method_shaped_text_get_custom_punctuation:
  924. - :ref:`String<class_String>` **shaped_text_get_custom_punctuation** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  925. Returns custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
  926. ----
  927. .. _class_TextServerExtension_method_shaped_text_get_descent:
  928. - :ref:`float<class_float>` **shaped_text_get_descent** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  929. Returns the text descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical).
  930. ----
  931. .. _class_TextServerExtension_method_shaped_text_get_direction:
  932. - :ref:`Direction<enum_TextServer_Direction>` **shaped_text_get_direction** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  933. Returns direction of the text.
  934. ----
  935. .. _class_TextServerExtension_method_shaped_text_get_dominant_direction_in_range:
  936. - :ref:`int<class_int>` **shaped_text_get_dominant_direction_in_range** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |virtual| |const|
  937. Returns dominant direction of in the range of text.
  938. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  939. ----
  940. .. _class_TextServerExtension_method_shaped_text_get_ellipsis_glyph_count:
  941. - :ref:`int<class_int>` **shaped_text_get_ellipsis_glyph_count** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  942. Returns number of glyphs in the ellipsis.
  943. ----
  944. .. _class_TextServerExtension_method_shaped_text_get_ellipsis_glyphs:
  945. - const Glyph* **shaped_text_get_ellipsis_glyphs** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  946. Returns array of the glyphs in the ellipsis.
  947. ----
  948. .. _class_TextServerExtension_method_shaped_text_get_ellipsis_pos:
  949. - :ref:`int<class_int>` **shaped_text_get_ellipsis_pos** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  950. Returns position of the ellipsis.
  951. ----
  952. .. _class_TextServerExtension_method_shaped_text_get_glyph_count:
  953. - :ref:`int<class_int>` **shaped_text_get_glyph_count** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  954. Returns number of glyphs in the buffer.
  955. ----
  956. .. _class_TextServerExtension_method_shaped_text_get_glyphs:
  957. - const Glyph* **shaped_text_get_glyphs** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  958. Returns an array of glyphs in the visual order.
  959. ----
  960. .. _class_TextServerExtension_method_shaped_text_get_grapheme_bounds:
  961. - :ref:`Vector2<class_Vector2>` **shaped_text_get_grapheme_bounds** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` pos **)** |virtual| |const|
  962. Returns composite character's bounds as offsets from the start of the line.
  963. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  964. ----
  965. .. _class_TextServerExtension_method_shaped_text_get_inferred_direction:
  966. - :ref:`Direction<enum_TextServer_Direction>` **shaped_text_get_inferred_direction** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  967. Returns direction of the text, inferred by the BiDi algorithm.
  968. ----
  969. .. _class_TextServerExtension_method_shaped_text_get_line_breaks:
  970. - :ref:`PackedInt32Array<class_PackedInt32Array>` **shaped_text_get_line_breaks** **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` width, :ref:`int<class_int>` start, :ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>` break_flags **)** |virtual| |const|
  971. Breaks text to the lines and returns character ranges for each line.
  972. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  973. ----
  974. .. _class_TextServerExtension_method_shaped_text_get_line_breaks_adv:
  975. - :ref:`PackedInt32Array<class_PackedInt32Array>` **shaped_text_get_line_breaks_adv** **(** :ref:`RID<class_RID>` shaped, :ref:`PackedFloat32Array<class_PackedFloat32Array>` width, :ref:`int<class_int>` start, :ref:`bool<class_bool>` once, :ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>` break_flags **)** |virtual| |const|
  976. Breaks text to the lines and columns. Returns character ranges for each segment.
  977. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  978. ----
  979. .. _class_TextServerExtension_method_shaped_text_get_object_rect:
  980. - :ref:`Rect2<class_Rect2>` **shaped_text_get_object_rect** **(** :ref:`RID<class_RID>` shaped, :ref:`Variant<class_Variant>` key **)** |virtual| |const|
  981. Returns bounding rectangle of the inline object.
  982. ----
  983. .. _class_TextServerExtension_method_shaped_text_get_objects:
  984. - :ref:`Array<class_Array>` **shaped_text_get_objects** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  985. Returns array of inline objects.
  986. ----
  987. .. _class_TextServerExtension_method_shaped_text_get_orientation:
  988. - :ref:`Orientation<enum_TextServer_Orientation>` **shaped_text_get_orientation** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  989. eturns text orientation.
  990. ----
  991. .. _class_TextServerExtension_method_shaped_text_get_parent:
  992. - :ref:`RID<class_RID>` **shaped_text_get_parent** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  993. Returns the parent buffer from which the substring originates.
  994. ----
  995. .. _class_TextServerExtension_method_shaped_text_get_preserve_control:
  996. - :ref:`bool<class_bool>` **shaped_text_get_preserve_control** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  997. Returns ``true`` if text buffer is configured to display control characters.
  998. ----
  999. .. _class_TextServerExtension_method_shaped_text_get_preserve_invalid:
  1000. - :ref:`bool<class_bool>` **shaped_text_get_preserve_invalid** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1001. Returns ``true`` if text buffer is configured to display hexadecimal codes in place of invalid characters.
  1002. \ **Note:** If set to ``false``, nothing is displayed in place of invalid characters.
  1003. ----
  1004. .. _class_TextServerExtension_method_shaped_text_get_range:
  1005. - :ref:`Vector2i<class_Vector2i>` **shaped_text_get_range** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1006. Returns substring buffer character range in the parent buffer.
  1007. ----
  1008. .. _class_TextServerExtension_method_shaped_text_get_selection:
  1009. - :ref:`PackedVector2Array<class_PackedVector2Array>` **shaped_text_get_selection** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |virtual| |const|
  1010. Returns selection rectangles for the specified character range.
  1011. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1012. ----
  1013. .. _class_TextServerExtension_method_shaped_text_get_size:
  1014. - :ref:`Vector2<class_Vector2>` **shaped_text_get_size** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1015. Returns size of the text.
  1016. ----
  1017. .. _class_TextServerExtension_method_shaped_text_get_spacing:
  1018. - :ref:`int<class_int>` **shaped_text_get_spacing** **(** :ref:`RID<class_RID>` shaped, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing **)** |virtual| |const|
  1019. Returns extra spacing added between glyphs or lines in pixels.
  1020. ----
  1021. .. _class_TextServerExtension_method_shaped_text_get_trim_pos:
  1022. - :ref:`int<class_int>` **shaped_text_get_trim_pos** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1023. Returns the position of the overrun trim.
  1024. ----
  1025. .. _class_TextServerExtension_method_shaped_text_get_underline_position:
  1026. - :ref:`float<class_float>` **shaped_text_get_underline_position** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1027. Returns pixel offset of the underline below the baseline.
  1028. ----
  1029. .. _class_TextServerExtension_method_shaped_text_get_underline_thickness:
  1030. - :ref:`float<class_float>` **shaped_text_get_underline_thickness** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1031. Returns thickness of the underline.
  1032. ----
  1033. .. _class_TextServerExtension_method_shaped_text_get_width:
  1034. - :ref:`float<class_float>` **shaped_text_get_width** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1035. Returns width (for horizontal layout) or height (for vertical) of the text.
  1036. ----
  1037. .. _class_TextServerExtension_method_shaped_text_get_word_breaks:
  1038. - :ref:`PackedInt32Array<class_PackedInt32Array>` **shaped_text_get_word_breaks** **(** :ref:`RID<class_RID>` shaped, :ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>` grapheme_flags **)** |virtual| |const|
  1039. Breaks text into words and returns array of character ranges.
  1040. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1041. ----
  1042. .. _class_TextServerExtension_method_shaped_text_hit_test_grapheme:
  1043. - :ref:`int<class_int>` **shaped_text_hit_test_grapheme** **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` coord **)** |virtual| |const|
  1044. Returns grapheme index at the specified pixel offset at the baseline, or ``-1`` if none is found.
  1045. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1046. ----
  1047. .. _class_TextServerExtension_method_shaped_text_hit_test_position:
  1048. - :ref:`int<class_int>` **shaped_text_hit_test_position** **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` coord **)** |virtual| |const|
  1049. Returns caret character offset at the specified pixel offset at the baseline. This function always returns a valid position.
  1050. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1051. ----
  1052. .. _class_TextServerExtension_method_shaped_text_is_ready:
  1053. - :ref:`bool<class_bool>` **shaped_text_is_ready** **(** :ref:`RID<class_RID>` shaped **)** |virtual| |const|
  1054. Returns ``true`` if buffer is successfully shaped.
  1055. ----
  1056. .. _class_TextServerExtension_method_shaped_text_next_grapheme_pos:
  1057. - :ref:`int<class_int>` **shaped_text_next_grapheme_pos** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` pos **)** |virtual| |const|
  1058. Returns composite character end position closest to the ``pos``.
  1059. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1060. ----
  1061. .. _class_TextServerExtension_method_shaped_text_overrun_trim_to_width:
  1062. - void **shaped_text_overrun_trim_to_width** **(** :ref:`RID<class_RID>` shaped, :ref:`float<class_float>` width, :ref:`TextOverrunFlag<enum_TextServer_TextOverrunFlag>` trim_flags **)** |virtual|
  1063. Trims text if it exceeds the given width.
  1064. ----
  1065. .. _class_TextServerExtension_method_shaped_text_prev_grapheme_pos:
  1066. - :ref:`int<class_int>` **shaped_text_prev_grapheme_pos** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` pos **)** |virtual| |const|
  1067. Returns composite character start position closest to the ``pos``.
  1068. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1069. ----
  1070. .. _class_TextServerExtension_method_shaped_text_resize_object:
  1071. - :ref:`bool<class_bool>` **shaped_text_resize_object** **(** :ref:`RID<class_RID>` shaped, :ref:`Variant<class_Variant>` key, :ref:`Vector2<class_Vector2>` size, :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>` inline_align **)** |virtual|
  1072. Sets new size and alignment of embedded object.
  1073. ----
  1074. .. _class_TextServerExtension_method_shaped_text_set_bidi_override:
  1075. - void **shaped_text_set_bidi_override** **(** :ref:`RID<class_RID>` shaped, :ref:`Array<class_Array>` override **)** |virtual|
  1076. Overrides BiDi for the structured text.
  1077. Override ranges should cover full source text without overlaps. BiDi algorithm will be used on each range separately.
  1078. ----
  1079. .. _class_TextServerExtension_method_shaped_text_set_custom_punctuation:
  1080. - void **shaped_text_set_custom_punctuation** **(** :ref:`RID<class_RID>` shaped, :ref:`String<class_String>` punct **)** |virtual|
  1081. Sets custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
  1082. ----
  1083. .. _class_TextServerExtension_method_shaped_text_set_direction:
  1084. - void **shaped_text_set_direction** **(** :ref:`RID<class_RID>` shaped, :ref:`Direction<enum_TextServer_Direction>` direction **)** |virtual|
  1085. Sets desired text direction. If set to ``TEXT_DIRECTION_AUTO``, direction will be detected based on the buffer contents and current locale.
  1086. ----
  1087. .. _class_TextServerExtension_method_shaped_text_set_orientation:
  1088. - void **shaped_text_set_orientation** **(** :ref:`RID<class_RID>` shaped, :ref:`Orientation<enum_TextServer_Orientation>` orientation **)** |virtual|
  1089. Sets desired text orientation.
  1090. ----
  1091. .. _class_TextServerExtension_method_shaped_text_set_preserve_control:
  1092. - void **shaped_text_set_preserve_control** **(** :ref:`RID<class_RID>` shaped, :ref:`bool<class_bool>` enabled **)** |virtual|
  1093. If set to ``true`` text buffer will display control characters.
  1094. ----
  1095. .. _class_TextServerExtension_method_shaped_text_set_preserve_invalid:
  1096. - void **shaped_text_set_preserve_invalid** **(** :ref:`RID<class_RID>` shaped, :ref:`bool<class_bool>` enabled **)** |virtual|
  1097. If set to ``true`` text buffer will display invalid characters as hexadecimal codes, otherwise nothing is displayed.
  1098. ----
  1099. .. _class_TextServerExtension_method_shaped_text_set_spacing:
  1100. - void **shaped_text_set_spacing** **(** :ref:`RID<class_RID>` shaped, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing, :ref:`int<class_int>` value **)** |virtual|
  1101. Sets extra spacing added between glyphs or lines in pixels.
  1102. ----
  1103. .. _class_TextServerExtension_method_shaped_text_shape:
  1104. - :ref:`bool<class_bool>` **shaped_text_shape** **(** :ref:`RID<class_RID>` shaped **)** |virtual|
  1105. Shapes buffer if it's not shaped. Returns ``true`` if the string is shaped successfully.
  1106. ----
  1107. .. _class_TextServerExtension_method_shaped_text_sort_logical:
  1108. - const Glyph* **shaped_text_sort_logical** **(** :ref:`RID<class_RID>` shaped **)** |virtual|
  1109. Returns text glyphs in the logical order.
  1110. ----
  1111. .. _class_TextServerExtension_method_shaped_text_substr:
  1112. - :ref:`RID<class_RID>` **shaped_text_substr** **(** :ref:`RID<class_RID>` shaped, :ref:`int<class_int>` start, :ref:`int<class_int>` length **)** |virtual| |const|
  1113. Returns text buffer for the substring of the text in the ``shaped`` text buffer (including inline objects).
  1114. ----
  1115. .. _class_TextServerExtension_method_shaped_text_tab_align:
  1116. - :ref:`float<class_float>` **shaped_text_tab_align** **(** :ref:`RID<class_RID>` shaped, :ref:`PackedFloat32Array<class_PackedFloat32Array>` tab_stops **)** |virtual|
  1117. Aligns shaped text to the given tab-stops.
  1118. ----
  1119. .. _class_TextServerExtension_method_shaped_text_update_breaks:
  1120. - :ref:`bool<class_bool>` **shaped_text_update_breaks** **(** :ref:`RID<class_RID>` shaped **)** |virtual|
  1121. Updates line breaking positions in the text buffer.
  1122. \ **Note:** This method is used by default line/word breaking methods, and its implementation might be omitted if custom line breaking in implemented.
  1123. ----
  1124. .. _class_TextServerExtension_method_shaped_text_update_justification_ops:
  1125. - :ref:`bool<class_bool>` **shaped_text_update_justification_ops** **(** :ref:`RID<class_RID>` shaped **)** |virtual|
  1126. Updates line justification positions (word breaks and elongations) in the text buffer.
  1127. \ **Note:** This method is used by default line/word breaking methods, and its implementation might be omitted if custom line breaking in implemented.
  1128. ----
  1129. .. _class_TextServerExtension_method_string_get_word_breaks:
  1130. - :ref:`PackedInt32Array<class_PackedInt32Array>` **string_get_word_breaks** **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const|
  1131. Returns array of the word break character offsets.
  1132. ----
  1133. .. _class_TextServerExtension_method_string_to_lower:
  1134. - :ref:`String<class_String>` **string_to_lower** **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const|
  1135. Returns the string converted to lowercase.
  1136. ----
  1137. .. _class_TextServerExtension_method_string_to_upper:
  1138. - :ref:`String<class_String>` **string_to_upper** **(** :ref:`String<class_String>` string, :ref:`String<class_String>` language **)** |virtual| |const|
  1139. Returns the string converted to uppercase.
  1140. ----
  1141. .. _class_TextServerExtension_method_strip_diacritics:
  1142. - :ref:`String<class_String>` **strip_diacritics** **(** :ref:`String<class_String>` string **)** |virtual| |const|
  1143. Strips diacritics from the string.
  1144. \ **Note:** If this method is not implemented in the plugin, the default implementation will be used.
  1145. ----
  1146. .. _class_TextServerExtension_method_tag_to_name:
  1147. - :ref:`String<class_String>` **tag_to_name** **(** :ref:`int<class_int>` tag **)** |virtual| |const|
  1148. Converts OpenType tag to readable feature, variation, script or language name.
  1149. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  1150. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  1151. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  1152. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  1153. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  1154. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`