summaryrefslogtreecommitdiff
path: root/support/wmf2epsc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-08-05 03:01:59 +0000
committerNorbert Preining <norbert@preining.info>2023-08-05 03:01:59 +0000
commitd40e7963c06e1302f226c67f32c143dcc5fa958a (patch)
treeb2a2f6f21f5f15e9e8b1c538a094131b87bbc29b /support/wmf2epsc
parent319c90e45fc96ba6f15edcf00b24e484d9d92f2b (diff)
CTAN sync 202308050301
Diffstat (limited to 'support/wmf2epsc')
-rw-r--r--support/wmf2epsc/PSprint/Win7/Readme.txt61
-rw-r--r--support/wmf2epsc/PSprint/Win7/W7Print.INF57
-rw-r--r--support/wmf2epsc/PSprint/Win7/WMF2EPS2.PPD311
-rw-r--r--support/wmf2epsc/PSprint/Win8/Readme.txt45
-rw-r--r--support/wmf2epsc/PSprint/Win8/W7Print.INF57
-rw-r--r--support/wmf2epsc/PSprint/Win8/WMF2EPS2.PPD311
-rw-r--r--support/wmf2epsc/PSprint/Win8/install_WMF2EPS_vprint.cmd27
-rw-r--r--support/wmf2epsc/PSprint/Win8/set.datbin0 -> 1256 bytes
-rw-r--r--support/wmf2epsc/PSprint/Win8/uninstall_WMF2EPS_vprint.cmd1
-rw-r--r--support/wmf2epsc/README143
-rw-r--r--support/wmf2epsc/Test/PPTTest.wmfbin0 -> 1858 bytes
-rw-r--r--support/wmf2epsc/Test/SPC_color.wmfbin0 -> 59788 bytes
-rw-r--r--support/wmf2epsc/Test/SPC_gray.wmfbin0 -> 66758 bytes
-rw-r--r--support/wmf2epsc/Test/fant.wmfbin0 -> 13676 bytes
-rw-r--r--support/wmf2epsc/Test/image305.emfbin0 -> 24720 bytes
-rw-r--r--support/wmf2epsc/Test/spc_color.emfbin0 -> 123212 bytes
-rw-r--r--support/wmf2epsc/Test/spc_gray.emfbin0 -> 136600 bytes
-rw-r--r--support/wmf2epsc/Test/symbols.wmfbin0 -> 2376 bytes
-rw-r--r--support/wmf2epsc/inksc_wmf2epsc.cmd33
-rw-r--r--support/wmf2epsc/inksc_wmf2pdfc.cmd33
20 files changed, 1079 insertions, 0 deletions
diff --git a/support/wmf2epsc/PSprint/Win7/Readme.txt b/support/wmf2epsc/PSprint/Win7/Readme.txt
new file mode 100644
index 0000000000..bd646b9d2a
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win7/Readme.txt
@@ -0,0 +1,61 @@
+How to install the WMF2EPS Color PS L2 virtual printer to Windows 7 (64-bit)
+----------------------------------------------------------------------------
+
+Due to a user request here is a patch for getting WMF2EPS installed
+under Windows 7 (64-bit) OS.
+
+When trying to install WMF2EPS to a Windows 7 OS according to the
+installation steps described for XP, Windows 7 refuses to accept
+the install Script W2kPrint.inf found in WMF2EPS\PSprint\Win2000
+which worked for Windows2000 and XP.
+The same problem is with the Vista patch, which does not work with Windows 7.
+
+But, there is no need for an special driver, only the install (inf) script
+must change a little for Windows 7. This is included in the current
+zip archive:
+- W7Print.inf
+- WMF2EPS2.PPD
+- Readme.txt
+
+Setup WMF2EPS with the Windows 7 standard PS driver
+===================================================
+
+Installation Steps
+------------------
+
+Unpack this zip archive to any temporary directory
+Open Start|Control Panel|Printers.
+
+Click Add Printer in the Control Panel.
+
+Add a Local Printer, dont' care for the Printer Port (default is at LPT1:).
+
+For the Printer Driver, select Have Disk....
+
+Browse to your temporary Win7 subdirectory.
+
+Select W7Print.INF. This will install the printer WMF2EPS Color PS L2
+
+If the you already have installed another PS printer, the wizard asks you to replace the driver. You can keep the existing driver.
+
+Use the default setting for the standard-printer (not standard printer).
+
+Ignore the Warning for a missing didital signature.
+
+Printer Sharing: If you plan this computer to run as a license/print server, select Share as.. and type in a share name (e.g. WMF2EPSC). Please note that you'll need a site license for the shared license feature of WMF2EPS 1.3. For all other types of licenses: select Not Shared.
+
+No test page.
+
+The printer WMF2EPS Color PS L2 now appears in your printer list.
+
+Important !
+#########################################################################################
+Before starting the WMF2EPS.exe:
+Click the right mouse button on it and select Properties->Printing Preferences->Advanced....
+Select the Postscript Output section and select the Encapsulated Postscript (EPS) option.
+This setting is most important, all other options here will produce wrong output !
+#########################################################################################
+
+Test your installation.
+
+April 2010. Wolfgang Schulter \ No newline at end of file
diff --git a/support/wmf2epsc/PSprint/Win7/W7Print.INF b/support/wmf2epsc/PSprint/Win7/W7Print.INF
new file mode 100644
index 0000000000..e35a93a8b1
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win7/W7Print.INF
@@ -0,0 +1,57 @@
+; W7Print.INF
+; thanks to
+; http://www.rumborak.de/forum/viewtopic.php?TopicID=1271
+;
+
+[Version]
+Signature="$Windows NT$"
+Provider=WMF2EPS
+LayoutFile=layout.inf
+ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
+Class=Printer
+
+DriverVer=04/04/2010, 1.0
+
+;
+; Manufacturer section.
+;
+; This section lists all of the manufacturers
+; that we will display in the Dialog box
+;
+[MANUFACTURER]
+%OEM% = OemSection, NTamd64
+
+[OemSection]
+%MODEL1%=WPD1,%PNPIDSTR1%
+
+[OemSection.NTamd64]
+%MODEL1%=WPD1,%PNPIDSTR1%
+;
+
+[WPD1]
+CopyFiles=@WMF2EPS2.PPD, PSCRIPT
+DataFile=WMF2EPS2.PPD
+DataSection=PSCRIPT_DATA
+Include=ntprint.inf
+Needs=PSCRIPT.OEM, PSCRIPT_DATA
+
+;
+; Call SetupSetDirectoryId with 66000 to set the target directory at runtime
+; (depending on which environment drivers are getting installed)
+;
+
+[DestinationDirs]
+DefaultDestDir=66000
+
+;
+; Control Flags
+;
+[ControlFlags]
+ExcludeFromSelect = 2369
+;
+; Localizable Strings
+;
+[Strings]
+OEM="WMF2EPS"
+MODEL1="WMF2EPS Color PS L2"
+
diff --git a/support/wmf2epsc/PSprint/Win7/WMF2EPS2.PPD b/support/wmf2epsc/PSprint/Win7/WMF2EPS2.PPD
new file mode 100644
index 0000000000..95b282ad16
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win7/WMF2EPS2.PPD
@@ -0,0 +1,311 @@
+*PPD-Adobe: "4.0"
+*% Adobe Systems PostScript(R) Printer Description File
+*% Copyright 1987-1993 Adobe Systems Incorporated.
+*% All Rights Reserved.
+*% Permission is granted for redistribution of this file as
+*% long as this copyright notice is intact and the contents
+*% of the file is not altered in any way from its original form.
+*% End of Copyright statement
+*FormatVersion: "4.0"
+*FileVersion: "2.2"
+*PCFileName: "wmf2eps2.PPD"
+*LanguageVersion: English
+*Product: "(WMF2EPS Color PS)"
+*PSVersion: "(2010.0) 2"
+*ModelName: "WMF2EPS virtual PS-printer, Level 2"
+*ShortNickName: "WMF2EPS Color PS L2"
+*NickName: "WMF2EPS Color PS L2"
+
+*% General Information and Defaults ===============
+*FreeVM: "16438764"
+*LanguageLevel: "2"
+*Extensions: FileSystem CMYK
+*ColorDevice: True
+*DefaultColorSpace: CMYK
+*DefaultResolution: 600dpi
+*VariablePaperSize: False
+*FileSystem: True
+*?FileSystem: "
+save
+ statusdict begin /diskonline end {(True)}{(False)} ifelse = flush
+restore
+"
+*End
+*Throughput: "10"
+*Password: "0"
+*ExitServer: ""
+*End
+
+*Reset: ""
+*End
+
+*SetResolution 300dpi: " "
+*End
+*SetResolution 400dpi: " "
+*End
+*SetResolution 600dpi: " "
+*End
+*SetResolution 800dpi: " "
+*End
+*SetResolution 1200dpi: " "
+*End
+*SetResolution 2400dpi: " "
+*End
+*?Resolution: ""
+*End
+
+*% Halftone Information ===============
+*ScreenFreq: "94.0"
+*ScreenAngle: "45.0"
+*DefaultScreenProc: Dot
+*ScreenProc Dot: "{1.76 1.4 $printerdict /dfltspotfunc get exec }"
+*ScreenProc Line: "{ pop }"
+*ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
+
+*DefaultTransfer: Null
+*Transfer Null: "{ }"
+*Transfer Null.Inverse: "{ 1 exch sub }"
+
+*% Paper Handling ===================
+*% Use these entries to set paper size most of the time, unless there is
+*% specific reason to use PageRegion.
+*OpenUI *PageSize: PickOne
+*OrderDependency: 30 AnySetup *PageSize
+*DefaultPageSize: Huge
+*PageSize Huge: "statusdict begin hugetray end"
+*PageSize A4: "statusdict begin hugetray end"
+*CustomPageSize True: "1 exch sub exch pop statusdict /setpageparams get exec"
+*ParamCustomPageSize Width: 1 points 1 3668
+*ParamCustomPageSize Height: 2 points 1 3668
+*ParamCustomPageSize WidthOffset/Margins: 3 points 0 3669
+*ParamCustomPageSize HeightOffset: 4 points 0 0
+*ParamCustomPageSize Orientation: 5 int 0 1
+*MaxMediaWidth: "1275"
+*?PageSize: ""
+*End
+*CloseUI: *PageSize
+
+*% These entries will set up the frame buffer. Usually used with manual feed.
+*OpenUI *PageRegion: PickOne
+*OrderDependency: 40 AnySetup *PageRegion
+*DefaultPageRegion: Huge
+*PageRegion Huge: "huge"
+*PageRegion A4: "a4"
+*CloseUI: *PageRegion
+
+*DefaultImageableArea: Huge
+*ImageableArea Huge: "20 20 3648 3648 "
+*ImageableArea A4: "20 20 575 822 "
+*?ImageableArea: ""
+*End
+
+*% These provide the physical dimensions of the paper (by keyword)
+*DefaultPaperDimension: Huge
+*PaperDimension Huge: "3669 3669"
+*PaperDimension A4: "595 842"
+
+*RequiresPageRegion All: True
+*OpenUI *InputSlot: PickOne
+*OrderDependency: 20 AnySetup *InputSlot
+*DefaultInputSlot: Upper
+*InputSlot Upper: "1 statusdict begin setpapertray end"
+*?InputSlot: ""
+*End
+*CloseUI: *InputSlot
+
+*OpenUI *ManualFeed: Boolean
+*OrderDependency: 20 AnySetup *ManualFeed
+*DefaultManualFeed: False
+*ManualFeed True: "statusdict /manualfeed true put"
+*ManualFeed False: "statusdict /manualfeed false put"
+*?ManualFeed: "
+save
+ statusdict /manualfeed get {(True)}{(False)}ifelse = flush
+restore
+"
+*End
+*CloseUI: *ManualFeed
+
+*DefaultOutputOrder: Reverse
+
+*% Font Information =====================
+*DefaultFont: Courier
+*Font AvantGarde-Book: Standard "(001.002)" Standard ROM
+*Font AvantGarde-BookOblique: Standard "(001.002)" Standard ROM
+*Font AvantGarde-Demi: Standard "(001.003)" Standard ROM
+*Font AvantGarde-DemiOblique: Standard "(001.003)" Standard ROM
+*Font Bookman-Demi: Standard "(001.001)" Standard ROM
+*Font Bookman-DemiItalic: Standard "(001.001)" Standard ROM
+*Font Bookman-Light: Standard "(001.001)" Standard ROM
+*Font Bookman-LightItalic: Standard "(001.001)" Standard ROM
+*Font Courier: Standard "(002.002)" Standard ROM
+*Font Courier-Bold: Standard "(002.002)" Standard ROM
+*Font Courier-BoldOblique: Standard "(002.002)" Standard ROM
+*Font Courier-Oblique: Standard "(002.002)" Standard ROM
+*Font Helvetica: Standard "(001.006)" Standard ROM
+*Font Helvetica-Bold: Standard "(001.007)" Standard ROM
+*Font Helvetica-BoldOblique: Standard "(001.007)" Standard ROM
+*Font Helvetica-Condensed: Standard "(001.001)" Standard ROM
+*Font Helvetica-Condensed-Bold: Standard "(001.002)" Standard ROM
+*Font Helvetica-Condensed-BoldObl: Standard "(001.002)" Standard ROM
+*Font Helvetica-Condensed-Oblique: Standard "(001.001)" Standard ROM
+*Font Helvetica-Narrow: Standard "(001.006)" Standard ROM
+*Font Helvetica-Narrow-Bold: Standard "(001.007)" Standard ROM
+*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)" Standard ROM
+*Font Helvetica-Narrow-Oblique: Standard "(001.006)" Standard ROM
+*Font Helvetica-Oblique: Standard "(001.006)" Standard ROM
+*Font NewCenturySchlbk-Bold: Standard "(001.008)" Standard ROM
+*Font NewCenturySchlbk-BoldItalic: Standard "(001.006)" Standard ROM
+*Font NewCenturySchlbk-Italic: Standard "(001.005)" Standard ROM
+*Font NewCenturySchlbk-Roman: Standard "(001.006)" Standard ROM
+*Font Palatino-Bold: Standard "(001.005)" Standard ROM
+*Font Palatino-BoldItalic: Standard "(001.005)" Standard ROM
+*Font Palatino-Italic: Standard "(001.005)" Standard ROM
+*Font Palatino-Roman: Standard "(001.005)" Standard ROM
+*Font Symbol: Special "(001.003)" Special ROM
+*Font Times-Bold: Standard "(001.007)" Standard ROM
+*Font Times-BoldItalic: Standard "(001.009)" Standard ROM
+*Font Times-Italic: Standard "(001.007)" Standard ROM
+*Font Times-Roman: Standard "(001.007)" Standard ROM
+*Font ZapfChancery-MediumItalic: Standard "(001.003)" Standard ROM
+*Font ZapfDingbats: Special "(001.002)" Special ROM
+*?FontQuery: "
+save
+ /str 100 string dup 0 (fonts/) putinterval def
+ {
+ count 1 gt
+ {
+ exch dup str 6 94 getinterval cvs
+ (/) print dup print (:) print exch
+ FontDirectory exch known
+ { pop (Yes) }
+ {
+ length 6 add str 0 3 -1 roll getinterval
+ mark exch status
+ {cleartomark (Yes)}{cleartomark (No)} ifelse
+ } ifelse =
+ }
+ {exit} ifelse
+ }bind loop
+ (*) = flush
+restore
+"
+*End
+
+*?FontList: "
+save
+ FontDirectory { pop == } bind forall flush
+ /filenameforall where
+ {
+ pop (fonts/*)
+ { dup length 6 sub 6 exch getinterval cvn == } bind
+ 128 string filenameforall flush
+ } if
+ (*) = flush
+restore
+"
+*End
+
+*% Printer Messages (verbatim from printer):
+*Message: "%%[ exitserver: permanent state may be changed ]%%"
+*Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
+*Message: "\FontName\ not found, using Courier"
+
+*% Status (format: %%[ status: <one of these> ]%% )
+*Status: "idle"
+*Status: "busy"
+*Status: "waiting"
+*Status: "printing"
+*Status: "warming up"
+*Status: "processing first job"
+*Status: "printing test page"
+*Status: "initializing"
+*Status: "PrinterError: request manual feed of a3 paper"
+*Status: "PrinterError: request manual feed of a4 paper"
+*Status: "PrinterError: request manual feed of a4_R paper"
+*Status: "PrinterError: request manual feed of b4 paper"
+*Status: "PrinterError: request manual feed of b5 paper"
+*Status: "PrinterError: request manual feed of 11x17 paper"
+*Status: "PrinterError: request manual feed of letter paper"
+*Status: "PrinterError: request manual feed of letter_R paper"
+*Status: "PrinterError: request manual feed of legal paper"
+*Status: "PrinterError: no paper tray"
+*Status: "PrinterError: door open"
+*Status: "PrinterError: no paper"
+*Status: "PrinterError: manual feed timeout"
+*Status: "PrinterError: set cassette feed"
+*Status: "PrinterError: printer door open"
+*Status: "PrinterError: paper jam"
+*Status: "PrinterError: paper jam occurred"
+*Status: "PrinterError: low toner"
+*Status: "PrinterError: service call"
+*Status: "PrinterError: waste toner full"
+*Status: "PrinterError: no fixing assembly oil"
+*Status: "PrinterError: no toner"
+*Status: "PrinterError: no management key"
+*Status: "PrinterError: CLC is doing local processing"
+*Status: "PrinterError: CLC power off"
+
+*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
+*Source: "serial25"
+*Source: "AppleTalk"
+*Source: "Centronics"
+
+*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
+*PrinterError: "request manual feed of a3 paper"
+*PrinterError: "request manual feed of a4 paper"
+*PrinterError: "request manual feed of a4_R paper"
+*PrinterError: "request manual feed of b4 paper"
+*PrinterError: "request manual feed of b5 paper"
+*PrinterError: "request manual feed of 11x17 paper"
+*PrinterError: "request manual feed of letter paper"
+*PrinterError: "request manual feed of letter_R paper"
+*PrinterError: "request manual feed of legal paper"
+*PrinterError: "no paper tray"
+*PrinterError: "door open"
+*PrinterError: "paper jam occurred"
+*PrinterError: "low toner"
+*PrinterError: "service call"
+*PrinterError: "no paper"
+*PrinterError: "manual feed timeout"
+*PrinterError: "set cassette feed"
+*PrinterError: "printer door open"
+*PrinterError: "paper jam"
+*PrinterError: "waste toner full"
+*PrinterError: "no fixing assembly oil"
+*PrinterError: "no toner"
+*PrinterError: "no management key"
+*PrinterError: "service call"
+*PrinterError: "CLC is doing local processing"
+*PrinterError: "CLC power off"
+
+*%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
+
+*% Color Separation Information =====================
+
+*DefaultColorSep: ProcessBlack.60lpi.1200dpi/60 lpi / 1200 dpi
+
+*InkName: ProcessBlack/Process Black
+*InkName: CustomColor/Custom Color
+*InkName: ProcessCyan/Process Cyan
+*InkName: ProcessMagenta/Process Magenta
+*InkName: ProcessYellow/Process Yellow
+
+*% For 60 lpi / 600x600dpi ================================
+
+*ColorSepScreenAngle ProcessBlack.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle CustomColor.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle ProcessCyan.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle ProcessMagenta.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle ProcessYellow.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+
+*ColorSepScreenFreq ProcessBlack.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq CustomColor.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq ProcessCyan.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq ProcessMagenta.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq ProcessYellow.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+
+*% Last Edit Date: Oct 11 1998
+*% The byte count of this file should be exactly 011086
+*% depending on the filesystem it resides in.
+*% end of PPD file
diff --git a/support/wmf2epsc/PSprint/Win8/Readme.txt b/support/wmf2epsc/PSprint/Win8/Readme.txt
new file mode 100644
index 0000000000..e6e4b4de2d
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win8/Readme.txt
@@ -0,0 +1,45 @@
+How to install the WMF2EPS Color PS L2 virtual printer to Windows 8 (64-bit)
+----------------------------------------------------------------------------
+
+Due to a user request here is a patch for getting WMF2EPS installed
+under Windows 8 (64-bit) OS.
+
+In order to install WMF2EPS to a Windows 8 OS the virtual printer should be
+installed with running the script install_WMF2EPS_vprint.cmd as Administrator!
+
+This emporary disables the Driver Signature Enforcement which is default under
+Windows 8 and Windows 10, thus you must be Administrator to run this script.
+The script installs a "Driver Package" consisting of the configuration files
+W7Print.INF and WMF2EPS2.PPD for the standard Windows Postscript driver.
+No external binary code is being installed with this script.
+Use unsigned drivers at your own risk. No warranty.
+
+Setup WMF2EPS with the Windows 8 Standard PS driver
+===================================================
+
+Installation Steps
+------------------
+
+Unpack the WMF2EPS.PPD-for-Win8.zip archive to any temporary directory (e.g. c:\temp)
+
+1. Open cmd.exe as Administrator (Windows key + R, type: cmd SHIFT-CTRL-ENTER)
+
+2. cd to c:\temp
+
+3. type: install_WMF2EPS_vprint
+ this should install the WMF2EPS virtual printer.
+
+4. Check the settings:
+ Open the Devices and Printers Page: The 'WMF2EPS Color PS L2' should be listed.
+ Right-Click 'WMF2EPS Color PS L2'|Printing Properties->Advanced
+ #########################################################################################
+ Select the Postscript Output section and check the Encapsulated Postscript (EPS) option
+ is set. This setting is most important, all other options here will produce wrong output!
+ #########################################################################################
+ No test page.
+ No sharing.
+
+Test your installation: Open wmf2eps.exe,
+open and convert test\fant.wmf, resulting in test\fant.eps.
+
+January 2016. Wolfgang Schulter \ No newline at end of file
diff --git a/support/wmf2epsc/PSprint/Win8/W7Print.INF b/support/wmf2epsc/PSprint/Win8/W7Print.INF
new file mode 100644
index 0000000000..e35a93a8b1
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win8/W7Print.INF
@@ -0,0 +1,57 @@
+; W7Print.INF
+; thanks to
+; http://www.rumborak.de/forum/viewtopic.php?TopicID=1271
+;
+
+[Version]
+Signature="$Windows NT$"
+Provider=WMF2EPS
+LayoutFile=layout.inf
+ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
+Class=Printer
+
+DriverVer=04/04/2010, 1.0
+
+;
+; Manufacturer section.
+;
+; This section lists all of the manufacturers
+; that we will display in the Dialog box
+;
+[MANUFACTURER]
+%OEM% = OemSection, NTamd64
+
+[OemSection]
+%MODEL1%=WPD1,%PNPIDSTR1%
+
+[OemSection.NTamd64]
+%MODEL1%=WPD1,%PNPIDSTR1%
+;
+
+[WPD1]
+CopyFiles=@WMF2EPS2.PPD, PSCRIPT
+DataFile=WMF2EPS2.PPD
+DataSection=PSCRIPT_DATA
+Include=ntprint.inf
+Needs=PSCRIPT.OEM, PSCRIPT_DATA
+
+;
+; Call SetupSetDirectoryId with 66000 to set the target directory at runtime
+; (depending on which environment drivers are getting installed)
+;
+
+[DestinationDirs]
+DefaultDestDir=66000
+
+;
+; Control Flags
+;
+[ControlFlags]
+ExcludeFromSelect = 2369
+;
+; Localizable Strings
+;
+[Strings]
+OEM="WMF2EPS"
+MODEL1="WMF2EPS Color PS L2"
+
diff --git a/support/wmf2epsc/PSprint/Win8/WMF2EPS2.PPD b/support/wmf2epsc/PSprint/Win8/WMF2EPS2.PPD
new file mode 100644
index 0000000000..95b282ad16
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win8/WMF2EPS2.PPD
@@ -0,0 +1,311 @@
+*PPD-Adobe: "4.0"
+*% Adobe Systems PostScript(R) Printer Description File
+*% Copyright 1987-1993 Adobe Systems Incorporated.
+*% All Rights Reserved.
+*% Permission is granted for redistribution of this file as
+*% long as this copyright notice is intact and the contents
+*% of the file is not altered in any way from its original form.
+*% End of Copyright statement
+*FormatVersion: "4.0"
+*FileVersion: "2.2"
+*PCFileName: "wmf2eps2.PPD"
+*LanguageVersion: English
+*Product: "(WMF2EPS Color PS)"
+*PSVersion: "(2010.0) 2"
+*ModelName: "WMF2EPS virtual PS-printer, Level 2"
+*ShortNickName: "WMF2EPS Color PS L2"
+*NickName: "WMF2EPS Color PS L2"
+
+*% General Information and Defaults ===============
+*FreeVM: "16438764"
+*LanguageLevel: "2"
+*Extensions: FileSystem CMYK
+*ColorDevice: True
+*DefaultColorSpace: CMYK
+*DefaultResolution: 600dpi
+*VariablePaperSize: False
+*FileSystem: True
+*?FileSystem: "
+save
+ statusdict begin /diskonline end {(True)}{(False)} ifelse = flush
+restore
+"
+*End
+*Throughput: "10"
+*Password: "0"
+*ExitServer: ""
+*End
+
+*Reset: ""
+*End
+
+*SetResolution 300dpi: " "
+*End
+*SetResolution 400dpi: " "
+*End
+*SetResolution 600dpi: " "
+*End
+*SetResolution 800dpi: " "
+*End
+*SetResolution 1200dpi: " "
+*End
+*SetResolution 2400dpi: " "
+*End
+*?Resolution: ""
+*End
+
+*% Halftone Information ===============
+*ScreenFreq: "94.0"
+*ScreenAngle: "45.0"
+*DefaultScreenProc: Dot
+*ScreenProc Dot: "{1.76 1.4 $printerdict /dfltspotfunc get exec }"
+*ScreenProc Line: "{ pop }"
+*ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }"
+
+*DefaultTransfer: Null
+*Transfer Null: "{ }"
+*Transfer Null.Inverse: "{ 1 exch sub }"
+
+*% Paper Handling ===================
+*% Use these entries to set paper size most of the time, unless there is
+*% specific reason to use PageRegion.
+*OpenUI *PageSize: PickOne
+*OrderDependency: 30 AnySetup *PageSize
+*DefaultPageSize: Huge
+*PageSize Huge: "statusdict begin hugetray end"
+*PageSize A4: "statusdict begin hugetray end"
+*CustomPageSize True: "1 exch sub exch pop statusdict /setpageparams get exec"
+*ParamCustomPageSize Width: 1 points 1 3668
+*ParamCustomPageSize Height: 2 points 1 3668
+*ParamCustomPageSize WidthOffset/Margins: 3 points 0 3669
+*ParamCustomPageSize HeightOffset: 4 points 0 0
+*ParamCustomPageSize Orientation: 5 int 0 1
+*MaxMediaWidth: "1275"
+*?PageSize: ""
+*End
+*CloseUI: *PageSize
+
+*% These entries will set up the frame buffer. Usually used with manual feed.
+*OpenUI *PageRegion: PickOne
+*OrderDependency: 40 AnySetup *PageRegion
+*DefaultPageRegion: Huge
+*PageRegion Huge: "huge"
+*PageRegion A4: "a4"
+*CloseUI: *PageRegion
+
+*DefaultImageableArea: Huge
+*ImageableArea Huge: "20 20 3648 3648 "
+*ImageableArea A4: "20 20 575 822 "
+*?ImageableArea: ""
+*End
+
+*% These provide the physical dimensions of the paper (by keyword)
+*DefaultPaperDimension: Huge
+*PaperDimension Huge: "3669 3669"
+*PaperDimension A4: "595 842"
+
+*RequiresPageRegion All: True
+*OpenUI *InputSlot: PickOne
+*OrderDependency: 20 AnySetup *InputSlot
+*DefaultInputSlot: Upper
+*InputSlot Upper: "1 statusdict begin setpapertray end"
+*?InputSlot: ""
+*End
+*CloseUI: *InputSlot
+
+*OpenUI *ManualFeed: Boolean
+*OrderDependency: 20 AnySetup *ManualFeed
+*DefaultManualFeed: False
+*ManualFeed True: "statusdict /manualfeed true put"
+*ManualFeed False: "statusdict /manualfeed false put"
+*?ManualFeed: "
+save
+ statusdict /manualfeed get {(True)}{(False)}ifelse = flush
+restore
+"
+*End
+*CloseUI: *ManualFeed
+
+*DefaultOutputOrder: Reverse
+
+*% Font Information =====================
+*DefaultFont: Courier
+*Font AvantGarde-Book: Standard "(001.002)" Standard ROM
+*Font AvantGarde-BookOblique: Standard "(001.002)" Standard ROM
+*Font AvantGarde-Demi: Standard "(001.003)" Standard ROM
+*Font AvantGarde-DemiOblique: Standard "(001.003)" Standard ROM
+*Font Bookman-Demi: Standard "(001.001)" Standard ROM
+*Font Bookman-DemiItalic: Standard "(001.001)" Standard ROM
+*Font Bookman-Light: Standard "(001.001)" Standard ROM
+*Font Bookman-LightItalic: Standard "(001.001)" Standard ROM
+*Font Courier: Standard "(002.002)" Standard ROM
+*Font Courier-Bold: Standard "(002.002)" Standard ROM
+*Font Courier-BoldOblique: Standard "(002.002)" Standard ROM
+*Font Courier-Oblique: Standard "(002.002)" Standard ROM
+*Font Helvetica: Standard "(001.006)" Standard ROM
+*Font Helvetica-Bold: Standard "(001.007)" Standard ROM
+*Font Helvetica-BoldOblique: Standard "(001.007)" Standard ROM
+*Font Helvetica-Condensed: Standard "(001.001)" Standard ROM
+*Font Helvetica-Condensed-Bold: Standard "(001.002)" Standard ROM
+*Font Helvetica-Condensed-BoldObl: Standard "(001.002)" Standard ROM
+*Font Helvetica-Condensed-Oblique: Standard "(001.001)" Standard ROM
+*Font Helvetica-Narrow: Standard "(001.006)" Standard ROM
+*Font Helvetica-Narrow-Bold: Standard "(001.007)" Standard ROM
+*Font Helvetica-Narrow-BoldOblique: Standard "(001.007)" Standard ROM
+*Font Helvetica-Narrow-Oblique: Standard "(001.006)" Standard ROM
+*Font Helvetica-Oblique: Standard "(001.006)" Standard ROM
+*Font NewCenturySchlbk-Bold: Standard "(001.008)" Standard ROM
+*Font NewCenturySchlbk-BoldItalic: Standard "(001.006)" Standard ROM
+*Font NewCenturySchlbk-Italic: Standard "(001.005)" Standard ROM
+*Font NewCenturySchlbk-Roman: Standard "(001.006)" Standard ROM
+*Font Palatino-Bold: Standard "(001.005)" Standard ROM
+*Font Palatino-BoldItalic: Standard "(001.005)" Standard ROM
+*Font Palatino-Italic: Standard "(001.005)" Standard ROM
+*Font Palatino-Roman: Standard "(001.005)" Standard ROM
+*Font Symbol: Special "(001.003)" Special ROM
+*Font Times-Bold: Standard "(001.007)" Standard ROM
+*Font Times-BoldItalic: Standard "(001.009)" Standard ROM
+*Font Times-Italic: Standard "(001.007)" Standard ROM
+*Font Times-Roman: Standard "(001.007)" Standard ROM
+*Font ZapfChancery-MediumItalic: Standard "(001.003)" Standard ROM
+*Font ZapfDingbats: Special "(001.002)" Special ROM
+*?FontQuery: "
+save
+ /str 100 string dup 0 (fonts/) putinterval def
+ {
+ count 1 gt
+ {
+ exch dup str 6 94 getinterval cvs
+ (/) print dup print (:) print exch
+ FontDirectory exch known
+ { pop (Yes) }
+ {
+ length 6 add str 0 3 -1 roll getinterval
+ mark exch status
+ {cleartomark (Yes)}{cleartomark (No)} ifelse
+ } ifelse =
+ }
+ {exit} ifelse
+ }bind loop
+ (*) = flush
+restore
+"
+*End
+
+*?FontList: "
+save
+ FontDirectory { pop == } bind forall flush
+ /filenameforall where
+ {
+ pop (fonts/*)
+ { dup length 6 sub 6 exch getinterval cvn == } bind
+ 128 string filenameforall flush
+ } if
+ (*) = flush
+restore
+"
+*End
+
+*% Printer Messages (verbatim from printer):
+*Message: "%%[ exitserver: permanent state may be changed ]%%"
+*Message: "%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%"
+*Message: "\FontName\ not found, using Courier"
+
+*% Status (format: %%[ status: <one of these> ]%% )
+*Status: "idle"
+*Status: "busy"
+*Status: "waiting"
+*Status: "printing"
+*Status: "warming up"
+*Status: "processing first job"
+*Status: "printing test page"
+*Status: "initializing"
+*Status: "PrinterError: request manual feed of a3 paper"
+*Status: "PrinterError: request manual feed of a4 paper"
+*Status: "PrinterError: request manual feed of a4_R paper"
+*Status: "PrinterError: request manual feed of b4 paper"
+*Status: "PrinterError: request manual feed of b5 paper"
+*Status: "PrinterError: request manual feed of 11x17 paper"
+*Status: "PrinterError: request manual feed of letter paper"
+*Status: "PrinterError: request manual feed of letter_R paper"
+*Status: "PrinterError: request manual feed of legal paper"
+*Status: "PrinterError: no paper tray"
+*Status: "PrinterError: door open"
+*Status: "PrinterError: no paper"
+*Status: "PrinterError: manual feed timeout"
+*Status: "PrinterError: set cassette feed"
+*Status: "PrinterError: printer door open"
+*Status: "PrinterError: paper jam"
+*Status: "PrinterError: paper jam occurred"
+*Status: "PrinterError: low toner"
+*Status: "PrinterError: service call"
+*Status: "PrinterError: waste toner full"
+*Status: "PrinterError: no fixing assembly oil"
+*Status: "PrinterError: no toner"
+*Status: "PrinterError: no management key"
+*Status: "PrinterError: CLC is doing local processing"
+*Status: "PrinterError: CLC power off"
+
+*% Input Sources (format: %%[ status: <stat>; source: <one of these> ]%% )
+*Source: "serial25"
+*Source: "AppleTalk"
+*Source: "Centronics"
+
+*% Printer Error (format: %%[ PrinterError: <one of these> ]%%)
+*PrinterError: "request manual feed of a3 paper"
+*PrinterError: "request manual feed of a4 paper"
+*PrinterError: "request manual feed of a4_R paper"
+*PrinterError: "request manual feed of b4 paper"
+*PrinterError: "request manual feed of b5 paper"
+*PrinterError: "request manual feed of 11x17 paper"
+*PrinterError: "request manual feed of letter paper"
+*PrinterError: "request manual feed of letter_R paper"
+*PrinterError: "request manual feed of legal paper"
+*PrinterError: "no paper tray"
+*PrinterError: "door open"
+*PrinterError: "paper jam occurred"
+*PrinterError: "low toner"
+*PrinterError: "service call"
+*PrinterError: "no paper"
+*PrinterError: "manual feed timeout"
+*PrinterError: "set cassette feed"
+*PrinterError: "printer door open"
+*PrinterError: "paper jam"
+*PrinterError: "waste toner full"
+*PrinterError: "no fixing assembly oil"
+*PrinterError: "no toner"
+*PrinterError: "no management key"
+*PrinterError: "service call"
+*PrinterError: "CLC is doing local processing"
+*PrinterError: "CLC power off"
+
+*%DeviceAdjustMatrix: "[1 0 0 1 0 0]"
+
+*% Color Separation Information =====================
+
+*DefaultColorSep: ProcessBlack.60lpi.1200dpi/60 lpi / 1200 dpi
+
+*InkName: ProcessBlack/Process Black
+*InkName: CustomColor/Custom Color
+*InkName: ProcessCyan/Process Cyan
+*InkName: ProcessMagenta/Process Magenta
+*InkName: ProcessYellow/Process Yellow
+
+*% For 60 lpi / 600x600dpi ================================
+
+*ColorSepScreenAngle ProcessBlack.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle CustomColor.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle ProcessCyan.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle ProcessMagenta.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+*ColorSepScreenAngle ProcessYellow.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "0.0"
+
+*ColorSepScreenFreq ProcessBlack.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq CustomColor.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq ProcessCyan.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq ProcessMagenta.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+*ColorSepScreenFreq ProcessYellow.60lpi.1200x1200dpi/60 lpi / 1200x1200 dpi: "60.0"
+
+*% Last Edit Date: Oct 11 1998
+*% The byte count of this file should be exactly 011086
+*% depending on the filesystem it resides in.
+*% end of PPD file
diff --git a/support/wmf2epsc/PSprint/Win8/install_WMF2EPS_vprint.cmd b/support/wmf2epsc/PSprint/Win8/install_WMF2EPS_vprint.cmd
new file mode 100644
index 0000000000..55431c3f35
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win8/install_WMF2EPS_vprint.cmd
@@ -0,0 +1,27 @@
+:: Install script for the WMF2EPS virtual printer under Windows 8 and 10.
+:: Temporary disables the Driver Signature Enforcement which is default under
+:: Windows 8 and Windows 10. Must be Administrator to run this script.
+:: ##################################################################################
+:: On Computers with UEFI Bios, the Windows 'Startup Setting' (SHIFT Restart Windows)
+:: needs to be changed temporarily '7) Disable driver signature enforcement' at boot
+:: before running this script as an Administrator.
+:: ##################################################################################
+:: This cmd script installs a "Driver Package" consisting of the configuration files
+:: W7Print.INF and WMF2EPS2.PPD for the standard Windows Postscript driver.
+:: No binary executable code is beeing installed with this script.
+:: Use unsigned drivers at your own risk. No warranty.
+:: 24 Jan 2016. Wolfgang Schulter, author of WMF2EPS
+:: ---------------------------------------------------------------------------
+
+:: http://www.top-password.com/blog/how-to-disable-driver-signature-enforcement-in-windows-10-8-7/
+:: Driver Signature Enforcement disable (UEFI setting might be needed) ...
+bcdedit /set testsigning on
+
+:: see https://technet.microsoft.com/de-de/library/ee624057%28v=ws.10%29.aspx
+rundll32 printui.dll,PrintUIEntry /if /b "WMF2EPS Color PS L2" /f W7print.inf /r "file:" /m "WMF2EPS Color PS L2" /q w
+
+:: EPS and other settings ..
+rundll32 printui.dll,PrintUIEntry /Sr /n "WMF2EPS Color PS L2" /a "set.dat" u
+
+:: Driver Signature Enforcement enabled again
+bcdedit /set testsigning off
diff --git a/support/wmf2epsc/PSprint/Win8/set.dat b/support/wmf2epsc/PSprint/Win8/set.dat
new file mode 100644
index 0000000000..5d06f3345b
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win8/set.dat
Binary files differ
diff --git a/support/wmf2epsc/PSprint/Win8/uninstall_WMF2EPS_vprint.cmd b/support/wmf2epsc/PSprint/Win8/uninstall_WMF2EPS_vprint.cmd
new file mode 100644
index 0000000000..711c929e78
--- /dev/null
+++ b/support/wmf2epsc/PSprint/Win8/uninstall_WMF2EPS_vprint.cmd
@@ -0,0 +1 @@
+rundll32 printui.dll,PrintUIEntry /dl /n "WMF2EPS Color PS L2" /h "Windows 2000 oder XP"
diff --git a/support/wmf2epsc/README b/support/wmf2epsc/README
new file mode 100644
index 0000000000..757b17542a
--- /dev/null
+++ b/support/wmf2epsc/README
@@ -0,0 +1,143 @@
+WMF2EPSC: A Windows Metafile Converter for Windows 8 and later
+==============================================================
+
+Version 2.2 [04-Aug-2023]
+
+License
+-------
+This program package is freeware, it may be freely distributed as unchanged zip package.
+The program wmf2epsc.exe is freeware, no source is available.
+The program wmf2epsc.exe uses the Win32 API only, no additional libraries are included.
+The programs and scripts in this package come without any warranty.
+
+SHA256 Hash of wmf2epsc.exe: b754a062ec6d2a1fc7aefdb54c6620d90d531b87f5aa26dfc93cb7db07cbea19
+
+Author
+------
+Wolfgang Schulter, wmf2eps@gmx.de, https://wschulter.de/wmf2epsc
+
+The package wmf2epsc_2.2.zip contains
+-------------------------------------
+- wmf2epsc.exe, the binary CLI (command line version) using the WMF2EPS virtual printer.
+- Test\ subdir with WMF and EMF files.
+- A cmd-script installer for the WMF2EPS.PPD virtual printer for Windows 8 and newer.
+- A cmd script inksc_wmf2epsc.cmd for WMF|EMF conversion with Inkscape (inkscape.org).
+- A cmd script inksc_wmf2pdfc.cmd for WMF|EMF conversion with Inkscape (inkscape.org).
+
+Summary
+=======
+Main LaTeX distributions do not allow Windows WMF or EMF graphics format with \includegraphics.
+WMF2EPSC is a package with the free Windows commandline program wmf2epsc.exe using the
+WMF2EPS virtual printer, distributed as unsigned PostScript driver package.
+However, administrators still can enforce installation of the unsigned PostScript driver.
+With the WMF2EPS virtual printer installed, wmf2epsc.exe converts native Windows WMF
+(or EMF) format to EPS containing vector graphics (some test files are included).
+Two additional command line scripts are included showing how the conversion can be done using
+Inkscape, without the WMF2EPS virtual PostScript printer driver.
+
+History
+=======
+The main free LaTeX distributions do not allow \includegraphics WMF or EMF graphics format
+(BaKoMa-TeX distribution does support WMF, using libwmf, but it seems to be discontinued).
+In order to provide vector graphics in the final output, for WMF (or EMF) vector graphics
+an intermediate step with conversion of WMF|EMF to EPS or PDF format is needed.
+Even the latest PDFLATEX version can use (WMF2EPS produced) EPS or PDF graphics. If needed,
+the EPS can be converted to PDF with the correct bounding box using the epstopdf utility.
+WMF2EPSC EXE is based on the 2002 WMF2EPS 1.32 GUI program (on CTAN), which is shareware.
+**************************************************************************************************
+If the installation of the WMF2EPS virtual printer driver is not possible or not wanted for any
+reason: Inkscape (9.3 or later) can do the WMF|EMF conversion to EPS|PDF (see Option 2 below).
+**************************************************************************************************
+
+Installation under Windows 10
+=============================
+Please make sure you have the original wmf2epsc_22.zip file (best from CTAN).
+
+Unpack the archive to a writable folder, e.g.: d:\prog\wmf2epsc as WMF2EPSC dir.
+wmf2epsc.exe will write a wmf2epsc.ini configuration file in this dir after the first run.
+
+For EPS and PDF view, GhostScript and Sumatra PDF might be helpful.
+
+
+Option 1 (with WMF2EPS virtual printer)
+---------------------------------------
+If you already used the WMF2EPS GUI version (latest 1.32 of 2002), or if you had previously
+installed SWP 5.x, you might have installed the 'WMF2EPS Color PS L2' virtual printer already,
+then, installation is finished.
+The wmf2epsc.exe needs no further installation.
+
+-------------------------------------------------------------------------------
+If you want to install the 'WMF2EPS Color PS L2' virtual printer, be aware that the installation
+of WMF2EPS.PPD requires a driver signature since Windows 7, which is not available.
+However, you can decide to install an "unsigned driver", (a PPD is just a config file):
+- with UEFI boot, the 'Startup Options' need to be adjusted, see PSPrint\Win8\Readme.txt
+- cd to <WMF2EPSC dir>\PSprint\Win8
+- open cmd.exe as Administrator
+- run install_WMF2EPS_vprint.cmd, following the Readme.txt inside.
+- after this, please check the existence and *especially* the correct EPS setting,
+ with the 'WMF2EPS Color PS L2' virtual printer.
+
+With that, WMF2EPSC.EXE (and even the old WMF2EPS.EXE 1.32) should work fine.
+-------------------------------------------------------------------------------
+
+Usage: wmf2epsc.exe wmf[emf]-filename [eps-path]
+------
+1. Test the fant.wmf file in the Test\ subdirectory. In WMF2EPSC dir:
+> wmf2epsc.exe Test\fant.wmf
+produces the output
+WMF2EPSC 2.2 (Freeware) [02-Aug-2023]
+converting 'test\fant.wmf' ...
+finished 'test\fant.eps'
+EPS file OK
+
+1a. If 'embedded' PDF is needed, epstopdf.exe from TeXLive distribution can be used:
+> epstopdf test\fant.eps
+to produce Test\fant.pdf with a tight bounding box.
+
+2. Convert all EMF files in the Test\ subdirectory:
+> wmf2epsc.exe Test\*.emf
+produces: Test\image305.eps, Test\spc_color.eps and Test\spc_gray.eps
+
+3. Convert all EMF files in the Test\ subdirectory into a separate subdirectory:
+> wmf2epsc.exe Test\*.emf Test\eps\
+produces: Test\eps\image305.eps, Test\eps\spc_color.eps and Test\eps\spc_gray.eps
+
+4. Convert all EPS files in the Test\ subdirectory to PDF using the external epstopdf.exe,
+which is part of the TeXLive distribution, it is assumed to be in the call-path:
+- edit wmf2epsc.ini, set EPSPostProcCmd=epstopdf.exe
+> wmf2epsc.exe Test\*.emf Test\eps\
+produces: Test\eps\image305.pdf, Test\eps\spc_color.pdf and Test\eps\spc_gray.pdf
+- edit wmf2epsc.ini, set EPSPostProcCmd=
+to remove the EPS post processing, this is the default.
+
+Option 2 (with Inkscape, without WMF2EPS virtual printer)
+---------------------------------------------------------
+Install the latest version of Inkscape, a free, open source vector graphics editor from
+inkscape.org
+
+In the WMF2EPSC dir, two command scripts are found:
+- inksc_wmf2epsc.cmd for WMF|EMF to EPS conversion with Inkscape.
+- inksc_wmf2pdfc.cmd for WMF|EMF to EPS conversion with Inkscape.
+
+Usage: inksc_wmf2epsc.cmd <wmf|emf-filespec> [dir-spec]
+ inksc_wmf2pdfc.cmd <wmf|emf-filespec> [dir-spec]
+-------------------------
+1. Test the fant.wmf file in the Test\ subdirectory. In WMF2EPSC\Test dir:
+> ..\inksc_wmf2epsc.cmd fant.wmf eps
+produces the output .\eps\fant.wmf.eps
+
+> ..\inksc_wmf2pdfc.cmd fant.wmf pdf
+produces the output .\pdf\fant.wmf.pdf
+
+2. Convert all EMF files in the Test\ subdirectory:
+> ..\inksc_wmf2epsc.cmd *.emf eps
+produces: .\eps\image305.emf.eps, .\eps\spc_color.emf.eps and .\eps\spc_gray.emf.eps
+> ..\inksc_wmf2pdfc.cmd *.emf pdf
+produces: .\pdf\image305.emf.pdf, .\pdf\spc_color.emf.pdf and .\pdf\spc_gray.emf.pdf
+---
+Note: spc_color.emf and spc_gray.emf contain embedded bitmaps, here not converted
+ by both commandline scripts, but in the Inkscape GUI it works fine with setting
+ the Inkscape option in the menu: View->Display Mode->Normal
+ If anyone knows a fix (some commandline option ?), please let me know.
+
+end.
diff --git a/support/wmf2epsc/Test/PPTTest.wmf b/support/wmf2epsc/Test/PPTTest.wmf
new file mode 100644
index 0000000000..3eb130545f
--- /dev/null
+++ b/support/wmf2epsc/Test/PPTTest.wmf
Binary files differ
diff --git a/support/wmf2epsc/Test/SPC_color.wmf b/support/wmf2epsc/Test/SPC_color.wmf
new file mode 100644
index 0000000000..b3b87d098c
--- /dev/null
+++ b/support/wmf2epsc/Test/SPC_color.wmf
Binary files differ
diff --git a/support/wmf2epsc/Test/SPC_gray.wmf b/support/wmf2epsc/Test/SPC_gray.wmf
new file mode 100644
index 0000000000..3f133cba4d
--- /dev/null
+++ b/support/wmf2epsc/Test/SPC_gray.wmf
Binary files differ
diff --git a/support/wmf2epsc/Test/fant.wmf b/support/wmf2epsc/Test/fant.wmf
new file mode 100644
index 0000000000..b1ab73e473
--- /dev/null
+++ b/support/wmf2epsc/Test/fant.wmf
Binary files differ
diff --git a/support/wmf2epsc/Test/image305.emf b/support/wmf2epsc/Test/image305.emf
new file mode 100644
index 0000000000..8c50869fc9
--- /dev/null
+++ b/support/wmf2epsc/Test/image305.emf
Binary files differ
diff --git a/support/wmf2epsc/Test/spc_color.emf b/support/wmf2epsc/Test/spc_color.emf
new file mode 100644
index 0000000000..5dc5d73091
--- /dev/null
+++ b/support/wmf2epsc/Test/spc_color.emf
Binary files differ
diff --git a/support/wmf2epsc/Test/spc_gray.emf b/support/wmf2epsc/Test/spc_gray.emf
new file mode 100644
index 0000000000..cfb391359b
--- /dev/null
+++ b/support/wmf2epsc/Test/spc_gray.emf
Binary files differ
diff --git a/support/wmf2epsc/Test/symbols.wmf b/support/wmf2epsc/Test/symbols.wmf
new file mode 100644
index 0000000000..42a780dd77
--- /dev/null
+++ b/support/wmf2epsc/Test/symbols.wmf
Binary files differ
diff --git a/support/wmf2epsc/inksc_wmf2epsc.cmd b/support/wmf2epsc/inksc_wmf2epsc.cmd
new file mode 100644
index 0000000000..b162e232f7
--- /dev/null
+++ b/support/wmf2epsc/inksc_wmf2epsc.cmd
@@ -0,0 +1,33 @@
+:: INKSC_WMF2EPSC.CMD: Inkscape conversion WMF|EMF to EPS
+:: (without WMF2EPS virtual printer installation):
+:: https://wiki.inkscape.org/wiki/Using_the_Command_Line
+:: https://inkscape.org/de/gallery/item/12515/view/
+:: https://inkscape.org/de/doc/inkscape-man.html
+:: This cmd script is free, without any warranty.
+:: 2023 W. Schulter
+:: ---------------------------------------------------------------------------
+:: Usage:
+:: > inksc_wmf2epsc.cmd <wmf|emf-filespec> [dir-spec]
+:: produces [dir-spec]\<wmf|emf-filespec>.eps files
+:: Example: inksc_wmf2epsc.cmd fant.wmf --> .\fant.wmf.eps
+:: ---------------------------------------------------------------------------
+@echo off
+
+:: 64 bit version of Inkscape
+set INKSC="%ProgramFiles%\Inkscape\inkscape.exe"
+
+:: output dir, . is default
+set OUT=.
+if [%2] NEQ [] (
+ set OUT=%2
+ mkdir %2
+)
+
+:: output resolution
+set DPI=600
+
+:: for loop, if argument %1 contains wildcard chars (* or ?)
+for %%f in (%1) do (
+ echo %%f
+ %INKSC% --without-gui --file=%%f --export-eps=%OUT%\%%f.eps --export-dpi=%DPI%
+)
diff --git a/support/wmf2epsc/inksc_wmf2pdfc.cmd b/support/wmf2epsc/inksc_wmf2pdfc.cmd
new file mode 100644
index 0000000000..5747f33d68
--- /dev/null
+++ b/support/wmf2epsc/inksc_wmf2pdfc.cmd
@@ -0,0 +1,33 @@
+:: INKSC_WMF2PDFC.CMD: Inkscape conversion WMF|EMF to PDF
+:: (without WMF2EPS virtual printer installation):
+:: https://wiki.inkscape.org/wiki/Using_the_Command_Line
+:: https://inkscape.org/de/gallery/item/12515/view/
+:: https://inkscape.org/de/doc/inkscape-man.html
+:: This cmd script is free, without any warranty.
+:: 2023 W. Schulter
+:: ---------------------------------------------------------------------------
+:: Usage:
+:: > inksc_wmf2pdfc.cmd <wmf|emf-filespec> [dir-spec]
+:: produces [dir-spec]\<wmf|emf-filespec>.pdf files
+:: Example: inksc_wmf2pdfc.cmd fant.wmf --> .\fant.wmf.pdf
+:: ---------------------------------------------------------------------------
+@echo off
+
+:: 64 bit version of Inkscape
+set INKSC="%ProgramFiles%\Inkscape\inkscape.exe"
+
+:: output dir, . is default
+set OUT=.
+if [%2] NEQ [] (
+ set OUT=%2
+ mkdir %2
+)
+
+:: output resolution
+set DPI=600
+
+:: for loop, if argument %1 contains wildcard chars (* or ?)
+for %%f in (%1) do (
+ echo %%f
+ %INKSC% --without-gui --file=%%f --export-pdf=%OUT%\%%f.pdf --export-dpi=%DPI%
+)