[GastForen Programme Print/Bildbearbeitung Adobe InDesign

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Eingabe der Versalhöhe in mm bei Indesign?

Martin Fischer
  
Beiträge gesamt: 12778

24. Jan 2009, 11:21
Bewertung:

gelesen: 29887

Beitrag als Lesezeichen
Hallo Jochen,

ich habe vor etwa einem Jahr mal damit rumgespielt.
Hier ein Skript, das die Höhe des ausgewählten (ersten) Zeichens ermittelt (bei Großguchstaben die Versalhöh, bei Kleinbuchstaben die x-Höhe ) und den Faktor zur Berechnung dieser Höhe aus dem Schriftgrad mit 10 pt bei diesem Zeichen in dieser Schrift gleich mitliefert.

Code
// capHeight.jsx 

if ( app.documents.length == 0 || app.selection.length == 0 || !app.selection[0].hasOwnProperty( 'baseline' ))
exit();
var d = app.activeDocument;
var myResult = getCapHeight ( app.selection[0].characters.item(0), 10 ); // Input: Zeichen, Schriftgrad
var myString = 'Berechnung der Versalhöhe\rSchriftgrad:\t' + myResult.pointSize +
'\rVersalhöhe:\t' + round (myResult.capHeight ) +
'\rFaktor:\t\t' + round (myResult.factor) ;
alert ( myString );

function getCapHeight( aChar , aPointSize )
{
var myFrame = d.textFrames.add({geometricBounds:[0,-50,50,0]});
aChar.duplicate(LocationOptions.AFTER, myFrame.insertionPoints.item(0));
myFrame.characters.item(0).pointSize = aPointSize;
myFrame.characters.item(0).createOutlines( true );
var myObject = myFrame.pageItems.item(0);
// Umrechnung mm in pt
var myHeightInMm = UnitValue ( myObject.geometricBounds[2] - myObject.geometricBounds[0], "mm");
var myHeight = myHeightInMm.as ("pt");
var myFactor = myHeight/aPointSize;
myFrame.remove();

return {pointSize: aPointSize, capHeight: myHeight, factor: myFactor}
}


function round( aValue )
{
var justness = 1000;
return Math.round(aValue * justness ) / justness;
}



Im Prinzip könnte man auf der Basis dieser Berechnung einen Eingabedialog für die Versalhöhe in mm generieren. Falls dafür noch Bedarf besteht, würde ich dies im Premium-Forum gelegentlich nachholen.

(Dieser Beitrag wurde von Martin Fischer am 24. Jan 2009, 11:48 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer (Moderator) am 24. Jan 2009, 11:45
Beitrag geändert von Martin Fischer (Moderator) am 24. Jan 2009, 11:48