pseudographic_font_3.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #ifndef PSEUDOGRAPHIC_FONT_3_H
  2. #define PSEUDOGRAPHIC_FONT_3_H
  3. // Псевдографический шрифт для цифр 0-9 и разделителя (:).
  4. // Каждый символ представлен 3 строками по 3 символа (UTF-8).
  5. // Используемые символы: ┌ ─ ┐ └ ┘ ┤ и пробел.
  6. // Определение псевдографического шрифта (3x3 символа)
  7. static const char* font_3[11][3] = {
  8. // 0
  9. {
  10. "┌─┐",
  11. "│ │",
  12. "└─┘"
  13. },
  14. // 1
  15. {
  16. " ┌┐",
  17. " │",
  18. " ┘"
  19. },
  20. // 2
  21. {
  22. "┌─┐",
  23. "┌─┘",
  24. "└─┘"
  25. },
  26. // 3
  27. {
  28. "┌─┐",
  29. " ─┤",
  30. "└─┘"
  31. },
  32. // 4
  33. {
  34. "┌ ┐",
  35. "└─┤",
  36. " ┘"
  37. },
  38. // 5
  39. {
  40. "┌─┐",
  41. "└─┐",
  42. "└─┘"
  43. },
  44. // 6
  45. {
  46. "┌─┐",
  47. "├─┐",
  48. "└─┘"
  49. },
  50. // 7
  51. {
  52. "┌─┐",
  53. " ┤",
  54. " ┘"
  55. },
  56. // 8
  57. {
  58. "┌─┐",
  59. "├─┤",
  60. "└─┘"
  61. },
  62. // 9
  63. {
  64. "┌─┐",
  65. "└─┤",
  66. "└─┘"
  67. },
  68. // : (разделитель)
  69. {
  70. " ┌┐ ",
  71. " ├┤ ",
  72. " └┘ "
  73. }
  74. };
  75. // Пустой символ для некорректных входных данных
  76. static const char* empty_char[3] = {
  77. " ",
  78. " ",
  79. " "
  80. };
  81. // Функция для получения псевдографического символа по значению
  82. const char** get_pseudographic_char_3(char c) {
  83. if (c >= '0' && c <= '9') {
  84. return font_3[c - '0'];
  85. } else if (c == ':') {
  86. return font_3[10];
  87. }
  88. return empty_char;
  89. }
  90. #endif