Hallo! Ich habe versucht, mich genau an die Anleitung Wie installiere ich ein Schrift-Paket von CTAN? zu halten, um die Schriften aus capbas zu installieren.

Der Unterschied hier: Der Ordner 'capbas', aus dem Link, den ich runtergeladen habe, enthält nur eine Sammlung von tfm- bzw. mf-Dateien, also keine Paket- bzw. sty-Datei.

Wahrscheinlich ist es dann sogar einfacher; aber ich weiß einfach nicht, was ich mit diesem Ordner nun genau machen muß. Könnte mir das jmd. kurz sagen, welche Schritte ich da vornehmen muß (Habe TeXLive2013)?

Konkret: Ich möchte die "Taschenrechnerschrift" 7seg nutzen, dazu gibt es dort auch gleich ein Anwendungsbeispiel [LaTeX source of PDF sample], dieses habe ich versucht, laufen zu lassen.

Danke!

gefragt 26 Mai '14, 18:48

cis's gravatar image

cis
5.4k860169
Akzeptiert: 68%

bearbeitet 27 Mai '14, 04:02

Bes's gravatar image

Bes
1411516


Schriften, die nur als tfm- und mf- oder auch nur als mf-Datei vorliegen korrekt für LaTeX zu installieren ist gar nicht so einfach. Zwar sind sie für TeX selbst (oder plainTeX) recht schnell installiert:

  1. Im Unterverzeichnis fonts/tfm/public/ des lokalen oder des persönlichen TEXMF-Baums ein Verzeichnis für den Font anlegen und die tfm-Dateien dort hin kopieren.
  2. Im Unterverzeichnis fonts/source/public/ des lokalen oder des persönlichen TEXMF-Baums ein Verzeichnis für den Font anlegen und die mf-Dateien dort hin kopieren.

Nun könnte man nach dem alten Font-Schema bzw. für plainTeX den Font bereits mit dem \font-Primitiv laden:

Open in writeLaTeX
%!&tex
% Das ist ein plainTeX-Dokument, bitte mit tex nicht latex verarbeiten!
\font\dsevenseg d7seg
\dsevenseg ABCDEFGHIJKLMNOPQURSTUVWYZ\par
           abcdefghijklmnopqrstuvwxyz\par
           0123456789\par
           .,:;-!"\$\%\&/()
\bye

Beim ersten TeX-Lauf sollte dann automatisch MetaFont anspringen und (ggf. über den Umweg eines gf-Fonts) einen pk-Font erzeugen. Das Ergebnis ist dann:

plainTeX

Verwendet man pdftex für den Lauf wird aber auch schon das erste Problem sichtbar. Der Font wird als Bitmap-Font für eine bestimmte Auflösung (normalerweise 600dpi) erzeugt. Bei Ausgabe auf dem Bildschirm wird das Ergebnis daher meist verwaschen oder pixelig aussehen, beim Druck in einer anderen Auflösung ist das Ergebnis ebenfalls suboptimal bis hin zu eher schlecht.

Merksatz: mf-Fonts eignen sich nur für Verarbeitungsprozesse, bei denen man min. die Auflösung des Ausgabegeräts, besser das konkrete Ausgabegerät kennt!

Für LaTeX funktioniert diese einfache Einbindung zwar auf den ersten Blick ebenfalls, allerdings bricht diese komplett das New Font Selection Scheme 2 (aka NFSS2), das von LaTeX min. seit 1994 verwendet wird. Das mag für einen einfachen Font, der ohnehin nur in einem Schnitt vorliegt, tolerierbar sein, für einen ein wenig besser ausgebauten Font, genügt es jedoch nicht. Stattdessen muss man dann kontrollieren, in welchen Font-Encoding der Font vorliegt und eine entsprechende fd-Datei erstellen. Beim Font d7seg könnte man sagen, dass er – wenn auch unvollständig – im OT1-Encoding vorliegt. Zumindest sind die Zeichen und 33 bis 126 belegt.

Eine einfache, passende ot1d7seg.fd könnte dann so aussehen:

Open in writeLaTeX
% This is `ot1d7seg.fd`
% Wir gehen davon aus, dass d7seg.mf für die Entwurfsgröße 10pt erstellt wurde.
\ProvidesFile{ot1d7seg.fd}[2014/05/27 v0.1 Font defs for d7seg]
\DeclareFontFamily{OT1}{d7seg}{}
\DeclareFontShape{OT1}{d7seg}{m}{n}{<-> d7seg}{}

Jetzt kann man schon einmal mit \fontfamily{d7seg} auf diesen neuen Font umschalten:

