Subject: | |
From: | |
Reply To: | |
Date: | Fri, 3 Oct 2008 18:32:34 -0500 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Be happy to. I'll do so directly.
RJay
On Oct 3, 2008, at 4:56 PM, Paul Skinner wrote:
> 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
|
|
|