QuickLook von Fontdatei in OSX.8.2: Sample-Text ändern?

KlausKinski

Mitglied
Thread Starter
Dabei seit
24.10.2009
Beiträge
94
Reaktionspunkte
2
Wenn man in OSX.8 eine Fontdatei markiert und dann Space drückt (QuickLook), erscheint folgender Sample-Text in der jeweiligen Font-Schriftart:

ABCDEFGH...XYZ
abcdefghijk...xyz
1234567890

Nun würde ich damit gerne äöüßÄÖÜ und »;/%()[]« betrachten. Wie also kann man den Sample-Text ändern/hacken? In welcher Systemdatei ist er versteckt?

Frohe Ostern ...
:cake:
 
Ich weiss zwar leider nicht, wie man den Sample-Text ändert, aber Du könntest mit TextEdit und diesem in Deiner Library bereits vorhandenen Script

/Library/Scripts/Font Book/Create Font Sample.scpt

ein .rtf Dokument erstellen (oder aus TextEdit ein PDF drucken) und dieses dann als übergreifendes Quicklook-Vorschau-Dokument nutzen.

Das Script arbeitet selbständig alle in der geöffneten Schriftsammlung markierten Fonts ab.

Auf dieser Seite findest Du ein überarbeitetes Script, mit dem Du den Vorschautext individualisieren kannst.

Nachteil: Du hast alle Fonts in einem Dokument und musst in Quicklook scrollen (oder mit Pg Down springen).
Vorteil: Du hast alle Fonts in einem Dokument und musst nicht im Finder Fonts-Ordner rumnavigieren.

Das .rtf oder PDF-Dokument kannst Du natürlich für schnellen Zugriff an jeden beliebigen Ort ausserhalb des Fonts-Ordners legen.

Oder Du legst Dir einen zusätzlichen Ordner mit je einem rtf/PDF pro Fonttype an. Das ist aber erstmal etwas mehr Arbeit. Dann könntest Du aber diesen Ordner Schrifttype für Schrifttype mit Quicklook navigieren.
__________

Edit: Wenn Du in dem überarbeiteten Script diese Zeile

set characters to tab & TextString & return & return

in diese veränderst:

set characters to tab & psName & return & TextString & return & return

bleibt in der ersten Zeile der Fontname erhalten, in der folgenden Zeile erscheint Dein Beispieltext, den Du in dieser Zeile anpasst:

set TextString to the text returned of (display dialog ¬
"Type a sentence that you'd like to use for the font sample document:" default answer "The quick brown fox jumped over the lazy dog!")
 
Jo, danke, aber wie man Schriftarten per AppleScripts oder FontApps betrachtet, is eh klar.

Es geht jedoch darum, ab und zu runtergeladene FreeFonts einfach schnell und direkt anzuglotzn (QuickLook), ohne sie erst auch noch via Schriftsammlungen zu aktivieren oder scripten zu müssen. Sei mir nich bös. Also nochma:

Wie kann man den Sample-Text ändern/hacken? In welcher Systemdatei ist er versteckt?
 
Das wird wohl direkt im zugehörigen Ql Generator (/System/Library/QuickLook/font.qlgenerator) stehen. Dieser ist allerdings kompiliert und ohne die Quellen damit nicht für dich änderbar.
 
Danke. Konnte es tatsächlich nich öffnen: Habs mit 0xEd, HexFiend, Peekit2UB, Peep und SynalizeIt versucht. Gibts echt keinen ResEditor mehr, der jegliche Dateiart öffnen kann? Die Zeichenfolge »ABCDEF...7890« ist ja definitiv enthalten, sonst würde sie im QuickLook-Vorschaufenster nicht dargestellt werden. Ergo muss sie auch im Dateicode auffindbar und somit änderbar sein.

Sind Megafreakz hier? =)
 
Hallo KlausKinski,

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist

Gruß Andi
 
Danke, kann Kopie der SampleSupport.plist öffnen, z.B. mit TextEdit. Doch welcher Textabschnitt darin (enthalten sind mehrere ABC-Folgen) ist relevant für QuickLook?
 
Hallo KlausKinski,

vermutlich LongSamples en.
Unter LocaleToSample wird de auf en geleitet...

Gruß Andi
 
Danke, aber ich steig da nich durch. Bräuchte nur die Code-Stelle, an der jenes »ABCDEF...7890« steht. Kann nichts eindeutiges finden, auch nich per Suchfunktionen.
 