Open in writeLaTeX
\documentclass{article}

\begin{document}
\fontfamily{d7seg}\selectfont
\centering
ABCDEFGHIJKLMNOPQURSTUVWYZ\\
abcdefghijklmnopqrstuvwxyz\\
0123456789\\
.,:;-!"\$\%\&/()
\end{document}

latex test

Sobald allerdings der Font in anderem Fontkontext verwendet wird, bekommen wir Probleme:

Open in writeLaTeX
\documentclass{article}

\begin{document}
\fontfamily{d7seg}\bfseries
\centering
ABCDEFGHIJKLMNOPQURSTUVWYZ\\
abcdefghijklmnopqrstuvwxyz\\
0123456789\\
.,:;-!"\$\%\&/()
\end{document}

resultiert in der Font-Warnung:

LaTeX Font Warning: Font shape OT1/d7seg/bx/n' undefined
(Font)              usingOT1/d7seg/m/n' instead on input line 4.
Trotzdem ist die Entscheidung, die LaTeX hier trifft, vermutlich genau die, die wir auch selbst treffen würden: Da kein fetter Schnitt existiert, wird einfach der normale Schnitt der Schrift verwendet. Sooo groß ist das Problem also gar nicht. Wir könnten allenfalls noch dafür sorgen, dass das still und heimlich, also ohne Warnung geschieht. Dazu fügen wir in der fd-Datei die Zeile:

Open in writeLaTeX
\DeclareFontShape{OT1}{d7seg}{bx}{n}{<->ssub * d7seg/m/n}{}

ein. Dabei steht ssub für silent substitution.

Näheres zu fd-Dateien und den verschiedenen Funktionen bei \DeclareFontShape findet sich in Abschnitt 4 von »LaTeX2e Font Selection« (aka fontguide).

Wollte man nun, dass beispielsweise der Standard Typewriter-Font durch diesen neuen Font ersetzt wird, so bräuchte man im Dokument lediglich ein

Open in writeLaTeX
\renewcommand\ttdefault{d7seg}

Allerdings würde das nur funktionieren, solange man das OT1-Encoding als Voreinstellung verwendet. Für T1 müsste man ggf. erst eine weitere fd-Datei anlegen. Dort hätte man allerdings das Problem, dass dann die Hälfte der Zeichen tatsächlich fehlen würden. Oder man müsste eben im Dokument überall bei Verwendung von Typewriter lokal das Encoding mit \fontencoding{OT1} umschalten.

Eine Alternative und gleichzeitig so eine Art Analogon zur Verwendung des mit \font definierten Fonts unter plainTeX, wäre eine Anweisung, die \usefont verwendet:

Open in writeLaTeX
\documentclass{article}
\usepackage[T1]{fontenc}
\DeclareRobustCommand{\dsevenseg}[1]{%
  {\usefont{OT1}{d7seg}{m}{n}#1}%
}
\begin{document}
Ein paar Ziffern in d7seg \dsevenseg{0123456789} und dann wieder normal.
\end{document}

klzzwxh:0032sevenseg unter LaTeX

Was man bei einem pk-Font, der zur Laufzeit aus einer mf-Datei erzeugt werden kann, nicht benötigt, ist eine map-Datei. Diese benötigt man erst, wenn man einen passenden Type-1- oder OpenType- oder TrueType-Font erzeugt hat. Hierzu gibt es mehrere Aufsätze, die beispielsweise dokumentieren, wie cm-super aus der MetaFont-Version der European Computer Modern entstanden ist.

Permanenter link

beantwortet 27 Mai '14, 02:43

Bes's gravatar image

Bes
1411516

bearbeitet 27 Mai '14, 04:01

Ui, danke. Das ist eine gute Anleitungs für das Archiv. Speziell hier scheint mir aber der Aufwand in keinem Verhältnis zum Nutzen zu stehen (zumal diese Schrift ja schrecklich ist, mit Ausnahme der Zahlen vielleicht). Ich muß mal schauen, ob man eine "Segment-Schrift" nicht auch einfacher bekommt; indealerweise dann auch gleich eine 17-Segment-Schrift (bekannt vom Videorecorder u.a.); vll. mit TikZ.

(27 Mai '14, 04:24) cis
2

@cis Als TrueType-Font gibt es das massenhaft, beispielsweise http://www.dafont.com/digital-7.font, um nur wahllos ein Beispiel herauszugreifen.

(27 Mai '14, 07:01) Bes
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×32
×30

Frage gestellt: 26 Mai '14, 18:48

Frage wurde angeschaut: 2,353 Mal

Zuletzt aktualisiert: 27 Mai '14, 07:02