Sha256: 653d1fadcc6c698acaa6812c6921fd92b319384ec39c4f52cd891b4318b2a120

Contents?: true

Size: 1.4 KB

Versions: 11

Compression:

Stored size: 1.4 KB

Contents

# frozen_string_literal: true

Prawn::Text::Formatted::Fragment.prepend (Module.new do
  attr_reader :document

  # Prevent fragment from being written by discarding the text, optionally forcing the width to 0
  def conceal force_width_to_zero = false
    @text = ''
    @width = 0 if force_width_to_zero
  end

  # Don't strip soft hyphens when repacking unretrieved fragments
  def include_trailing_white_space!
    @format_state.delete :normalized_soft_hyphen
    super
  end

  # Use .tr instead of .gsub to remove zero-width spaces
  def strip_zero_width_spaces string
    string.encoding == Encoding::UTF_8 ? (string.tr Prawn::Text::ZWSP, '') : string
  end

  # Modify the built-in ascender write method to allow an override value to be
  # specified using the format_state hash.
  def ascender= val
    @ascender = (format_state.key? :ascender) ? format_state[:ascender] : val
  end

  # Modify the built-in ascender write method to allow an override value to be
  # specified using the format_state hash.
  def descender= val
    @descender = (format_state.key? :descender) ? format_state[:descender] : val
  end

  def width
    if (val = format_state[:width])
      val = (val.end_with? 'em') ? val.to_f * @document.font_size : (@document.str_to_pt val) if String === val
    else
      val = super
    end
    if (border_offset = format_state[:border_offset])
      val += border_offset * 2
    end
    val
  end
end)

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
asciidoctor-pdf-2.0.4 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.3 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.2 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.1 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0.rc.1 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0.beta.2 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0.beta.1 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0.alpha.3 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0.alpha.2 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb
asciidoctor-pdf-2.0.0.alpha.1 lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb