Sha256: e47c473a7beec367791df82785e2f28468c0d19fee040f30ee30da18018c62d6
Contents?: true
Size: 781 Bytes
Versions: 25
Compression:
Stored size: 781 Bytes
Contents
module ICU module Normalization def self.normalize(input, mode = :default) input_length = input.jlength needed_length = out_length = options = 0 in_ptr = UCharPointer.from_string(input) out_ptr = UCharPointer.new(out_length) retried = false begin Lib.check_error do |error| needed_length = Lib.unorm_normalize(in_ptr, input_length, mode, options, out_ptr, out_length, error) end rescue BufferOverflowError raise BufferOverflowError, "needed: #{needed_length}" if retried out_ptr = out_ptr.resized_to needed_length out_length = needed_length + 1 retried = true retry end out_ptr.string end end # Normalization end # ICU
Version data entries
25 entries across 25 versions & 1 rubygems