Commit Graph

81 Commits

Author SHA1 Message Date
Lili1228
6869367141 ESC/P 2: Fix ESC J on 9-pin printers 2026-01-31 21:24:29 +01:00
Lili1228
397120b282 ESC/P 2: 9-bit graphics mode (9-pin ESC/P) 2026-01-31 16:26:06 +01:00
Lili1228
c850beccc9 ESC/P 2: Implement ESC 3, A, M, P, \ for 9-pin ESC/P
Also removed forward declarations.
2026-01-31 15:01:56 +01:00
Lili1228
e7fee34332 ESC/P 2: 4 versions, filtering by version, selectable paper.
The four versions are:
- EX-1000 and 7 other early printers (including FX-80, the only Epson
  available OOTB for Windows 1.03), have ESC i and ESC j.
- 9-pin ESC/P, a superset of EX-1000 besides ESC i and ESC j.
- 24-pin ESC/P in 360 DPI instead of 240.
- ESC/P 2 with raster graphics.

As for paper, four sizes: Letter, A4, Legal, B4. The former ones are
mainly for EX-800, the latter two are sideways and meant for EX-1000.

I did some other minor changes, like converting a bunch of defines to enum.
2026-01-31 14:41:04 +01:00
OBattler
51e0e88329 More LPT device sanitization, un-dev-branch the Generic PCL printer, add language selection to it and the PostScript printer (including a Raw option), and translate the missing strings. 2026-01-27 09:40:53 +01:00
OBattler
9b7b92622b Restructure LPT devices so that lpt_device_t is now only used internally while the exposed LPT devices are now regular device_t's. 2026-01-27 06:47:08 +01:00
Jasmine Iwanek
3c5190a0db Header cleanups (1/2) 2025-09-21 00:48:38 -04:00
OBattler
7c13047fe6 Printers: Use the new timer API for the timeout timers, fixes printers on faster emulated CPU's. 2025-09-01 01:03:06 +02:00
OBattler
16d818ee1b ESC/P2 Printer: Use the Courier font when Roman is set in non-proportional mode. 2025-08-28 18:30:01 +02:00
OBattler
a680f20c33 Fixed LPT ECP operation and UM8669F IRQ and DMA assigning, fixes Windows 95 printing. 2025-08-28 14:42:57 +02:00
Lili Kurek
162697a412 ESC/P: it's actually ESC/P 2, fill international character sets 2025-08-27 07:59:02 +00:00
OBattler
c2df83d4f0 Printers: Fix two recently introduced warnings. 2025-08-04 12:24:11 +02:00
Jasmine Iwanek
b2067d7946 Paper Sizes 2025-08-03 23:26:14 -04:00
Jasmine Iwanek
60d8ea389f Support for printer configuration 2025-08-03 23:19:09 -04:00
OBattler
b9e294b781 Trned the LPT ports into device_t's. 2025-08-02 14:51:28 +02:00
Alexander Babikov
4a2f381579 Add "Printer" to the name of generic ESC/P printer
Fixes broken translations
2025-08-01 03:17:33 +05:00
Cacodemon345
9cad5f501b Timer improvements for emulated printers 2025-07-06 01:23:58 +06:00
Jasmine Iwanek
58aa261273 LPT ECP/EPP support
Co-Authored-By: Miran Grča <oubattler@gmail.com>
2025-06-24 08:18:39 -04:00
Alexander Babikov
5779340e6d ESC/P: Fix a handle leak on reset 2025-06-08 15:37:38 +05:00
OBattler
5c4fcfaf85 ESC/P Printer: No longer assume roms/ is where the binary is, fixes #5221. 2025-02-17 04:49:43 +01:00
Jasmine Iwanek
4e6f29a7d5 malloc to calloc 2025-02-01 15:38:36 -05:00
OBattler
c38fc46670 More language fixes and the remaining four languages (Ukrainian, Vietnamese, Simplified Chinese, and Traditional Chinese). 2024-11-19 03:46:03 +01:00
Miran Grča
29ac8fd28b Fixed line feed in prt_escp.c
Per fix by Patrick-Barry, fixes #4477.
2024-05-22 15:46:53 +02:00
Alexander Babikov
8b4c93fdfe ESC/P: Set draft print quality by default 2023-12-25 17:34:34 +05:00
Alexander Babikov
7ff4fd355f ESC/P: Add handling for a separate italic dot matrix font 2023-12-25 17:34:32 +05:00
Alexander Babikov
a9d96371dc ESC/P: Add workaround for glyphs with negative offsets
Fixes characters disappearing when printed very close to the paper edges
2023-12-25 15:04:28 +05:00
Alexander Babikov
e812b3c3b1 ESC/P: Use the new dot matrix font
Also remove the fallback to Courier as it's no longer needed
2023-12-25 15:04:27 +05:00
Alexander Babikov
bf1f425267 prt_escp.c: Try to use courier.ttf if dotmatrix.ttf is missing 2023-12-19 03:14:45 +05:00
Alexander Babikov
ff446fab9b prt_escp.c: Fall back to roman.ttf instead of dotmatrix.ttf for unhandled typefaces 2023-12-19 03:14:45 +05:00
Jasmine Iwanek
81bb5e564b Better fallthrough annotation macro. 2023-08-09 20:09:36 -04:00
Jasmine Iwanek
d2f42198fd Fix clang build failure 2023-07-26 12:41:18 -04:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
db66543959 Apple build fix 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
RichardG867
8ff45f74fd Remove legacy dynamic loading error messages 2023-07-22 18:14:22 -03:00
RichardG867
7a0100e35a printer: Switch to static freetype on Windows, finally fixes #2221 2023-07-15 22:54:33 -03:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
Jasmine Iwanek
ed1b369abd Yet more sonarlint fixes 2023-05-29 06:21:17 -04:00
Jasmine Iwanek
ce451a2bf4 More fixes for sonarcloud findings 2023-05-28 21:02:17 -04:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
7ec2a1c148 Use doubles as requested 2022-12-29 21:59:00 -05:00
Jasmine Iwanek
231cadb0a7 Fix Multiplication result converted to larger type from CodeQL 2022-12-23 14:22:17 -05:00
Jasmine Iwanek
6919451ae4 Fix string offsetting 2022-11-09 23:19:17 -05:00
Jasmine Iwanek
47f6257240 Correct headers for BSD Licensed files 2022-10-29 10:52:49 -04:00
Jasmine Iwanek
f49d3c7458 Correct many file headers to show 86box 2022-10-27 17:08:58 -04:00
Jasmine Iwanek
fab1632cee Fixes almost all the logging options which were previously broken 2022-10-27 11:23:10 -04:00
Jasmine Iwanek
d4c4ef6a5d clang-format in src/printer/ 2022-09-18 17:22:55 -04:00
cold-brewed
5384eb35bb macos: Fix the name of the bundled freetype library 2022-08-27 11:03:45 -04:00
David Hrdlička
e60af6c29d Clean up plat.h a bit 2022-04-20 01:03:39 +02:00
Alexander Babikov
4bba7f8f1d Define the FreeType library name on macOS 2022-04-14 07:10:17 +05:00