diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2016-09-26 23:31:16 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-26 23:31:16 -0600 |
| commit | 4f11a33dbb43bbc74c23df80fca18ac772475975 (patch) | |
| tree | 041ebfaa0d510da949fbce9fed5e4ae82f0034ff | |
| parent | 966d64529bf5774b85705db5c80456c7d4a7fa62 (diff) | |
resolves #584 show unmodified text if text_transform is none (PR #585)
- don't pass string through transform_text if transform is none
- change transform_text to return the unmodified text if the transform is none
| -rw-r--r-- | lib/asciidoctor-pdf/converter.rb | 15 | ||||
| -rw-r--r-- | lib/asciidoctor-pdf/prawn_ext/extensions.rb | 11 |
2 files changed, 17 insertions, 9 deletions
diff --git a/lib/asciidoctor-pdf/converter.rb b/lib/asciidoctor-pdf/converter.rb index d6e074fc..042b6143 100644 --- a/lib/asciidoctor-pdf/converter.rb +++ b/lib/asciidoctor-pdf/converter.rb @@ -1228,7 +1228,9 @@ class Converter < ::Prawn::Document table_data = [] node.rows[:head].each do |rows| table_header = true - head_transform = theme.table_head_text_transform + if (head_transform = theme.table_head_text_transform) + head_transform = nil if head_transform == 'none' + end row_data = [] rows.each do |cell| row_data << { @@ -1459,7 +1461,7 @@ class Converter < ::Prawn::Document foot_row.font = theme.table_foot_font_family if theme.table_foot_font_family foot_row.font_style = theme.table_foot_font_style.to_sym if theme.table_foot_font_style # HACK we should do this transformation when creating the cell - #if (foot_transform = theme.table_foot_text_transform) + #if (foot_transform = theme.table_foot_text_transform) && foot_transform != 'none' # foot_row.each {|c| c.content = (transform_text c.content, foot_transform) if c.content } #end end @@ -1832,7 +1834,7 @@ class Converter < ::Prawn::Document def layout_heading string, opts = {} top_margin = (margin = (opts.delete :margin)) || (opts.delete :margin_top) || @theme.heading_margin_top bot_margin = margin || (opts.delete :margin_bottom) || @theme.heading_margin_bottom - if (transform = (opts.delete :text_transform) || @text_transform) + if (transform = (opts.delete :text_transform) || @text_transform) && transform != 'none' string = transform_text string, transform end margin_top top_margin @@ -1848,7 +1850,7 @@ class Converter < ::Prawn::Document def layout_prose string, opts = {} top_margin = (margin = (opts.delete :margin)) || (opts.delete :margin_top) || @theme.prose_margin_top bot_margin = margin || (opts.delete :margin_bottom) || @theme.prose_margin_bottom - if (transform = (opts.delete :text_transform) || @text_transform) + if (transform = (opts.delete :text_transform) || @text_transform) && transform != 'none' string = transform_text string, transform end if (anchor = opts.delete :anchor) @@ -1948,7 +1950,10 @@ class Converter < ::Prawn::Document toc_dot_color = @theme.toc_dot_leader_font_color || @theme.toc_font_color || @font_color sections.each do |sect| theme_font :toc, level: (sect.level + 1) do - sect_title = @text_transform ? (transform_text sect.numbered_title, @text_transform) : sect.numbered_title + sect_title = sect.numbered_title + if (transform = @text_transform) && transform != 'none' + sect_title = transform_text sect_title, transform + end if scratch? # FIXME use layout_prose # NOTE must wrap title in empty anchor element in case links are styled with different font family / size diff --git a/lib/asciidoctor-pdf/prawn_ext/extensions.rb b/lib/asciidoctor-pdf/prawn_ext/extensions.rb index b140f803..6c2d0be2 100644 --- a/lib/asciidoctor-pdf/prawn_ext/extensions.rb +++ b/lib/asciidoctor-pdf/prawn_ext/extensions.rb @@ -410,10 +410,11 @@ module Extensions # Apply the text transform to the specified text. # - # Supported transform values are "uppercase" or "lowercase" (passed as either - # a String or a Symbol). When the uppercase transform is applied to the text, - # it correctly uppercases visible text while leaving markup and named - # character entities unchanged. + # Supported transform values are "uppercase", "lowercase", or "none" (passed + # as either a String or a Symbol). When the uppercase transform is applied to + # the text, it correctly uppercases visible text while leaving markup and + # named character entities unchanged. The none transform returns the text + # unmodified. # def transform_text text, transform case transform @@ -421,6 +422,8 @@ module Extensions upcase_pcdata text when :lowercase, 'lowercase' text.downcase + else + text end end |
