dotfiles/dot_config/wezterm/fonts.lua

87 lines
1.3 KiB
Lua
Raw Normal View History

local wezterm = require("wezterm")
local M = {}
M.get_font = function(name)
-- fonts I like, with the settings I prefer
-- kept seperately from the rest of the config so that I can easily change them
local fonts = {
berkeley = {
font = {
family = "Berkeley Mono",
weight = "Bold",
},
size = 16,
},
comic = {
font = "Comic Code Ligatures",
size = 18,
},
fantasque = {
font = "Fantasque Sans Mono",
size = 20,
},
victor = {
font = {
family = "Victor Mono",
weight = "DemiBold",
harfbuzz_features = { "ss02=1" },
},
size = 18,
},
}
return {
font = wezterm.font_with_fallback({
fonts[name].font,
"Apple Color Emoji",
}),
size = fonts[name].size,
}
end
-- superscript/subscript
M.numberStyle = function(number, script)
local scripts = {
superscript = {
"",
"¹",
"²",
"³",
"",
"",
"",
"",
"",
"",
},
subscript = {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
},
}
local numbers = scripts[script]
local number_string = tostring(number)
local result = ""
for i = 1, #number_string do
local char = number_string:sub(i, i)
local num = tonumber(char)
if num then
result = result .. numbers[num + 1]
else
result = result .. char
end
end
return result
end
return M