hilfdirselbst.ch
Facebook Twitter gamper-media
lowtone S
Beiträge: 145
6. Sep 2013, 15:18
Beitrag #1 von 14
Bewertung:
(4894 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo Gemeinde.
Ich arbeite zur Zeit intensiv mit einem Corporate Design, das Schriftgrößen in pt und Zeilenabstände in mm angibt. Ich weiß, dass ich jeden mm-wert in das Feld für ZAB eingeben kann.
Ich muss aber die ZAB von bestehenden Dokumenten oft auslesen und überprüfen. Ich muss also den pt-Wert des Schriftmenüs »von Hand« umrechnen, um den mm-Wert zu sehen. Das ist lästig und zeitaufwändig.

Hier meine Frage: Gibt es IRGENDEINE Möglichkeit, die Schriftpalette so umzubauen, dass Schriftgrößen in pt und ZAB in mm angezeigt werden?
Ich bin froh um jeden Tipp!

Alternativansatz:
Könnte »man« eine eigene Schriftpalette programmieren, die live die Daten ausliest und umrechnet?

Und bevor jemand aus Prinzip fragt: InD CS 5.5, notfalls CS6 unter OSX 10.8.4 // einfache JavaScript-Kenntnisse sind vorhanden.

Vielen Dank für jede Antwort!
Simon
Top
 
X
WernerPerplies
Beiträge: 2177
6. Sep 2013, 15:44
Beitrag #2 von 14
Beitrag ID: #517009
Bewertung:
(4881 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo Simon,

Deine erste Frage kann ich Dir nicht beantworten, aber

Zitat Alternativansatz:
Könnte »man« eine eigene Schriftpalette programmieren, die live die Daten ausliest und umrechnet?


So etwas könnte funktionieren, aber nur in einem eigenen Fenster, das neben dem InDesignfenster positioniert werden müsste.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#517004] Top
 
Gerald Singelmann  M  p
Beiträge: 6178
6. Sep 2013, 16:21
Beitrag #3 von 14
Beitrag ID: #517016
Bewertung:
(4858 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Zitat Hier meine Frage: Gibt es IRGENDEINE Möglichkeit, die Schriftpalette so umzubauen, dass Schriftgrößen in pt und ZAB in mm angezeigt werden?


Nein

Zitat Könnte »man« eine eigene Schriftpalette programmieren, die live die Daten ausliest und umrechnet?


Ja, aber heute komme ich da nicht mehr zu.

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#517004] Top
 
Gerald Singelmann  M  p
Beiträge: 6178
6. Sep 2013, 17:37
Beitrag #4 von 14
Beitrag ID: #517022
Bewertung:
(4824 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Komme ich heute doch noch zu.

Code
#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 = gs_type_panel.add("group");
clm.orientation = "column";
clm.alignChildren = [ "fill", "fill" ];
gs_type_panel.ptsize = clm.add( "edittext", [ undefined, undefined, 100, 20 ], " " );
gs_type_panel.leading = clm.add( "edittext", [ undefined, undefined, 100, 20 ], " " );

gs_type_panel.show();
}

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 pts = app.selection[0].pointSize * 25.4 / 72;
var zab = app.selection[0].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;
}
gs_type_panel.ptsize.text = (Math.round( pts * 1000 ) / 1000) + " mm";
gs_type_panel.leading.text = (Math.round( zab * 1000 ) / 1000) + " mm";
break;
default:
return false;
}
}
}
} catch(e) {
}

}


Die Palette zeigt nur an. Textgröße und ZAB können darüber aber nicht geändert werden. Dafür hat man ja die Zeichenpalette.

Falls Sie die Palette versehentlich geschlossen haben, starten Sie das Script einfach noch mal, es sollte dann einfach die Palette öffnen und nicht alles neu installieren.

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#517016]
(Dieser Beitrag wurde von Gerald Singelmann am 6. Sep 2013, 17:52 geändert)
Top
 
