1 /* 2 * Copyright (c) 2006-2021, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 */ 9 10 #ifndef __FONT_H 11 #define __FONT_H 12 13 /* Font definition */ 14 #define ________ 0x00 15 #define _______X 0x01 16 #define ______X_ 0x02 17 #define ______XX 0x03 18 #define _____X__ 0x04 19 #define _____X_X 0x05 20 #define _____XX_ 0x06 21 #define _____XXX 0x07 22 #define ____X___ 0x08 23 #define ____X__X 0x09 24 #define ____X_X_ 0x0a 25 #define ____X_XX 0x0b 26 #define ____XX__ 0x0c 27 #define ____XX_X 0x0d 28 #define ____XXX_ 0x0e 29 #define ____XXXX 0x0f 30 #define ___X____ 0x10 31 #define ___X___X 0x11 32 #define ___X__X_ 0x12 33 #define ___X__XX 0x13 34 #define ___X_X__ 0x14 35 #define ___X_X_X 0x15 36 #define ___X_XX_ 0x16 37 #define ___X_XXX 0x17 38 #define ___XX___ 0x18 39 #define ___XX__X 0x19 40 #define ___XX_X_ 0x1a 41 #define ___XX_XX 0x1b 42 #define ___XXX__ 0x1c 43 #define ___XXX_X 0x1d 44 #define ___XXXX_ 0x1e 45 #define ___XXXXX 0x1f 46 #define __X_____ 0x20 47 #define __X____X 0x21 48 #define __X___X_ 0x22 49 #define __X___XX 0x23 50 #define __X__X__ 0x24 51 #define __X__X_X 0x25 52 #define __X__XX_ 0x26 53 #define __X__XXX 0x27 54 #define __X_X___ 0x28 55 #define __X_X__X 0x29 56 #define __X_X_X_ 0x2a 57 #define __X_X_XX 0x2b 58 #define __X_XX__ 0x2c 59 #define __X_XX_X 0x2d 60 #define __X_XXX_ 0x2e 61 #define __X_XXXX 0x2f 62 #define __XX____ 0x30 63 #define __XX___X 0x31 64 #define __XX__X_ 0x32 65 #define __XX__XX 0x33 66 #define __XX_X__ 0x34 67 #define __XX_X_X 0x35 68 #define __XX_XX_ 0x36 69 #define __XX_XXX 0x37 70 #define __XXX___ 0x38 71 #define __XXX__X 0x39 72 #define __XXX_X_ 0x3a 73 #define __XXX_XX 0x3b 74 #define __XXXX__ 0x3c 75 #define __XXXX_X 0x3d 76 #define __XXXXX_ 0x3e 77 #define __XXXXXX 0x3f 78 #define _X______ 0x40 79 #define _X_____X 0x41 80 #define _X____X_ 0x42 81 #define _X____XX 0x43 82 #define _X___X__ 0x44 83 #define _X___X_X 0x45 84 #define _X___XX_ 0x46 85 #define _X___XXX 0x47 86 #define _X__X___ 0x48 87 #define _X__X__X 0x49 88 #define _X__X_X_ 0x4a 89 #define _X__X_XX 0x4b 90 #define _X__XX__ 0x4c 91 #define _X__XX_X 0x4d 92 #define _X__XXX_ 0x4e 93 #define _X__XXXX 0x4f 94 #define _X_X____ 0x50 95 #define _X_X___X 0x51 96 #define _X_X__X_ 0x52 97 #define _X_X__XX 0x53 98 #define _X_X_X__ 0x54 99 #define _X_X_X_X 0x55 100 #define _X_X_XX_ 0x56 101 #define _X_X_XXX 0x57 102 #define _X_XX___ 0x58 103 #define _X_XX__X 0x59 104 #define _X_XX_X_ 0x5a 105 #define _X_XX_XX 0x5b 106 #define _X_XXX__ 0x5c 107 #define _X_XXX_X 0x5d 108 #define _X_XXXX_ 0x5e 109 #define _X_XXXXX 0x5f 110 #define _XX_____ 0x60 111 #define _XX____X 0x61 112 #define _XX___X_ 0x62 113 #define _XX___XX 0x63 114 #define _XX__X__ 0x64 115 #define _XX__X_X 0x65 116 #define _XX__XX_ 0x66 117 #define _XX__XXX 0x67 118 #define _XX_X___ 0x68 119 #define _XX_X__X 0x69 120 #define _XX_X_X_ 0x6a 121 #define _XX_X_XX 0x6b 122 #define _XX_XX__ 0x6c 123 #define _XX_XX_X 0x6d 124 #define _XX_XXX_ 0x6e 125 #define _XX_XXXX 0x6f 126 #define _XXX____ 0x70 127 #define _XXX___X 0x71 128 #define _XXX__X_ 0x72 129 #define _XXX__XX 0x73 130 #define _XXX_X__ 0x74 131 #define _XXX_X_X 0x75 132 #define _XXX_XX_ 0x76 133 #define _XXX_XXX 0x77 134 #define _XXXX___ 0x78 135 #define _XXXX__X 0x79 136 #define _XXXX_X_ 0x7a 137 #define _XXXX_XX 0x7b 138 #define _XXXXX__ 0x7c 139 #define _XXXXX_X 0x7d 140 #define _XXXXXX_ 0x7e 141 #define _XXXXXXX 0x7f 142 #define X_______ 0x80 143 #define X______X 0x81 144 #define X_____X_ 0x82 145 #define X_____XX 0x83 146 #define X____X__ 0x84 147 #define X____X_X 0x85 148 #define X____XX_ 0x86 149 #define X____XXX 0x87 150 #define X___X___ 0x88 151 #define X___X__X 0x89 152 #define X___X_X_ 0x8a 153 #define X___X_XX 0x8b 154 #define X___XX__ 0x8c 155 #define X___XX_X 0x8d 156 #define X___XXX_ 0x8e 157 #define X___XXXX 0x8f 158 #define X__X____ 0x90 159 #define X__X___X 0x91 160 #define X__X__X_ 0x92 161 #define X__X__XX 0x93 162 #define X__X_X__ 0x94 163 #define X__X_X_X 0x95 164 #define X__X_XX_ 0x96 165 #define X__X_XXX 0x97 166 #define X__XX___ 0x98 167 #define X__XX__X 0x99 168 #define X__XX_X_ 0x9a 169 #define X__XX_XX 0x9b 170 #define X__XXX__ 0x9c 171 #define X__XXX_X 0x9d 172 #define X__XXXX_ 0x9e 173 #define X__XXXXX 0x9f 174 #define X_X_____ 0xa0 175 #define X_X____X 0xa1 176 #define X_X___X_ 0xa2 177 #define X_X___XX 0xa3 178 #define X_X__X__ 0xa4 179 #define X_X__X_X 0xa5 180 #define X_X__XX_ 0xa6 181 #define X_X__XXX 0xa7 182 #define X_X_X___ 0xa8 183 #define X_X_X__X 0xa9 184 #define X_X_X_X_ 0xaa 185 #define X_X_X_XX 0xab 186 #define X_X_XX__ 0xac 187 #define X_X_XX_X 0xad 188 #define X_X_XXX_ 0xae 189 #define X_X_XXXX 0xaf 190 #define X_XX____ 0xb0 191 #define X_XX___X 0xb1 192 #define X_XX__X_ 0xb2 193 #define X_XX__XX 0xb3 194 #define X_XX_X__ 0xb4 195 #define X_XX_X_X 0xb5 196 #define X_XX_XX_ 0xb6 197 #define X_XX_XXX 0xb7 198 #define X_XXX___ 0xb8 199 #define X_XXX__X 0xb9 200 #define X_XXX_X_ 0xba 201 #define X_XXX_XX 0xbb 202 #define X_XXXX__ 0xbc 203 #define X_XXXX_X 0xbd 204 #define X_XXXXX_ 0xbe 205 #define X_XXXXXX 0xbf 206 #define XX______ 0xc0 207 #define XX_____X 0xc1 208 #define XX____X_ 0xc2 209 #define XX____XX 0xc3 210 #define XX___X__ 0xc4 211 #define XX___X_X 0xc5 212 #define XX___XX_ 0xc6 213 #define XX___XXX 0xc7 214 #define XX__X___ 0xc8 215 #define XX__X__X 0xc9 216 #define XX__X_X_ 0xca 217 #define XX__X_XX 0xcb 218 #define XX__XX__ 0xcc 219 #define XX__XX_X 0xcd 220 #define XX__XXX_ 0xce 221 #define XX__XXXX 0xcf 222 #define XX_X____ 0xd0 223 #define XX_X___X 0xd1 224 #define XX_X__X_ 0xd2 225 #define XX_X__XX 0xd3 226 #define XX_X_X__ 0xd4 227 #define XX_X_X_X 0xd5 228 #define XX_X_XX_ 0xd6 229 #define XX_X_XXX 0xd7 230 #define XX_XX___ 0xd8 231 #define XX_XX__X 0xd9 232 #define XX_XX_X_ 0xda 233 #define XX_XX_XX 0xdb 234 #define XX_XXX__ 0xdc 235 #define XX_XXX_X 0xdd 236 #define XX_XXXX_ 0xde 237 #define XX_XXXXX 0xdf 238 #define XXX_____ 0xe0 239 #define XXX____X 0xe1 240 #define XXX___X_ 0xe2 241 #define XXX___XX 0xe3 242 #define XXX__X__ 0xe4 243 #define XXX__X_X 0xe5 244 #define XXX__XX_ 0xe6 245 #define XXX__XXX 0xe7 246 #define XXX_X___ 0xe8 247 #define XXX_X__X 0xe9 248 #define XXX_X_X_ 0xea 249 #define XXX_X_XX 0xeb 250 #define XXX_XX__ 0xec 251 #define XXX_XX_X 0xed 252 #define XXX_XXX_ 0xee 253 #define XXX_XXXX 0xef 254 #define XXXX____ 0xf0 255 #define XXXX___X 0xf1 256 #define XXXX__X_ 0xf2 257 #define XXXX__XX 0xf3 258 #define XXXX_X__ 0xf4 259 #define XXXX_X_X 0xf5 260 #define XXXX_XX_ 0xf6 261 #define XXXX_XXX 0xf7 262 #define XXXXX___ 0xf8 263 #define XXXXX__X 0xf9 264 #define XXXXX_X_ 0xfa 265 #define XXXXX_XX 0xfb 266 #define XXXXXX__ 0xfc 267 #define XXXXXX_X 0xfd 268 #define XXXXXXX_ 0xfe 269 #define XXXXXXXX 0xff 270 271 272 273 274 const unsigned char FONTTYPE8_8[][8] = { 275 /* blank */ 276 { 277 ________, 278 ________, 279 ________, 280 ________, 281 ________, 282 ________, 283 ________, 284 ________} 285 286 /* 0 */ 287 ,{ 288 __XXX___, 289 _XX_XX__, 290 XX___XX_, 291 XX___XX_, 292 XX___XX_, 293 _XX_XX__, 294 __XXX___, 295 ________} 296 297 /* 1 */ 298 ,{ 299 ___XX___, 300 __XXX___, 301 ___XX___, 302 ___XX___, 303 ___XX___, 304 ___XX___, 305 _XXXXXX_, 306 ________} 307 308 /* 2 */ 309 ,{ 310 _XXXXX__, 311 XX___XX_, 312 _____XX_, 313 ___XXX__, 314 __XX____, 315 _XX__XX_, 316 XXXXXXX_, 317 ________} 318 319 /* 3 */ 320 ,{ 321 _XXXXX__, 322 XX___XX_, 323 _____XX_, 324 __XXXX__, 325 _____XX_, 326 XX___XX_, 327 _XXXXX__, 328 ________} 329 330 /* 4 */ 331 ,{ 332 ___XXX__, 333 __XXXX__, 334 _XX_XX__, 335 XX__XX__, 336 XXXXXXX_, 337 ____XX__, 338 ___XXXX_, 339 ________} 340 341 /* 5 */ 342 ,{ 343 XXXXXXX_, 344 XX______, 345 XX______, 346 XXXXXX__, 347 _____XX_, 348 XX___XX_, 349 _XXXXX__, 350 ________} 351 352 /* 6 */ 353 ,{ 354 __XXX___, 355 _XX_____, 356 XX______, 357 XXXXXX__, 358 XX___XX_, 359 XX___XX_, 360 _XXXXX__, 361 ________} 362 363 /* 7 */ 364 ,{ 365 XXXXXXX_, 366 XX___XX_, 367 ____XX__, 368 ___XX___, 369 __XX____, 370 __XX____, 371 __XX____, 372 ________} 373 374 /* 8 */ 375 ,{ 376 _XXXXX__, 377 XX___XX_, 378 XX___XX_, 379 _XXXXX__, 380 XX___XX_, 381 XX___XX_, 382 _XXXXX__, 383 ________} 384 385 /* 9 */ 386 ,{ 387 _XXXXX__, 388 XX___XX_, 389 XX___XX_, 390 _XXXXXX_, 391 _____XX_, 392 ____XX__, 393 _XXXX___, 394 ________} 395 396 /* A */ 397 ,{ 398 __XXX___, 399 _XX_XX__, 400 XX___XX_, 401 XXXXXXX_, 402 XX___XX_, 403 XX___XX_, 404 XX___XX_, 405 ________} 406 407 /* B */ 408 ,{ 409 XXXXXX__, 410 _XX__XX_, 411 _XX__XX_, 412 _XXXXX__, 413 _XX__XX_, 414 _XX__XX_, 415 XXXXXX__, 416 ________} 417 418 /* C */ 419 ,{ 420 __XXXX__, 421 _XX__XX_, 422 XX______, 423 XX______, 424 XX______, 425 _XX__XX_, 426 __XXXX__, 427 ________} 428 429 /* D */ 430 ,{ 431 XXXXX___, 432 _XX_XX__, 433 _XX__XX_, 434 _XX__XX_, 435 _XX__XX_, 436 _XX_XX__, 437 XXXXX___, 438 ________} 439 440 /* E */ 441 ,{ 442 XXXXXXX_, 443 _XX___X_, 444 _XX_X___, 445 _XXXX___, 446 _XX_X___, 447 _XX___X_, 448 XXXXXXX_, 449 ________} 450 451 /* F */ 452 ,{ 453 XXXXXXX_, 454 _XX___X_, 455 _XX_X___, 456 _XXXX___, 457 _XX_X___, 458 _XX_____, 459 XXXX____, 460 ________} 461 462 /* G */ 463 ,{ 464 __XXXX__, 465 _XX__XX_, 466 XX______, 467 XX______, 468 XX__XXX_, 469 _XX__XX_, 470 __XXX_X_, 471 ________} 472 473 /* H */ 474 ,{ 475 XX___XX_, 476 XX___XX_, 477 XX___XX_, 478 XXXXXXX_, 479 XX___XX_, 480 XX___XX_, 481 XX___XX_, 482 ________} 483 484 /* I */ 485 ,{ 486 __XXXX__, 487 ___XX___, 488 ___XX___, 489 ___XX___, 490 ___XX___, 491 ___XX___, 492 __XXXX__, 493 ________} 494 495 /* J */ 496 ,{ 497 ___XXXX_, 498 ____XX__, 499 ____XX__, 500 ____XX__, 501 XX__XX__, 502 XX__XX__, 503 _XXXX___, 504 ________} 505 506 /* K */ 507 ,{ 508 XXX__XX_, 509 _XX__XX_, 510 _XX_XX__, 511 _XXXX___, 512 _XX_XX__, 513 _XX__XX_, 514 XXX__XX_, 515 ________} 516 517 /* L */ 518 ,{ 519 XXXX____, 520 _XX_____, 521 _XX_____, 522 _XX_____, 523 _XX___X_, 524 _XX__XX_, 525 XXXXXXX_, 526 ________} 527 528 /* M */ 529 ,{ 530 XX___XX_, 531 XXX_XXX_, 532 XXXXXXX_, 533 XXXXXXX_, 534 XX_X_XX_, 535 XX___XX_, 536 XX___XX_, 537 ________} 538 539 /* N */ 540 ,{ 541 XX___XX_, 542 XXX__XX_, 543 XXXX_XX_, 544 XX_XXXX_, 545 XX__XXX_, 546 XX___XX_, 547 XX___XX_, 548 ________} 549 550 /* O */ 551 ,{ 552 _XXXXX__, 553 XX___XX_, 554 XX___XX_, 555 XX___XX_, 556 XX___XX_, 557 XX___XX_, 558 _XXXXX__, 559 ________} 560 561 /* P */ 562 ,{ 563 XXXXXX__, 564 _XX__XX_, 565 _XX__XX_, 566 _XXXXX__, 567 _XX_____, 568 _XX_____, 569 XXXX____, 570 ________} 571 572 /* Q */ 573 ,{ 574 _XXXXX__, 575 XX___XX_, 576 XX___XX_, 577 XX___XX_, 578 XX___XX_, 579 XX__XXX_, 580 _XXXXX__, 581 ____XXX_} 582 583 /* R */ 584 ,{ 585 XXXXXX__, 586 _XX__XX_, 587 _XX__XX_, 588 _XXXXX__, 589 _XX_XX__, 590 _XX__XX_, 591 XXX__XX_, 592 ________} 593 594 /* S */ 595 ,{ 596 __XXXX__, 597 _XX__XX_, 598 __XX____, 599 ___XX___, 600 ____XX__, 601 _XX__XX_, 602 __XXXX__, 603 ________} 604 605 /* T */ 606 ,{ 607 _XXXXXX_, 608 _XXXXXX_, 609 _X_XX_X_, 610 ___XX___, 611 ___XX___, 612 ___XX___, 613 __XXXX__, 614 ________} 615 616 /* U */ 617 ,{ 618 XX___XX_, 619 XX___XX_, 620 XX___XX_, 621 XX___XX_, 622 XX___XX_, 623 XX___XX_, 624 _XXXXX__, 625 ________} 626 627 /* V */ 628 ,{ 629 XX___XX_, 630 XX___XX_, 631 XX___XX_, 632 XX___XX_, 633 XX___XX_, 634 _XX_XX__, 635 __XXX___, 636 ________} 637 638 /* W */ 639 ,{ 640 XX___XX_, 641 XX___XX_, 642 XX___XX_, 643 XX_X_XX_, 644 XX_X_XX_, 645 XXXXXXX_, 646 _XX_XX__, 647 ________} 648 649 /* X */ 650 ,{ 651 XX___XX_, 652 XX___XX_, 653 _XX_XX__, 654 __XXX___, 655 _XX_XX__, 656 XX___XX_, 657 XX___XX_, 658 ________} 659 660 /* Y */ 661 ,{ 662 _XX__XX_, 663 _XX__XX_, 664 _XX__XX_, 665 __XXXX__, 666 ___XX___, 667 ___XX___, 668 __XXXX__, 669 ________} 670 671 /* Z */ 672 ,{ 673 XXXXXXX_, 674 XX___XX_, 675 X___XX__, 676 ___XX___, 677 __XX__X_, 678 _XX__XX_, 679 XXXXXXX_, 680 ________} 681 682 /* a */ 683 ,{ 684 ________, 685 ________, 686 _XXXX___, 687 ____XX__, 688 _XXXXX__, 689 XX__XX__, 690 _XXX_XX_, 691 ________} 692 693 /* b */ 694 ,{ 695 XXX_____, 696 _XX_____, 697 _XXXXX__, 698 _XX__XX_, 699 _XX__XX_, 700 _XX__XX_, 701 XX_XXX__, 702 ________} 703 704 /* c */ 705 ,{ 706 ________, 707 ________, 708 _XXXXX__, 709 XX___XX_, 710 XX______, 711 XX___XX_, 712 _XXXXX__, 713 ________} 714 715 /* d */ 716 ,{ 717 ___XXX__, 718 ____XX__, 719 _XXXXX__, 720 XX__XX__, 721 XX__XX__, 722 XX__XX__, 723 _XXX_XX_, 724 ________} 725 726 /* e */ 727 ,{ 728 ________, 729 ________, 730 _XXXXX__, 731 XX___XX_, 732 XXXXXXX_, 733 XX______, 734 _XXXXX__, 735 ________} 736 737 /* f */ 738 ,{ 739 __XXXX__, 740 _XX__XX_, 741 _XX_____, 742 XXXXX___, 743 _XX_____, 744 _XX_____, 745 XXXX____, 746 ________} 747 748 /* g */ 749 ,{ 750 ________, 751 ________, 752 _XXX_XX_, 753 XX__XX__, 754 XX__XX__, 755 _XXXXX__, 756 ____XX__, 757 XXXXX___} 758 759 /* h */ 760 ,{ 761 XXX_____, 762 _XX_____, 763 _XX_XX__, 764 _XXX_XX_, 765 _XX__XX_, 766 _XX__XX_, 767 XXX__XX_, 768 ________} 769 770 /* i */ 771 ,{ 772 ___XX___, 773 ________, 774 __XXX___, 775 ___XX___, 776 ___XX___, 777 ___XX___, 778 __XXXX__, 779 ________} 780 781 /* j */ 782 ,{ 783 _____XX_, 784 ________, 785 _____XX_, 786 _____XX_, 787 _____XX_, 788 _XX__XX_, 789 _XX__XX_, 790 __XXXX__} 791 792 /* k */ 793 ,{ 794 XXX_____, 795 _XX_____, 796 _XX__XX_, 797 _XX_XX__, 798 _XXXX___, 799 _XX_XX__, 800 XXX__XX_, 801 ________} 802 803 /* l */ 804 ,{ 805 __XXX___, 806 ___XX___, 807 ___XX___, 808 ___XX___, 809 ___XX___, 810 ___XX___, 811 __XXXX__, 812 ________} 813 814 /* m */ 815 ,{ 816 ________, 817 ________, 818 XXX_XX__, 819 XXXXXXX_, 820 XX_X_XX_, 821 XX_X_XX_, 822 XX_X_XX_, 823 ________} 824 825 /* n */ 826 ,{ 827 ________, 828 ________, 829 XX_XXX__, 830 _XX__XX_, 831 _XX__XX_, 832 _XX__XX_, 833 _XX__XX_, 834 ________} 835 836 /* o */ 837 ,{ 838 ________, 839 ________, 840 _XXXXX__, 841 XX___XX_, 842 XX___XX_, 843 XX___XX_, 844 _XXXXX__, 845 ________} 846 847 /* p */ 848 ,{ 849 ________, 850 ________, 851 XX_XXX__, 852 _XX__XX_, 853 _XX__XX_, 854 _XXXXX__, 855 _XX_____, 856 XXXX____} 857 858 /* q */ 859 ,{ 860 ________, 861 ________, 862 _XXX_XX_, 863 XX__XX__, 864 XX__XX__, 865 _XXXXX__, 866 ____XX__, 867 ___XXXX_} 868 869 /* r */ 870 ,{ 871 ________, 872 ________, 873 XX_XXX__, 874 _XXX_XX_, 875 _XX_____, 876 _XX_____, 877 XXXX____, 878 ________} 879 880 /* s */ 881 ,{ 882 ________, 883 ________, 884 _XXXXXX_, 885 XX______, 886 _XXXXX__, 887 _____XX_, 888 XXXXXX__, 889 ________} 890 891 /* t */ 892 ,{ 893 __XX____, 894 __XX____, 895 XXXXXX__, 896 __XX____, 897 __XX____, 898 __XX_XX_, 899 ___XXX__, 900 ________} 901 902 /* u */ 903 ,{ 904 ________, 905 ________, 906 XX__XX__, 907 XX__XX__, 908 XX__XX__, 909 XX__XX__, 910 _XXX_XX_, 911 ________} 912 913 /* v */ 914 ,{ 915 ________, 916 ________, 917 XX___XX_, 918 XX___XX_, 919 XX___XX_, 920 _XX_XX__, 921 __XXX___, 922 ________} 923 924 /* w */ 925 ,{ 926 ________, 927 ________, 928 XX___XX_, 929 XX_X_XX_, 930 XX_X_XX_, 931 XXXXXXX_, 932 _XX_XX__, 933 ________} 934 935 /* x */ 936 ,{ 937 ________, 938 ________, 939 XX___XX_, 940 _XX_XX__, 941 __XXX___, 942 _XX_XX__, 943 XX___XX_, 944 ________} 945 946 /* y */ 947 ,{ 948 ________, 949 ________, 950 XX___XX_, 951 XX___XX_, 952 XX___XX_, 953 _XXXXXX_, 954 _____XX_, 955 XXXXXX__} 956 957 /* z */ 958 ,{ 959 ________, 960 ________, 961 _XXXXXX_, 962 _X__XX__, 963 ___XX___, 964 __XX__X_, 965 _XXXXXX_, 966 ________} 967 968 }; 969 970 #endif /* __FONT_H */ 971