PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie bettet man Schriftarten ins pdf-Dokument ein?



Ulf
09-06-2009, 17:59
Hallo!
Ich arbeite mit WinXP, TeXnicCenter 7.01 und MiKTeX 2.7 und habe einen Artikel geschrieben. Die Bilder liegen im eps-Format vor und ich habe das Ausgabeprofil LaTeX=>PS=>PDF gewählt. Der Quelltext (Minimalbeispiel) sieht so aus:

\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage{times}

\begin{document}
Dieser Text verwendet den Font Times-Roman.\\
Das eingekreiste R verwendet den Font CMSY7: \textsuperscript{\textregistered}
\end{document}Wenn man sich nun das pdf-Dokument mit dem Adobe Reader anschaut und dort unter „Properties“ die Registerkarte „Fonts“ aufruft, steht dort Folgendes:


CMSY7 (Embedded Subset)
Type: Type 1
Encoding: Custom

Times-Roman
Type: Type 1
Encoding: Standard

Der Zeichensatz „Times-Roman“ ist also nicht „embedded“ (die Bemerkung „Embedded Subset“ fehlt) und genau da liegt mein Problem: Ich möchte den Artikel nämlich für eine Fachtagung einreichen und dort wird verlangt, dass jeder verwendete Zeichensatz auch eingebettet ist. Der Veranstalter (IEEE) stellt ein Programm zur Verfügung, mit dem man die pdf-Dokumente auf Kompatibilität mit den Tagungs-Regularien überprüfen kann. Wenn ich mein Dokument dort teste, gibt das Programm folgende Fehlermeldung aus: „Font Times-Roman is not embedded“.

Daher folgende Frage: Was muss ich tun, damit alle Schriften im pdf-Dokument „embedded“ sind?

Vielen Dank schon mal für alle Antworten!

bobmalaria
09-06-2009, 18:13
hi,

schau mal ob in deiner datei updmap.cfg die einstellung

pdftexDownloadBase14 true
dvipsPreferOutline true
dvipsDownloadBase35 true
dvipdfmDownloadBase14 true

geladen werden oder ob irgendwo false anstatt true steht.

gruss

ps: dieser link (https://mail.cs.drexel.edu/pipermail/unix-dev/2005-June/000875.html) beschäftigt sich mit dem gleichen problem

u_fischer
09-06-2009, 18:13
Auf der Kommandozeile

initexmf --edit-config-file updmap

Dadurch öffnet sich der Editor mit der lokalen updmap.cfg.
Dort

dvipsDownloadBase35 true

eintragen. Speichern und updmap (oder initexmf --mkmaps) ausführen.

Ulrike fischer

Ulf
09-06-2009, 18:50
Zunächst einmal vielen Dank für die Tipps! Bei dvipsDownloadBase35 war in der Tat der Wert „false“ gesetzt. Ich habe die Datei updmap.cfg mit dem Editor geöffnet, den Wert auf „true“ geändert, abgespeichert und dann den Befehl updmap ausgeführt. Das Problem, dass nicht eingebettete Schriftarten vorhanden sind, ist für das Minimalbeispiel damit zunächst behoben.

Allerdings ist für mich aus zwei Gründen die Sache damit leider noch nicht ganz aus der Welt:
1. Statt „Times-Roman“ wird nun die Schriftart „NimbusRomNo9L-Regu“ verwendet. Ich habe das Gefühl, dass sich einige Zeichen leicht von Times-Roman unterscheiden. Außerdem weiß ich nicht, ob das so akzeptiert wird, da die Verwendung von Times-Roman ja Pflicht ist.
2. Im Minimalbeispiel habe ich es weggelassen, das gleiche Problem habe ich aber auch bei den Schriftarten Helvetica und Symbol. Diese werden trotz der obigen Änderung nicht eingebettet (bzw. durch eine andere Schriftart ersetzt)

Daher eine Erweiterung meiner ursprünglichen Frage: Kann ich erreichen, dass alle Schriftarten (also auch Helvetica und Symbol) direkt eingebettet werden (und nicht durch eine ähnliche Schrift wie z.B. NimbusRomNo9L-Regu ersetzt werden)?

voss
09-06-2009, 19:18
Zunächst einmal vielen Dank für die Tipps! Bei dvipsDownloadBase35 war in der Tat der Wert „false“ gesetzt. Ich habe die Datei updmap.cfg mit dem Editor geöffnet, den Wert auf „true“ geändert, abgespeichert und dann den Befehl updmap ausgeführt. Das Problem, dass nicht eingebettete Schriftarten vorhanden sind, ist für das Minimalbeispiel damit zunächst behoben.

Allerdings ist für mich aus zwei Gründen die Sache damit leider noch nicht ganz aus der Welt:
1. Statt „Times-Roman“ wird nun die Schriftart „NimbusRomNo9L-Regu“ verwendet. Ich habe das Gefühl, dass sich einige Zeichen leicht von Times-Roman unterscheiden. Außerdem weiß ich nicht, ob das so akzeptiert wird, da die Verwendung von Times-Roman ja Pflicht ist.
2. Im Minimalbeispiel habe ich es weggelassen, das gleiche Problem habe ich aber auch bei den Schriftarten Helvetica und Symbol. Diese werden trotz der obigen Änderung nicht eingebettet (bzw. durch eine andere Schriftart ersetzt)

Daher eine Erweiterung meiner ursprünglichen Frage: Kann ich erreichen, dass alle Schriftarten (also auch Helvetica und Symbol) direkt eingebettet werden (und nicht durch eine ähnliche Schrift wie z.B. NimbusRomNo9L-Regu ersetzt werden)?

Times ist genauso wie Helvetica eine kommerzielle Schrift! Davon gibt es dann
eben freie Klone für Windows/Linux/Mac und jeder nennt sie, wie er will.

Herbert

Ulf
09-06-2009, 19:43
Und gibt es auch eine Möglichkeit, diese kommerziellen Schriftarten einzubetten?

u_fischer
09-06-2009, 20:04
Und gibt es auch eine Möglichkeit, diese kommerziellen Schriftarten einzubetten?

Wenn du sie besitzt ja: updmap.cfg hat auch dafür einen Schalter, den du in der lokalen cfg wie gehabt ändern kannst:


# Which fonts for the "Basic 35 Laserwriter Fonts" do you want to use and
# how are the filenames chosen? Valid settings:
# URW: URW fonts with "vendor" filenames (e.g. n019064l.pfb)
# URWkb: URW fonts with "berry" filenames (e.g. uhvbo8ac.pfb)
# ADOBE: Adobe fonts with "vendor" filenames (e.g. hvcbo___.pfb)
# ADOBEkb: Adobe fonts with "berry" filenames (e.g. phvbo8ac.pfb)
LW35 URWkb


Ulrike Fischer