Method: ConverterBase#alphabet_to_zenkaku

Defined in:
lib/converterbase.rb

#alphabet_to_zenkaku(data, force = false) ⇒ Object

半角アルファベットを全角に変換する

force : 強制的に全アルファベットを全角にするか?

false の場合、英文章(半角スペースで区切られた2単語以上)を半角のままにする
英文の定義: 1. 半角スペースで区切られた2単語以上の文章、
             2. 一定以上の長さの一文字以上アルファベットを含む文章


504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
# File 'lib/converterbase.rb', line 504

def alphabet_to_zenkaku(data, force = false)
  if force
    data.gsub!(/[a-zA-Z]+/) do |match|
      match.tr("a-zA-Z", "a-zA-Z")
    end
  else
    data.gsub!(ENGLISH_SENTENCES_CHARACTERS) do |match|
      if match.split(" ").size >= 2 \
         || (match.length >= ENGLISH_SENTENCES_MIN_LENGTH && match.match(/[a-z]/i))
        @english_sentences << match
        "[#英文=#{@english_sentences.size - 1}"
      else
        match.tr("a-zA-Z", "a-zA-Z")
      end
    end
  end
end