/*
ptouch-print - Print labels with images or text on a Brother P-Touch
- Copyright (C) 2015 Dominic Radermacher <dominic.radermacher@gmail.com>
+ Copyright (C) 2015-2017 Dominic Radermacher <blip@mockmoon-cybernetics.ch>
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 3 as
return;
}
+void unsupported_printer(ptouch_dev ptdev)
+{
+ printf(_("your printer unfortunately is not supported by this tool\n"));
+ printf(_("the rasterdata a transferred in some other (unknown) format\n"));
+ exit(1);
+}
+
int print_img(ptouch_dev ptdev, gdImage *im)
{
int d,i,k,offset,tape_width;
uint8_t rasterline[16];
+ if ((ptdev->devinfo->flags & FLAG_UNSUP_RASTER) == FLAG_UNSUP_RASTER) {
+ unsupported_printer(ptdev);
+ }
tape_width=ptouch_getmaxwidth(ptdev);
/* find out whether color 0 or color 1 is darker */
d=(gdImageRed(im,1)+gdImageGreen(im,1)+gdImageBlue(im,1) < gdImageRed(im,0)+gdImageGreen(im,0)+gdImageBlue(im,0))?1:0;
{
int brect[8];
- if (strpbrk(text, "QgjpqyQ") == NULL) { /* if we have none of these */
+ if (strpbrk(text, "QgjpqyQµ") == NULL) { /* if we have none of these */
return 0; /* we don't need an baseline offset */
} /* else we need to calculate it */
gdImageStringFT(NULL, &brect[0], -1, font, fsz, 0.0, 0, 0, "o");
/* --------------------------------------------------------------------
Find out which fontsize we need for a given font to get a
specified pixel size
+ NOTE: This does NOT work for some UTF-8 chars like µ
-------------------------------------------------------------------- */
int find_fontsize(int want_px, char *font, char *text)
{