pkfix-helper – Online in der Cloud

Dies ist der Befehl pkfix-helper, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


pkfix-helper – verarbeitet mit dvips erstellte PostScript-Dokumente vor, bevor sie an pkfix übergeben werden

ZUSAMMENFASSUNG


pkfix-helper [--help] [- ausführlich] [--Macht=Name=Schriftart] [--ps=Dateiname.ps]
[--tex=Dateiname.tex] [--Zwischenspeicher=Dateinamen] [--enthalten=Schriftart] [--ausschließen=regexp]
[--halten=Schriftart] [--ruhig] [--no-repeats] [--spp=Anzahl] [Eingabe.ps [Ausgabe.ps]]

BESCHREIBUNG


Motivation
PostScript-Dokumente, die mit alten Versionen von erstellt wurden dvips fast immer nutzen
Bitmap-Schriftarten (PostScript Type 3). Das Problem bei Bitmap-Schriftarten besteht darin, dass sie zielgerichtet sind
eine bestimmte Geräteauflösung; Eine PostScript-Datei, die mit 300-DPI-Schriftarten erstellt wurde, sieht aus
körnig auf einem 600-DPI-Drucker. Noch schlimmer, alle Bitmap-Schriftarten sehen beim Vergrößern körnig aus
auf dem Bildschirm. Die Lösung besteht darin, Vektorschriftarten (PostScript Type 1) zu verwenden, die auflösungsabhängig sind.
unabhängig und erscheinen in jeder Größe und jedem Maßstab gestochen scharf.

Die Konfiguration ist zwar nicht mehr schwierig dvips Um Vektorschriftarten zu verwenden, ist es nicht immer möglich
Wiederholung möglich dvips auf einem alten .dvi Datei. Das .dvi Datei- und Dokumentquelle möglicherweise haben
verloren gegangen; oder die Quelle kann möglicherweise nicht mehr kompiliert werden, weil die Pakete, von denen sie abhängt, möglicherweise nicht mehr vorhanden sind
länger verfügbar sein.

Heiko Oberdieks pkfix Das Skript ersetzt Bitmap-Schriftarten in dvips-erstellte PostScript-Dateien
mit den entsprechenden Vektorschriftarten. Es funktioniert durch Parsen der PostScript-Kommentare mit
welche dvips umgibt Definitionen von Bitmap-Schriftarten. Zum Beispiel eine Schriftartdefinition
Beginnend mit dem Kommentar „%DVIPSBitmapFont: Fi cmss10 11 28“ und endend mit einem Matching
%EndDVIPSBitmapFont ist dafür bekannt, die Schriftart „Fi“ als „cmss10“ (Computer Modern Sans Serif) zu definieren
bei einer Designgröße von 10 Punkt) auf 11 Punkt skaliert. Nur die 28 Zeichen werden tatsächlich verwendet
durch das Dokument definiert sind. pkfix Ersetzt dann die Schriftartdefinition durch eine solche
definiert „Fi“ mit demselben Zeichensatz, jedoch aus dem cmss10.pfb Vektorschrift
Datei.

Unglücklicherweise, pkfix Funktioniert nur mit Versionen von dvips neuer als v5.58 (ca. 1996).
Je älter ein PostScript-Dokument ist, desto unwahrscheinlicher ist es natürlich, dass seine Quellen noch vorhanden sind
kann noch neu kompiliert werden. Ältere Versionen von dvips Es fehlen %DVIPSBitmapFont-Kommentare und
verschiedene andere PostScript-Kommentare dazu pkfix verlässt sich. Ohne PostScript-Kommentare dazu
führe es, pkfix kann nicht bestimmen, welche Vektorschriftarten welchem ​​Bitmap zugeordnet sind
Schriftarten.

Übersicht
Die pkfix-Helfer Skript ist ein Präprozessor für pkfix das versucht, das zu bestimmen
Zuordnung zwischen jedem Dokumentschriftnamen (z. B. „Fi“) in einer PostScript-Datei und dem
Originalschriftart (z. B. „cmss10“) und Schriftgröße (z. B. 11 Punkte). Es fabriziert dann das
PostScript kommentiert das pkfix erwartet, so zu sehen pkfix kann seinen Job machen.

