class_dynamicfont.rst 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  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>` | 0 |
  17. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  18. | :ref:`int<class_int>` | :ref:`extra_spacing_char<class_DynamicFont_property_extra_spacing_char>` | 0 |
  19. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  20. | :ref:`int<class_int>` | :ref:`extra_spacing_space<class_DynamicFont_property_extra_spacing_space>` | 0 |
  21. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  22. | :ref:`int<class_int>` | :ref:`extra_spacing_top<class_DynamicFont_property_extra_spacing_top>` | 0 |
  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>` | Color( 1, 1, 1, 1 ) |
  27. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  28. | :ref:`int<class_int>` | :ref:`outline_size<class_DynamicFont_property_outline_size>` | 0 |
  29. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  30. | :ref:`int<class_int>` | :ref:`size<class_DynamicFont_property_size>` | 16 |
  31. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  32. | :ref:`bool<class_bool>` | :ref:`use_filter<class_DynamicFont_property_use_filter>` | false |
  33. +-----------------------------------------------+------------------------------------------------------------------------------+---------------------+
  34. | :ref:`bool<class_bool>` | :ref:`use_mipmaps<class_DynamicFont_property_use_mipmaps>` | false |
  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. | :ref:`int<class_int>` | :ref:`get_spacing<class_DynamicFont_method_get_spacing>` **(** :ref:`int<class_int>` type **)** const |
  46. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  47. | void | :ref:`remove_fallback<class_DynamicFont_method_remove_fallback>` **(** :ref:`int<class_int>` idx **)** |
  48. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  49. | void | :ref:`set_fallback<class_DynamicFont_method_set_fallback>` **(** :ref:`int<class_int>` idx, :ref:`DynamicFontData<class_DynamicFontData>` data **)** |
  50. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  51. | void | :ref:`set_spacing<class_DynamicFont_method_set_spacing>` **(** :ref:`int<class_int>` type, :ref:`int<class_int>` value **)** |
  52. +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
  53. Enumerations
  54. ------------
  55. .. _enum_DynamicFont_SpacingType:
  56. .. _class_DynamicFont_constant_SPACING_TOP:
  57. .. _class_DynamicFont_constant_SPACING_BOTTOM:
  58. .. _class_DynamicFont_constant_SPACING_CHAR:
  59. .. _class_DynamicFont_constant_SPACING_SPACE:
  60. enum **SpacingType**:
  61. - **SPACING_TOP** = **0** --- Spacing at the top.
  62. - **SPACING_BOTTOM** = **1** --- Spacing at the bottom.
  63. - **SPACING_CHAR** = **2** --- Character spacing.
  64. - **SPACING_SPACE** = **3** --- Space spacing.
  65. Description
  66. -----------
  67. 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.
  68. ::
  69. var dynamic_font = DynamicFont.new()
  70. dynamic_font.font_data = load("res://BarlowCondensed-Bold.ttf")
  71. dynamic_font.size = 64
  72. $"Label".set("custom_fonts/font", dynamic_font)
  73. Property Descriptions
  74. ---------------------
  75. .. _class_DynamicFont_property_extra_spacing_bottom:
  76. - :ref:`int<class_int>` **extra_spacing_bottom**
  77. +-----------+--------------------+
  78. | *Default* | 0 |
  79. +-----------+--------------------+
  80. | *Setter* | set_spacing(value) |
  81. +-----------+--------------------+
  82. | *Getter* | get_spacing() |
  83. +-----------+--------------------+
  84. Extra spacing at the bottom in pixels.
  85. .. _class_DynamicFont_property_extra_spacing_char:
  86. - :ref:`int<class_int>` **extra_spacing_char**
  87. +-----------+--------------------+
  88. | *Default* | 0 |
  89. +-----------+--------------------+
  90. | *Setter* | set_spacing(value) |
  91. +-----------+--------------------+
  92. | *Getter* | get_spacing() |
  93. +-----------+--------------------+
  94. Extra character spacing in pixels.
  95. .. _class_DynamicFont_property_extra_spacing_space:
  96. - :ref:`int<class_int>` **extra_spacing_space**
  97. +-----------+--------------------+
  98. | *Default* | 0 |
  99. +-----------+--------------------+
  100. | *Setter* | set_spacing(value) |
  101. +-----------+--------------------+
  102. | *Getter* | get_spacing() |
  103. +-----------+--------------------+
  104. Extra space spacing in pixels.
  105. .. _class_DynamicFont_property_extra_spacing_top:
  106. - :ref:`int<class_int>` **extra_spacing_top**
  107. +-----------+--------------------+
  108. | *Default* | 0 |
  109. +-----------+--------------------+
  110. | *Setter* | set_spacing(value) |
  111. +-----------+--------------------+
  112. | *Getter* | get_spacing() |
  113. +-----------+--------------------+
  114. Extra spacing at the top in pixels.
  115. .. _class_DynamicFont_property_font_data:
  116. - :ref:`DynamicFontData<class_DynamicFontData>` **font_data**
  117. +----------+----------------------+
  118. | *Setter* | set_font_data(value) |
  119. +----------+----------------------+
  120. | *Getter* | get_font_data() |
  121. +----------+----------------------+
  122. The font data.
  123. .. _class_DynamicFont_property_outline_color:
  124. - :ref:`Color<class_Color>` **outline_color**
  125. +-----------+--------------------------+
  126. | *Default* | Color( 1, 1, 1, 1 ) |
  127. +-----------+--------------------------+
  128. | *Setter* | set_outline_color(value) |
  129. +-----------+--------------------------+
  130. | *Getter* | get_outline_color() |
  131. +-----------+--------------------------+
  132. .. _class_DynamicFont_property_outline_size:
  133. - :ref:`int<class_int>` **outline_size**
  134. +-----------+-------------------------+
  135. | *Default* | 0 |
  136. +-----------+-------------------------+
  137. | *Setter* | set_outline_size(value) |
  138. +-----------+-------------------------+
  139. | *Getter* | get_outline_size() |
  140. +-----------+-------------------------+
  141. .. _class_DynamicFont_property_size:
  142. - :ref:`int<class_int>` **size**
  143. +-----------+-----------------+
  144. | *Default* | 16 |
  145. +-----------+-----------------+
  146. | *Setter* | set_size(value) |
  147. +-----------+-----------------+
  148. | *Getter* | get_size() |
  149. +-----------+-----------------+
  150. The font size.
  151. .. _class_DynamicFont_property_use_filter:
  152. - :ref:`bool<class_bool>` **use_filter**
  153. +-----------+-----------------------+
  154. | *Default* | false |
  155. +-----------+-----------------------+
  156. | *Setter* | set_use_filter(value) |
  157. +-----------+-----------------------+
  158. | *Getter* | get_use_filter() |
  159. +-----------+-----------------------+
  160. If ``true``, filtering is used.
  161. .. _class_DynamicFont_property_use_mipmaps:
  162. - :ref:`bool<class_bool>` **use_mipmaps**
  163. +-----------+------------------------+
  164. | *Default* | false |
  165. +-----------+------------------------+
  166. | *Setter* | set_use_mipmaps(value) |
  167. +-----------+------------------------+
  168. | *Getter* | get_use_mipmaps() |
  169. +-----------+------------------------+
  170. If ``true``, mipmapping is used.
  171. Method Descriptions
  172. -------------------
  173. .. _class_DynamicFont_method_add_fallback:
  174. - void **add_fallback** **(** :ref:`DynamicFontData<class_DynamicFontData>` data **)**
  175. Adds a fallback font.
  176. .. _class_DynamicFont_method_get_fallback:
  177. - :ref:`DynamicFontData<class_DynamicFontData>` **get_fallback** **(** :ref:`int<class_int>` idx **)** const
  178. Returns the fallback font at index ``idx``.
  179. .. _class_DynamicFont_method_get_fallback_count:
  180. - :ref:`int<class_int>` **get_fallback_count** **(** **)** const
  181. Returns the number of fallback fonts.
  182. .. _class_DynamicFont_method_get_spacing:
  183. - :ref:`int<class_int>` **get_spacing** **(** :ref:`int<class_int>` type **)** const
  184. .. _class_DynamicFont_method_remove_fallback:
  185. - void **remove_fallback** **(** :ref:`int<class_int>` idx **)**
  186. Removes the fallback font at index ``idx``.
  187. .. _class_DynamicFont_method_set_fallback:
  188. - void **set_fallback** **(** :ref:`int<class_int>` idx, :ref:`DynamicFontData<class_DynamicFontData>` data **)**
  189. Sets the fallback font at index ``idx``.
  190. .. _class_DynamicFont_method_set_spacing:
  191. - void **set_spacing** **(** :ref:`int<class_int>` type, :ref:`int<class_int>` value **)**