Interpreting Punctuation Marks as Punctuation

For the [:punct some] command, the preprocessor applies the following rules:

Multiple instances of identical punctuation marks are reduced to a single symbol. For example, --------------- becomes -, and *************** becomes *.

Doubly encapsulated items become singly encapsulated. For example, “(intelligent)” and ((intelligent)) become (intelligent).

Hours and minutes are not altered. For example, 2:43pm becomes
two forty-three P M.

Numerals and decimal numbers are not altered. For example, -3.52 becomes minus three point five two.

Currency values are interpreted appropriately. For example, -$43,65 becomes minus forty-three dollars and sixty-five cents, and +$123.21 becomes plus one hundred and twenty-three dollars and twenty-one cents.

Uppercase single letters followed by periods are interpreted as single letters. For example, U.S.A. becomes U S A.

P.M. and p.m. become P M.

Doubled clause boundary symbols are reduced to the first clause boundary. For example, boom!, becomes boom!

Commas and hyphens not followed by spaces are changed to be followed by spaces. For example look,look becomes look, look.