class_dynamicfont.rst 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the DynamicFont.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_DynamicFont:
  6. DynamicFont
  7. ===========
  8. **Inherits:** :ref:`Font<class_Font>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. **Category:** Core
  10. Brief Description
  11. -----------------
  12. DynamicFont renders vector font files at runtime.
  13. Properties
  14. ----------
  15. +-----------------------------------------------+------------------------------------------------------------------------------+
  16. | :ref:`int<class_int>` | :ref:`extra_spacing_bottom<class_DynamicFont_property_extra_spacing_bottom>` |
  17. +-----------------------------------------------+------------------------------------------------------------------------------+
  18. | :ref:`int<class_int>` | :ref:`extra_spacing_char<class_DynamicFont_property_extra_spacing_char>` |
  19. +-----------------------------------------------+------------------------------------------------------------------------------+
  20. | :ref:`int<class_int>` | :ref:`extra_spacing_space<class_DynamicFont_property_extra_spacing_space>` |
  21. +-----------------------------------------------+------------------------------------------------------------------------------+
  22. | :ref:`int<class_int>` | :ref:`extra_spacing_top<class_DynamicFont_property_extra_spacing_top>` |
  23. +-----------------------------------------------+------------------------------------------------------------------------------+
  24. | :ref:`DynamicFontData<class_DynamicFontData>` | :ref:`font_data<class_DynamicFont_property_font_data>` |
  25. +-----------------------------------------------+------------------------------------------------------------------------------+
  26. | :ref:`Color<class_Color>` | :ref:`outline_color<class_DynamicFont_property_outline_color>` |
  27. +-----------------------------------------------+------------------------------------------------------------------------------+
  28. | :ref:`int<class_int>` | :ref:`outline_size<class_DynamicFont_property_outline_size>` |
  29. +-----------------------------------------------+------------------------------------------------------------------------------+
  30. | :ref:`int<class_int>` | :ref:`size<class_DynamicFont_property_size>` |
  31. +-----------------------------------------------+------------------------------------------------------------------------------+
  32. | :ref:`bool<class_bool>` | :ref:`use_filter<class_DynamicFont_property_use_filter>` |
  33. +-----------------------------------------------+------------------------------------------------------------------------------+
  34. | :ref:`bool<class_bool>` | :ref:`use_mipmaps<class_DynamicFont_property_use_mipmaps>` |
  35. +-----------------------------------------------+------------------------------------------------------------------------------+
  36. Methods
  37. -------
  38. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  39. | void | :ref:`add_fallback<class_DynamicFont_method_add_fallback>` **(** :ref:`DynamicFontData<class_DynamicFontData>` data **)** |
  40. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  41. | :ref:`DynamicFontData<class_DynamicFontData>` | :ref:`get_fallback<class_DynamicFont_method_get_fallback>` **(** :ref:`int<class_int>` idx **)** const |
  42. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  43. | :ref:`int<class_int>` | :ref:`get_fallback_count<class_DynamicFont_method_get_fallback_count>` **(** **)** const |
  44. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  45. | void | :ref:`remove_fallback<class_DynamicFont_method_remove_fallback>` **(** :ref:`int<class_int>` idx **)** |
  46. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | void | :ref:`set_fallback<class_DynamicFont_method_set_fallback>` **(** :ref:`int<class_int>` idx, :ref:`DynamicFontData<class_DynamicFontData>` data **)** |
  48. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. Enumerations
  50. ------------
  51. .. _enum_DynamicFont_SpacingType:
  52. .. _class_DynamicFont_constant_SPACING_TOP:
  53. .. _class_DynamicFont_constant_SPACING_BOTTOM:
  54. .. _class_DynamicFont_constant_SPACING_CHAR:
  55. .. _class_DynamicFont_constant_SPACING_SPACE:
  56. enum **SpacingType**:
  57. - **SPACING_TOP** = **0** --- Spacing at the top.
  58. - **SPACING_BOTTOM** = **1** --- Spacing at the bottom.
  59. - **SPACING_CHAR** = **2** --- Character spacing.
  60. - **SPACING_SPACE** = **3** --- Space spacing.
  61. Description
  62. -----------
  63. DynamicFont renders vector font files (such as TTF or OTF) dynamically at runtime instead of using a prerendered texture atlas like :ref:`BitmapFont<class_BitmapFont>`. This trades the faster loading time of :ref:`BitmapFont<class_BitmapFont>`\ s for the ability to change font parameters like size and spacing during runtime. :ref:`DynamicFontData<class_DynamicFontData>` is used for referencing the font file paths.
  64. ::
  65. var dynamic_font = DynamicFont.new()
  66. dynamic_font.font_data = load("res://BarlowCondensed-Bold.ttf")
  67. dynamic_font.size = 64
  68. $"Label".set("custom_fonts/font", dynamic_font)
  69. Property Descriptions
  70. ---------------------
  71. .. _class_DynamicFont_property_extra_spacing_bottom:
  72. - :ref:`int<class_int>` **extra_spacing_bottom**
  73. +----------+--------------------+
  74. | *Setter* | set_spacing(value) |
  75. +----------+--------------------+
  76. | *Getter* | get_spacing() |
  77. +----------+--------------------+
  78. Extra spacing at the bottom in pixels.
  79. ----
  80. .. _class_DynamicFont_property_extra_spacing_char:
  81. - :ref:`int<class_int>` **extra_spacing_char**
  82. +----------+--------------------+
  83. | *Setter* | set_spacing(value) |
  84. +----------+--------------------+
  85. | *Getter* | get_spacing() |
  86. +----------+--------------------+
  87. Extra character spacing in pixels.
  88. ----
  89. .. _class_DynamicFont_property_extra_spacing_space:
  90. - :ref:`int<class_int>` **extra_spacing_space**
  91. +----------+--------------------+
  92. | *Setter* | set_spacing(value) |
  93. +----------+--------------------+
  94. | *Getter* | get_spacing() |
  95. +----------+--------------------+
  96. Extra space spacing in pixels.
  97. ----
  98. .. _class_DynamicFont_property_extra_spacing_top:
  99. - :ref:`int<class_int>` **extra_spacing_top**
  100. +----------+--------------------+
  101. | *Setter* | set_spacing(value) |
  102. +----------+--------------------+
  103. | *Getter* | get_spacing() |
  104. +----------+--------------------+
  105. Extra spacing at the top in pixels.
  106. ----
  107. .. _class_DynamicFont_property_font_data:
  108. - :ref:`DynamicFontData<class_DynamicFontData>` **font_data**
  109. +----------+----------------------+
  110. | *Setter* | set_font_data(value) |
  111. +----------+----------------------+
  112. | *Getter* | get_font_data() |
  113. +----------+----------------------+
  114. The font data.
  115. ----
  116. .. _class_DynamicFont_property_outline_color:
  117. - :ref:`Color<class_Color>` **outline_color**
  118. +----------+--------------------------+
  119. | *Setter* | set_outline_color(value) |
  120. +----------+--------------------------+
  121. | *Getter* | get_outline_color() |
  122. +----------+--------------------------+
  123. ----
  124. .. _class_DynamicFont_property_outline_size:
  125. - :ref:`int<class_int>` **outline_size**
  126. +----------+-------------------------+
  127. | *Setter* | set_outline_size(value) |
  128. +----------+-------------------------+
  129. | *Getter* | get_outline_size() |
  130. +----------+-------------------------+
  131. ----
  132. .. _class_DynamicFont_property_size:
  133. - :ref:`int<class_int>` **size**
  134. +----------+-----------------+
  135. | *Setter* | set_size(value) |
  136. +----------+-----------------+
  137. | *Getter* | get_size() |
  138. +----------+-----------------+
  139. The font size.
  140. ----
  141. .. _class_DynamicFont_property_use_filter:
  142. - :ref:`bool<class_bool>` **use_filter**
  143. +----------+-----------------------+
  144. | *Setter* | set_use_filter(value) |
  145. +----------+-----------------------+
  146. | *Getter* | get_use_filter() |
  147. +----------+-----------------------+
  148. If ``true``, filtering is used.
  149. ----
  150. .. _class_DynamicFont_property_use_mipmaps:
  151. - :ref:`bool<class_bool>` **use_mipmaps**
  152. +----------+------------------------+
  153. | *Setter* | set_use_mipmaps(value) |
  154. +----------+------------------------+
  155. | *Getter* | get_use_mipmaps() |
  156. +----------+------------------------+
  157. If ``true``, mipmapping is used.
  158. Method Descriptions
  159. -------------------
  160. .. _class_DynamicFont_method_add_fallback:
  161. - void **add_fallback** **(** :ref:`DynamicFontData<class_DynamicFontData>` data **)**
  162. Adds a fallback font.
  163. ----
  164. .. _class_DynamicFont_method_get_fallback:
  165. - :ref:`DynamicFontData<class_DynamicFontData>` **get_fallback** **(** :ref:`int<class_int>` idx **)** const
  166. Returns the fallback font at index ``idx``.
  167. ----
  168. .. _class_DynamicFont_method_get_fallback_count:
  169. - :ref:`int<class_int>` **get_fallback_count** **(** **)** const
  170. Returns the number of fallback fonts.
  171. ----
  172. .. _class_DynamicFont_method_remove_fallback:
  173. - void **remove_fallback** **(** :ref:`int<class_int>` idx **)**
  174. Removes the fallback font at index ``idx``.
  175. ----
  176. .. _class_DynamicFont_method_set_fallback:
  177. - void **set_fallback** **(** :ref:`int<class_int>` idx, :ref:`DynamicFontData<class_DynamicFontData>` data **)**
  178. Sets the fallback font at index ``idx``.