[脱獄] PasteboardKeyで文字を縦書きに変換するスクリプト

Pasteboardkey tategaki script 00
Jailbreak環境下で、いつでもどこでもクリップボード履歴を記録できるTweak「PasteboardKey」。
単にクリップボードの履歴を保存するだけでなく、iPhoneのキーボードから貼り付けができたり、登録したスニペットからJavaScriptを実行できるのが大きな特徴です。
今回はこのスニペットを利用して、入力した文字を縦書きに変換するスクリプトを作ってみました。

スポンサードリンク

PasteboardKeyのインストール

PasteboardKeyのインストールにはひとりぶろぐさんのリポジトリをCydiaに追加する必要があります。

http://hitoriblog.com/apt/

Pasteboardkey tategaki script 01

▼そして「PasteboardKey」を普通にインストール Pasteboardkey tategaki script 02

▼基本的な使い方についてはこちらの記事がとても分かりやすいです。
PasteboardKey – コピー履歴&スニペットを扱えるキーボードを追加する! [JBApp]
コピー履歴とスニペット(定型文)、そしてJavaScriptを使ったテキスト操作などが扱えるキーボードを追加することが出来る『PasteboardKey』のご紹介! …
▼Tweakの作者である@hitoriblogさんの記事
[JB]iPhoneでの作業効率が劇的改善!クリップボード履歴/スニペット専用キーボードPasteboardKey
PasteboardKeyをインストールすると、クリップボードにテキストをコピーしたときに自動に記録が取られていきます。 …
▼アップデートでActivatorに対応
[JB]Activator呼び出し対応!クリップボード履歴/スニペット呼び出し/JavaScriptでテキスト処理可能なキーボードPasteboardKeyをバージョンアップ
先日作ったPasteboardKey。これをインストールするとキーボードが一つ増えることになります。 切り替えが面倒になるのでActivatorから呼び出せるようにしました。 …
▼Action Menuに対応
[JB]Action Menu呼び出し対応とか!クリップボード履歴/スニペット呼び出し/JavaScriptでテキスト処理可能なキーボードPasteboardKeyをバージョンアップ
0.7にバージョンアップしました。Action Menu経由の呼び出しに対応しましたが、不評だったのでAction Menuがインストールされた環境のみで動作するようにしました。 …

Activatorに対応したのでキーボードからは消して、ステータスバースリスリに割り当て使っています。

縦書きスクリプトを登録

やっと本題!スニペット機能からJavaScriptを実行します。

▼以下のコードをPasteboardKeyをインストールしたiPhoneなんかで「コピー」します。
//縦書き変換
translate = {"ー": "|","「": "¬","」": "∟","→": "↓","↑": "→","←": "↑","↓": "←","=": "॥","…": ":"};

getStr = TEXT;
//半角を全角に変換
getStr = getStr.replace(/[\!-\~]/g, function(s) {
 return String.fromCharCode(s.charCodeAt(0) + 0xFEE0);
});

// 改行で分割
arrayStr = getStr.split("\n");

// 配列内の文字数を再配列
arrayStrNo = new Array(arrayStr.length);
for (i=0; i < arrayStr.length; i++) {
 arrayStrNo[i] = arrayStr[i].length;
}

// 縦書きに整列
var modStr = "";
arrayStr.reverse();
for (i=0; i < Math.max.apply(null,arrayStrNo); i++) { // iは行数
 for (ii=0; ii < arrayStr.length; ii++) { // iiは列数
  if (arrayStr[ii].charAt(i) == "") {
   modStr += " "; //全角空白を挿入
  } else if (arrayStr[ii].charAt(i) in translate) {
   modStr += translate[arrayStr[ii].charAt(i)]; //記号変換
  } else {
   modStr += arrayStr[ii].charAt(i);
  }
 }
 modStr += "\n";
}

//最後の改行を削除してから表示
modStr.slice(0,-1);

▼PasteboardKeyのキーボードに「//縦書き変換…」というのが追加されたので、こいつを左にスワイプ。 Pasteboardkey tategaki script 03

▼スワイプすると「Text registered to the Snippets」と表示されます。
これでスニペットに縦書きスクリプトが登録されました。 Pasteboardkey tategaki script 04

縦書きスクリプトを使ってみる

▼文字を入力して、縦書きにしたい範囲を選択します。
※選択範囲を指定しない場合はクリップボードのテキストが変換対象。 Pasteboardkey tategaki script 05

▼「//縦書き変換」を左にスワイプ。 Pasteboardkey tategaki script 06

▼「Evaluate as a JavaScript with Pasteboard」の表示と同時に選択した文字が縦書きに!! Pasteboardkey tategaki script 07テキスト選択→スニペットを左にスワイプ。と、たった2ステップで実行できてしまいます。

▼右下のDeleteキーを左にスワイプすると「Undo」(もとに戻す)します。 Pasteboardkey tategaki script 08 ちなみに上にスワイプすると「Redo」

もっと便利に活用できる気がする

今回紹介したスクリプトは正直役に立たないですが、PasteboardKeyのスニペット機能はもっともっと超便利な事に使えそうな気がします。
これでAppHtmlなんかが使えたら面白そう。(コピペでは動かなかったので、どこか修正が必要っぽいです)

カテゴリー:Jailbreak タグ:, , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です