mirror of
https://git.code.sf.net/p/zint/code
synced 2026-07-31 10:29:52 +00:00
font_wip branch: new WIP font stuff using "stb_truetype.h",
not implemented for EAN/UPC, not fully tested
This commit is contained in:
+68
-5
@@ -180,8 +180,8 @@ namespace Zint {
|
||||
m_fgStr(QSL("000000")), m_bgStr(QSL("FFFFFF")), m_cmyk(false),
|
||||
m_borderType(0), m_borderWidth(0),
|
||||
m_whitespace(0), m_vwhitespace(0),
|
||||
m_fontSetting(0),
|
||||
m_show_hrt(true),
|
||||
m_show_hrt(ZINT_HRT_ALL),
|
||||
m_fontSetting(0), m_halign(0), m_font_height(0), m_grayscale(false), m_gs1_newline(false),
|
||||
m_gssep(false),
|
||||
m_quiet_zones(false), m_no_quiet_zones(false),
|
||||
m_compliant_height(false),
|
||||
@@ -259,7 +259,23 @@ namespace Zint {
|
||||
m_zintSymbol->option_1 = m_option_1;
|
||||
m_zintSymbol->option_2 = m_option_2;
|
||||
m_zintSymbol->option_3 = m_option_3;
|
||||
m_zintSymbol->show_hrt = m_show_hrt ? 1 : 0;
|
||||
|
||||
m_zintSymbol->show_hrt = m_show_hrt;
|
||||
if (m_grayscale) {
|
||||
m_zintSymbol->show_hrt |= ZINT_HRT_GRAYSCALE;
|
||||
}
|
||||
if (m_halign == ZINT_HRT_HALIGN_LEFT) {
|
||||
m_zintSymbol->show_hrt |= ZINT_HRT_HALIGN_LEFT;
|
||||
} else if (m_halign == ZINT_HRT_HALIGN_RIGHT) {
|
||||
m_zintSymbol->show_hrt |= ZINT_HRT_HALIGN_RIGHT;
|
||||
}
|
||||
if (m_gs1_newline) {
|
||||
m_zintSymbol->show_hrt |= ZINT_HRT_GS1_NEWLINE;
|
||||
}
|
||||
if (m_font_height >= 10 && m_font_height <= 200) {
|
||||
m_zintSymbol->show_hrt |= m_font_height << 16;
|
||||
}
|
||||
|
||||
m_zintSymbol->input_mode = m_input_mode;
|
||||
if (m_gs1parens) {
|
||||
m_zintSymbol->input_mode |= GS1PARENS_MODE;
|
||||
@@ -273,6 +289,7 @@ namespace Zint {
|
||||
if (m_gs1syntaxengine) {
|
||||
m_zintSymbol->input_mode |= GS1SYNTAXENGINE_MODE;
|
||||
}
|
||||
|
||||
m_zintSymbol->eci = m_eci;
|
||||
m_zintSymbol->dpmm = m_dpmm;
|
||||
m_zintSymbol->dot_size = m_dot_size;
|
||||
@@ -676,11 +693,57 @@ namespace Zint {
|
||||
|
||||
/* Show (true) or hide (false) Human Readable Text (HRT) */
|
||||
bool QZint::showText() const {
|
||||
return m_show_hrt;
|
||||
return !!m_show_hrt;
|
||||
}
|
||||
|
||||
void QZint::setShowText(bool showText) {
|
||||
m_show_hrt = showText;
|
||||
m_show_hrt = showText ? ZINT_HRT_ALL : 0;
|
||||
}
|
||||
|
||||
/* Horizontal alignment of HRT */
|
||||
int QZint::halign() const {
|
||||
return m_halign;
|
||||
}
|
||||
|
||||
void QZint::setHAlign(int halignIndex) { // Sets from combobox index
|
||||
if (halignIndex == 1) {
|
||||
m_halign = ZINT_HRT_HALIGN_LEFT;
|
||||
} else if (halignIndex == 2) {
|
||||
m_halign = ZINT_HRT_HALIGN_RIGHT;
|
||||
} else {
|
||||
m_halign = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void QZint::setHAlignValue(int halign) { // Sets literal value
|
||||
m_halign = halign == ZINT_HRT_HALIGN_LEFT || halign == ZINT_HRT_HALIGN_RIGHT ? halign : 0;
|
||||
}
|
||||
|
||||
/* Font height */
|
||||
int QZint::fontHeight() const {
|
||||
return m_font_height;
|
||||
}
|
||||
|
||||
void QZint::setFontHeight(int fontHeight) {
|
||||
m_font_height = fontHeight >= 10 && fontHeight <= 200 ? fontHeight : 0;
|
||||
}
|
||||
|
||||
/* 8-bit grayscale raster font mode */
|
||||
bool QZint::grayscale() const {
|
||||
return m_grayscale;
|
||||
}
|
||||
|
||||
void QZint::setGrayscale(bool grayscale) {
|
||||
m_grayscale = grayscale;
|
||||
}
|
||||
|
||||
/* 8-bit grayscale raster font mode */
|
||||
bool QZint::gs1Newline() const {
|
||||
return m_gs1_newline;
|
||||
}
|
||||
|
||||
void QZint::setGS1Newline(bool gs1Newline) {
|
||||
m_gs1_newline = gs1Newline;
|
||||
}
|
||||
|
||||
/* Set to true to use GS (Group Separator) instead of FNC1 as GS1 separator (Data Matrix) */
|
||||
|
||||
+24
-3
@@ -171,9 +171,26 @@ public:
|
||||
void setTextGap(float textGap);
|
||||
|
||||
/* Show (true) or hide (false) Human Readable Text (HRT) */
|
||||
bool showText() const; // `symbol->show_hrt`
|
||||
bool showText() const; // `symbol->show_hrt` as boolean
|
||||
void setShowText(bool showText);
|
||||
|
||||
/* Horizontal alignment of HRT */
|
||||
int halign() const; // ZINT_HRT_HALIGN_LEFT/RIGHT
|
||||
void setHAlign(int halignIndex); // Sets from combobox index
|
||||
void setHAlignValue(int halign); // Sets literal value
|
||||
|
||||
/* Font height */
|
||||
int fontHeight() const;
|
||||
void setFontHeight(int fontHeight);
|
||||
|
||||
/* 8-bit grayscale raster font mode */
|
||||
bool grayscale() const;
|
||||
void setGrayscale(bool grayscale);
|
||||
|
||||
/* Put each GS1 AI on a newline in HRT */
|
||||
bool gs1Newline() const;
|
||||
void setGS1Newline(bool gs1Newline);
|
||||
|
||||
/* Set to true to use GS (Group Separator) instead of FNC1 as GS1 separator (Data Matrix) */
|
||||
bool gsSep() const; // `symbol->output_options | GS1_GS_SEPARATOR`
|
||||
void setGSSep(bool gsSep);
|
||||
@@ -264,7 +281,7 @@ public:
|
||||
|
||||
|
||||
/* Test capabilities - `ZBarcode_Cap()` */
|
||||
bool hasHRT(int symbology = 0) const;
|
||||
bool hasHRT(int symbology = 0) const; /* Whether has HRT by default */
|
||||
bool isStackable(int symbology = 0) const;
|
||||
bool isEANUPC(int symbology = 0) const;
|
||||
bool isExtendable(int symbology = 0) const; /* Legacy - same as `isEANUPC()` */
|
||||
@@ -405,8 +422,12 @@ private:
|
||||
int m_borderWidth;
|
||||
int m_whitespace;
|
||||
int m_vwhitespace;
|
||||
int m_show_hrt;
|
||||
int m_fontSetting;
|
||||
bool m_show_hrt;
|
||||
int m_halign;
|
||||
int m_font_height;
|
||||
bool m_grayscale;
|
||||
bool m_gs1_newline;
|
||||
bool m_gssep;
|
||||
bool m_quiet_zones;
|
||||
bool m_no_quiet_zones;
|
||||
|
||||
Reference in New Issue
Block a user