escape characters in text filter
This commit is contained in:
parent
c009a0172c
commit
76e26f0f70
@ -35,7 +35,16 @@ struct TextFilter {
|
||||
|
||||
impl fmt::Display for TextFilter {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let mut s = format!("text='{}'", self.text.clone().unwrap_or_default());
|
||||
let escaped_text = self
|
||||
.text
|
||||
.clone()
|
||||
.unwrap_or_default()
|
||||
.replace('\'', "'\\\\\\''")
|
||||
.replace('\\', "\\\\\\\\")
|
||||
.replace('%', "\\\\\\%")
|
||||
.replace(':', "\\:");
|
||||
|
||||
let mut s = format!("text='{escaped_text}'");
|
||||
|
||||
if let Some(v) = &self.x {
|
||||
if !v.is_empty() {
|
||||
|
@ -40,11 +40,11 @@ pub fn filter_node(
|
||||
.to_string(),
|
||||
};
|
||||
|
||||
let escape = text
|
||||
let escaped_text = text
|
||||
.replace('\'', "'\\\\\\''")
|
||||
.replace('%', "\\\\\\%")
|
||||
.replace(':', "\\:");
|
||||
filter = format!("drawtext=text='{escape}':{}{font}", config.text.style)
|
||||
filter = format!("drawtext=text='{escaped_text}':{}{font}", config.text.style)
|
||||
} else if let Some(socket) = zmq_socket {
|
||||
let mut filter_cmd = format!("text=''{font}");
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user