:quotes : :punctuation : :re : '(?''|"|\))\s*(?[.,!?]+)' :default : - '\k\k' :ru : - '\k\k' # That's a 6.3" man, he sees sunsets at 10°20'30" E. # ⇑ :inch : :pattern : '"' :re : '(?:\p{Space}[\.,\p{Digit}]+)(")(?=\p{Space}|\Z)' :default : - '″' # That's a 6.3" man, he sees sunsets at 10°20'30" E. # ⇑ :seconds : :pattern : '"' :re : '(?:\p{Space}[°''’′\p{Digit}]+)(")(?=\p{Space}|\p{Alpha}|\Z)' :default : - '″' # That's a 6.3" man, he sees sunsets at 10°20'30" E. # ⇑ :minutes : :pattern : '''' :re : '(\p{Space}[°\p{Digit}]+)('')(?=\p{Space}|\p{Alnum}|\Z)' :default : - '′' # That's a 6.3" man, he sees sunsets at 10°20'30" E. # ⇑ :apostrophe_pre : :pattern : '''' :re : '(?<=\p{Alpha})('')(?=\p{Alpha})' :default : - '♻' # And God said 'Foos' game is over'. # ⇑ :apostrophe_squeez : :pattern : '''' :re : '(?<=s)('')(?=\s)' :default : - '♻' # And God said "∇×(∇×F) = ∇(∇·F) − ∇2F" and there was light. # ⇑ :left : :original : '''"' :re : '(?<=\p{Space}|\A)(?"|'')(?=\p{Graph}|\Z)' :compliant : 'right' # Nested quotation marks are chosen if it’s an even occurence :default : - '“' - '‘' # - '〈' :ru : - '«' - '„' :us : - '‘' - '“' # And God said "∇×(∇×F) = ∇(∇·F) − ∇2F" and there was light. # ⇑ :right : :slave : true :original : '''"' :re : '(?<=\p{L}|\p{M}|\p{P})(?"|'')(?=\p{Space}|\p{P}|\Z)' :compliant : 'left' # Nested quotation marks are chosen if it’s an odd occurence :default : - '”' - '’' # - '〉' :ru : - '»' - '“' :us : - '’' - '”' # That's a 6.3" man, he sees sunsets at 10°20'30" E. # ⇑ :apostrophe_post : :pattern : '♻' :re : '♻' :default : - '’' :alone_single : :re : '('')' :alert: true :default : - '’' :alone_double : :re : '(")' :alert: true :default : - '”' :others : :ellipsis : :re : '\.{3,}' :default : - '…' :mdash : :re : '\s*(? - |--)\s*' :default : - '—' :ru : - ' — ' :us : - ' – ' :punctuation : :opening_orphan : :re : '([(¿¡§#№]|\p{Sc})(?:\s+)' :default : - '\1' :closing_orphan : :re : '(?:\s+)([.,:;!?)])' :default : - '\1' :closing_clamped : :re : '([.,:;!?)])(?=\p{Lu})' :default : - '\1 ' :fixup : :re : '([!?.]+)(?:\s*)(\.+)' :default : - '\1\2' :orphans : :dangling_right : :re : '(?<=\s|\A)(\p{L})\s+' :default : - '\1 ' :dangling_left : :re : '\s+(p{Punct})(?=\s|\Z)' :default : - ' \1'