mirror of
https://github.com/kovidgoyal/kitty
synced 2026-06-08 22:28:24 +02:00
Handle variable fonts like cascadia code that dont have a postfix variation prefix name for some of their faces
This commit is contained in:
@@ -8,10 +8,18 @@ import unittest
|
||||
from functools import partial
|
||||
|
||||
from kitty.constants import is_macos, read_kitty_resource
|
||||
from kitty.fast_data_types import DECAWM, get_fallback_font, sprite_map_set_layout, sprite_map_set_limits, test_render_line, test_sprite_position_for, wcwidth
|
||||
from kitty.fast_data_types import (
|
||||
DECAWM,
|
||||
get_fallback_font,
|
||||
sprite_map_set_layout,
|
||||
sprite_map_set_limits,
|
||||
test_render_line,
|
||||
test_sprite_position_for,
|
||||
wcwidth,
|
||||
)
|
||||
from kitty.fonts import family_name_to_key
|
||||
from kitty.fonts.box_drawing import box_chars
|
||||
from kitty.fonts.common import all_fonts_map, face_from_descriptor, get_font_files, get_named_style
|
||||
from kitty.fonts.common import FontSpec, all_fonts_map, face_from_descriptor, get_font_files, get_named_style, spec_for_face
|
||||
from kitty.fonts.render import coalesce_symbol_maps, render_string, setup_for_testing, shape_string
|
||||
from kitty.options.types import Options
|
||||
from kitty.options.utils import parse_font_spec
|
||||
@@ -93,6 +101,18 @@ class Selection(BaseTest):
|
||||
d = get_font_files(opts)['medium']
|
||||
face = face_from_descriptor(d)
|
||||
self.ae(get_named_style(face)['name'], 'Black')
|
||||
if has('cascadia code'):
|
||||
opts = Options()
|
||||
opts.font_family = parse_font_spec('family="cascadia code"')
|
||||
opts.italic_font = parse_font_spec('family="cascadia code" variable_name= style="Light Italic"')
|
||||
ff = get_font_files(opts)
|
||||
|
||||
def t(x, **kw):
|
||||
kw['family'] = 'Cascadia Code'
|
||||
face = face_from_descriptor(ff[x])
|
||||
self.ae(FontSpec(**kw).as_setting, spec_for_face('Cascadia Code', face).as_setting)
|
||||
t('medium', variable_name='CascadiaCodeRoman', style='Regular')
|
||||
t('italic', variable_name='', style='Light Italic')
|
||||
|
||||
|
||||
class Rendering(BaseTest):
|
||||
|
||||
Reference in New Issue
Block a user