diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2022-09-28 03:00:49 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-28 03:00:49 -0600 |
| commit | 4df03898faefcda99bc4cd3a751a95dba3b4d690 (patch) | |
| tree | f6f90dbc55fa999066ca6bc4263f9fe1f28fd973 /lib | |
| parent | 02fabe0da4e5aa8ac7deb9b7325adf0430f6e028 (diff) | |
resolves #2347 add support for passing a color mode to the default optimizer (PR #2348)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/asciidoctor/pdf/optimizer/rghost.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/asciidoctor/pdf/optimizer/rghost.rb b/lib/asciidoctor/pdf/optimizer/rghost.rb index feea3efe..3d65ab85 100644 --- a/lib/asciidoctor/pdf/optimizer/rghost.rb +++ b/lib/asciidoctor/pdf/optimizer/rghost.rb @@ -42,6 +42,11 @@ module Asciidoctor def initialize *_args super + if @quality&.include? ':' + @quality, @color_mode = @quality.split ':', 2 + else + @color_mode = nil + end if (gs_path = ::ENV['GS']) ::RGhost::Config::GS[:path] = gs_path end @@ -70,7 +75,14 @@ module Asciidoctor d[:PDFX] = true d[:ShowAnnots] = false end - (::RGhost::Convert.new inputs).to :pdf, filename: filename_tmp.to_s, quality: QUALITY_NAMES[@quality], d: d + case @color_mode + when 'gray', 'grayscale' + s = { ColorConversionStrategy: 'Gray' } + when 'bw' + d[:BlackText] = true + s = { ColorConversionStrategy: 'Gray' } + end + (::RGhost::Convert.new inputs).to :pdf, filename: filename_tmp.to_s, quality: QUALITY_NAMES[@quality], d: d, s: s filename_o.binwrite filename_tmp.binread end nil |
