• sales

    +86-0755-88291180

English Character Display Principle

let's learn how ASCII codes are displayed. The following takes the STM32 program of the 2.13-inch e-Paper HAT as an example to explain. To display characters, you must need fonts first. The files of the Fonts directory in the sample program correspond to different fonts. Open the file and you can see a bunch of data.



Each font has a structure that stores information about the font respectively. The structure includes an array pointer, font width, and font height.



The above fonts are copied from the stm32 official sample program. It is an ASCII character. Now let's explain how we make the font. The picture below is the font modulo of the "A" of Font8, we can use the font modulo software to get the data of the A character.



The font data can be got from the font modulo software which extracts the modulo of the font horizontally and vertically and displays each pixel with an array. For instance, if you want to display the "A" character, you can find the data of the "A" character and then display the font modulo point by point.



One thing to note here is the red box, the font array is stored in ASCII order, the first character is a space " ", and the data size of each character is the same. So subtract the ASCII code of the space bar from the ASCII code of A to find the starting position of the data for the character "A".


String display is to display each character.

TAG: Magnetic Encoder Servo Motor 45KG.CM 24V 360° RS485 High Precision And Large Torque Raspberry Pi PCM5122 I2S DAC HIFI Sound Card DAC Audio expansion Board Free-Driver For PI5/PI4/Zero Raspberry Pi 1.54inch OLED EyeLink-RC-S1 Industrial Edition 5.5 inch Touchscreen Camera R1M Card Recording Flight Controller FPV Drone ground station image transmission remote raw display ESP32 desktop trinket E-Paper LuckFox Pico User Guide BG95-M3-Zero QuecPython EVB development support LTE/EGPRS and GNSS Install Espressif IDF Plugin Tutorial User Guide Raspberry Pi Pico 2 RP2350B 3.49-inch capacitive TouchCcree 3.49inch LCD display development board 172×640 800x480 Raspberry Pi 4 Sound Card MEGA2560 R3 Jetson Nano Expansion Board Industrial Isolated RS485 TO ETH (C) RJ45 Converter Wall/Rail-Mount For Modbus Raspberry Pi 12.3 inch HDMI LCD Captive TouchScreen Display 1920x720 For Jetson Series/Computer PC Raspberry Pi 5 PCIe to SSD Raspberry Pi UGV Rover ROS2 PT AI OpenCV Robot Car MediaPipe ESP32 S3 Development Board 2.41 inch AMOLED Display 600x450 TouchScreen For Arduino LVGL With SD-Port/ QMI8658C 6-Axis Sensor