Fix 1-bit font pixel alignment of last byte

This commit is contained in:
Dave Allie
2025-12-07 12:25:10 +11:00
parent 79294f6b8f
commit 9fa697ae0c
8 changed files with 1013 additions and 1017 deletions

View File

@@ -177,21 +177,17 @@ for i_start, i_end in intervals:
pixelsbw = []
px = 0
pitch = (bitmap.width // 2) + (bitmap.width % 2)
for localY in range(bitmap.rows):
for xx in range(bitmap.width):
for y in range(bitmap.rows):
for x in range(bitmap.width):
px = px << 1
bm = pixels4g[localY * pitch + (xx // 2)]
if (xx & 1) == 0:
if bm & 0xF > 0:
px += 1
else:
if bm & 0xF0 > 0:
px += 1
bm = pixels4g[y * pitch + (x // 2)]
px += 1 if ((x & 1) == 0 and bm & 0xF > 0) or ((x & 1) == 1 and bm & 0xF0 > 0) else 0
if (localY * bitmap.width + xx) % 8 == 7:
if (y * bitmap.width + x) % 8 == 7:
pixelsbw.append(px)
px = 0
if (bitmap.width * bitmap.rows) % 8 != 0:
px = px << (8 - (bitmap.width * bitmap.rows) % 8)
pixelsbw.append(px)