BaseFont.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. using System;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. namespace FairyGUI
  5. {
  6. /// <summary>
  7. /// Base class for all kind of fonts.
  8. /// </summary>
  9. public class BaseFont
  10. {
  11. /// <summary>
  12. /// The name of this font object.
  13. /// </summary>
  14. public string name;
  15. /// <summary>
  16. /// The texture of this font object.
  17. /// </summary>
  18. public NTexture mainTexture;
  19. /// <summary>
  20. /// Can this font be tinted? Will be true for dynamic font and fonts generated by BMFont.
  21. /// </summary>
  22. public bool canTint;
  23. /// <summary>
  24. /// If true, it will use extra vertices to enhance bold effect
  25. /// </summary>
  26. public bool customBold;
  27. /// <summary>
  28. /// If true, it will use extra vertices to enhance bold effect ONLY when it is in italic style.
  29. /// </summary>
  30. public bool customBoldAndItalic;
  31. /// <summary>
  32. /// If true, it will use extra vertices(4 direction) to enhance outline effect
  33. /// </summary>
  34. public bool customOutline;
  35. /// <summary>
  36. /// The shader for this font object.
  37. /// </summary>
  38. public string shader;
  39. /// <summary>
  40. /// Keep text crisp.
  41. /// </summary>
  42. public bool keepCrisp;
  43. /// <summary>
  44. ///
  45. /// </summary>
  46. public int version;
  47. protected internal static bool textRebuildFlag;
  48. protected const float SupScale = 0.58f;
  49. protected const float SupOffset = 0.33f;
  50. virtual public void UpdateGraphics(NGraphics graphics)
  51. {
  52. }
  53. virtual public void SetFormat(TextFormat format, float fontSizeScale)
  54. {
  55. }
  56. virtual public void PrepareCharacters(string text)
  57. {
  58. }
  59. virtual public bool GetGlyph(char ch, out float width, out float height, out float baseline)
  60. {
  61. width = 0;
  62. height = 0;
  63. baseline = 0;
  64. return false;
  65. }
  66. virtual public int DrawGlyph(float x, float y,
  67. List<Vector3> vertList, List<Vector2> uvList, List<Vector2> uv2List, List<Color32> colList)
  68. {
  69. return 0;
  70. }
  71. virtual public int DrawLine(float x, float y, float width, int fontSize, int type,
  72. List<Vector3> vertList, List<Vector2> uvList, List<Vector2> uv2List, List<Color32> colList)
  73. {
  74. return 0;
  75. }
  76. virtual public bool HasCharacter(char ch)
  77. {
  78. return false;
  79. }
  80. virtual public int GetLineHeight(int size)
  81. {
  82. return 0;
  83. }
  84. virtual public void Dispose()
  85. {
  86. }
  87. }
  88. }