Sha256: 8af7f413a68c40b4d688930ff95ccd46fe103d3e2775d904b69d1b8b5fa1fa7c
Contents?: true
Size: 846 Bytes
Versions: 2
Compression:
Stored size: 846 Bytes
Contents
# frozen_string_literal: true require 'forwardable' module Prawn module Emoji class Substitution extend Forwardable FULL_SIZE_SPACE = ' ' HALF_SIZE_SPACE = Prawn::Text::NBSP def_delegator :@document, :width_of def initialize(document) @document = document @font = document.font @font_size = document.font_size end def to_s emoji_width == full_size_space_width ? FULL_SIZE_SPACE : half_size_spaces end private def emoji_width @emoji_width ||= @font_size + @document.character_spacing end def full_size_space_width width_of @font.normalize_encoding(FULL_SIZE_SPACE) end def half_size_spaces HALF_SIZE_SPACE * (emoji_width.to_f / width_of(HALF_SIZE_SPACE)).round end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
prawn-emoji-3.3.0 | lib/prawn/emoji/substitution.rb |
prawn-emoji-3.2.0 | lib/prawn/emoji/substitution.rb |