Subject: RE: character substitution. Solution From: "Pawson, David" <DPawson@xxxxxxxxxxx> Date: Wed, 12 Aug 1998 10:18:54 +0100 |
The following solution works to substitute at the character level. Many thanks to Tom for his response, clear, concise and accurate. I have combined it with a 'stretch' function which expands 01733 into 0 1 7 3 3, to enable the speech synth to speak it as seperate digits. Tony. Will try to generalise and put something in for the cookbook later. DaveP ; ; Substituttion. ; (define (subst nl) (let loop ((charnodes nl)(result (empty-sosofo))) (let* ((firstchar (node-list-first charnodes))) (cond ((node-list-empty? firstchar) result) ((not (equal? 'data-char (node-property 'classnm firstchar))) (loop (node-list-rest charnodes) (sosofo-append result (process-node-list firstchar)))) (#t (let* ((charval (node-property 'char firstchar)) (replacement (cond ((equal? charval #\-) #\,) ((equal? charval #\)) #\,) ((equal? charval #\() #f) (#t charval)))) (loop (node-list-rest charnodes) (sosofo-append result (if (char? replacement) (make character char: replacement) (empty-sosofo)) (make character ; This append adds the s p r e a d element. char: #\ ))))))))) > In looking at text->audio preparation using Jade. > > I need to 'clean up' some of the text, such that a > text to speech engine will speak the element content more clearly. > e.g. <tel>(44) 1733-378-777 </tel> > becomes <tel>44, 1733,378,777 </tel> > DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: character substitution., Tom Moertel | Thread | Compiling groveoa under Visual C++ , Paul Prescod |
Re: not a character number in the d, Dave Love | Date | Compiling groveoa under Visual C++ , Paul Prescod |
Month |