//***********************************************************************
//
// Textskalierungsanzeiger
//DESCRIPTION:öffnet eine Palette, in der die vertikalen Werte des markierten Textes in mm angezeigt werden
//
// Diskussion auf http://www.hilfdirselbst.ch/gforum/gforum.cgi?post=517004
//
// [Ver: 2] [Author: Gerald Singelmann] [Modif: 13-09-07]
// [Lang: DE] [Gestestet unter: InDesign CC] [Creat: 13-09-06]
//
//
// Bugs & Feedback : gs{at}cuppascript{dot}com
// www.cuppascript.com
//
// v1: Grundgerüst
// v2: Weitere Werte eingebaut
//
//*********************************************************************
#target indesign
#targetengine "gs_show_type_in_mm"
if (typeof gs_type_panel == "undefined") {
var gs_type_panel = new Window("palette");
var gs_sel_listener = app.addEventListener( "afterSelectionChanged", gs_show_info );
var gs_sel_listener2 = app.addEventListener( "afterSelectionAttributeChanged", gs_show_info );
init();
} else {
gs_type_panel.show();
}
function init() {
var clm = add_group( gs_type_panel, true, "fill", "fill" );
//~ var clm = gs_type_panel.add("group");
//~ clm.orientation = "column";
//~ clm.alignChildren = [ "fill", "fill" ];
var row1 = add_group( clm, false, "fill", "fill" );
row1.add( "statictext", [undefined, undefined, 30, 20], "ptsz" );
gs_type_panel.ptsize = row1.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
var row2 = add_group( clm, false, "fill", "fill" );
row2.add( "statictext", [undefined, undefined, 30, 20], "zab" );
gs_type_panel.leading = row2.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
var row3 = add_group( clm, false, "fill", "fill" );
row3.add( "statictext", [undefined, undefined, 30, 20], "glv" );
gs_type_panel.baseline = row3.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
var row4 = add_group( clm, false, "fill", "fill" );
row4.add( "statictext", [undefined, undefined, 30, 20], "%" );
gs_type_panel.scale = row4.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
var row5 = add_group( clm, false, "fill", "fill" );
row5.add( "statictext", [undefined, undefined, 30, 20], "∆%" );
gs_type_panel.d_scale = row5.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
var row6 = add_group( clm, false, "fill", "fill" );
row6.add( "statictext", [undefined, undefined, 30, 20], "tf%" );
gs_type_panel.tf_scale = row6.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
var row7 = add_group( clm, false, "fill", "fill" );
row7.add( "statictext", [undefined, undefined, 30, 20], "total" );
gs_type_panel.total_scale = row7.add( "edittext", [ undefined, undefined, 80, 20 ], " " );
gs_type_panel.show();
// $.writeln( "installed");
function add_group( obj, column, align1, align2 ) {
var group = obj.add("group");
group.orientation = (column == true) ? "column" : "row";
group.alignChildren = [ align1, align2 ];
group.margin = 1;
return group;
}
}
function gs_show_info() {
try {
if (app.documents.length != 0){
if (app.selection.length > 0){
var s = app.selection[0].constructor.name;
switch (app.selection[0].constructor.name){
case "Text":
case "InsertionPoint":
case "Character":
case "Word":
case "Line":
case "TextStyleRange":
case "TextColumn":
case "Paragraph":
var txt = app.selection[0];
var pts = txt.pointSize * 25.4 / 72;
var zab = txt.leading;
if (zab == Leading.AUTO) {
zab = app.selection[0].pointSize * app.selection[0].autoLeading / 100;
zab = zab * 25.4 / 72;
} else {
zab = zab * 25.4 / 72;
}
var baseline = txt.baselineShift * 25.4 / 72;
var vscale = (txt.verticalScale * txt.pointSize / 100 ) * 25.4 / 72;
var dvscale = ( txt.verticalScale - 100 ) / 100 * txt.pointSize * 25.4 / 72;
var tfscale = txt.parentTextFrames[0].verticalScale / 100 * txt.pointSize * 25.4 / 72;
var total = txt.pointSize * txt.parentTextFrames[0].verticalScale / 100 * txt.verticalScale / 100 * 25.4 / 72;
gs_type_panel.ptsize.text = rnd( pts ) + " mm";
gs_type_panel.leading.text = rnd( zab ) + " mm";
gs_type_panel.baseline.text = rnd( baseline ) + " mm";
gs_type_panel.scale.text = rnd( vscale ) + " mm";
gs_type_panel.d_scale.text = rnd( dvscale ) + " mm";
gs_type_panel.tf_scale.text = rnd( tfscale ) + " mm";
gs_type_panel.total_scale.text = rnd( total ) + " mm";
break;
default:
return false;
}
}
}
} catch(e) {
// $.writeln(e);
}
function rnd( x ) {
return Math.round( x * 1000 ) / 1000;
}
}