php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Scripts > BRAINSTORMING PHP/SQL/HTML/JS/CSS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


BRAINSTORMING PHP/SQL/HTML/JS/CSS Ihr habt eine Idee, aber keinen genauen Ansatz? Diskutiert mit anderen Usern des Forums über eure Gedankengänge um evtl. hilfreiche Ideen zu bekommen!
Normale Fragen bitte weiterhin in die entsprechenden Foren!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-03-2013, 12:29
freakgesicht
 Registrierter Benutzer
Links : Onlinestatus : freakgesicht ist offline
Registriert seit: Jul 2012
Beiträge: 57
freakgesicht befindet sich auf einem aufstrebenden Ast
Standard letter spacing

Hallo!

Folgendes Problem: Ich versuche für einen Kunden ein Script zu schreiben, das Text mittels imagettftext() in eine Grafik schreibt - das funktioniert auch gut.

Nun will der Kunde auch ein letter spacing haben. Er verwendet für seine Grafiken Adobe InDesign und stellt dort die "Laufweite" der Schriftzüge ein. Ich habe nachgelesen, dass diese in 1000stel Geviert berechnet werden.
Nun versuche ich, eine solche letter spacing Möglichkeit auch in meinem Script zu verwenden. Mein Problem ist nun aber folgendes:

Ich habe mir in InDesign einen Schriftzug ohne Laufweite (0) gemacht. Davon habe ich mir einen Screenshot angefertigt. Nun habe ich den Wert "-10", "-20" und "-30" nacheinander ausprobiert und ebenfalls davon einen Screenshot gemacht. Dabei ist mir aufgefallen, dass dabei der Abstand zwischen den einzelnen Zeichen nicht gleichmäßig für jeden Buchstaben verändert, sondern das anscheinend von InDesign selbst verändert wird, wie's "am besten" aussieht - ein Beispiel mit dem Text "gartenzaun":

letter spacing 0: g a r t e n z a u n (nehmen wir bitte an, dass die zwei Leerzeichen zwischen den Buchstaben der Wert 0 ist, da ich sonst kein negatives letter spacing erklären kann)
letter spacing -10: g a r t e n z a u n
letter spacing -20: g a r t e n z aun
letter spacing -30: gartenzaun.

Ich hoffe, ich konnte erklären, was InDesign anscheinend macht. Es wird nicht jedes Zeichen um den gleichen Pixelwert nach links verschoben, sondern nur manche. Je größer das negative Letter spacing ist, desto mehr Buchstaben werden enger zusammen geschoben.

Das Problem bei meinem Script ist eben, dass ich jedes Zeichen einzeln platziere und dazwischen xy Pixel frei lasse - Geviert rechne ich mir in Pixel um. Lasse ich nun 1 Pixel zwischen jedem Zeichen, sieht der Text aus, als wäre kein letter spacing eingestellt. Stelle ich aber 2 Pixel (bzw. -2 bei negativem letter spacing) ist der Abstand schon zu groß, da ich ja im Wort Gartenzaun schon 10 Zeichen bzw. 9 Zwischenräume habe, und dann schon 9x2 Pixel an Platz beansprucht werden. Bei 3 Pixeln sind es dann schon 27 Pixel...

Hat jemand eine Idee, wie ich es schaffen kann, dass mein Script dem Verhalten von InDesign nahe kommt? Bzw. kann mir jemand sagen, ob das, was ich versuche, sinnlos ist? Natürlich ist klar, dass InDesign ein Profi-Layoutprogramm ist und ich nur ein einfach PHP-Script schreibe und natürlich nicht an die Funktionen eines Profi-Programmes rankommen kann (v.a. nicht mit meinen Fähigkeiten)...

Danke!
Mit Zitat antworten
  #2 (permalink)  
Alt 25-04-2013, 09:08
Melewo
 Registrierter Benutzer
Links : Onlinestatus : Melewo ist offline
Registriert seit: Jan 2013
Beiträge: 365
Melewo befindet sich auf einem aufstrebenden Ast
Standard

Die Frage hatte ich bis heute irgendwie übersehen.

Es gibt Monospace Schriften, bei denen der Zwischenraum bei allen Zeichen gleich ist. Für Pre-Bereiche in HTML nutze ich da zum Beispiel "Lucida Console" und als Alternative "Courier New". Die Fonts für Monospace Schriften stammen wohl zum Teil noch aus der Zeit der Schreibmaschinen, wo alle Zeichen der Schreibmaschine eine einheitliche Breite besitzen mussten.

Dann gibt es den großen Rest der Schriften, bei denen ein kleines i schmaler ist als ein großes W, um mal zwei Zeichen mit einem deutlichen Unterschied zu erwähnen. Selbstverständlich würde es da besser aussehen, wenn iii ein anderer Zeichenabstand zugewiesen würde, als www, falls die Abstände zwischen den Lettern korrigiert werden sollen. Ich denke, dass der Abstand in Prozent zum jeweiligen Zeichen berechnet werden müsste.

Was ich mir vorstellen könnte, ein assoziatives Array zu erstellen, der das große und kleine Alphabet enthält und in dem die Prozente für den jeweiligen Font enthalten sind. Zum Beispiel könnte dann der Abstand beim i 50 % des durchschnittlichen Letter-Spacing betragen und beim W 120 %.

Weiß jetzt jedoch nicht so genau, welche Angaben da bereits in den TTF-Dateien enthalten sind, da ich keinen geeigneten Editor besitze. Doch eventuell enthalten die ja bereits für eine Berechnung des Zeichenabstandes verwertbare Angaben, die nur noch prozentual hochgerechnet werden müssten.

Geändert von Melewo (25-04-2013 um 09:32 Uhr)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Letter It - Erweiterung der Abfragefelder FireBallGZ Projekthilfe 0 14-10-2010 17:43
css padding und spacing Tabellenproblem fx001 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 5 28-12-2006 16:51
Art & Letter Daily asp2php Out of Order 10 05-10-2004 15:25

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:25 Uhr.