InDesignで
テキスト選択部分の文字コードの数値をずらしてみる。もちろん実用性はあまりないです。
ちなみに一見可逆的変換の様に思えますが、制御文字類は+1して-1しても元に戻らないみたい。とりあえず改行だけ除外しています。

  shiftCharCode.jpg
shiftCharCodeTable.jpg
//選択部分の文字コードをずらす。(改行は除く)

//パラメーター:文字コードのずらし量を設定
var n= 1;

if(app.documents.length > 0 && app.selection.length > 0){
	main(n);
	}

function main (n){
	var selObj=app.selection[0];
	switch(selObj.constructor.name){
		case "Character":
		case "Word":
		case "TextStyleRange":
		case "Line":
		case "Text":
		case "Paragraph": 
		case "TextColumn": shiftCharCode (selObj, n); break;
		case "Table":
		case "Cell": shiftEachTable (selObj, n); break;
		}
	}
	
function shiftCharCode (selObj, n){
	var convArr=new Array();
	for(var i=0, L=selObj.contents.length; i < L; i++){
		//改行は除外
		if(selObj.contents.charCodeAt (i)!=13){
			var charConv=(selObj.contents.charCodeAt (i)+n).toString(16);
			var convChar=String.fromCharCode(parseInt("0x"+charConv));
			//$.writeln(convChar);
			convArr.push(convChar);
			}
		else{convArr.push(selObj.contents.charAt(i));}
		}
	selObj.contents=convArr.toString().replace(/\,/g,"");
	}


function shiftEachTable(selObj, n){
	var cellObj=selObj.cells;
	for(var ii=0, LL=cellObj.length; ii < LL; ii++){
		shiftCharCode (cellObj[ii].texts[0], n);
		}
	}

トラックバック(0)

トラックバックURL: http://www.milligramme.cc/mtos/mt-tb.cgi/500

TranslateThis

このブログ記事について

このページは、mgが2010年3月 3日 19:19に書いたブログ記事です。

ひとつ前のブログ記事は「InDesign_乱数から文字コードから文字、そしてふるいにかけてみる」です。

次のブログ記事は「InDesign_バラバラな長体率・平体率を個別に増減」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

アーカイブ

Blog Parts