Add initial font metrics and equation rendering.

This commit is contained in:
jmsgrogan 2023-01-25 16:51:36 +00:00
parent c2027801be
commit 5ddd54dd6d
24 changed files with 868 additions and 63 deletions

View file

@ -235,11 +235,9 @@ void SvgPainter::paintText(SvgDocument* document, SceneText* text) const
{
auto svg_text = std::make_unique<SvgTextElement>();
svg_text->setContent(text->getTextData().mContent);
auto loc = text->getTransform().getLocation();
loc.move(text->getTextWidth() / 2.0, text->getTextHeight()/2.0);
svg_text->setLocation(loc);
Point centre(text->getTextWidth() / 2.0, text->getTextHeight() / 2.0);
svg_text->setLocation(centre);
svg_text->setFontFamily(text->getTextData().mFont.getFaceName());
svg_text->setFill(text->getSolidMaterial().getFillColor());
@ -248,9 +246,14 @@ void SvgPainter::paintText(SvgDocument* document, SceneText* text) const
{
svg_text->setFillOpacity(opacity);
}
svg_text->setFontSize(text->getTextData().mFont.getSize());
const auto transform = text->getTransform();
if (!transform.isDefaultTransform())
{
svg_text->addAttribute(toTransform(transform));
}
document->getRoot()->addChild(std::move(svg_text));
}