Hallo KlausKinski,

keine Ahnung ob das so eine gute Idee ist eine binärcodierte plist mit TextEdit zu öffnen. :rolleyes:
Ich würde das so machen:

Code:
sudo cp /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist.bak; sudo /usr/libexec/PlistBuddy -c "Add :LongSamples:umlauts string äöüßÄÖÜ\n»;/%()[]«" /System/Library/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist; sudo /usr/libexec/PlistBuddy -c "Set :LocaleToSample:de umlauts" /System/Library/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist
Das kopiert die Datei und fügt ein Sample "umlauts" ein und setzt "de" auf "umlauts"

Für die normale Ansicht:
Code:
sudo /usr/libexec/PlistBuddy -c "Set :LocaleToSample:de en" /System/Library/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist
Für Deine Ansicht:
Code:
sudo /usr/libexec/PlistBuddy -c "Set :LocaleToSample:de umlauts" /System/Library/Frameworks/CoreText.framework/Versions/A/Resources/SampleSupport.plist
Um alles wieder rückgängig zu machen die Datei löschen und bei der Kopie den .bak Suffix löschen. Das geht sogar als Admin (nach Authentifizierung) im Finder.
Ist das megafreakzig genug für Dich? ;)

Gruß Andi
 
Ja wenn das klappt, dann biste weit mehr als megafreakzig. =) Eine letzte Sicherheitsfrage, bevor ich obigen ersten Code exakt so ins Terminal kopiere: Hast es selbst mal getestet?
 
Hallo KlausKinski,

ich habe es schon getestet allerdings nicht aus dem Forum heraus. Die Datei noch manuell zu duplizieren ist aber nie verkehrt. Normal sollte der code-tag alles behalten. Die Forensoftware schmuggelt wohl bei längeren "Wörtern" ein Leerzeichen dazu.
Durch das sudo musst Du als Admin angemeldet sein und Du wirst nach Deinem Passwort gefragt. Die Eingabe wird aber nicht angezeigt - also nicht wundern...

Gruß Andi
 
Habe sicherheitshalber erstmal Platte geclonet. Meine gewünschten Zusatzzeichen sind äöüßÄÖÜ!?.(»-«),[›–‹]:„“‚‘; ... Also gab ich diese Befehlsfolge ins Terminal ein:

EDIT: Wegen Fehlerhaftigkeit gelöscht; bitte weiter unten lesen.

Aber Terminal zeigt nur blinkenden Cursor. Sonst tut sich nichts: QuickLook-Fontschau ist noch die alte; Admin-Passwort wurde nicht abgefragt. Was fehlt noch?
 
Zuletzt bearbeitet:
Hallo KlausKinski,

Du kannst mit ctrl-c den Befehl abbrechen. Ich schau's mir grad an. Warum hast Du nicht erst mal meine Version versucht?

Gruß Andi

PS: Das Ausrufezeichen verursacht den Fehler das musst Du mit einem Backslash maskieren. Also Ü\! und einen Zeilenumbruch kannst Du mit \n machen.
Du kannst nicht einfach Zeichen so dazu machen...
 
Aber es war doch Deine Version (erster Code aus Beitrag #10). Habe nur äöüßÄÖÜ!?.(»-«),[›–‹]:„“‚‘; geändert.

Ja, hab's mit ctrl-c gecancelt.
 
Ja und das war der Fehler, denn du hast Zeichen eingefügt, die die Shell versucht zu (sagen wir) interpretieren. Alle diese Zeichen müssen als "bitte nicht interpretieren" markiert werden, was mit dem genannten \ geht.
Evt. genügt es auch die " durch ' zu ersetzen.
 
Hallo Kaito,

nix evt. ' Er soll nur das Ausrufezeichen maskieren.
Ich habs ausgetestet.

Gruß Andi
 
Dann hat der Befehl wohl nicht funktioniert und nichts geändert. Ich tu jedenfalls nichts mehr, bevor Andi erklärt, wie man äöüßÄÖÜ!?.(»-«),[›–‹]:„“‚‘; korrekt integriert. :)
 
Hallo KlausKinski,

äöüßÄÖÜ\!?.(»-«),[›–‹]:„“‚‘;

so und den \ macht man mit shift-alt-7

Gruß Andi
PS: Editier dann bitte Deinen Beitrag - nicht dass das noch Jemand falsch übernimmt...
 
Zurück
Oben Unten