Hallo,
ich verwende emacs seit langem mit dem Standard 6x10 font. Dieser font hat auf meinem X11 System keinen bold (oder italic, oder bolditalic) Schnitt. Das führt dazu, dass unter emacs die Überschriften im info oder tex mode ziemlich unleserlich dargestellt werden. Auf meinem xterm benutze ich die gleiche Schrift und dort gibt es eine bold Darstellung dieser Schrift, die völlig in Ordnung ist. Ich vermute, die wird erzeugt, indem der reguläre Font einfach um ein bit nach rechts kopiert verdoppelt wird.
Meine Fragen:
Ich würde gerne diesen bold Schnitt in emacs verwenden, oder aber in emacs sämtliche Versuche, für 6x10 irgend etwas bold oder italic darzustellen, abschalten. Kennt jemand sich damit aus, oder kann mir weiterhelfen?
Meine Lösungsansätze:
1. Wie kann ich die xterm Darstellung des bold Schnitts als echten font generieren und installieren?
2. Falls das nicht geht, ist es möglich, beispielsweise einen symlink auf den regulären Schriftschnitt zu legen und emacs dadurch zu überreden, den normalen Schnitt als bold/italic/etc. anzusehen?
Kann mir irgendjemand Tips geben, bzw. sagen, wo ich nachschlagen kann?
-- Orm
On Sun, 13 Oct 2002 11:39:24 +0200, Orm Finnendahl wrote:
ich verwende emacs seit langem mit dem Standard 6x10 font. Dieser font hat auf meinem X11 System keinen bold (oder italic, oder bolditalic) Schnitt. Das führt dazu, dass unter emacs die Überschriften im info oder tex mode ziemlich unleserlich dargestellt werden. Auf meinem xterm benutze ich die gleiche Schrift und dort gibt es eine bold Darstellung dieser Schrift, die völlig in Ordnung ist.
Ich vermute, die wird erzeugt, indem der reguläre Font einfach um ein bit nach rechts kopiert verdoppelt wird.
Ja, xterm macht das so ("overstriking"). rxvt macht das nicht, weshalb ich mit 8x13 und 8x13bold arbeite. 8x13 sieht aus wie fixed und ist auf jedem Rechner vorhanden. Fehlt halt nur ein Euro-Symbol.
Frage an alle: Was nutzt ihr für Schritarten im xterm?
Ich würde gerne diesen bold Schnitt in emacs verwenden,
So wie im xterm klappt das in emacs nicht.
oder aber in emacs sämtliche Versuche, für 6x10 irgend etwas bold oder italic darzustellen, abschalten. Kennt jemand sich damit aus, oder kann mir weiterhelfen?
Meine Lösungsansätze:
- Wie kann ich die xterm Darstellung des bold Schnitts als echten font generieren und installieren?
Wie man eine Schrift erzeugt weiß ich nicht. Du mußt dir für emacs eine Schrift suchen, die in den 4 Schnitten vorhanden ist.
- Falls das nicht geht, ist es möglich, beispielsweise einen symlink auf den regulären Schriftschnitt zu legen und emacs dadurch zu überreden, den normalen Schnitt als bold/italic/etc. anzusehen?
Dann sieht alles gleich aus. Das kannst du einfacher haben, indem du die 4 Schnitte alle auf die gleiche Schrift konfigurieren. Entweder per ~/.Xressources
Emacs.default.attributeFont: 6x10 Emacs.bold.attributeFont: 6x10 Emacs.italic.attributeFont: 6x10 Emacs.bold-italic.attributeFont: 6x10
oder per ~/.emacs
(if window-system (progn (set-face-font 'default "6x10") (set-face-font 'bold "6x10") (set-face-font 'italic "6x10") (set-face-font 'bold-italic "6x10")))
Mit der 2. Variante hatte ich Probleme. Sie funktioniert zwar, nur benötigt emacs damit ewig beim Start. Er scheint aufwendig zu testen, ob die angegeben fonts wirklich vorhanden sind. Ich habe keine Ahnung, wie man das verhindern kann. Viellleicht war das nur ein Bug bei mir.
Reinhard
Am Sonntag, den 13. Oktober 2002 um 18:01:36 Uhr (+0200) schrieb Reinhard Foerster:
oder per ~/.emacs
(if window-system (progn (set-face-font 'default "6x10") (set-face-font 'bold "6x10") (set-face-font 'italic "6x10") (set-face-font 'bold-italic "6x10")))
Das hatte ich schon probiert, aber es funktioniert bei mir aus folgendem Grunde nicht vollständig: Wenn ich mit C-h i in den info mode gehe, werden die cross references auch bold dargestellt. Abhilfe schafft nur:
(progn (set-face-font 'default "6x10") (set-face-font 'bold "6x10") (set-face-font 'italic "6x10") (set-face-font 'bold-italic "6x10") (set-face-font 'info-xref "6x10") (set-face-font 'info-menu-5 "6x10") (set-face-font 'info-node "6x10"))
Das wiederum kann ich nicht evaluieren, bevor ich nicht das erste Mal info aufgerufen habe (wenn ich das in mein .emacs File lege, bekomme ich den error: "Wrong type argument: internal-facep, info-xref"). Erst nachdem ich einen info buffer angelegt habe, verschwindet der Fehler.
Um diese Befehle nur bei Starten des Info Buffers auszuführen, versuchte ich
(add-hook 'info-mode-hook '(lambda () (set-face-font 'info-xref "6x10") (set-face-font 'info-menu-5 "6x10") (set-face-font 'info-node "6x10") ))
aber das scheint nicht zu funktionieren, da dieser hook nicht angesprochen wird. Ausserdem wäre die Frage, inwiefern, diese Befehle in diesem Falle nicht auch zu früh kämen. Ich habe mir ein Keyboard shortcut gelegt, dass diesen Befehl ausführt, nachdem ich info aufgerufen habe. Das mache ich schon seit einigen Jahren so, aber auf die Dauer nervt das doch ein wenig :-(
Mit der 2. Variante hatte ich Probleme. Sie funktioniert zwar, nur benötigt emacs damit ewig beim Start. Er scheint aufwendig zu testen, ob die angegeben fonts wirklich vorhanden sind. Ich habe keine Ahnung, wie man das verhindern kann. Viellleicht war das nur ein Bug bei mir.
Nein, das ist auch bei mir der Normalfall, selbst wenn ich lediglich den default Font auf "6x10" gesetzt habe. Ist mir aber letztlich lieber, als die grössere Schrift. Auf einem Laptop ist man mit Bildschirmplatz etwas geizig...
Dennoch danke für die Tips,
-- Orm
On Sun, 13 Oct 2002 18:51:22 +0200, Orm Finnendahl wrote:
Das hatte ich schon probiert, aber es funktioniert bei mir aus folgendem Grunde nicht vollständig: Wenn ich mit C-h i in den info mode gehe, werden die cross references auch bold dargestellt.
Mhh, stimmt. Dann nimm die Variante mit den Xressourcen. Damit sind auch die Referencen im Info-Mode in der kleinen Schrift und nicht mehr fett. Die Überschriften sind weiterhin fett. Keine Ahnung warum ... immerhion startet er dann gewohnt schnell. Im Zweifelsfall gleich "Emacs*Font: 6x10" in die ~/.Xressouces reinschreiben.
Reinhard
lug-dd@mailman.schlittermann.de