pdf-Gerät und schriftart "Arial" / Oder: Ändern der font-name (schriftart) in PDF
Ich habe ein problem mit Schriften und PDF-Ausgabe, die in R. An diesem windows-Rechner, es gibt keine Helvetica und die Schriftart von dem Gerät zu sein scheint Arial wie Sie unten sehen können.
Das einfache problem ist, dass die Arial verwendet wird (wie ich es haben möchte), aber die Bearbeitung der PDF-Datei, die es sagt Helvetica verwendet wird. Wie bekomme ich R zu schreiben, die richtigen Namen in der PDF-Datei. pdf(...,family="Arial")
arbeiten nicht, wie diese Familie ist nicht bekannt (grDevices version 2.15.1).
Oder kann ich substitude diese schriftart in die PDF-Datei anschließend erstellen Sie eine Datei mit der schriftart, die ich will?
R-PDF-Ausgabe
Vergleich aus diesem Artikel:Arial versus Helvetica
- Bezüglich Ihrer letzten Frage: Nein, können Sie Schriftarten ersetzen, danach, zumindest nicht so einfach. Jede Schrift hat Ihren individuellen Charakter, breiten -, und PDF ist kein Umfließen-format, die Sie erhalten würden, etwas zumindest sehr unpretty, wenn Sie einfach nur eingeschaltet Schriften danach. Das, BTW, ist auch der Grund, warum Sie in der Regel brauchen die Schriftarten (oder zumindest die jeweiligen Metriken, d.h. char-breiten) in jedem Prozess, der die erzeugt PDF-Datei. Dass gesagt wird, es gibt die standard 14-Schriftarten, für die die meisten Daten müssen nicht aufgenommen werden in eine PDF-Datei. Noch, für die richtige Layout für die Metriken benötigt werden.
- Ich denke mit der substitution von Helvetica zu Arial " ich werde ok sein, mit der Hässlichkeit, als Sie haben ein sehr ähnliches Zeichen breiten und vor allem da die Grundstücke haben keine Lauftexte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie eine neue schriftart für die Verwendung mit
pdf()
. Dazu benötigen Sie Adobe-Font-Metrik-Dateien (*.afm
- Dateien) für die Schriftarten, die Sie verwenden möchten. Sie können konvertieren Sie die.tty
Dateien zu.afm
oder finden.afm
Dateien für Arial auf der interweb, wenn Sie nicht bereits eine haben.wo der Charakter Vektor
metrics
enthält die Pfade zu den relevanten.afm
- Dateien, Die Dateien sollten in dieser Reihenfolge angegeben sein:Den Sie verwenden, die
pdfFonts()
Funktion zum hinzufügen einer Zuordnung zu diesen neuen Schriftartenwo
Arial
ist das Objekt produziert vonType1Font()
früher.Der Letzte Schritt ist die Verwendung der
family
argument inpdf()
bezieht sich auf einer der vorhandenen Familien, wie definiert durchpdfFonts()
:Ich habe nicht versucht, diese wie ich nicht die Arial, die auf meinem system noch zu viele
.afm
Dateien rumliegen, aber ich lötete diese zusammen aus mehreren Quellen:Alternative, je nachdem, wie Ihr system eingerichtet ist, um ein Cairo-basierte PDF-Gerät, das die Funktionen von Ihrem system zu identifizieren und laden von Schriftarten basieren einfach auf Ihren Namen. Sehen
?cairo_pdf
und dann die Kairo Schriften Abschnitt?X11
für details.R standardmäßig keine Schriftarten eingebettet. Es ist nur angegeben, dass eine Helvetica verwendet werden. Du bist wahrscheinlich am besten aus, die Einbettung von Schriftarten. Es gibt zwei Möglichkeiten, dies zu tun, verwenden Sie entweder die
cairo_pdf
Gerät oder dieextrafont
- Paket mit den üblichenpdf
Gerät.cairo_pdf
ist viel einfacher, aber die Ausgabe unterscheidet sich auf subtile Weise vonpdf
.embedFonts()
, die verwendet ghostscript zu tun, die Einbettung. Dieses einbetten werden nur die Schriftarten einbetten verwendet, obwohl es nicht? Wie R hat nicht gesagt, zu verwenden, wie Arial kann, dass die schriftart eingebettet werden.cairo_pdf()
ist eine nützliche Lösung, aber es wird verwenden Sie sowie embed mit der angegebenen schriftart.cairo_pdf
undextrafont
tun.extrafont
nur vereinfacht Ihre Antwort, gefolgt von der Einbettung mit ghostscript..afm
Dateien ist geschätzt zu werden.Heißt es in einem der Kommentare, die base-14-Schriften does ' NT müssen eingebettet werden und die Helvetica ist eine schriftart.PDF-Verbraucher sollen eine Ersatz für solche Schriften und Arial (oder auch Arial MT) wird Häufig verwendet, anstelle von Helvetica.
Ich bin nicht vertraut mit R, aber Sie scheinen in der Lage zu einbetten von Schriftarten, danach
edit: Diese Frage ist zu beantworten erklärt, wie Sie die Schriftarten einbetten danach mit ghostscript, nur sicher sein, GS-Karte Helvetica (oder Arial), um die version der schriftart, die Sie wollen. Dank Gavin Simpson
für mich suchen 🙂
Da R-3.1.0, dies ist viel einfacher. Nun, um eine Arial-schriftart, setzen Sie einfach
family="ArialMT"
:Zitat aus dem April 2014 R-3.1.0 release notes:
Um sicherzustellen, dass die pdf-Datei korrekt dargestellt werden, wo immer es gesehen wird, müssen Sie auch einbetten, die benötigten Arial-fonts in das Dokument. Hier ist eine einfache Möglichkeit, das zu tun: