mirror of
https://github.com/ryanoasis/nerd-fonts.git
synced 2024-09-19 09:51:48 +02:00
font-patcher: Limit vertical overlap
[why] The vertical overlap has never been a problem (as far as I know). It is maybe good to have some overlap for the terminal emulators that support vertical overlap. On terminals that truncate at the nominal cell border too much overlap looks bad, i.e. the glyphs 'distorted'. If we ever increase the overlap it is most likely be meant to be the left-right overlap. Note that the glyphs are usually valign='c' and the overlap is distributed half top and half bottom. There are no other valign values implemented (just 'not align' which is ... most likely bad). [note] Originally this has been part of commit fecda6a of #780. [note2] Originally this has been part of PR #967. Although that had a bug 😬 It used max() instead of min() (T_T) Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de> f
This commit is contained in:
parent
1637ef7ff2
commit
95bdc420da
1 changed files with 3 additions and 1 deletions
|
@ -676,6 +676,7 @@ class font_patcher:
|
||||||
def setup_patch_set(self):
|
def setup_patch_set(self):
|
||||||
""" Creates list of dicts to with instructions on copying glyphs from each symbol font into self.sourceFont """
|
""" Creates list of dicts to with instructions on copying glyphs from each symbol font into self.sourceFont """
|
||||||
# Supported params: overlap | careful
|
# Supported params: overlap | careful
|
||||||
|
# Overlap value is used horizontally but vertically limited to 0.01
|
||||||
# Powerline dividers
|
# Powerline dividers
|
||||||
SYM_ATTR_POWERLINE = {
|
SYM_ATTR_POWERLINE = {
|
||||||
'default': {'align': 'c', 'valign': 'c', 'stretch': 'pa', 'params': {}},
|
'default': {'align': 'c', 'valign': 'c', 'stretch': 'pa', 'params': {}},
|
||||||
|
@ -1118,7 +1119,8 @@ class font_patcher:
|
||||||
overlap = sym_attr['params'].get('overlap')
|
overlap = sym_attr['params'].get('overlap')
|
||||||
if overlap:
|
if overlap:
|
||||||
scale_ratio_x *= 1.0 + (self.font_dim['width'] / (sym_dim['width'] * scale_ratio_x)) * overlap
|
scale_ratio_x *= 1.0 + (self.font_dim['width'] / (sym_dim['width'] * scale_ratio_x)) * overlap
|
||||||
scale_ratio_y *= 1.0 + (self.font_dim['width'] / (sym_dim['width'] * scale_ratio_y)) * overlap
|
y_overlap = min(0.01, overlap) # never aggressive vertical overlap
|
||||||
|
scale_ratio_y *= 1.0 + (self.font_dim['width'] / (sym_dim['width'] * scale_ratio_y)) * y_overlap
|
||||||
|
|
||||||
# Size in x to size in y ratio limit (to prevent over-wide glyphs)
|
# Size in x to size in y ratio limit (to prevent over-wide glyphs)
|
||||||
xy_ratio_max = sym_attr['params'].get('xy-ratio')
|
xy_ratio_max = sym_attr['params'].get('xy-ratio')
|
||||||
|
|
Loading…
Reference in a new issue