Discussion:
Verschmaelerte Schrift
Andre Dierker
2004-06-21 14:49:48 UTC
Permalink
Hallo TeXperten!

Ich muss ein Verhalten von Word nachbilden. Und zwar kann man bei Word die
Laufweite einer Schrift in 0,1pt Schritten verstellen. Ich schätze mal, dass
dabei einfach nur das Kerning zwischen allen Buchstaben um den eingestellten
Wert verrringert wird.

Die Schrift (Excelsior) liegt als Type1 vor, die Einbindung in LaTeX hab
ich bereits geschafft.

Wie kann ich den Effekt am einfachsten in LaTeX nachbilden? Soul
möchte ich nur im absoluten Notfall einsetzen, lieber wäre mir, eine
völlig neue Schriftfamilie zu erzeugen. Kann ich irgendwo im
fontinst-Prozess ansetzen und muss nur irgendwo einen Wert ändern?

Ich möchte nur ungern mit fontforge sämtliche Kerningpaare einzeln
ändern. In den afm-Dateien stehen die Kerning-Informationen wohl auch
drin, aber die alle von Hand zu editieren macht glaub ich auch nicht
wirklich Spass.

Gibts auch ne einfache Möglichkeit?

Andre
--
Never buy a Rolex from someone who is out of breath.

Andre Dierker, ***@kand.de, Lange Str. 77, 44137 Dortmund
Walter Schmidt
2004-06-21 15:48:12 UTC
Permalink
Post by Andre Dierker
Ich muss ein Verhalten von Word nachbilden. Und zwar kann man bei Word die
Laufweite einer Schrift in 0,1pt Schritten verstellen.
"Laufweitenkorrektur" ist etwas anderes als "verschmälerte Schrift":

"Laufweitenkorrektur" bedeutet i.d.R., dass nur der _Abstand_
zwischen den Buchstaben vergrößert oder verkleinert wird. Wenn du
hingegen eine Schrift generell verschmälerst, dann verringern sich
sowohl die Breite der Zeichen als auch ihr Abstand.
Post by Andre Dierker
Ich schätze mal, dass
dabei einfach nur das Kerning zwischen allen Buchstaben um den eingestellten
Wert verrringert wird.
Als "Kerning" bezeichnet man Abstandskorrekturen, die nur zwischen
bestimmten Buchstabenpaaren gemacht werden. Für eine generelle
Laufweitenkorrektur ist dieses Mittel nicht geeignet, denn ein Font
mit 256 Zeichen bräuchte dann 256*256 Kerningpaare.
Post by Andre Dierker
Die Schrift (Excelsior) liegt als Type1 vor, die Einbindung in LaTeX hab
ich bereits geschafft.
Wie kann ich den Effekt am einfachsten in LaTeX nachbilden?
Auf (La)TeX-Ebene geht das gar nicht. Weder Laufweitenkorrekur
noch Verschmälern. Leider. (Mit VTeX wäre immerhin Verschmälern
möglich, aber ich vermute, dass du nicht gerade dieses TeX-System
hast...)
Post by Andre Dierker
Kann ich irgendwo im fontinst-Prozess ansetzen
Ja, genau! Die Stichwörter sind \xscalefont (um eine Schrift zu
verschmälern) und \setint{letterspacing} (um den Zeichenabstand zu
verändern) Siehe fontinst-Manual!
Post by Andre Dierker
Ich möchte nur ungern mit fontforge sämtliche Kerningpaare einzeln
ändern.
Ich habe keine Ahnung von fontforge, aber vielleicht kann das ja
alle Zeichen in x-Richtung skalieren und/oder die Zeichenabstände
global verändern, ohne dass du jedes Zeichen einzeln anfassen musst.
Wenn es das gibt, und wenn du damit umgehen kannst, dann ist das
für dich vielleicht einfacher als das Gefummel mit fontinst.

