Methods

Class/Module Index [+]

Quicksearch

CharDet::SJISDistributionAnalysis

Public Class Methods

new() click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb, line 190
def initialize
  super()
  @_mCharToFreqOrder = JISCharToFreqOrder
  @_mTableSize = JIS_TABLE_SIZE
  @_mTypicalDistributionRatio = JIS_TYPICAL_DISTRIBUTION_RATIO
end

Public Instance Methods

get_order(aStr) click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/chardistribution.rb, line 197
def get_order(aStr)
  # for sjis encoding, we are interested 
  #   first  byte range: 0x81 -- 0x9f , 0xe0 -- 0xfe
  #   second byte range: 0x40 -- 0x7e,  0x81 -- oxfe
  # no validation needed here. State machine has done that
  aStr = aStr[0..1].join if aStr.class == Array
  if (aStr[0..0] >= "\x81") and (aStr[0..0] <= "\x9F")
    order = 188 * (aStr[0] - 0x81)
  elsif (aStr[0..0] >= "\xE0") and (aStr[0..0] <= "\xEF")
    order = 188 * (aStr[0] - 0xE0 + 31)
  else
    return -1
  end
  order = order + aStr[1] - 0x40
  if aStr[1..1] > "\x7F"
    order =- 1
  end
  return order
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.