libptouch: P700/P900 families, optional JSON config, ESC i z and print sequencing

- Add printer_family and profile flags; load overrides from printer_families.json
- Set ESC i z page byte from profile; pass prof into ptouch_fill_esc_iz
- End print with 0x1A only (drop FF prefix); extend Ruby FFI and CLI media info
- Add reference/ptp_raster_ref.adoc; install config under share/ptouch_label

Made-with: Cursor
This commit is contained in:
knb
2026-04-19 12:20:21 +09:00
parent 3f2eb464aa
commit bfd6adda42
18 changed files with 456 additions and 47 deletions

View File

@@ -27,6 +27,7 @@ set(LIBPTOUCH_SOURCES
src/lib/libptouch_usb.c
src/lib/libptouch_protocol.c
src/lib/libptouch_layout.c
src/lib/libptouch_family_config.c
src/lib/libptouch_media_info.c
src/lib/libptouch_trim.c
src/lib/libptouch_print.c
@@ -82,6 +83,8 @@ add_executable(ptouch-protocol-regression-test
)
target_include_directories(ptouch-protocol-regression-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/src/lib"
"${CMAKE_CURRENT_SOURCE_DIR}/include"
"${CMAKE_CURRENT_BINARY_DIR}/include"
)
if(NOT MSVC)
target_compile_options(ptouch-protocol-regression-test PRIVATE -Wall -Wextra -Wpedantic)
@@ -96,3 +99,6 @@ install(FILES
"${CMAKE_CURRENT_SOURCE_DIR}/include/libptouch.h"
"${CMAKE_CURRENT_BINARY_DIR}/include/libptouch_version.h"
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
install(FILES
"${CMAKE_CURRENT_SOURCE_DIR}/config/printer_families.json"
DESTINATION "${CMAKE_INSTALL_DATADIR}/ptouch_label")