Allow configuration of typographical replacements, e.g. smart quotes

If you're living in a non-UTF-8 character set, then you can configure what quotes are smartly changed.
If my regexes are messing things up, you can also turn this off with smart_quotes: false
Also updated docs.

This closes #50
This commit is contained in:
Andy Meneely
2015-04-07 21:21:00 -04:00
parent beb46a9e1c
commit 063d5156d6
13 changed files with 188 additions and 40 deletions
+2 -2
View File
@@ -44,8 +44,8 @@ describe Squib::Args::Typographer do
expect(t.process(%{can't})).to eq(%{can\u2019t})
end
it "single quotes inside double quotes" do
expect(t.process(%{"'I can't do that', he said"})).to eq(%{\u201C\u2019I can\u2019t do that\u2019, he said\u201D})
it "single quotes inside double quotes" do
expect(t.process(%{"'I can't do that', he said"})).to eq(%{\u201C\u2018I can\u2019t do that\u2019, he said\u201D})
end
it "replaces the straightforward ones" do
@@ -0,0 +1,52 @@
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["\"'Yaml ain't markup', he says\""])
pango: markup=(["foo"])
pango: width=([307200])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
surface: write_to_png(["_output/config_text_00.png"])
cairo: antialias=(["subpixel"])
cairo: save([])
cairo: set_source_color([:black])
cairo: translate([10, 10])
cairo: rotate([0])
cairo: move_to([0, 0])
pango: font_description=([MockDouble])
pango: text=(["This has typographic sugar --- and ``explicit'' quotes --- but the quotes are \"dumb\""])
pango: markup=(["foo"])
pango: width=([307200])
pango: height=([204800])
pango: wrap=([#<Pango::Layout::WrapMode word-char>])
pango: ellipsize=([#<Pango::Layout::EllipsizeMode end>])
pango: alignment=([#<Pango::Layout::Alignment left>])
pango: justify=([false])
pango: spacing=([0])
cairo: update_pango_layout([MockDouble])
cairo: move_to([0, 0])
cairo: update_pango_layout([MockDouble])
cairo: show_pango_layout([MockDouble])
cairo: rounded_rectangle([0, 0, 0, 0, 0, 0])
cairo: set_source_color([:cyan])
cairo: set_line_width([2.0])
cairo: stroke([])
cairo: restore([])
surface: write_to_png(["_output/config_disable_text_00.png"])
+1
View File
@@ -51,6 +51,7 @@ describe "Squib samples" do
basic.rb
cairo_access.rb
csv_import.rb
config_text_markup.rb
custom_config.rb
draw_shapes.rb
embed_text.rb