[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Tabellenzelle wächst bei rotiertem Text nicht mit

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Tabellenzelle wächst bei rotiertem Text nicht mit

Martin Fischer
  
Beiträge gesamt: 12664

26. Okt 2011, 12:31
Beitrag # 1 von 2
Bewertung:
(1282 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

normalerweise sorgt die Angabe einer Mindesthöhe einer Tabellenzelle dafür, dass die Zelle in der Höhe mitwächst, wenn es zur vollständigen Unterbringung des Textes erforderlich ist.

Wird der Text um 90° oder 270° rotiert, dann scheint dieses Mitwachsen nicht zu wirken.

Ausgangspunkt:
1. einzeiliger Text in einer Tabellenzelle mit ca. 25 mm Breite;
2. Zellenhöhe = mindestens 5 mm;
3. keine Textrotation

Änderung:
Textrotation um 270°

Ergebnis:
Text ist im Übersatz, die Zelle wächst in der Höhe nicht mit.

An dem Ergebnis ändert sich (erwartungsgemäß) nichts, wenn statt mindestens 5 mm genau 5 mm angegeben werden.


Nun habe ich versucht, mit Hilfe eines Skripts den Einfluss der Angaben von Höhe (height), Mindesthöhe (minimumHeight), der Maximalhöhe (maximumHeight) und mitwachsend (autoGrow = true) und nicht mitwachsend (autoGrow = false) im Wechsel festzustellen.

Code
if (app.selection.length > 0 && app.selection[0].parent.constructor.name == 'Cell') 
{
_cell = app.selection[0].parent;
_cell.autoGrow = !_cell.autoGrow;
alert('Mitwachsend: ' + _cell.autoGrow); // mitwachsend / nicht mitwachsend im Wechsel
_cell.height = 10;
_cell.minimumHeight = 2;
_cell.maximumHeight = 100;
_cell.rotationAngle = 270;
}


Am grundsätzlichen Problem ändert sich nichts.
Rotierter Text verschwindet im Übersatz, wenn er vor der Rotation breiter war, als die Zelle hoch ist.

autoGrow nimmt lediglich Einfluss darauf, welche von den beiden Eigenschaften height bzw. minimumHeight zum Zuge kommt.
Code
autoGrow = true  -> in der Zellenpalette werden 'mindestens' und der minimumHeight-Wert angezeigt 
autoGrow = false -> in der Zellenpalette werden 'Genau' und der height-Wert angezeigt.


Der maximale Wert scheint (erwartungsgemäß) in diesem Bereich keinen Einfluss zu nehmen auf das Mitwachsverhalten.

Ein Workflow über die Prüfung des Textüberlaufs und der Erhöhung der Zellenhöhe, so lange bis der Textüberlauf verschwunden ist, schlägt fehl, da unmittelbar nach der Rotation die Ermittlung des Textüberlaufs (overflows) false zurückgibt, obwohl der Text tatsächlich überläuft.

Code
if (app.selection.length > 0 && app.selection[0].parent.constructor.name == 'Cell') 
{
_cell = app.selection[0].parent;
_cell.autoGrow = !_cell.autoGrow;
alert('Mitwachsend: ' + _cell.autoGrow); // mitwachsend / nicht mitwachsend im Wechsel
_cell.height = 10;
_cell.minimumHeight = 2;
_cell.maximumHeight = 100;
_cell.rotationAngle = 270;
alert('Textüberlauf: ' + _cell.overflows);
}

Bei der nochmaligen Ausführung des Skripts wird der Textüberlauf, der bei der vorherigen Ausführung erfolgt ist, angezeigt.

Hat jemand eine Idee, wie dem ausgefallenen Mitwachsen bei Textrotationen in Tabellenzellen beizukommen wäre?


Eine spontane Idee: Markierung der rotierten Zellen und Prüfung des Textüberlaufs (und anschließender Korrektur der Höhe, bis kein Überlauf).

Das scheidet (bei mir in CS4) aus, da damit der Textüberlauf gar nicht verschwindet.

Auf der Benutzeroberfläche habe ich beobachtet, dass man den Überlauf zum Verschwinden bringt, indem man die Breite der Spalte minimal verändert.

Aber das Skript zeigt sich während der Ausführung unbeeindruckt von der Veränderung der Spaltenbreite. Allerdings ist nach Ausführung des Skripts der Textüberlauf behoben.

Code
if (app.selection.length > 0 && app.selection[0].parent.constructor.name == 'Cell') 
{
_cell = app.selection[0].parent;
while (_cell.overflows == true && _cell.minimumHeight <= 50)
{
_cell.minimumHeight += 1;
_cell.width += 0.00001;
}
}


(Dieser Beitrag wurde von Martin Fischer am 27. Okt 2011, 06:42 geändert)
X

Tabellenzelle wächst bei rotiertem Text nicht mit

Martin Fischer
  
Beiträge gesamt: 12664

26. Okt 2011, 14:27
Beitrag # 2 von 2
Beitrag ID: #483094
Bewertung:
(1245 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ein möglicher Workaround:

zu rotierenden Text nicht über das entsprechende Zellattribut rotieren, sondern in einen neuen Textrahmen verschieben, der an den Inhalt angepasst wird.
Diesen Textrahmen rotieren und an die ursprüngliche Position des Textes verschieben.


als Antwort auf: [#483079]

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
01.12.2022

Online
Donnerstag, 01. Dez. 2022, 10.00 - 10.45 Uhr

Webinar

Die drei ColorLogic-Programme ZePrA, CoPrA und ColorAnt sind in neuen Versionen mit vielen neuen Funktionen im Jahr 2022 veröffentlich worden oder werden in Kürze veröffentlicht (ColorAnt 9). In unserem ca. 45 minütigen kostenlosen Webinar zeigen wir Ihnen einige dieser neuen Funktionen mit dem Schwerpunkt auf Automatisierung und Produktivitätssteigerungen.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=311

ColorLogic Update-Webinar ZePrA 10, CoPrA 9 und ColorAnt 9
Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/