From caf08ea5fac0a9afa25534f8333c0fef027b0f26 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Tue, 19 Feb 2019 18:04:31 +0100 Subject: [PATCH] =?UTF-8?q?Escape=20parens=20and=20backslashes=20in=20PDF?= =?UTF-8?q?=20=E2=99=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pdf.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/pdf.rs b/src/pdf.rs index c3a77c57d..e15cc33f2 100644 --- a/src/pdf.rs +++ b/src/pdf.rs @@ -75,12 +75,10 @@ impl WritePdf for W { let mut id = content_start; for page in &doc.pages { for content in &page.contents { - let string = &content.0; - writer.write_obj(id, &Text::new() .set_font(1, 13.0) .move_pos(108.0, 734.0) - .write_text(&string) + .write_text(content.0.as_bytes()) .to_stream() )?; id += 1; @@ -108,7 +106,7 @@ mod pdf_tests { /// Create a pdf with a name from the source code. fn test(name: &str, src: &str) { - let mut file = std::fs::File::create(name).unwrap(); + let mut file = std::fs::File::create(format!("../target/{}", name)).unwrap(); let doc = src.tokenize() .parse().unwrap() .generate().unwrap(); @@ -117,8 +115,8 @@ mod pdf_tests { #[test] fn pdf_simple() { - test("../target/write1.pdf", "This is an example of a sentence."); - test("../target/write2.pdf"," + test("write-simple.pdf", "This is an example of a sentence."); + test("write-break.pdf"," Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd @@ -128,5 +126,6 @@ mod pdf_tests { justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. "); + test("write-parens.pdf", "Text enclosed in (parenthesis), like ) or ( should work!"); } }