クリエイター手抜きプロジェクト[225]Adobe Photoshop,InDesign,Illustrator,AfterEffects CS3/CS4編 漢字と仮名の割合を調べる
── 古籏一浩 ──

投稿:  著者:


今回は、漢字と仮名の割合を調べるスクリプトです。インターネットで、漢字と仮名の文章中の割合はどのくらいがよいのか調べると、漢字が3割程度で残りが仮名だそうです。

< http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1221050887
>
< http://www.j-tokkyo.com/2000/H04H/JP2000-031920.shtml
>
(【0015】の部分)

ということで、以下のスクリプトが、文章中に漢字と仮名がどのくらいあるか調べるものです。実行する前に、あらかじめテキストフレーム/テキストレイヤー/テキストブロックを選択してください。

ちなみに、このスクリプトは「Photoshop, InDesign, Illustrator, AfterEffects」共通で実行できます。アプリケーションごとに一部処理が違うのですが、アプリケーション別に対処して動作するようにしています(この連載始まってから初めてのパターン)。

4つのアプリケーションで動作するスクリプトを作成する人は、まずいないでしょう。でも、そういうスクリプトを作成する際のヒントにでもなればよいかと思います。



function kkpChecker(txt){
var kanji = 0;
var kana = 0;
  for(i=0; i< txt.length; i++){
    var p = txt.charAt(i);
var f1 = p.match(/[ぁ-ん|ァ-ン]/g);
var f2 = p.match(/[一-龠|々]/g);
if (f1 != null) kana = kana + 1;
if (f2 != null) kanji = kanji + 1;
}
var per1 = ((kana / txt.length) * 100).toFixed(2);
var per2 = ((kanji / txt.length) * 100).toFixed(2);
alert("仮名の割合:"+per1+"%/漢字の割合:"+per2+"%");
}
var sel, ap = app.name;
// Adobe InDesignの場合
if (ap && app.name.indexOf("InDesign") > -1) {
// 最初に選択したテキストブロックのみ対象
sel = app.activeDocument.selection[0].parentStory;
kkpChecker(sel.contents);
}
// Adobe Illustratorの場合
if (ap &&app.name.indexOf("Illustrator") > -1) {
// 最初に選択したテキストブロックのみ対象
sel = app.activeDocument.selection[0];
kkpChecker(sel.contents);
}
// Adobe Photoshopの場合
if (ap &&app.name.indexOf("Photoshop") > -1) {
// アクティブなテキストレイヤーのみ
sel = app.activeDocument.activeLayer.textItem;
kkpChecker(sel.contents);
}
// Adobe AfterEffectsの場合
if(app.watchFolder) {
// アクティブなレイヤーのみ
sel = app.project.activeItem.selectedLayers[0];
kkpChecker(sel.sourceText.value.toString());
}

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

最近見て面白かったTV番組は、NHKスペシャルのリーマン予想。こんな予想でした。
・リーマンブラザーズは潰れるだろう
・日本の(サラ)リーマンの給与は上がらないだろう

というのは嘘で、素数の話でしたが未解決問題だそうですが面白い。ただ、リーマン予想にとりつかれると、精神が破壊されてしまうようで......。数学者もプログラマも何かを極めれば精神が破壊される、という点では似ているのかも。

権兵衛街道(木曽)、木曽街道(木曽から岐阜)を追加しました。
【信濃路を走る【信濃路をx倍速で走る】】
< http://www.openspc2.org/travel/shinanoji/
>

まいどおなじみのASCII.jpの連載もよろしく。
飛び出すカルーセルをUIZE Frameworkで作る(前編/後編)
< http://ascii.jp/elem/000/000/477/477674/
>
< http://ascii.jp/elem/000/000/477/477698/
>

photo
組版時間を半減する! InDesign自動処理実例集
技術評論社 2008-11-25
おすすめ平均 star
starプログラミング経験のない方も気軽に挑戦してほしいです

1ランク上の技を身につけるInDesignの強化書 (MYCOMムック +DESIGNING Professional Bible) InCopyとInDesignによるワークフロー革命 CS4 & CS3 対応 for Macintosh & Windows Adobe InDesign「文字組み」徹底攻略ガイド InDesignレイアウト手帖 InDesign CS3の仕事術


photo
Ext JS入門―リッチUIなWebサイトをつくるAjaxフレームワーク
秀和システム 2009-07
おすすめ平均 star
star唯一のExt JS本

Practical Ext JS Projects with Gears (Practical Projects) WEB+DB PRESS Vol.52 JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス 4Gbpsを超えるWebサービス構築術 Google Androidアプリケーション開発入門 画面作成からデバイス制御まで――基本機能の全容


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

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

by G-Tools , 2009/11/30