Gruß
Walter
Henning Hraban Ramm
2004-06-21 16:22:04 UTC
Permalink
Post by Walter Schmidt
Post by Andre Dierker
Ich möchte nur ungern mit fontforge sämtliche Kerningpaare einzeln
ändern.
Ich habe keine Ahnung von fontforge, aber vielleicht kann das ja
alle Zeichen in x-Richtung skalieren und/oder die Zeichenabstände
global verändern, ohne dass du jedes Zeichen einzeln anfassen musst.
Wenn es das gibt, und wenn du damit umgehen kannst, dann ist das
für dich vielleicht einfacher als das Gefummel mit fontinst.
fontforge (bekannter unter seinem alten Namen pfaedit) ist
zumindest aufs Batch-Processing ausgelegt, also dürfte das
kein allzu großes Problem sein - wenn du dich da einarbeiten
willst... (Sorry, ich kann dir da nicht helfen.)



Grüßlis vom Hraban!
---
http://www.fiee.net/texnique/
Andre Dierker
2004-06-22 08:08:30 UTC
Permalink
Post by Walter Schmidt
Post by Andre Dierker
Ich muss ein Verhalten von Word nachbilden. Und zwar kann man bei Word die
Laufweite einer Schrift in 0,1pt Schritten verstellen.
[..]

Ah, danke für die Aufklärung!

Ich brauche dann also nur eine Laufweitenkorrektur, keine
Verschmälerung.
Post by Walter Schmidt
Post by Andre Dierker
Ich schätze mal, dass
dabei einfach nur das Kerning zwischen allen Buchstaben um den eingestellten
Wert verrringert wird.
Als "Kerning" bezeichnet man Abstandskorrekturen, die nur zwischen
bestimmten Buchstabenpaaren gemacht werden. Für eine generelle
Laufweitenkorrektur ist dieses Mittel nicht geeignet, denn ein Font
mit 256 Zeichen bräuchte dann 256*256 Kerningpaare.
Ach so. Ich dachte, es gäbe so etwas, wie einen Standardkerningwert.
Eben sowas ähnliches wie das von dir unten angesprochene letterspacing.
Post by Walter Schmidt
Post by Andre Dierker
Kann ich irgendwo im fontinst-Prozess ansetzen
Ja, genau! Die Stichwörter sind \xscalefont (um eine Schrift zu
verschmälern) und \setint{letterspacing} (um den Zeichenabstand zu
verändern) Siehe fontinst-Manual!
Danke für den Tipp. Dann werd ich mir fontinst mal zur Brust nehmen.

Nur interessehalber: Das mit \xscalefont überrascht mich jetzt ein
bisschen. Was ist denn dann der Unterschied zu \fakenarrow? Ich dachte
das benutzt man, um compressed und Co zu simulieren.

Ist das noch was anderes?
Post by Walter Schmidt
Post by Andre Dierker
Ich möchte nur ungern mit fontforge sämtliche Kerningpaare einzeln
ändern.
Ich habe keine Ahnung von fontforge,
Ich auch nicht ;-)
Post by Walter Schmidt
aber vielleicht kann das ja
alle Zeichen in x-Richtung skalieren und/oder die Zeichenabstände
global verändern, ohne dass du jedes Zeichen einzeln anfassen musst.
Wenn es das gibt, und wenn du damit umgehen kannst, dann ist das
für dich vielleicht einfacher als das Gefummel mit fontinst.
Ich habs leider nicht gefunden. Und dann zieh ich glaub ich das Gefummel
mit fontinst dem Gefummel mit fontforge vor ;-)

Andre
--
A child of five could understand this. Fetch me a child of five!
Walter Schmidt
2004-06-22 14:43:17 UTC
Permalink
Post by Andre Dierker
Das mit \xscalefont überrascht mich jetzt ein
bisschen. Was ist denn dann der Unterschied zu \fakenarrow?
\xscalefont ist ein Befehl auf einem niedrigeren Abstraktionslevel,
wie \installfont im Vergleich zu \latinfamily.
Post by Andre Dierker
Ich dachte das benutzt man, um compressed und Co zu simulieren.
Ignoriere meinen Hinweis auf \xscalefont, wenn du \fakenarrow
bereits kennst und lieber auf dem Level von \latinfamily arbeitest.

Walter

Loading...