クリエイター手抜きプロジェクト[377]Adobe Illustrator CS4〜CC編 半角カナ←→全角カナ変換/古籏一浩

投稿:  著者:  読了時間:9分(本文:約4,100文字)


Illustratorではテキストフレーム内にある全角カナを、半角カナに変換することが手軽にはできません。半角カナから全角カナへの変換も同様です。

一文字ずつ検索・置換処理する方法もありますが、さすがにこれでは手間がかかります。

そこで、スクリプトを使ってまとめて変換すると楽です。ただし、今回のスクリプトは文字のスタイルは解除されてしまいますので注意してください。

まずは、選択した複数のテキストフレーム内の全角カナを半角カナに変換するスクリプトです。


// 選択したテキストフレームの文字を全角カナから半角へ
for(var i=0; i<app.activeDocument.selection.length; i++){
var text = app.activeDocument.selection[i].contents;
app.activeDocument.selection[i].contents = toHankaku(text);
}
function toHankaku(srcText){
var han = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」゙゚";
var zen = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホ";
zen+= "マミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」";
zen+= "     ガギグゲゴザジズゼゾダヂヅデド     バビブベボ";
zen+= "                              ";
zen+= "                         パピプペポ";
zen+= "                             ";
for (var i=0,str=""; i<srcText.length; i++){
var c = srcText.charAt(i);
var n = zen.indexOf(c,0);
if ((n >= 0) && (c != " ")){
  if (n > 60){
if (n > 120){
c = han.charAt(n-120);
c = c + "゚";
}else{
c = han.charAt(n-60);
c = c + "゙";
}
}else{
c = han.charAt(n);
}
}
str += c;
}
return str;
}


次に、半角カナを全角カナに変換するスクリプトです。半角カナの濁点などの処理も行っています。ただし「ヴ」のような場合は変換しません。「ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ」だけが対象です。


// 選択したテキストフレームの文字を半角カナから全角へ
for(var i=0; i<app.activeDocument.selection.length; i++){
var text = app.activeDocument.selection[i].contents;
app.activeDocument.selection[i].contents = toZenkaku(text);
}
function toZenkaku(srcText){
var txt = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」゙゚";
var zen = "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホ";
zen+= "マミムメモヤユヨラリルレロワヲンァィゥェォャュョッ、。ー「」";
zen+= "     ガギグゲゴザジズゼゾダヂヅデド     バビブベボ";
zen+= "                              ";
zen+= "                         パピプペポ";
zen+= "                             ";
for (var i=0,str=""; i<srcText.length; i++){
var c = srcText.charAt(i);
var cnext = srcText.charAt(i+1);
var n = txt.indexOf(c,0);
var nnext = txt.indexOf(cnext,0);
var flag = false;
if (n >= 0){
if ((nnext == 60) && (n < 56)){ // 濁点の場合
c = zen.charAt(n+60);
i++;
flag = true;
}
if ((nnext == 61) && (n < 56)){ // 半濁点の場合
c = zen.charAt(n+120);
i++;
flag = true;
}
if (!flag){ c = zen.charAt(n); }
}
if ((n != 60) && (n != 61)){ str += c; }
}
return str;
}

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

またまた大雪で、ずっと雪かきに追われる週末。土曜日の午後10時頃はそんなに積もっていなかったけど、雪かきするのも疲れ、結局、車で踏み固めることに。ところが、その2〜3時間後には猛烈に降り積もり、挫折。朝7時には記録的大雪。

不思議なのは、NHKニュースで「甲府が記録的大雪です」と言っておきながら、直後に流れる映像が奈良県。山梨県はおまけ程度にしか流れず。記録を更新した軽井沢や飯田市も流れず。さすがにローカルニュースでは一部流れたけど。(山梨もCATVなら流れたらしい)

週末なのでロクにニュースもなく、毎度のごとく陸の孤島が発生。とにかく、家から出るのが一苦労。軽トラックが、12時間でこんな具合。

< http://pic.twitter.com/QL1AEpQCGE >

金曜日の午後に降り始めた段階でこんな状態。

< http://pic.twitter.com/w9g3OQPFUh >

土曜日は、こんな状態。雪かきして、こんな状態。

< http://pic.twitter.com/RsqQXqtL99 >
< http://pic.twitter.com/q9A3PNh1hM >

日曜日の朝になると雪も落ちて溶け気味だけど、こんな状態。

< http://pic.twitter.com/Z1c6Bq1RwR >
< http://pic.twitter.com/FaMkux2g8m >
< http://pic.twitter.com/UGKjUHiF7Z >
< http://pic.twitter.com/LBL7w7xbYp >
< http://pic.twitter.com/BgGNh3T2Jk >
< http://pic.twitter.com/psYKqaD8In >
< http://pic.twitter.com/j29SGTm36F >

だいたい、となりの家とか雪が腰か胸まであって(雪の壁状態)、あちこち行けるような状態ではありません。

それにしても、今回の大雪で分かったのは、記録的な大雪であって危険な状態になっても、山梨県は全国的(東京的?)にどうでもいい県という扱いだというところでしょうか。震災の時は茨城県がどうでもいい県という扱いだったけど(長野県で放送されるテレビでのことなので他は分かりませんが)。

こういう時は、やはりTwitterで情報収集がよいのでしょうか。

・記録的降雪で交通遮断、陸の孤島となった山梨県各地の様子
< http://matome.naver.jp/odai/2139242876024582101 >

塩尻市/松本市の場合、山梨県で何かあると物流が結構停止してしまうので、こちらとしては大変重要な県なのです。重ねて言いますが、全国的にはどうでもいい県なんですかね……。

山梨県でモノがなければ、長野県塩尻市もモノが来ない。肝心の国道19号線が停止しているので(なだれでトンネル付近が埋まったらしい)何とも。(日曜日の朝8時頃にようやく片側通行できるようになった)
< http://pic.twitter.com/YIhADjFva1 >

ついでに東名高速も止まったので物流停止でモノがきません……。前回の大雪の時は、トラックがノーマルタイヤでチェーンなしという状況で道路を麻痺させてましたが、今回も同じようなパターンみたいで。

しかし、こんな状況なのに手元には、なぜか楽天Kobo arc 7がある……。雪かきで未開封のままだけど……。

・楽天Kobo arc 7
< http://kobo.rakuten.co.jp/tablets/koboarc7/ >


・Dart例文辞典
< http://www.openspc2.org/reibun/Dart/ver1.1/ >

・Adobe CS2〜CS6,CC JavaScriptリファレンス&ライブラリ
< http://www.openspc2.org/reibun/AdobeJS/index.html >

・Adobe JavaScriptリファレンス(検索できないのはKindleのバグらしい)
< http://www.amazon.co.jp/dp/4844395955 >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/ >

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082 >

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。