UP 字库生成脚本

This commit is contained in:
JiXieShi
2024-06-24 22:58:18 +08:00
parent 790d26fbaa
commit dd27c265da
10 changed files with 929 additions and 32 deletions

View File

@@ -18,6 +18,50 @@ def generate_chinese_struct(char_code, font, size):
return result
# from bitarray import bitarray
# # from PIL import Image, ImageDraw
# # from bitarray import bitarray
# def generate_chinese_struct(char_code, font, size):
# height=(size[1] + 7) // 8 * 8
# wight=(size[0] + 7) // 8 * 8
# image = Image.new('1', size, 1)
# draw = ImageDraw.Draw(image)
# draw.text((0, -1), char_code, font=font, fill=0)
# image.show()
# bitmap = bitarray()
# for w in range(size[1]):
# for h in range(size[0]):
# # if h > size[1] or w > size[0]:
# # bitmap.append(False)
# # else:
# if image.getpixel((w, h)) == 0:
# bitmap.append(True)
# print('■', end=' ')
# else:
# bitmap.append(False)
# print('0', end=' ')
# print()
# result = np.zeros(size[0] * size[1] // 8, dtype=np.uint8)
# # for i in range(height):
# # for j in range(wight // 8):
# # for k in range(8):
# # if bitmap[j * 8 + k, i]==1:
# # result[j * height + i] |= (1 << k)
# for h in range(height):
# for w in range(wight):
# if bitmap[w+h]:
# #前景字符(即用来表示汉字笔画的输出字符)
# print('■', end=' ')
# else:
#
# # 背景字符(即用来表示背景的输出字符)
# print('0', end=' ')
# print()
# return result
def generate_chinese_array(input_str, font_str, size):
font = pilfont.truetype(font_str, size=size[1])
chinese_array = []
@@ -64,7 +108,7 @@ def generate_and_write_chinese_array_output():
# simsun: 宋体
# kaiti: 楷体
# size = (20, 20)
# size = (20, 20)
# size = (12, 12)
size = (16, 16)
chinese_array = generate_chinese_array("字库生成测试", 'simsun', size)