Release 2026-11-04-r2 · SHA256 020e6812e4542a2a7321566b62ceac1104f9fd6033af59220b7ab69fa54885f6 · Click a line number for a direct link.
1"""Deterministic compact 3x7 HUD glyphs, preserving both native speed units."""2FONT_BASE=0x2600003FONT_END=FONT_BASE+1920004GLYPHS={5 ' ':['000']*7,6 '0':['111','101','101','101','101','101','111'],7 '1':['010','110','010','010','010','010','111'],8 '2':['111','001','001','111','100','100','111'],9 '3':['111','001','001','111','001','001','111'],10 '4':['101','101','101','111','001','001','001'],11 '5':['111','100','100','111','001','001','111'],12 '6':['111','100','100','111','101','101','111'],13 '7':['111','001','001','010','010','010','010'],14 '8':['111','101','101','111','101','101','111'],15 '9':['111','101','101','111','001','001','111'],16 'K':['101','101','110','100','110','101','101'],17 'M':['101','111','111','101','101','101','101'],18 'H':['101','101','101','111','101','101','101'],19 'P':['110','101','101','110','100','100','100'],20}21def tiles(text):22 assert len(text)==623 pixels=[[4]*24 for _ in range(8)]24 for n,c in enumerate(text):25 for y,line in enumerate(GLYPHS[c]):26 for x,b in enumerate(line):27 if b=='1':pixels[y][4*n+x]=328 result=bytearray()29 for col in range(3):30 for row in pixels:31 line=row[8*col:8*col+8]32 result.extend((line[i]<<4)|line[i+1] for i in range(0,8,2))33 return bytes(result)34def install(data,patch):35 bank=b''.join(tiles(f'{v:3d}{unit}') for unit in ['KMH','MPH'] for v in range(1000))36 assert len(bank)==19200037 patch(FONT_BASE,b'\xff'*len(bank),bank)38