ebschu
Beiträge: 34
6. Sep 2013, 22:13
Beitrag #5 von 14
Beitrag ID: #517030
Bewertung:
(4773 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Ich benutze hierfür bereits seit CS2 das PlugIn TypoX von Jo Lauterbach zur vollsten Zufriedenheit.
In der Version für CS6 werden die Maus-Koordinaten X und Y angezeigt (je nach Einstellung, ab oberem linkem Rand des Dokuments oder für einen einzelnen Textrahmen. Ebenso wird die Versalhöhe der verwendeten Schrift angezeigt. Hier kann auch die Schrifthöhe in mm eingegeben werden (nur die Zahl, ohne mm).
Für den ZAB wird nur die entsprechende Zahl eingegeben. Oben in der Steuerungsleiste werden die üblichen Punktwerte angezeigt.
Das PlugIn ist klein und kann auf dem Monitor nach Wunsch frei platziert werden.
Zum Preis ist zu sagen, dass er erschwinglich ist.
als Antwort auf: [#517004] Top
 
Uwe Laubender S
Beiträge: 3989
7. Sep 2013, 10:21
Beitrag #6 von 14
Beitrag ID: #517033
Bewertung:
(4694 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo, Gerald!

Ich habe eben mal Dein Script in InDesign CS5.5 v7.5.3 und auch mit InDesign CS5 v7.0.4 auf OSX 10.6.8 getestet.

Es wirft leider einen Fehler in Zeile 12, d.h. im else{}-Statement:

Code
gs_type_panel.show(); 


Fehlermeldung:

Code
Fehlernummer: 21 
undefined ist kein Objekt


Was könnte da die Ursache sein?
Vor dem Testen habe ich sicherheitshalber mal alle Startup-Scripts deaktiviert und InDesign natürlich neu gestartet.

"app.scriptPreferences.enableRedraw" steht auf "true".

Der reine Palettenaufruf funktioniert, wenn ich den entsprechenden Code herausziehe und aufrufe:

Code
#target indesign  
#targetengine "gs_show_type_in_mm"

var gs_type_panel = new Window("palette");
var clm = gs_type_panel.add("group");

clm.orientation = "column";
clm.alignChildren = [ "fill", "fill" ];
gs_type_panel.ptsize = clm.add( "edittext", [ undefined, undefined, 100, 20 ], " " );
gs_type_panel.leading = clm.add( "edittext", [ undefined, undefined, 100, 20 ], " " );

gs_type_panel.show();


Siehe auch angehängtem Screenshot.
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#517022] Top

Anhang:
 
drerol74 m
Beiträge: 387
7. Sep 2013, 11:03
Beitrag #7 von 14
Beitrag ID: #517038
Bewertung:
(4675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo Uwe,

ich glaube, »undefined« müsste in Anführungszeichen stehen da typeof einen String zurückliefert:

Code
typeof gs_type_panel == "undefined" 



Schöne Grüße
Roland
als Antwort auf: [#517033] Top
 
Uwe Laubender S
Beiträge: 3989
7. Sep 2013, 11:34
Beitrag #8 von 14
Beitrag ID: #517043
Bewertung:
(4667 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo, Roland!
Ah! Sehr guter Hinweis!!
Das war's…

Danke!
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#517038] Top
 
Uwe Laubender S
Beiträge: 3989
7. Sep 2013, 11:46
Beitrag #9 von 14
Beitrag ID: #517044
Bewertung:
(4658 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo, zusammen!

Tja, vielleicht sollte man noch ein paar Faktoren in die Kalkulation mit einbeziehen?

1. Grundlienversatz für die Berechnung des Zeilenabstandes

2. Das Skalieren des Textes:
2.a Abweichungen von den 100% in der Höhe (Zeichengröße)
2.b [Schwieriger]: Skalierung des Textrahmens

Punkt 2 vor allem schießt ein wenig über die Aufgabenstellung hinaus;
ich geb's ja zu! ;-)
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#517043] Top
 
Gerald Singelmann  M  p
Beiträge: 6178
7. Sep 2013, 12:51
Beitrag #10 von 14
Beitrag ID: #517047
Bewertung:
(4620 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Zitat ich glaube, »undefined« müsste in Anführungszeichen stehen da typeof einen String zurückliefert:


Peinlich :(

Zitat Tja, vielleicht sollte man noch ein paar Faktoren in die Kalkulation mit einbeziehen?


gna gna gna ;)

Code
//*********************************************************************** 
//
// 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;
}
}


--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#517044] Top
 
lowtone S
Beiträge: 145
10. Sep 2013, 11:28
Beitrag #11 von 14
Beitrag ID: #517114
Bewertung:
(4402 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Woooow!
Danke, Gerald! Und danke auch allen anderen!

Sorry, dass ich mich erst jetzt melde. Ich dachte ich bekomme die Aussage, dass sich die Palette nicht umstellen lässt und einen vagen Hinweis auf ein Skript. Und jetzt steht hier die fertige Lösung inklusive eines Updates. Ehrlich, das ist mehr, als ich angefragt habe. Aber es hilft mir enorm und ich bedanke mich erneut für die Zeit und Gedanken, die alle hier (und besonders Gerald) in einfache Fragen investieren.
(Mir fehlt so oft die Zeit hier selber auch produktiv mitzuarbeiten.)
Beste Grüße
Simon
als Antwort auf: [#517047] Top
 
lowtone S
Beiträge: 145
10. Sep 2013, 12:38
Beitrag #12 von 14
Beitrag ID: #517120
Bewertung:
(4368 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Eine Anmerkung hätte ich doch noch:
Also ich habe für meine Zwecke wieder einige tolle Features ausgeblendet, nicht böse sein ;-)

Und ich habe mich gewundert, was ∆ für ein Wert ist. Bis mir aufgefallen ist, dass das eine Codierung für ein Zeichen ist. Das wird bei mir in der Palette aber nicht so angezeigt, (InD 7.5.3 / OSX 10.8.4) sondern da steht wirklich nur "∆". Mir ist das egal, aber falls jemand doch das Inkrement (oder wäre es eher delta?) einbauen will …
als Antwort auf: [#517047] Top
 
Gerald Singelmann  M  p
Beiträge: 6178
10. Sep 2013, 13:07
Beitrag #13 von 14
Beitrag ID: #517123
Bewertung:
(4355 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Zitat Und ich habe mich gewundert, was ∆ für ein Wert ist.


Da habe ich in der Tat ein Delta eingegeben. Das hat wohl die Reise von meinem Mac in das Forumssystem nicht überlebt.

Test:
Code
	row5.add( "statictext", [undefined, undefined, 30, 20], "∆%" ); 


Yupp, das hat HDS umgewandelt. Luschtig

--------------------------

InDesign-Wissen und Automatisierung nicht nur rund um die Suite.

http://www.cuppascript.com
als Antwort auf: [#517120] Top
 
pixxxelschubser p
Beiträge: 1538
10. Sep 2013, 19:51
Beitrag #14 von 14
Beitrag ID: #517141
Bewertung:
(4264 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

ZAB in Millimeter anzeigen


Hallo Gerald,

so sollte es betriebssystemübergreifend (und forentauglich) funktionieren:
Code
row5.add( "statictext", [undefined, undefined, 30, 20], "\u2206%" ); 


Wink

viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton


als Antwort auf: [#517123] Top
 
X