インデザインで曜日の字形を○●□■等に変えるスクリプト

丸数字などを簡単に変換できる -名もないテクノ手を参考にして、
自分の理解を深めるためにスクリプトをかいてみた。
「日月火水木金土」の文字を○や●や□や■に変えるスクリプト
文字列中に見つけた「日月火水木金土」を手当たり次第に変換するので、
実用的ではない。
○から■への変換も可能だけど、出来たり出来なかったりするので
そこらへんの仕組みの理解がまだ中途半端かな。

#include 'c.js';//http://svn.coderepos.org//share/platform/illustrator/javascript/lib/c.js
(function(){
var weeks ={
	'正規表現' : "(日|月|火|水|木|金|土)",
	'パターン' : {
		'通常'    :    {'日' : 3284 , '月' : 1860, '火' : 1360 , '水' : 2603, '木' : 3814, '金':1754, '土':3156},
		'括弧' :    {'日' : 8197 , '月' : 8198 , '火' : 8199 , '水' : 8200 , '木' : 8201,'金':8202,'土':8203},
		'白丸' :  {'日':10471,'月':10472,'火':10473,'水':10474,'木':10475,'金':10476,'土':10477},
		'黒丸' : {'日' : 10753 , '月' : 10754,'火':10755,'水':10756,'木':10757,'金':10758,'土':10759},
		'白四角' : {'日':11023,'月':11024,'火':11025,'水':11026,'木':11027,'金':11028,'土':11029},
		'黒四角' : {'日':11296,'月':11297,'火':11298,'水':11299,'木':11300,'金':11301,'土':11302},
		'白角丸' : {'日':11566,'月':11567,'火':11568,'水':11569,'木':11570,'金':11571,'土':11572},
		'黒角丸' : {'日':11835,'月':11836,'火':11837,'水':11838,'木':11839,'金':11840,'土':11841}
	},
	'pList' : function(){
				var List = [];
				for(var x in weeks['パターン'])weeks['パターン'].hasOwnProperty (x) && List.push(x);	
				return List;
		},
	'dialog' : function(TEXT){
				var my_list = weeks.pList();
				var my_dialog = app.dialogs.add({name:'検索置換', canCancel:true});
					with(my_dialog) {
					with(dialogColumns.add()) {
						staticTexts.add({staticLabel:TEXT});
						with (borderPanels.add()) {
							var my_radio_group = radiobuttonGroups.add();
							with (my_radio_group) {
								for (var i = 0; i < my_list.length; i++){
									if (i == 0) {
										radiobuttonControls.add({staticLabel:my_list[i], checkedState:true});
									} else {
									radiobuttonControls.add({staticLabel:my_list[i]});
									}
								}
							}
						}
					}
				}
				if (my_dialog.show() == true) {
					var ans = my_radio_group.selectedButton;
					my_dialog.destroy();
					return my_list[ans];
				} else {
					my_dialog.destroy();
				}
		},
	'changeGlyph' : function(myRange,Target){
			try{
				app.findGlyphPreferences = app.changeGlyphPreferences = NothingEnum.nothing;
				app.findGlyphPreferences.appliedFont  = app.changeGlyphPreferences.appliedFont = myRange.appliedFont;
				app.findGlyphPreferences.glyphID = weeks['パターン'][Target[0]][myRange.contents]; //検索グリフ
				app.changeGlyphPreferences.glyphID =  weeks['パターン'][Target[1]][myRange.contents]; //変更グリフ
				return myRange.changeGlyph ();
			}catch(e){
				//throw e;
				return false;
			}
	},
	'myRegex' : function(my_range_obj,CGP){
			try{
				//検索の初期化
				app.findGrepPreferences = app.changeGrepPreferences =NothingEnum.nothing;
				//検索オプション
				app.findChangeGrepOptions.includeLockedLayersForFind = false;//ロックされたレイヤーをふくめるかどうか
				app.findChangeGrepOptions.includeLockedStoriesForFind = false;//ロックされたストーリーを含めるかどうか
				app.findChangeGrepOptions.includeHiddenLayers = false;//非表示レイヤーを含めるかどうか
				app.findChangeGrepOptions.includeMasterPages = false;//マスターページを含めるかどうか
				app.findChangeGrepOptions.includeFootnotes = false;//脚注を含めるかどうか
				app.findChangeGrepOptions.kanaSensitive = true;//カナを区別するかどうか
				app.findChangeGrepOptions.widthSensitive = true;//全角半角を区別するかどうか
				app.findGrepPreferences.findWhat = weeks['正規表現'];//検索文字の設定
				return my_range_obj.findGrep(true).each(weeks.changeGlyph,CGP);//検索の実行(reverse)
			}catch(e){
				//throw e;
			}
	}
};

var SOURCE_P = weeks.dialog('元になるパターンを選択してください。');
var TARGET_P = weeks.dialog('置換するパターンを選択してください。');
c('S').each(weeks.myRegex,[SOURCE_P,TARGET_P]);
})();
var A_Z = {
'正規表現' : "[A-Z]",
'パターン' : {
    '通常' : {'A' : 34, 'B' : 35, 'C' : 36, 'D' : 37, 'E' : 38, 'F' : 39, 'G' : 40, 'H' : 41, 'I' : 42, 'J' : 43, 'K' : 44, 'L' : 45, 'M' : 46, 'N' : 47, 'O' : 48, 'P' : 49, 'Q' : 50, 'R' : 51, 'S' : 52, 'T' : 53, 'U' : 54, 'V' : 55, 'W' : 56, 'X' : 57, 'Y' : 58, 'Z' : 59},
    '等幅半角' : {'A' : 264, 'B' : 265, 'C' : 266, 'D' : 267, 'E' : 268, 'F' : 269, 'G' : 270, 'H' : 271, 'I' : 272, 'J' : 273, 'K' : 274, 'L' : 275, 'M' : 276, 'N' : 277, 'O' : 278, 'P' : 279, 'Q' : 280, 'R' : 281, 'S' : 282, 'T' : 283, 'U' : 284, 'V' : 285, 'W' : 286, 'X' : 287, 'Y' : 288, 'Z' : 289},
    'フルワイド ' : {'A' : 790, 'B' : 791, 'C' : 792, 'D' : 793, 'E' : 794, 'F' : 795, 'G' : 796, 'H' : 797, 'I' : 798, 'J' : 799, 'K' : 800, 'L' : 801, 'M' : 802, 'N' : 803, 'O' : 804, 'P' : 805, 'Q' : 806, 'R' : 807, 'S' : 808, 'T' : 809, 'U' : 810, 'V' : 811, 'W' : 812, 'X' : 813, 'Y' : 814, 'Z' : 815},
    '縦組用回転' : {'A' : 8753, 'B' : 8754, 'C' : 8755, 'D' : 8756, 'E' : 8757, 'F' : 8758, 'G' : 8759, 'H' : 8760, 'I' : 8761, 'J' : 8762, 'K' : 8763, 'L' : 8764, 'M' : 8765, 'N' : 8766, 'O' : 8767, 'P' : 8768, 'Q' : 8769, 'R' : 8770, 'S' : 8771, 'T' : 8772, 'U' : 8773, 'V' : 8774, 'W' : 8775, 'X' : 8776, 'Y' : 8777, 'Z' : 8778},
    '欧文イタリック' : {'A' : 9477, 'B' : 9478, 'C' : 9479, 'D' : 9480, 'E' : 9481, 'F' : 9482, 'G' : 9483, 'H' : 9484, 'I' : 9485, 'J' : 9486, 'K' : 9487, 'L' : 9488, 'M' : 9489, 'N' : 9490, 'O' : 9491, 'P' : 9492, 'Q' : 9493, 'R' : 9494, 'S' : 9495, 'T' : 9496, 'U' : 9497, 'V' : 9498, 'W' : 9499, 'X' : 9500, 'Y' : 9501, 'Z' : 9502},
    '括弧' : {'A' : 10004, 'B' : 10005, 'C' : 10006, 'D' : 10007, 'E' : 10008, 'F' : 10009, 'G' : 10010, 'H' : 10011, 'I' : 10012, 'J' : 10013, 'K' : 10014, 'L' : 10015, 'M' : 10016, 'N' : 10017, 'O' : 10018, 'P' : 10019, 'Q' : 10020, 'R' : 10021, 'S' : 10022, 'T' : 10023, 'U' : 10024, 'V' : 10025, 'W' : 10026, 'X' : 10027, 'Y' : 10028, 'Z' : 10029},
    '白丸' : {'A' : 10339, 'B' : 10340, 'C' : 10341, 'D' : 10342, 'E' : 10343, 'F' : 10344, 'G' : 10345, 'H' : 10346, 'I' : 10347, 'J' : 10348, 'K' : 10349, 'L' : 10350, 'M' : 10351, 'N' : 10352, 'O' : 10353, 'P' : 10354, 'Q' : 10355, 'R' : 10356, 'S' : 10357, 'T' : 10358, 'U' : 10359, 'V' : 10360, 'W' : 10361, 'X' : 10362, 'Y' : 10363, 'Z' : 10364},
    '黒丸' : {'A' : 10631, 'B' : 10632, 'C' : 10633, 'D' : 10634, 'E' : 10635, 'F' : 10636, 'G' : 10637, 'H' : 10638, 'I' : 10639, 'J' : 10640, 'K' : 10641, 'L' : 10642, 'M' : 10643, 'N' : 10644, 'O' : 10645, 'P' : 10646, 'Q' : 10647, 'R' : 10648, 'S' : 10649, 'T' : 10650, 'U' : 10651, 'V' : 10652, 'W' : 10653, 'X' : 10654, 'Y' : 10655, 'Z' : 10656},
    '白四角' : {'A' : 10901, 'B' : 10902, 'C' : 10903, 'D' : 10904, 'E' : 10905, 'F' : 10906, 'G' : 10907, 'H' : 10908, 'I' : 10909, 'J' : 10910, 'K' : 10911, 'L' : 10912, 'M' : 10913, 'N' : 10914, 'O' : 10915, 'P' : 10916, 'Q' : 10917, 'R' : 10918, 'S' : 10919, 'T' : 10920, 'U' : 10921, 'V' : 10922, 'W' : 10923, 'X' : 10924, 'Y' : 10925, 'Z' : 10926},
    '黒四角' : {'A' : 11174, 'B' : 11175, 'C' : 11176, 'D' : 11177, 'E' : 11178, 'F' : 11179, 'G' : 11180, 'H' : 11181, 'I' : 11182, 'J' : 11183, 'K' : 11184, 'L' : 11185, 'M' : 11186, 'N' : 11187, 'O' : 11188, 'P' : 11189, 'Q' : 11190, 'R' : 11191, 'S' : 11192, 'T' : 11193, 'U' : 11194, 'V' : 11195, 'W' : 11196, 'X' : 11197, 'Y' : 11198, 'Z' : 11199},
    '白角丸四角' : {'A' : 11444, 'B' : 11445, 'C' : 11446, 'D' : 11447, 'E' : 11448, 'F' : 11449, 'G' : 11450, 'H' : 11451, 'I' : 11452, 'J' : 11453, 'K' : 11454, 'L' : 11455, 'M' : 11456, 'N' : 11457, 'O' : 11458, 'P' : 11459, 'Q' : 11460, 'R' : 11461, 'S' : 11462, 'T' : 11463, 'U' : 11464, 'V' : 11465, 'W' : 11466, 'X' : 11467, 'Y' : 11468, 'Z' : 11469},
    '黒角丸四角' : {'A' : 11713, 'B' : 11714, 'C' : 11715, 'D' : 11716, 'E' : 11717, 'F' : 11718, 'G' : 11719, 'H' : 11720, 'I' : 11721, 'J' : 11722, 'K' : 11723, 'L' : 11724, 'M' : 11725, 'N' : 11726, 'O' : 11727, 'P' : 11728, 'Q' : 11729, 'R' : 11730, 'S' : 11731, 'T' : 11732, 'U' : 11733, 'V' : 11734, 'W' : 11735, 'X' : 11736, 'Y' : 11737, 'Z' : 11738}
}
}

A-Zも同じ様に処理できるようにしようとした途中のものもあげておきます。