Thanks for posting some results. Very Interesting. Would you consider dropping the test file in my public folder? On Oct 3, 2008, at 5:53 PM, RJay Hansen wrote: > Initially I got: > > "Can't get text item delimiters" > > When I looked at your endlines handler I noticed you only had "text > item delimiters" rather than "AppleScript's text item delimiters". > Changing that fixed that issue, and yes, I got a nice new document > broken up into paragraphs. > > I finally got the one I've been writing finished and got it to run w/ > no errors. For comparison, on the same text file (420K) it takes > just over a minute to run, versus the don't-blink-or-you'll-miss-it > time of Paul's effort. And Paul's script runs about 16K versus my 40K. > > Interestingly, Paul's/Mark's script seems to have got lost toward > the end of the book, and missed(?) an underscore, so the last two > and a half chapters are bass-ackwards as far as plain styled vs. > italic styled, while my script didn't do that. :-/ > > RJay > > > On Oct 3, 2008, at 2:27 PM, Mark Lively wrote: > >> try >> set head to "{\\rtf1\\ansi\\ansicpg1252\\cocoartf949\\cocoasubrtf350 >> {\\fonttbl\\f0\\fswiss\\fcharset0 Helvetica;} >> {\\colortbl;\\red255\\green255\\blue255;} >> \\margl1440\\margr1440\\vieww12240\\viewh15840\\viewkind1 >> \\pard\\tx720\\tx1440\\tx2160\\tx2880\\tx3600\\tx4320\\tx5040\ >> \tx5760\\tx6480\\tx7200\\tx7920\\tx8640\\ql\\qnatural\\pardirnatural >> >> \\f0\\fs24 \\cf0 " >> set tail to "}" >> >> tell application "Finder" >> activate >> set inputFile to choose file with prompt "Choose an underscore >> delimited plaintext file for input." >> set inputFileName to name of inputFile >> set AppleScript's text item delimiters to "." >> copy text item 1 of inputFileName to inputFileName >> set AppleScript's text item delimiters to "" >> set inputFilePath to ((container of inputFile) as alias) as text >> end tell >> >> set inputFileHandle to open for access inputFile >> set outputFileHandle to open for access file (inputFilePath & >> inputFileName & "_Italicized.rtf") with write permission >> write head to outputFileHandle >> >> set evenOddOpenCloseItalicsToggle to 0 >> repeat >> try >> set currentChunk to read inputFileHandle until "_" >> if evenOddOpenCloseItalicsToggle is 0 then >> if currentChunk is "_" then >> write ((ASCII character 32) & "\\i " as text) to >> outputFileHandle as text >> else >> write (endlines(text 1 thru -2 of currentChunk) & (ASCII >> character 32) & "\\i " as text) to outputFileHandle >> end if >> set evenOddOpenCloseItalicsToggle to 1 >> else >> if currentChunk is "_" then >> write ((ASCII character 32) & "\\i0" as text) to >> outputFileHandle >> else >> write (endlines(text 1 thru -2 of currentChunk) & (ASCII >> character 32) & "\\i0" as text) to outputFileHandle >> end if >> set evenOddOpenCloseItalicsToggle to 0 >> end if >> on error e number n >> if n is not -39 then display dialog "Error: " & (n as text) & >> return & e >> exit repeat >> end try >> end repeat >> write tail to outputFileHandle >> try >> close access inputFileHandle >> close access outputFileHandle >> end try >> on error e number n >> display dialog "Error: " & (n as text) & return & e >> end try >> >> on endlines(sometext) >> set tid to text item delimiters >> set text item delimiters to ASCII character 10 -- in 10.5 you can >> use linefeed instead >> set sometext to text items of sometext >> set text item delimiters to "\\" & (ASCII character 10) >> set sometext to sometext as text >> set text item delimiters to return >> set sometext to text items of sometext >> set text item delimiters to "\\" & return >> set sometext to sometext as text >> set text item delimiters to tid >> return sometext >> end endlines