Может быть, TextEdit в настоящее время неоправданно медленно. Я просто использовал следующий код для документа с 3600 словами, с некоторыми смелыми смелыми словами, перемежающимися повсюду. Это заняло слишком много времени. Я бы рассмотрел использование различных приложений для сценариев, таких как Tex-Edit Plus (все еще сильно, все еще замечательно). Причина, по которой я использовал «Черный» и «Жирный шрифт», заключается в том, что некоторые шрифты используют «Черный» вариант вместо «Жирный», когда вы делаете текст Bold (по крайней мере, в TextEdit). Чтобы быть понятным, следующий код работает, но это очень медленно. Может быть, ваш код, если вы так долго ждали, тоже работает. :-(НО продолжайте читать :-)
tell application "TextEdit"
tell document 1
set thisManyRuns to count of attribute run of text of it
repeat with r from 1 to thisManyRuns
if font of attribute run r of text of it contains "Black" then
--do stuff
set color of attribute run r of text of it to {35555, 0, 0}
end if
if font of attribute run r of text of it contains "Bold" then
--do stuff
set color of attribute run r of text of it to {35555, 0, 0}
end if
end repeat
end tell
end tell
Я просто побежал этот текст в Tex-Edit Plus и завершается приблизительно две секунды:
tell application "Tex-Edit Plus"
tell document 1
set thisManyRuns to count of style run of text of it
repeat with r from 1 to thisManyRuns
set thisStyle to style of style run r of text of it
if on styles of thisStyle contains bold then
--do stuff
set color of style run r of text of it to {0, 35555, 0}
end if
end repeat
end tell
end tell
... так что вы можете переключаться к тому, что. Просто предостережение, что я имел, чтобы поместить style
в переменную thisStyle
перед запросом на свойство on styles
- это не сработает, если я попытаюсь сделать это в одной строке. Я работал с файлом rtf.
(на самом деле, менее того, потребовалось 1,4 секунды с документом из 3600 слов) – CRGreen
Awesome - это отлично работает. Определенно Tex-Edit Plus выглядит как способ. – thizzle