pkfix-Helfer Funktioniert durch den Vergleich jeder Dokumentschriftart mit jeder anderen .tfm Schriftartdatei, die es kennt
ungefähr (vorausgesetzt, dass jede dieser Schriftarten eine entsprechende hat .pfb Vektorversion) und Auswählen
die beste Übereinstimmung .tfm Datei für jede Dokumentschriftart. pkfix-Helfer hat nur Zugriff auf die
Zeichenbreiten und nur auf die Zeichen, die tatsächlich im Dokument verwendet werden. Auch,
Das Programm erkennt nur eine begrenzte Anzahl der beliebtesten .tfm Dateien und Skalierung
Faktoren. Folglich ist der Vergleich unvollkommen und pkfix-Helfer kann eine zuschreiben
Falsche Schriftart für einen Vornamen. Tatsächlich verwendete Schriftarten, die nur aus einem oder zwei Zeichen bestehen
in einem Dokument sind besonders problematisch für pkfix-Helfer weil es viele Schriftarten geben kann
nahezu genug Übereinstimmungen, um das Problem zu täuschen.

pkfix-Helfer ist so konzipiert, dass ein Benutzer den Schriftauswahlprozess manuell steuern kann
Benennung passender Schriftarten. Mit ein wenig Sorgfalt und Geduld kann ein Benutzer Korrekturen vornehmen
Sie erkennen alle nicht übereinstimmenden Schriftarten und helfen dem Programm dabei, korrekte Eingaben bereitzustellen pkfix.

OPTIONAL


pkfix-Helfer akzeptiert in der Befehlszeile den Dateinamen eines zu verarbeitenden PostScript-Dokuments
(Standardeinstellung ist das Standardeingabegerät) und der Dateiname einer geänderten Datei
Zu erstellendes PostScript-Dokument (Standardeinstellung ist das Standardausgabegerät). Der
Das Programm akzeptiert außerdem die folgenden Befehlszeilenoptionen:

Häufig Gebrauchte Optionen
-h, --help
Nutzungsinformationen anzeigen und beenden. Der - ausführlich und --ruhig Optionen können verwendet werden, um
Erhöhen und verringern Sie die Menge der präsentierten Informationen.

-v, - ausführlich
Erhöhen Sie die Menge an Statusinformationen pkfix-Helfer wird während der Ausführung angezeigt.
Zusätzliche Instanzen von - ausführlich Auf der Befehlszeile erhöhen Sie das Programm weiter
Ausführlichkeit. Standardmäßig werden nur wichtige Vorgänge angezeigt. Ein einzelner - ausführlich
Zeigt zusätzlich Informationen zu einzelnen Schriftvergleichen an. Eine Sekunde
- ausführlich Zeigt zusätzlich Details zu einigen Programminternen an
Operationen.

-f Name=Schriftart, --Macht=Name=Schriftart
Zwingen pkfix-Helfer um eine bestimmte Schriftart mit einem bestimmten Schriftartnamen zu verknüpfen, der angezeigt wird
Dokument. Name ist ein Zweizeichen dvips Schriftartnamen wie „Fa“. Schriftart ist eine Schriftart
Spezifikation wie „cmmi8“ oder „cmsy10 @ 1.1X“. Ein Sternchen im Namen des
Die Basisschriftart (z. B. „cmti*“) probiert automatisch alle integrierten Testschriftgrößen ab 5 aus
bis 17 Punkte („cmti5“, „cmti6“, ..., „cmti17“). Als Skalenwert wird ein Sternchen verwendet
(z. B. „cmsy10 @ *“) wird durch den Skalierungswert ersetzt, der die beste Übereinstimmung ergibt
die Metriken der Originalschrift. Der --Macht Die Option kann wiederholt angegeben werden
Befehlszeile.

-p Dateiname.ps, --ps=Dateiname.ps
Erstellen Sie eine PostScript-Datei mit dem Namen Dateiname.ps das zeigt die dvips Namen und eine Schriftart
Beispiel jeder Schriftart, die im Eingabedokument verwendet wird.

-t Dateiname.tex, --tex=Dateiname.tex
Erstellen Sie eine einfache TeX-Datei mit dem Namen Dateiname.tex das zeigt die dvips Namen und eine Schriftart
Beispiel jeder Schriftart, die pkfix-Helfer im Ausgabedokument verwendet.

Selten Gebrauchte Optionen
-C Dateinamen, --Zwischenspeicher=Dateinamen
Beschleunigen Sie die Verarbeitung von TFM-Dateien, indem Sie Zeichenmetriken in der Datei zwischenspeichern Dateinamen. Auf einigen
Auf Systemen dauert es lange, eine TFM-Datei zu lesen und zu erzeugen tftopl um es in PL umzuwandeln
formatieren und aus den PL-Daten die Metriken für jedes Zeichen extrahieren. Das erste Mal
--Zwischenspeicher angegeben, pkfix-Helfer fährt wie gewohnt fort und schreibt dann alle extrahierten Daten
Zeichenmetriken zu Dateinamen. Bei nachfolgenden Läufen, in denen --Zwischenspeicher=Dateinamen is
spezifizierten, pkfix-Helfer liest die zuvor extrahierten Metriken aus Dateinamen, gehen
durch das tftopl-basierter Prozess nur für TFM-Dateien, die zuvor nicht vorhanden waren
angetroffen.

