func (ru *russianLanguage) Hyphenate(mb *util.MarkupBuilder, start int, length int, shy string) { if isAcronym(mb, start, length) { return } limit := start + length for i := 0; i < length; i++ { at := start + i if IsVowel(mb.RuneAt(at)) { if ru.isShyAllowed1(mb, start, at, limit) { mb.AppendStringAt(at, shy) } else if ru.isShyAllowed2(mb, start, at, limit) { mb.AppendStringAt(at+1, shy) } else if ru.isShyAllowed3(mb, start, at, limit) { mb.AppendStringAt(at+2, shy) } } } }