Sha256: 88fe7f223a3bcda566473397b792297bde3a1b81371fd7349b1327c3b2c56c54

Contents?: true

Size: 609 Bytes

Versions: 4

Compression:

Stored size: 609 Bytes

Contents

# frozen_string_literal: true

module Prawn
  module Emoji
    class Unicode
      VARIATION_SELECTORS = %w(fe0e fe0f).freeze

      class << self
        def format_codepoint(codepoints)
          (codepoints - VARIATION_SELECTORS).map { |c| c.rjust(4, '0') }.join('-').downcase
        end
      end

      def initialize(char)
        @unicode = char
      end

      def ==(other)
        to_s == other.to_s
      end

      def codepoint
        @codepoint ||= self.class.format_codepoint(@unicode.codepoints.map { |c| c.to_s(16) })
      end

      def to_s
        @unicode
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
prawn-emoji-3.3.0 lib/prawn/emoji/unicode.rb
prawn-emoji-3.2.0 lib/prawn/emoji/unicode.rb
prawn-emoji-3.1.0 lib/prawn/emoji/unicode.rb
prawn-emoji-3.0.0 lib/prawn/emoji/unicode.rb