From 7e6d85a6b07ccdb270dd8500fef71b97af474c8d Mon Sep 17 00:00:00 2001 From: WahPlus Date: Sat, 25 Jul 2026 20:15:41 +0300 Subject: [PATCH] cerises: Added word wrapping --- cerises.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/cerises.py b/cerises.py index 6a73269..e957ca9 100644 --- a/cerises.py +++ b/cerises.py @@ -1,11 +1,12 @@ # This file is named that because I am eating cherries :3 import json +import textwrap with open("cerisesfonts/h1.json", "r") as file: font_h1 = json.load(file) -def process(text: str) -> str: +def process(text: str, wrap_width: int = None) -> str: lines = text.split("\n") inside_code_block = False for i, line in enumerate(lines): @@ -17,9 +18,14 @@ def process(text: str) -> str: for char in line[2:]: if char in font_h1: char_data = font_h1[char].split("\n") - for i2, data_line in enumerate(final_data): - final_data[i2] = data_line + char_data[i2] + if wrap_width and len(final_data[-2]) + len(char_data[0]) > wrap_width: + final_data.extend(["", ""]) + final_data[-2] = final_data[-2] + char_data[0] + final_data[-1] = final_data[-1] + char_data[1] lines[i] = "\n".join(final_data) + if line[0:2] != "# ": + lines[i] = "\n".join(textwrap.wrap(lines[i], wrap_width, tabsize=2))s + return "\n".join(lines) -# print(process("# Hello Guys 123\nThis is a cool Markdown file. Isn't it so cool?\n```\nThis is a code block\n# This is a code comment, not a heading!\n```")) \ No newline at end of file +print(process("# Hello Guys 123\nThis is a cool Markdown file. Isn't it so cool?\n```\nThis is a code block\n# This is a code comment, not a heading!\n```", wrap_width=16)) \ No newline at end of file