Sha256: 61b06af77fea433d10012bfcfcc7d1eb826d0b82161d11a9715b055dc93b5569

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

# @param [String] string
# @return [String]
def self.romanize_string(string)
    string.each_char.each_with_index do |char, i|
        case char
            when '。'
                string[i] = '.'
            when '、'
                string[i] = ','
            when '・'
                string[i] = '·'
            when '゠'
                string[i] = '–'
            when '='
                string[i] = '—'
            when '…', '‥'
                string[i, 3] = '...'
            when '「', '」', '〈', '〉'
                string[i] = "'"
            when '『', '』', '《', '》'
                string[i] = '"'
            when '(', '〔', '⦅', '〘'
                string[i] = '('
            when ')', '〕', '⦆', '〙'
                string[i] = ')'
            when '{'
                string[i] = '{'
            when '}'
                string[i] = '}'
            when '[', '【', '〖', '〚'
                string[i] = '['
            when ']', '】', '〗', '〛'
                string[i] = ']'
            when '〜'
                string[i] = '~'
            when '?'
                string[i] = '?'
            when ':'
                string[i] = ':'
            when '!'
                string[i] = '!'
            else
                nil
        end
    end

    string
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rvpacker-txt-1.9.4 lib/extensions.rb
rvpacker-txt-1.9.3 lib/extensions.rb