コメント、および、新たな課題のご提示、ありがとうございます。
下記の通り、ご指摘の課題に回答させていただきます。
【課題1】文字数カウントのAppleScriptをAutomatorでラッピングした時の構文エラー
原因:display dialog文のwith titleオプションがAutomatorでは機能しないため
対策:下記の通り、AppleScriptを一部修正(エラー箇所を削除)
--
on run {input, parameters}
tell application "TextEdit"
set theText to the text of document 1
set word_count to count words of document 1
set char_count to count characters of document 1
set para_count to count paragraphs of document 1
end tell
set theLF to ASCII character 10
set LF_count to countSubstring(theText, theLF)
set space_count to countSubstring(theText, " ")
set show_words to "文字数:" & (char_count as string) & return & "改行を除いた文字数:" & ((char_count - LF_count) as string) & return & "空白、改行を除いた文字数:" & ((char_count - space_count - LF_count) as string) & return & "行数:" & (para_count as string)
display dialog show_words with icon 1 buttons {"OK"} default button "Ok"
end run
-- e.g. countSubstring("abc abc abc", "abc") --> 3
on countSubstring(theText, theSubstring)
-- ljr (http://applescript.bratis-lover.net/library/string/), modified from Aurelio.net (http://aurelio.net/doc/as4pp.html)
local ASTID, theText, theSubstring, i
set ASTID to AppleScript's text item delimiters
try
set AppleScript's text item delimiters to theSubstring
set i to (count theText's text items) - 1
set AppleScript's text item delimiters to ASTID
return i
on error eMsg number eNum
set AppleScript's text item delimiters to ASTID
error "Can't countSubstring: " & eMsg number eNum
end try
end countSubstring
--
動作環境:
-Automator 2.1.1 (247.1)
【課題2】”入力文字数をリアルタイム表示”サイト機能の非ネット接続時の利用
ご指摘のサイトに掲載されているソースをhtml形式でローカルディスクに保存し、ブラウザで参照することで対応できると思います。
【課題3】文字コード、改行コードの違いなどが、各サイトの文字カウントの結果に影響するか?
ご指摘の通り、各サイトの文字カウントの結果は、そのサイトの文字数カウントの仕様(機能)や入力データ(文字コード、改行コード)に依存すると思います。各サイトの詳細な機能については、そのコード(Javascript等)をご確認ください。
※AppleScriptも同様です。多くのみなさまからコメントいただきましたように、ご希望とされる目的に合わせて適宜コードを修正いただければ幸いです。
【課題4】AppleScriptの参考文献
http://en.wikipedia.org/wiki/AppleScript
http://ja.wikipedia.org/wiki/AppleScript
AppleScriptに関しては、書籍よりも海外サイトの情報のほうが豊富のように思います。
ご期待される回答になっているかわかりませんが、もし、ご不明点等ございましたら、ご指摘いただければ幸いです。
追伸:みなさま
perlの正規表現を用いた代替策に関する貴重なコメント、ありがとうございました。
非常に簡易なコードなので当方も大変参考になりました。