# File lib/rchardet/jpcntx.rb, line 136 def feed(aBuf, aLen) return if @_mDone # The buffer we got is byte oriented, and a character may span in more than one # buffers. In case the last one or two byte in last buffer is not complete, we # record how many byte needed to complete that character and skip these bytes here. # We can choose to record those bytes as well and analyse the character once it # is complete, but since a character will not make much difference, by simply skipping # this character will simply our logic and improve performance. i = @_mNeedToSkipCharNum while i < aLen order, charLen = get_order(aBuf[i...i+2]) i += charLen if i > aLen @_mNeedToSkipCharNum = i - aLen @_mLastCharOrder = -1 else if (order != -1) and (@_mLastCharOrder != -1): @_mTotalRel += 1 if @_mTotalRel > MAX_REL_THRESHOLD: @_mDone = true break end @_mRelSample[jp2CharContext[@_mLastCharOrder][order]] += 1 end @_mLastCharOrder = order end end end