-q, --ruhig
Anweisen pkfix-Helfer erzeugt während der Ausführung keine Ausgabe, außer bei einem schwerwiegenden Fehler
Nachrichten.

-1, --no-repeats
Vorbeugen pkfix-Helfer davon ab, dasselbe zu assoziieren Schriftart mit mehr als einem dvips Schriftart
Namen.

-i Schriftart, --enthalten=Schriftart
Speichern Schriftart zur Liste der Schriftartspezifikationen, gegen die pkfix-Helfer vergleicht
alles, Dokumentschriftart. (Im Gegensatz, --Macht bezeichnet eine Schriftartspezifikation, die verwendet werden soll
nur für a spezifisch Dokumentschriftart.) Die --enthalten Die Option kann wiederholt angegeben werden
in der Kommandozeile.

-x regexp, --ausschließen=regexp
Entfernen Sie alle Schriftartspezifikationen, die einem regulären Ausdruck entsprechen regexp für pkfix-Helfer's
Liste bekannter Schriftarten. Der --ausschließen Die Option kann im Befehl wiederholt angegeben werden
Linie.

-k Schriftart, --halten=Schriftart
Ersetzen Sie Bitmap-Schriftarten nicht durch Vektorschriftarten Schriftart („Fa“, „Fb“ usw.). Das
ist nützlich, wenn Dokumente konvertiert werden, die obskure Bitmap-Schriftarten verwenden
ist kein Vektoräquivalent. Beispielsweise war es in der Vergangenheit durchaus üblich, Folgendes einzubeziehen
Grafiken wie Universitäts- oder Firmenlogos in ein Dokument umwandeln
Bitmap-Bild in eine Einzelzeichenschrift umwandeln und diese Schriftart in LaTeX verwenden. --halten
verhindert, dass solche Schriftarten ersetzt werden. Der --halten Option angegeben werden kann
wiederholt auf der Kommandozeile.

-a, --jeder Maßstab
Ermöglicht die Verwendung eines beliebigen Werts zum Skalieren einer Schriftart, wenn „*“ als Skalierung angegeben ist
Faktor. Normalerweise, pkfix-Helfer berücksichtigt nur ganzzahlige Vielfache von 0.1
größer oder gleich 1.0 (d. h. Schriftartenname@1X, „@1.1X“, „@1.2X“, „@1.3X“ usw.).

-s, --spp
Geben Sie die Anzahl der Schriftartbeispiele pro Seite an, die in die angegebenen Dateien gedruckt werden sollen
--ps und --tex Optionen. Der Standardwert 25 sollte in den meisten Fällen gut funktionieren
Umstände.

DIAGNOSE


„Beste Übereinstimmung für Name is lieber arm"
Die beste Schriftart pkfix-Helfer gefunden für dvips Schriftartenname Name hat einen größeren Fehlanpassungswert
kleiner oder gleich 1.0. (Der Nichtübereinstimmungswert ist die Summe der Quadrate der Differenz
zwischen den Zeichenbreiten einer Dokumentschriftart und einer möglichen Ersatzschriftart.)
Verwenden Sie das --Macht Option zum Festlegen einer alternativen Ersatzschriftart oder eines Skalierungsbetrags.

Beispiele:


Gehen Sie für die folgenden Beispiele davon aus oldfile.ps ist der Name eines
PostScript-Datei, die mit einer alten Version von erstellt wurde dvips und Verwenden von mindestens einem Bitmap
Schriftart. Es lohnt sich immer, das zu überprüfen pkfix Die Datei kann nicht alleine konvertiert werden:

$ pkfix alte Datei.ps neue Datei.ps
PKFIX 1.3, 2005 - Copyright (c) 02, 25 bei Heiko Oberdiek.
==> keine Schriftarten konvertiert

(Alternative pkfix kann eine Fehlermeldung wie „!!! Fehler: Analysefehler (@start.)“ ausgeben
Parameter)!".) Nur wenn pkfix Bitmap-Schriftarten können nicht durch Vektorschriftarten ersetzt werden pkfix-
Helfer erforderlich. In seiner einfachsten Form, pkfix-Helfer nimmt den Namen einer Eingabedatei an
(oldfile.ps in diesem Beispiel) und der Name einer Ausgabedatei (pkfix-oldfile.ps), welches wird
haben den gleichen Inhalt wie die Eingabedatei, dienen aber als geeignete Eingabe für pkfix:

