def indef_article( word, count )
count ||= Linguistics::num
return "#{count} #{word}" if
count && /^(#{PL_count_one})$/i !~ count.to_s
case word
when /^(#{A_explicit_an})/i
return "an #{word}"
when /^(#{A_abbrev})/x
return "an #{word}"
when /^[aefhilmnorsx][.-]/i
return "an #{word}"
when /^[a-z][.-]/i
return "a #{word}"
when /^[^aeiouy]/i
return "a #{word}"
when /^e[uw]/i
return "a #{word}"
when /^onc?e\b/i
return "a #{word}"
when /^uni([^nmd]|mo)/i
return "a #{word}"
when /^u[bcfhjkqrst][aeiou]/i
return "a #{word}"
when /^[aeiou]/i
return "an #{word}"
when /^(#{A_y_cons})/i
return "an #{word}"
else
return "a #{word}"
end
end