よろよろ帳

InDesign JavaScript 勉強中

control+3で出る顔文字がうざい

OS Sonomaです。インデザインCS時よりctrl+3をテキストフレーム設定にあてており欧文時は出ないけど何これバグ?を放置してました。ショートカットデフォルトにしても出る!インデザイン以外でctrl+3なんて使わないので意識して他のアプリでも試すとなんでも出るー

【Mac】Control+3で顔文字リストが表示されるショートカットキーを変更する方法

システム設定→キーボード→キーボードショートカット…→アプリのショートカット→>すべてのアプリケーション→ + →メニュータイトル入力&煩雑なショートカット設定…結構めんどくさいです。(…顔文字誰が使うん?)

インデザインのテキストフレーム設定の場所もなあ…オブジェクトメニューにおる。それはそうねなのですが書式メニューを押してしまいます。

スッキリ解決!でもなく他のアプリでは日本語文字入力中だとctrl+3でも設定しなおした煩雑なショートカットでも現れます…やりませんが。

ついでに広東語とかは"顔文字と句読点を表示"がありました。

値上げ

選択したテキストの価格を100円プラス(涙)

function main(){
    var tar = app.selection[0];
    app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.NOTHING;
    app.findGrepPreferences.findWhat = "(?<=¥)[0-9]+";
    var fou = tar.findGrep();
    for(var i =0; i< fou.length; i++){
        var Num = Number(fou[i].contents)+100;
        fou[i].contents = String(Num);
    }
    app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.NOTHING;
}
app.doScript(main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);

前にもうちょい複雑なことしてました→消費税変更用 - よろよろ帳

立体ぽく

長方形をなんとなく立体にします。選択元はスウォッチ濃度50%で押し出し分は80%と100%です。
丸とか他の形も何かに使えるかもしれません。

app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
    var sel=app.activeDocument.selection;
    var D=5;//深さサイズ
for(i=0;i<sel.length;i++){
    var GB=sel[i].geometricBounds;
    var Rsel=sel[i].duplicate();
    Rsel.fillTint=80;
    Rsel.geometricBounds=[GB[0],GB[3],GB[2],GB[3]+D];
    var myMatrix =app.transformationMatrices.add({counterclockwiseRotationAngle:90});
    Rsel.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myMatrix);
    var myMatrix =app.transformationMatrices.add({clockwiseShearAngle:45});
    Rsel.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myMatrix);
    var myMatrix =app.transformationMatrices.add({counterclockwiseRotationAngle:-90});
    Rsel.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myMatrix);

    var Bsel=sel[i].duplicate();
    Bsel.fillTint=100;
    Bsel.geometricBounds=[GB[2],GB[1],GB[2]+D,GB[3]];
    var myMatrix =app.transformationMatrices.add({clockwiseShearAngle:-45});
    Bsel.transform(CoordinateSpaces.pasteboardCoordinates, AnchorPoint.TOP_LEFT_ANCHOR, myMatrix);
    
    app.activeDocument.groups.add([sel[i],Rsel,Bsel]);//グループ化
    }
}

Visual Studio Code


M3 iMacExtendScript Debugger入れたら動きまへんと警告。Rosetta…めんどくさいなあと思いましたが簡単でした。
If you need to install Rosetta on your Mac - Apple Support

情報開いてチェックを入れます。

これはMacならしようがないのか? Rosettaのせい?
とりあえず動いています。

PDF書き出しプリセットの保存場所

ライブラリ/Application Support/Adobe/AdobePDF/Setting
TimeMachineのライブラリから取り出したい場合
新規ウィンドウ→フォルダへ移動…→アカウントフォルダをドラッグ+"/l"
↓参考
TimeMachineバックアップの「ライブラリ」ってどうやって表示するんだっけ – 教えてApple先生

選択して1個目に合わせる

大きさとか位置とかまとめて変えたいときに。

//左上基準で大きさ合わせる
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel=app.activeDocument.selection;
for(var i=1; i<sel.length; i++){
    var GB1=sel[0].geometricBounds;//1個目の座標
    var W=GB1[3]-GB1[1];//幅
    var H=GB1[2]-GB1[0];//高さ
    var GB2=sel[i].geometricBounds;
    sel[i].geometricBounds=[GB2[0],GB2[1],GB2[0]+H,GB2[1]+W];
    }
}
//天に合わせる
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel=app.activeDocument.selection;
for(var i=1; i<sel.length; i++){
    var GB1=sel[0].geometricBounds;
    var GB2=sel[i].geometricBounds;
    sel[i].geometricBounds=[GB1[0],GB2[1],GB2[2],GB2[3]];
    }
}
//底に合わせる
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel=app.activeDocument.selection;
for(var i=1; i<sel.length; i++){
    var GB1=sel[0].geometricBounds;
    var GB2=sel[i].geometricBounds;
    sel[i].geometricBounds=[GB2[0],GB2[1],GB1[2],GB2[3]];
    }
}
//右に合わせる
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel=app.activeDocument.selection;
for(var i=1; i<sel.length; i++){
    var GB1=sel[0].geometricBounds;
    var GB2=sel[i].geometricBounds;
    sel[i].geometricBounds=[GB2[0],GB2[1],GB2[2],GB1[3]];
    }
}
//左に合わせる
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.FAST_ENTIRE_SCRIPT);
function main (){
var sel=app.activeDocument.selection;
for(var i=1; i<sel.length; i++){
    var GB1=sel[0].geometricBounds;
    var GB2=sel[i].geometricBounds;
    sel[i].geometricBounds=[GB2[0],GB1[1],GB2[2],GB2[3]];
    }
}