mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-26 18:22:09 +02:00
Use distribute_dots() to even out spacing in underline
This commit is contained in:
@@ -17,7 +17,7 @@ from kitty.fast_data_types import (
|
|||||||
test_render_line, test_shape
|
test_render_line, test_shape
|
||||||
)
|
)
|
||||||
from kitty.fonts.box_drawing import (
|
from kitty.fonts.box_drawing import (
|
||||||
BufType, render_box_char, render_missing_glyph
|
BufType, distribute_dots, render_box_char, render_missing_glyph
|
||||||
)
|
)
|
||||||
from kitty.options.types import Options, defaults
|
from kitty.options.types import Options, defaults
|
||||||
from kitty.typing import CoreTextFont, FontConfigPattern
|
from kitty.typing import CoreTextFont, FontConfigPattern
|
||||||
@@ -280,10 +280,12 @@ def add_curl(buf: CBufType, cell_width: int, position: int, thickness: int, cell
|
|||||||
|
|
||||||
|
|
||||||
def add_dots(buf: CBufType, cell_width: int, position: int, thickness: int, cell_height: int) -> None:
|
def add_dots(buf: CBufType, cell_width: int, position: int, thickness: int, cell_height: int) -> None:
|
||||||
|
spacing, size = distribute_dots(cell_width, cell_width // (2 * thickness))
|
||||||
|
|
||||||
y = 1 + position - thickness // 2
|
y = 1 + position - thickness // 2
|
||||||
for i in range(y, min(y + thickness, cell_height)):
|
for i in range(y, min(y + thickness, cell_height)):
|
||||||
for j in range(0, cell_width, 2 * thickness):
|
for j, s in enumerate(spacing):
|
||||||
buf[cell_width * i + j:cell_width * i + min(j + thickness, cell_width)] = [255] * min(thickness, cell_width - j)
|
buf[cell_width * i + j * size + s: cell_width * i + (j + 1) * size + s] = [255] * size
|
||||||
|
|
||||||
|
|
||||||
def add_dashes(buf: CBufType, cell_width: int, position: int, thickness: int, cell_height: int) -> None:
|
def add_dashes(buf: CBufType, cell_width: int, position: int, thickness: int, cell_height: int) -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user