$ pkfix-helper oldfile.ps pkfix-oldfile.ps
Oldfile.ps lesen ... fertig.
Anzahl der gefundenen Typ-3-Schriftarten: 10
Bitmap-Schriftarten werden mit 600 DPI gesetzt.
Zeichenbreiten finden ... fertig.
TFM-Dateien einlesen ... fertig (103 TFMs in 193 Skalierungsvarianten).
Passende Schriftarten:
Verarbeitung von Fi ... abgeschlossen (cmr10 @ 1X, Nichtübereinstimmung = 0.11683).
Verarbeitung Fa ... abgeschlossen (cmti10 @ 1X, Nichtübereinstimmung = 0.08892).
Verarbeitung von Fb ... abgeschlossen (cmr8 @ 1X, Nichtübereinstimmung = 0.07133).
Verarbeitung von Ff ... abgeschlossen (cmbx12 @ 1.2X, Nichtübereinstimmung = 0.02948).
Verarbeitung von Fh ... abgeschlossen (cmtt10 @ 1X, Nichtübereinstimmung = 0.06895).
Verarbeitung von Fd ... abgeschlossen (cmmi10 @ 1X, Nichtübereinstimmung = 0.03966).
Verarbeitung von Fj ... abgeschlossen (cmbx12 @ 1X, Nichtübereinstimmung = 0.03972).
Verarbeitung von Fe ... abgeschlossen (cmbx10 @ 1X, Nichtübereinstimmung=0.00762).
Verarbeitung von Fg ... abgeschlossen (cmsy10 @ 1X, Nichtübereinstimmung = 0.00875).
Verarbeitung von Fc ... abgeschlossen (cmr6 @ 1X, Nichtübereinstimmung = 0.00284).

$ pkfix pkfix-oldfile.ps newfile.ps
PKFIX 1.3, 2005 - Copyright (c) 02, 25 bei Heiko Oberdiek.
*** Schriftartkonvertierung: „cmti10“ -> „CMTI10“.
*** Schriftartkonvertierung: „cmr8“ -> „CMR8“.
*** Schriftartkonvertierung: „cmr6“ -> „CMR6“.
*** Schriftartkonvertierung: „cmmi10“ -> „CMMI10“.
*** Schriftartkonvertierung: „cmbx10“ -> „CMBX10“.
*** Schriftartkonvertierung: „cmbx12“ -> „CMBX12“.
*** Schriftartkonvertierung: „cmsy10“ -> „CMSY10“.
*** Schriftartkonvertierung: „cmtt10“ -> „CMTT10“.
*** Schriftartkonvertierung: „cmr10“ -> „CMR10“.
*** Schriftartkonvertierung: „cmbx12“ -> „CMBX12“.
*** Schriftart „CMBX12“ (2) zusammenführen.
==> 10 konvertierte Schriftarten.
==> 1 zusammengeführte Schriftart.

Obwohl pkfix-Helfer versucht, den Schrifterkennungsprozess so weit wie möglich zu automatisieren,
Einige Schriftarten werden unweigerlich falsch erkannt. Das Programm gibt eine Warnung aus
Nachricht, wenn es kennt Eine Übereinstimmung ist schlecht, das Fehlen einer Warnmeldung jedoch nicht unbedingt
weisen darauf hin, dass pkfix-Helfer hat einen guten Job gemacht. Es wird daher dringend empfohlen, dass
Der Benutzer erstellt „Vorher“- und „Nachher“-Schriftartenblätter:

$ pkfix-helper -q altedatei.ps pkfix-altedatei.ps
--ps=oldfonts.ps --tex=newfonts.tex

$ tex newfonts.tex
Dies ist TeX, Version 3.14159 (Web2C 7.4.5)
(./newfonts.tex [1] )
Ausgabe geschrieben auf newfonts.dvi (1 Seite, 1292 Bytes).
Transkript geschrieben auf newfonts.log.

$ dvips newfonts.dvi -o newfonts.ps
Dies ist dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com)
' TeX-Ausgabe 2006.06.11:1636' -> newfonts.ps
<texc.pro><8r.enc><texps.pro>. <cmr6.pfb><cmsy10.pfb><cmbx10.pfb><cmbx12.pfb>
<cmmi10.pfb><cmtt10.pfb><cmr8.pfb><cmti10.pfb><cmr10.pfb>[1]

