echo und pbcopy - Latein am Ende (Update)
Auf Anregung von Martin und Uwe in den Kommentaren zu Designers Toolbox habe ich zusätzliche Blindtexte in die Toolbox integriert, darunter einen deutschen, der natürlich auch Umlaute enthält – die Anmutung ist gegenüber dem „Lorem ipsum“-Text einfach besser.
Mit einem Button kopiert man den generierten Text vom Widget in die Zwischenablage, hier die entsprechende Javascript-Funktion:
function copy2pb(text) {
if (window.widget) widget.system("/bin/echo '"+text+"' | /usr/bin/pbcopy", null);
}
Leider schaffen es echo und pbcopy von Mac OS X aber nicht, Umlaute und Sonderzeichen richtig zu transferieren – was in der Zwischenablage ankommt, sieht so aus: Kopfsteinpflaster toÃànen auch nur lAÃɬ§cherlich. Aber lassen den Himmel, weil absolut Sommer, nichts au?üer dem Graben, dessen Breite einlAÃɬ§dt, durchzutauchen.
Ich habe verschiedenste Zeichenkodierungen ausprobiert, versucht, mit replace zu arbeiten, einen RTF-Header zu konstruieren und dergleichen mehr – ohne Erfolg. Mein Latein ist am Ende, aber ohne einen funktionierenden Kopieren-Button sind die neuen Blindtexte nicht besonders nützlich.
Hat einer meiner Unix/Perl-erfahrenen Leser einen Tipp?
Update
Martin hat das Problem gelöst, er hat einen Ersatz für pbcopy geschrieben – siehe auch Kommentare.
Ähnliche Beiträge:
Die perfekten Bratkartoffeln Großartiger Finder-Hack
Kommentare:
Bei den Kommentaren handelt es sich um fremde Inhalte, die sich „esse est percipi“ nicht zueigen macht. Verantwortlich für den Inhalt eines Kommentars ist der jeweilige Verfasser.
So, wie Du ‘pbcopy’ aufrufst, gelangt nur ASCII ins Pasetboard. Und das kennt bekanntlich keine deutschen Umlaute.
Was auf jeden Fall funktioniert, ist ein
‘cat german.rtf | pbcopy -Prefer rtf’
Ich denke, Du bist mit der Toolbox an einem Punkt angelangt, wo Du ein zusätzliches Binary mit ins Bundle aufnehmen musst – ich schaue mir das morgen gern mal in der Documentation an. Kann eigentlich nicht so schwer sein mit Cocoa den Text zu konvertieren und ins Clipboard zu senden…
OK, Du hast Recht. ‘pbcopy’ erkennt EPS- und RTF-Header selbständig…
Annyway: Reines Cocoa ist ohne Schuss durchs Knie in der Lage, alte C-Strings nach NSString zu kopieren, und selbige dann ins Clipboard zu packen:
#import "PBtestController.h";
[at]implementation PBtestController
- (IBAction)copyToPasteboard:(id)sender
{
char *cs = “äöüß ÄÖÜß“;
NSString *s = [[NSString alloc] initWithCString:cs encoding:NSUTF8StringEncoding];
NSLog([at]"Text: %[at]", s);
NSPasteboard *pb = [NSPasteboard generalPasteboard];
[pb declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:self];
[pb setString:s forType:NSStringPboardType];
[s release];
}
[at]end
Ich versuche mal, das in ein Kommandozeilenprogramm zu packen… Lang, lang ist’s her… :-)
Vorneweg: von dem Thema verstehe ich nicht viel. Zufaällig fand ich aber (via Schockwellenreiter) folgenden Artikel, der zum Cocoa Textsystem sehr informativ ist. Natürlich gibt es auch weiterführende Links. Vielleicht findest du was…
Viel Erfolg
hier der Link:
http://www.hcs.harvard.edu/~jrus/site/cocoa-text.html
Martin hat in der Zwischenzeit ein kleines Programm geschrieben, das als Universal Binary im Widget-Bundle liegt und das auf magische Weise genau das macht, was das Mac OS X-eigene pbcopy nicht kann: Texte mit intakten Umlauten und Sonderzeichen in die Zwischenablage zu transferieren!
Auch von hier aus noch mal ein großes Dankeschön an Martin – ohne seine Hilfe wäre es nichts geworden mit den zusätzlichen Blindtexten in der Designers Toolbox.
Die neue Version gibt es übrigens im Laufe der nächsten Woche …
Als gelegentlicher Benutzer der Toolbox muss ich dazu etwas sagen: Danke! an die Herren Preidel und Kautz :-)
Auch von meiner Seite vielen Dank!
Rechnung an Sie ist rausgegangen, Herr Cicek. Sobald Sie sie bezahlt haben, werden Ihre Werbe-Kommentare freigeschaltet.Michael Preidel
Kommentar schreiben:
FAQ (Häufig gestellte Fragen)
Kommentare:
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Henning zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Mesrop zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Hopper 1.0b7 (Update: 1.0b9)
Schlagwörter
