« ■電子浮世絵版画家の東西見聞録[90]第三回ボヘミアンナイト、鶏もも肉の黒酢風味/HAL_ | index | ■KNNエンパワーメントコラム つぶやきの先にあるもの twitterコレオグラフ/神田敏晶 »

■クリエイター手抜きプロジェクト[220]Adobe Illustrator CS2/CS3/CS4編 常用漢字以外が使われているか調べる /古籏一浩

with Ajax Amazon
今回は、イラストレーターのテキストブロック内に常用漢字以外が使われているかどうか調べるスクリプトです。

2009年10月時点での常用漢字は1945文字が示されています。普通の文章中では常用漢字以外も多く使われていますし、常用漢字かどうかは気にせず入力してしまっているでしょう。また、常用漢字は時代によって変わるため、追加される文字もあれば外される文字もあります。

今回は常用漢字を調べるスクリプトですが、調べる対象とする漢字は以下にあるファイルにまとめて記述してあります。このファイル内容を書き換えれば、使ってはいけない記号や文字などを手軽にチェックすることができるという仕組みです。
━━━━━━━━━━━━━━━━━━━━━━━━━━━ 印刷通販 PR ━
チラシ印刷ポスター印刷新聞折込チラシカタログ印刷冊子印刷
ポストカード印刷巻き三つ折り観音折りなどに対応した印刷サービス
印刷会社はこちらから↓↓↓ 選挙ポスター印刷もあります。
http://www.ddc.co.jp/index.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━ 印刷通販 PR ━

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

●常用漢字データ
< http://www.openspc2.org/projectX/data/jyouyoukanjidata.txt >

まず、上記の常用漢字データ(テキストファイル)をダウンロードしてデスクトップなど分かりやすいところに保存してください。

準備はこれだけです。次に、イラストレータで調べたいテキストブロックをひとつ選択します。あとは以下のスクリプトを実行させれば、常用漢字以外が使われているかどうか調べてくれます。


function kanjiChecker(txt){
  for (var i=0; i< 32; i++){
    k += String.fromCharCode(i);
  }
  k += kanjidata;
  for(i=0; i< txt.length; i++){
    var p = k.indexOf(txt.charAt(i));
    if (p < 0){
      alert((i+1)+"番目に常用漢字以外の漢字が含まれています。");
break; // 1文字でもあったら以後は処理しません
}
  }
}
var kanjidata;
var filename = File.openDialog("常用漢字ファイルを指定してください");
if (filename){
var fileObj = new File(filename);
var flag = fileObj.open("r");
if (flag == true){
kanjidata = fileObj.read();
fileObj.close();
sel = app.activeDocument.selection[0]; // 最初に選択したテキストブロックのみ対象
kanjiChecker(sel.contents);
}else{
alert("ファイルが開けませんでした");
}
}


1文字でも常用漢字以外が見つかったら処理を停止しますが、連続して調べたいのであれば以下の一行を削除してください。

break; // 1文字でもあったら以後は処理しません

常用漢字以外がたくさん使われていると、上記のスクリプトでは文字位置を示すだけなので、どれが常用漢字以外なのかわかりません。

そこで、常用漢字以外だったら文字サイズを大きくして示すスクリプトが以下になります。文字が入力/配置された直後に実行してチェックするのが無難です(文字サイズなどが変わってしまうため)。


function kanjiChecker(selObj){
  for (var i=0; i< 32; i++){
    k += String.fromCharCode(i);
  }
txt = selObj.contents;
  k += kanjidata;
  for(i=0; i< txt.length; i++){
    var p = k.indexOf(txt.charAt(i));
    if (p < 0){
selObj.characters[i].size = 24; // 24pt;
}
  }
}
var kanjidata;
var filename = File.openDialog("常用漢字ファイルを指定してください");
if (filename){
var fileObj = new File(filename);
var flag = fileObj.open("r");
if (flag == true){
kanjidata = fileObj.read();
fileObj.close();
sel = app.activeDocument.selection[0]; // 最初に選択したテキストブロックのみ対象
kanjiChecker(sel);
}else{
alert("ファイルが開けませんでした");
}
}


【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/ >

mixiアプリで一番ユーザーが多いのがサンシャイン牧場だそうです。ちょこちょこやってますが、普通の育てゲームとはちょっと違うところが面白いかも。自分で育てなくても、他人の畑や牧場から作物やタマゴを盗み取って、それを売るだけでもレベルアップ。リッチなマイミクがいると、作物盗んで売り払うだけで十分いけそう。で、知人が一言。「リッチな友達いないと不利ですよね......現実世界と同じじゃん」

アスキーの連載もよろしく
【HTML5のcanvasで作る画像フィルター】
< http://ascii.jp/elem/000/000/465/465675/ >

【どこよりも早い「Yahoo! UI Library 3」(YUI 3)入門】
< http://ascii.jp/elem/000/000/468/468235/ >

photo
改訂第4版 JavaScript ポケットリファレンス
技術評論社 2006-10-18
おすすめ平均 star
star実用的で分かり易い
starJavaScriptを使ったプロジェクトのお供に是非
starJavaScript仮免者以上の方へ
starバランスの良いバイブル
star中級者向けです。

[改訂版] PHP ポケットリファレンス (Pocket reference) 改訂第6版 HTML&スタイルシート ポケットリファレンス (POCKET REFERENCE) JavaScriptワークブック―ステップ30 (情報演習 (5)) JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス [改訂版] VBScriptポケットリファレンス (POCKET REFERENCE)


最近の関連エントリー

トラックバック

このエントリーのトラックバックURL:

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

back number

Trackbacks

デジクリにSwift 3D V5が紹介されました。... (ストーム君日記 2009年1月23日)

デジクリにSwift 3D V5が紹介されました。... (ストーム君日記 2009年6月19日)

うらうつり... (area-Bログ 2009年2月10日)

[DTP][印刷]「裏抜け」と「プリントスルー」... (DTP+印刷営業メモ 2009年2月11日)

「右」と「左」って何だろう〜... (映画とマーケティング日誌 2009年2月 5日)

デジクリ出演... (tech tech okdt 2008年12月15日)

来月は12月だし... (area-Bログ 2008年11月10日)

広告を変えるレスポンスCM動画... (福岡デザイン日記 2008年10月 1日)

専門用語には必ず「読みがな」を付けてほしい... (M.C.P.C. 2008年7月22日)

T-Time... (あさりの楽天倉庫 2008年7月 3日)

[社会]人と関わること... (DTP+印刷営業メモ 2008年6月18日)

新しいiMacのレビュー記事... (Mein zweiter Blog 2008年6月 3日)

DTP Booster 009(Tokyo/100119)(2010年1月19日、アップルストア銀座で開催)

categories

XML FEED
Powered by
Movable Type 4.261