Nachdem Sie die vorherigen Befehle ausgeführt haben, oldfonts.ps zeigt Beispiele der Schriftarten in oldfile.ps
und newfonts.ps zeigt Beispiele der Ersatzschriftarten pkfix-Helfer verwendet, um zu produzieren
pkfix-oldfile.ps. Drucken oldfonts.ps und newfonts.ps und vergleichen Sie sie sorgfältig
falsche Schriftarten und -größen.

Angenommen, die Wahl von „cmbx12 @ 1.2X“ für die Schriftart „Ff“ sieht falsch aus; sagen die Charaktere
größer aussehen oldfonts.ps als in newfonts.ps. Hier beginnt die Trial-and-Error-Phase
beginnt. Nehmen wir an, dass „cmb12“ besser zu „cmbx12“ passt, aber wir wissen es nicht
Wie stark soll die Schriftart skaliert werden? Glücklicherweise, pkfix-Helfer ermöglicht die Verwendung von „*“ als Skalierung
Faktor, um das Programm anzuweisen, automatisch einen optimalen Skalierungsfaktor zu erkennen, auch wenn
Dazu müssen Sie eine nicht standardmäßige Schriftgröße wählen:

$ pkfix-helper oldfile.ps pkfix-oldfile.ps --force="Ff=cmb12 @ *"
Oldfile.ps lesen ... fertig.
Anzahl der gefundenen Typ-3-Schriftarten: 10
Bitmap-Schriftarten werden mit 600 DPI gesetzt.
Zeichenbreiten finden ... fertig.
Das Lesen von TFM-Dateien ... ist fehlgeschlagen.
pkfix-helper: Die vom Benutzer angegebene TFM-Datei „cmb12“ kann nicht verarbeitet werden.

Hoppla, es sieht so aus, als hätten wir keine cmb12.tfm Datei auf unserem System. Versuchen wir es mit der Skalierung
cmb10.tfm stattdessen:

$ pkfix-helper oldfile.ps pkfix-oldfile.ps --force="Ff=cmb10 @ *"
Oldfile.ps lesen ... fertig.
Anzahl der gefundenen Typ-3-Schriftarten: 10
Bitmap-Schriftarten werden mit 600 DPI gesetzt.
Zeichenbreiten finden ... fertig.
TFM-Dateien einlesen ... fertig (103 TFMs in 193 Skalierungsvarianten).
Passende Schriftarten:
Verarbeitung von Fi ... abgeschlossen (cmr10 @ 1X, Nichtübereinstimmung = 0.11683).
Verarbeitung Fa ... abgeschlossen (cmti10 @ 1X, Nichtübereinstimmung = 0.08892).
Verarbeitung von Fb ... abgeschlossen (cmr8 @ 1X, Nichtübereinstimmung = 0.07133).
Verarbeitung von Ff ... abgeschlossen (cmb10 bei 1.5X, Nichtübereinstimmung = 0.00035).
Verarbeitung von Fh ... abgeschlossen (cmtt10 @ 1X, Nichtübereinstimmung = 0.06895).
Verarbeitung von Fd ... abgeschlossen (cmmi10 @ 1X, Nichtübereinstimmung = 0.03966).
Verarbeitung von Fj ... abgeschlossen (cmbx12 @ 1X, Nichtübereinstimmung = 0.03972).
Verarbeitung von Fe ... abgeschlossen (cmbx10 @ 1X, Nichtübereinstimmung=0.00762).
Verarbeitung von Fg ... abgeschlossen (cmsy10 @ 1X, Nichtübereinstimmung = 0.00875).
Verarbeitung von Fc ... abgeschlossen (cmr6 @ 1X, Nichtübereinstimmung = 0.00284).

Das Match hat sich definitiv verbessert, obwohl 15 pt. ist sicherlich eine seltsame Größe für eine Schriftart.
Andererseits viele Dokumente do Verwenden Sie nicht standardmäßige Größen, daher kann dies tatsächlich korrekt sein. Der
Der beste Weg, dies zu überprüfen, besteht darin, noch einmal zwei Schriftbeispiele zu erstellen, auszudrucken und zu vergleichen
Wiederholen Sie den Vorgang, bis alle Schriftarten korrekt aussehen. Verwenden Sie eine Instanz von --Macht für jede Schriftart
Du möchtest etwas ändern.


pkfix-Helfer berücksichtigt die folgenden Umgebungsvariablen:

GS Der Name des Ghostscript-Interpreters (Standard: gs)

TFTOPL Der Name eines Dienstprogramms zum Konvertieren .tfm Dateien .pl Dateien (Standard: tftopl)

Verwenden Sie pkfix-helper online über die Dienste von onworks.net



Neueste Linux- und Windows-Online-Programme