Class/Module Index [+]

Quicksearch

CharDet::MultiByteCharSetProber

Public Class Methods

new() click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 33
def initialize
  super
  @_mDistributionAnalyzer = nil
  @_mCodingSM = nil
  @_mLastChar = "\x00\x00"
end

Public Instance Methods

feed(aBuf) click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 54
def feed(aBuf)
  aLen = aBuf.length
  for i in (0...aLen)
    codingState = @_mCodingSM.next_state(aBuf[i..i])
    if codingState == EError
      $stderr << "#{get_charset_name} prober hit error at byte #{i}\n" if $debug
      @_mState = ENotMe
      break
    elsif codingState == EItsMe
      @_mState = EFoundIt
      break
    elsif codingState == EStart
      charLen = @_mCodingSM.get_current_charlen()
      if i == 0
        @_mLastChar[1] = aBuf[0..0]
        @_mDistributionAnalyzer.feed(@_mLastChar, charLen)
      else
        @_mDistributionAnalyzer.feed(aBuf[i-1...i+1], charLen)
      end
    end
  end
  @_mLastChar[0] = aBuf[aLen-1..aLen-1]

  if get_state() == EDetecting
    if @_mDistributionAnalyzer.got_enough_data() and (get_confidence() > SHORTCUT_THRESHOLD)
      @_mState = EFoundIt
    end
  end
  return get_state()
end
get_charset_name() click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 51
def get_charset_name
end
get_confidence() click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 85
def get_confidence
  return @_mDistributionAnalyzer.get_confidence()
end
reset() click to toggle source
# File lib/tmail/vendor/rchardet-1.3/lib/rchardet/mbcharsetprober.rb, line 40
def reset
  super
  if @_mCodingSM
    @_mCodingSM.reset()
  end
  if @_mDistributionAnalyzer
    @_mDistributionAnalyzer.reset()
  end
  @_mLastChar = "\x00\x00"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.