Fix definition of `TextBaseline::Middle`

This commit is contained in:
Patrick Walton 2020-04-14 09:45:18 -07:00
parent cdbe2fbb6b
commit 667a6c7c43
1 changed files with 4 additions and 1 deletions

View File

@ -18,6 +18,7 @@ use font_kit::properties::Properties;
use font_kit::source::{Source, SystemSource};
use font_kit::sources::mem::MemSource;
use pathfinder_geometry::transform2d::Transform2F;
use pathfinder_geometry::util;
use pathfinder_geometry::vector::Vector2F;
use pathfinder_renderer::paint::PaintId;
use pathfinder_text::{SceneExt, TextRenderMode};
@ -75,7 +76,9 @@ impl CanvasRenderingContext2D {
match self.current_state.text_baseline {
TextBaseline::Alphabetic => {}
TextBaseline::Top => position.set_y(position.y() + layout.ascent()),
TextBaseline::Middle => position.set_y(position.y() + layout.ascent() * 0.5),
TextBaseline::Middle => {
position.set_y(position.y() + util::lerp(layout.ascent(), layout.descent(), 0.5))
}
TextBaseline::Bottom => position.set_y(position.y() + layout.descent()),
TextBaseline::Ideographic => {
position.set_y(position.y() + layout.ideographic_baseline())