From 01e0758b6a96890f1ab524b0fb110c9a7d6a32ff Mon Sep 17 00:00:00 2001 From: Dominic Date: Sat, 25 May 2024 13:53:15 +0200 Subject: [PATCH] build question overlay svg --- Cargo.toml | 2 + question.png | Bin 0 -> 107015 bytes src/iotro.rs | 6 +- src/main.rs | 6 +- src/question.rs | 160 ++++++++++++++++++++++++++++++++++++++++++++++++ tmp.sh | 15 +++++ 6 files changed, 184 insertions(+), 5 deletions(-) create mode 100644 question.png create mode 100644 src/question.rs create mode 100755 tmp.sh diff --git a/Cargo.toml b/Cargo.toml index bc0f991..0faaa6c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,8 @@ license = "EPL-2.0" anyhow = "1.0" camino = "1.1" clap = { version = "4.4", features = ["derive"] } +fontconfig = "0.8" +harfbuzz_rs = "2.0" indexmap = "2.2" rational = "1.5" serde = { version = "1.0.188", features = ["derive"] } diff --git a/question.png b/question.png new file mode 100644 index 0000000000000000000000000000000000000000..41726245a741c11e3e674d01ca716ae8ee68aafa GIT binary patch literal 107015 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 sMg`wyf$# { } #[repr(u16)] -enum FontSize { +pub(crate) enum FontSize { Huge = 72, Large = 56, Big = 44 } #[repr(u16)] -enum FontWeight { +pub(crate) enum FontWeight { Normal = 400, SemiBold = 500, Bold = 700 diff --git a/src/main.rs b/src/main.rs index 6c9a7ee..af93579 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,16 +3,18 @@ #![forbid(elided_lifetimes_in_paths, unsafe_code)] mod iotro; +mod question; mod render; mod time; -use crate::{ +use self::{ + iotro::Language, + question::Question, render::{ffmpeg::FfmpegOutputFormat, Renderer}, time::{parse_date, parse_time, Date, Time} }; use camino::Utf8PathBuf as PathBuf; use clap::Parser; -use iotro::Language; use rational::Rational; use serde::{Deserialize, Serialize}; use serde_with::{serde_as, DisplayFromStr}; diff --git a/src/question.rs b/src/question.rs new file mode 100644 index 0000000..f38a8b5 --- /dev/null +++ b/src/question.rs @@ -0,0 +1,160 @@ +use crate::{iotro::Language, Resolution}; +use fontconfig::Fontconfig; +use harfbuzz_rs::{Face, Font, Owned, UnicodeBuffer}; +use std::sync::OnceLock; +use svgwriter::{ + tags::{Group, Path, Rect, TSpan, TagWithPresentationAttributes as _, Text}, + Data, Graphic, Transform +}; + +pub(crate) struct Question { + res: Resolution, + g: Group +} + +impl Question { + pub(crate) fn new(res: Resolution, lang: &Language<'_>, str: String) -> Self { + static FONT: OnceLock>> = OnceLock::new(); + let font = FONT.get_or_init(|| { + let fc = Fontconfig::new().unwrap(); + let font_path = fc.find("Noto Sans", None).unwrap().path; + let face = Face::from_file(font_path, 0).unwrap(); + Font::new(face) + }); + let upem = font.face().upem(); + + // constants + let border_r = 12; + let font_size = 44; + let line_height = font_size * 6 / 5; + let padding = font_size / 2; + let margin_x = 240; + let margin_y = padding * 3 /2; + let question_offset = 64; + let question_width = 240; + + // calculated + let box_width = 1920 - 2 * margin_x; + let text_width = box_width - 2 * padding; + + // calculates the width of the given string + let width_of = |s: &str| { + let width: i32 = + harfbuzz_rs::shape(font, UnicodeBuffer::new().add_str(s), &[]) + .get_glyph_positions() + .iter() + .map(|glyph_pos| glyph_pos.x_advance) + .sum(); + (width * font_size) / upem as i32 + }; + let space_width = width_of(" "); + + // lay out the text + let mut text = Text::new() + .with_dominant_baseline("hanging") + .with_transform( + Transform::new().translate(padding, padding + font_size / 2 + border_r) + ); + let words = str.split_whitespace(); + let mut text_height = 0; + let mut text_x = 0; + for word in words { + let word_width = width_of(word); + if text_x + word_width > text_width { + text_x = 0; + text_height += line_height; + } + text.push( + TSpan::new() + .with_x(text_x) + .with_y(text_height) + .append(word.to_owned()) + ); + text_x += word_width + space_width; + } + text_height += font_size; + + // calculated + let box_height = text_height + 2 * padding + font_size / 2 + border_r; + + let mut g = Group::new() + .with_fill("white") + .with_font_family("Noto Sans") + .with_font_size(font_size) + .with_transform( + Transform::new().translate(margin_x, 1080 - margin_y - box_height) + ); + + let mut outline = Data::new(); + outline.move_by(border_r, 0).horiz_line_to(question_offset); + outline + .vert_line_by(-font_size / 2) + .arc_by(border_r, border_r, 0, false, true, border_r, -border_r) + .horiz_line_by(question_width) + .arc_by(border_r, border_r, 0, false, true, border_r, border_r) + .vert_line_by(font_size) + .arc_by(border_r, border_r, 0, false, true, -border_r, border_r) + .horiz_line_by(-question_width) + .arc_by(border_r, border_r, 0, false, true, -border_r, -border_r) + .vert_line_by(-font_size / 2) + .move_by(question_width + 2 * border_r, 0); + outline + .horiz_line_to(box_width - border_r) + .arc_by(border_r, border_r, 0, false, true, border_r, border_r) + .vert_line_by(box_height - 2 * border_r) + .arc_by(border_r, border_r, 0, false, true, -border_r, border_r) + .horiz_line_to(border_r) + .arc_by(border_r, border_r, 0, false, true, -border_r, -border_r) + .vert_line_to(border_r) + .arc_by(border_r, border_r, 0, false, true, border_r, -border_r); + g.push( + Path::new() + .with_stroke("#fff") + .with_stroke_width(3) + .with_fill("#000") + .with_fill_opacity(".3") + .with_d(outline) + ); + g.push( + Text::new() + .with_x(question_offset + question_width / 2 + border_r) + .with_y(0) + .with_dominant_baseline("middle") + .with_text_anchor("middle") + .with_font_weight(600) + .append("Question") + ); + g.push(text); + + Self { res, g } + } + + pub(crate) fn finish(self) -> Graphic { + let mut svg = Graphic::new(); + svg.set_width(self.res.width()); + svg.set_height(self.res.height()); + svg.set_view_box("0 0 1920 1080"); + svg.push( + Rect::new() + .with_fill("#040") + .with_x(0) + .with_y(0) + .with_width(1920) + .with_height(1080) + ); + svg.push(self.g); + svg + } +} + +#[cfg(test)] +#[test] +fn question() { + let svg = Question::new( + Resolution::FullHD, + &Language::default(), + "Hallo Welt! Dies ist eine sehr kluge Frage aus dem Publikum. Die Frage ist nämlich: Was ist eigentlich die Frage?".into() + ) + .finish(); + std::fs::write("question.svg", svg.to_string_pretty()).unwrap(); +} diff --git a/tmp.sh b/tmp.sh new file mode 100755 index 0000000..df71030 --- /dev/null +++ b/tmp.sh @@ -0,0 +1,15 @@ +#!/bin/busybox ash +set -euo pipefail + +rm tmp.mkv || true + +ffmpeg -hide_banner \ + -loop 1 -r 25 -t 4 -i question.png \ + -filter_complex " + gradients=s=2560x1440:d=4:c0=#000055:c1=#005500:x0=480:y0=540:x1=1440:y1=540[input]; + [0]fade=t=in:st=0:d=1:alpha=1,fade=t=out:st=3:d=1:alpha=1[overlay]; + [input][overlay]overlay=eval=frame:x=0:y=0[v] + " \ + -map "[v]" \ + -c:v libsvtav1 -preset 1 -crf 18 \ + "tmp.mkv"