
    2h                     2    S SK JrJr  S rS rS rS rS rg)    )RegexBuildersymbolsc                  H    [        [        R                  S S9R                  $ )zKeep tone-modifying punctuation by matching following character.

Assumes the `tone_marks` pre-processor was run for cases where there might
not be any space after a tone-modifying punctuation mark.
c                 $    SR                  U 5      $ )Nz(?<={}).formatxs    V/var/www/auris/envauris/lib/python3.13/site-packages/gtts/tokenizer/tokenizer_cases.py<lambda>tone_marks.<locals>.<lambda>   s    @R@RST@U    pattern_argspattern_func)r   r   
TONE_MARKSregex r   r   
tone_marksr      s"     ''6Uer   c                  H    [        [        R                  S S9R                  $ )a.  Period and comma case.

Match if not preceded by ".<letter>" and only if followed by space.
Won't cut in the middle/after dotted abbreviations; won't cut numbers.

Note:
    Won't match if a dotted abbreviation ends a sentence.

Note:
    Won't match the end of a sentence if not followed by a space.

c                 $    SR                  U 5      $ )Nz(?<!\.[a-z]){} r   r	   s    r   r   period_comma.<locals>.<lambda>   s    188;r   r   )r   r   PERIOD_COMMAr   r   r   r   period_commar      s$     )); er   c                  H    [        [        R                  S S9R                  $ )zColon case.

Match a colon ":" only if not preceded by a digit.
Mainly to prevent a cut in the middle of time notations e.g. 10:01

c                 $    SR                  U 5      $ )Nz	(?<!\d){}r   r	   s    r   r   colon.<locals>.<lambda>+   s    <;N;Nq;Qr   r   )r   r   COLONr   r   r   r   colonr   #   s      ]]1Qer   c                     SR                  [        [        R                  5      [        [        R                  5      -
  [        [        R
                  5      -
  [        [        R                  5      -
  5      n [        U S S9R                  $ )zvMatch other punctuation.

Match other punctuation to split on; punctuation that naturally
inserts a break in speech.

 c                 $    SR                  U 5      $ Nz{}r   r	   s    r   r   #other_punctuation.<locals>.<lambda><       %,,q/r   r   )	joinsetr   ALL_PUNCr   r   r   r   r   puncs    r   other_punctuationr+   /   so     77G
g  
!	"
g""
#	$ gmm
	D T8QRXXXr   c                  L    [         R                  n [        U S S9R                  $ )zSMatch all punctuation.

Use as only tokenizer case to mimic gTTS 1.x tokenization.
c                 $    SR                  U 5      $ r#   r   r	   s    r   r   (legacy_all_punctuation.<locals>.<lambda>E   r%   r   r   )r   r(   r   r   r)   s    r   legacy_all_punctuationr/   ?   s#    
 DT8QRXXXr   N)gtts.tokenizerr   r   r   r   r   r+   r/   r   r   r   <module>r1      s#    0&	Y Yr   