diff --git a/src/config.rs b/src/config.rs index c4f836db..2b46b324 100644 --- a/src/config.rs +++ b/src/config.rs @@ -1163,54 +1163,18 @@ impl Dpi { } } -/// Modifications to font spacing -/// -/// The way Alacritty calculates vertical and horizontal cell sizes may not be -/// ideal for all fonts. This gives the user a way to tweak those values. -#[derive(Debug, Deserialize)] -pub struct FontOffset { - /// Extra horizontal spacing between letters - x: f32, - /// Extra vertical spacing between lines - y: f32, -} - -impl FontOffset { - /// Get letter spacing - #[inline] - pub fn x(&self) -> f32 { - self.x - } - - /// Get line spacing - #[inline] - pub fn y(&self) -> f32 { - self.y - } -} - -impl Default for FontOffset { - fn default() -> FontOffset { - FontOffset { x: 0.0, y: 0.0 } - } -} - -/// Modifications to glyph positions within their cells -/// -/// By default the glyphs are located at the bottom of the cell which can be -/// undesirable. This gives the user a way to shift where the glyphs are -/// displayed in their cells. +/// A delta for a point in a 2 dimensional plane #[derive(Clone, Copy, Debug, Deserialize)] -pub struct GlyphOffset { - /// Horizontal position +pub struct Delta { + /// Horizontal change pub x: f32, - /// Vertical position + /// Vertical change pub y: f32, } -impl Default for GlyphOffset { - fn default() -> GlyphOffset { - GlyphOffset { x: 0.0, y: 0.0 } +impl Default for Delta { + fn default() -> Delta { + Delta { x: 0.0, y: 0.0 } } } @@ -1273,11 +1237,11 @@ pub struct Font { size: Size, /// Extra spacing per character - offset: FontOffset, + offset: Delta, /// Glyph offset within character cell #[serde(default)] - glyph_offset: GlyphOffset, + glyph_offset: Delta, #[serde(default="true_bool")] use_thin_strokes: bool @@ -1316,13 +1280,13 @@ impl Font { /// Get offsets to font metrics #[inline] - pub fn offset(&self) -> &FontOffset { + pub fn offset(&self) -> &Delta { &self.offset } /// Get cell offsets for glyphs #[inline] - pub fn glyph_offset(&self) -> &GlyphOffset { + pub fn glyph_offset(&self) -> &Delta { &self.glyph_offset } } diff --git a/src/display.rs b/src/display.rs index 3d13f465..5f5dd688 100644 --- a/src/display.rs +++ b/src/display.rs @@ -171,8 +171,8 @@ impl Display { // font metrics should be computed before creating the window in the first // place so that a resize is not needed. let metrics = glyph_cache.font_metrics(); - let cell_width = (metrics.average_advance + font.offset().x() as f64) as u32; - let cell_height = (metrics.line_height + font.offset().y() as f64) as u32; + let cell_width = (metrics.average_advance + font.offset().x as f64) as u32; + let cell_height = (metrics.line_height + font.offset().y as f64) as u32; // Resize window to specified dimensions let dimensions = options.dimensions() diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index 2ec196f9..48354018 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -28,7 +28,7 @@ use gl; use index::{Line, Column, RangeInclusive}; use notify::{Watcher as WatcherApi, RecommendedWatcher as Watcher, op}; -use config::{Config, GlyphOffset}; +use config::{Config, Delta}; use term::{self, cell, RenderableCell}; use window::{Size, Pixels}; @@ -156,7 +156,7 @@ pub struct GlyphCache { font_size: font::Size, /// glyph offset - glyph_offset: GlyphOffset, + glyph_offset: Delta, } impl GlyphCache {