t
This commit is contained in:
55
websocket_server/test_font.py
Normal file
55
websocket_server/test_font.py
Normal file
@@ -0,0 +1,55 @@
|
||||
import os
|
||||
|
||||
FONT_FILE = "/Users/jeremygan/Desktop/python_dev/epaper2/websocket_server/GB2312-16.bin"
|
||||
|
||||
def test_font():
|
||||
if not os.path.exists(FONT_FILE):
|
||||
print(f"Error: File not found at {FONT_FILE}")
|
||||
return
|
||||
|
||||
file_size = os.path.getsize(FONT_FILE)
|
||||
print(f"Font file size: {file_size} bytes")
|
||||
|
||||
# Expected size for GB2312-16 (94x94 chars * 32 bytes)
|
||||
expected_size = 94 * 94 * 32
|
||||
print(f"Expected size: {expected_size} bytes")
|
||||
|
||||
if file_size != expected_size:
|
||||
print(f"Warning: File size mismatch! (Diff: {file_size - expected_size})")
|
||||
|
||||
# Try to render '中' (0xD6D0)
|
||||
# Area: 0xD6 - 0xA0 = 54
|
||||
# Index: 0xD0 - 0xA0 = 48
|
||||
area = 0xD6 - 0xA0
|
||||
index = 0xD0 - 0xA0
|
||||
offset = ((area - 1) * 94 + (index - 1)) * 32
|
||||
|
||||
print(f"Testing character '中' (0xD6D0)")
|
||||
print(f"Area: {area}, Index: {index}, Offset: {offset}")
|
||||
|
||||
with open(FONT_FILE, "rb") as f:
|
||||
f.seek(offset)
|
||||
data = f.read(32)
|
||||
|
||||
if len(data) != 32:
|
||||
print("Error: Could not read 32 bytes")
|
||||
return
|
||||
|
||||
print("Bitmap data:")
|
||||
for i in range(16):
|
||||
# Each row is 2 bytes (16 bits)
|
||||
byte1 = data[i*2]
|
||||
byte2 = data[i*2+1]
|
||||
|
||||
# Print as bits
|
||||
line = ""
|
||||
for b in range(8):
|
||||
if (byte1 >> (7-b)) & 1: line += "##"
|
||||
else: line += ".."
|
||||
for b in range(8):
|
||||
if (byte2 >> (7-b)) & 1: line += "##"
|
||||
else: line += ".."
|
||||
print(line)
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_font()
|
||||
Reference in New Issue
Block a user