01/11 LightWay TextをAppleScriptからコントロール
LightWay TextをAppleScriptからコントロールしてみました。
縦書き可能だったり、原稿用紙に記入するようにテキスト編集可能な老舗のテキストエディタLightWay Textですが、AppleScript系の機能については、残念ながら不完全かつ不十分であることを確認しました。

AppleScriptとの連携を考えるのであれば、Apple純正のテキストエディット、Jedit X、mi、BBeditやTextWranglerなどを使うのが適切でしょう。
以下、LightWay Textのコントロールを試みた内容です。
テキストの内容を取得できますが、そのままでは扱えないようです。
| スクリプト名:LightWay Textで文章の内容を取得 |
| tell application “LightWayText” tell document 1 contents end tell end tell –> (* {”ぴよ〜うるふ ぴよぴよ”, «data styl01000000000015000C00019000000E00000000000000», «data styw000100000000000000000000»} *) |
ドキュメントの内容をas stringでcastすれば、一応内容(contents)を取得できます。また、同様にSelectionの内容も、そのままでは使用できません。Application、Document、Windowといった主要なオブジェクトのプロパティも一切取得できません。できないことだらけです。
| スクリプト名:LightWay Textで文章の選択部分を取得 |
| tell application “LightWayText” tell document 1 set a to selection end tell end tell –> (* {”ぴよぴよ”, «data styl01000000000015000C00019000000E00000000000000», «data styw000100000000000000000000»} *) |
文章内の選択部分(selection)をas stringでcastすると文字列として取得できますが、逆に選択範囲の内容を書き換えることができません。
Selectionを介してAppleScriptとインタフェースを行うという、一般的なMac系のテキストエディタのような運用はできないことが分りました。無理矢理、GUI Scripting経由でアクセスすることは不可能ではありませんが、動作の確実性を保証できない(最前面にLightWay Textがいないと、メニューを操作して確実にPaste動作を行わせられない)ところです。
| スクリプト名:LightWay Textで選択部分を文字列として取得 |
| tell application “LightWayText” tell document 1 set a to selection as string end tell end tell –> “ぴよぴよ” |
