mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
Correct EMF bug: text does not change colour
This commit is contained in:
parent
04f6f81e68
commit
398b1aba2b
@ -207,6 +207,7 @@ INTERNAL int emf_plot(struct zint_symbol *symbol) {
|
|||||||
emr_selectobject_t emr_selectobject_pen;
|
emr_selectobject_t emr_selectobject_pen;
|
||||||
emr_rectangle_t background;
|
emr_rectangle_t background;
|
||||||
emr_extcreatefontindirectw_t emr_extcreatefontindirectw;
|
emr_extcreatefontindirectw_t emr_extcreatefontindirectw;
|
||||||
|
emr_settextcolor_t emr_settextcolor;
|
||||||
emr_selectobject_t emr_selectobject_font;
|
emr_selectobject_t emr_selectobject_font;
|
||||||
//emr_extcreatefontindirectw_t emr_extcreatefontindirectw_big;
|
//emr_extcreatefontindirectw_t emr_extcreatefontindirectw_big;
|
||||||
//emr_selectobject_t emr_selectobject_font_big;
|
//emr_selectobject_t emr_selectobject_font_big;
|
||||||
@ -493,12 +494,21 @@ INTERNAL int emf_plot(struct zint_symbol *symbol) {
|
|||||||
utfle_copy(emr_extcreatefontindirectw.elw.facename, (unsigned char*) "sans-serif", 10);
|
utfle_copy(emr_extcreatefontindirectw.elw.facename, (unsigned char*) "sans-serif", 10);
|
||||||
bytecount += 104;
|
bytecount += 104;
|
||||||
recordcount++;
|
recordcount++;
|
||||||
|
|
||||||
emr_selectobject_font.type = 0x00000025; // EMR_SELECTOBJECT
|
emr_selectobject_font.type = 0x00000025; // EMR_SELECTOBJECT
|
||||||
emr_selectobject_font.size = 12;
|
emr_selectobject_font.size = 12;
|
||||||
emr_selectobject_font.ih_object = 4;
|
emr_selectobject_font.ih_object = 4;
|
||||||
bytecount += 12;
|
bytecount += 12;
|
||||||
recordcount++;
|
recordcount++;
|
||||||
|
|
||||||
|
emr_settextcolor.type = 0x0000018; // EMR_SETTEXTCOLOR
|
||||||
|
emr_settextcolor.size = 12;
|
||||||
|
emr_settextcolor.color.red = fgred;
|
||||||
|
emr_settextcolor.color.green = fggrn;
|
||||||
|
emr_settextcolor.color.blue = fgblu;
|
||||||
|
emr_settextcolor.color.reserved = 0;
|
||||||
|
bytecount += 12;
|
||||||
|
recordcount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Text
|
//Text
|
||||||
@ -643,6 +653,7 @@ INTERNAL int emf_plot(struct zint_symbol *symbol) {
|
|||||||
// Text
|
// Text
|
||||||
if (string_count > 0) {
|
if (string_count > 0) {
|
||||||
fwrite(&emr_selectobject_font, sizeof (emr_selectobject_t), 1, emf_file);
|
fwrite(&emr_selectobject_font, sizeof (emr_selectobject_t), 1, emf_file);
|
||||||
|
fwrite(&emr_settextcolor, sizeof (emr_settextcolor_t), 1, emf_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Suppresses clang-tidy clang-analyzer-core.UndefinedBinaryOperatorResult warning */
|
/* Suppresses clang-tidy clang-analyzer-core.UndefinedBinaryOperatorResult warning */
|
||||||
|
@ -187,6 +187,12 @@ extern "C" {
|
|||||||
log_font_t elw;
|
log_font_t elw;
|
||||||
} emr_extcreatefontindirectw_t;
|
} emr_extcreatefontindirectw_t;
|
||||||
|
|
||||||
|
typedef struct emr_settextcolor {
|
||||||
|
uint32_t type;
|
||||||
|
uint32_t size;
|
||||||
|
color_ref_t color;
|
||||||
|
} emr_settextcolor_t;
|
||||||
|
|
||||||
typedef struct emr_exttextoutw {
|
typedef struct emr_exttextoutw {
|
||||||
uint32_t type;
|
uint32_t type;
|
||||||
uint32_t size;
|
uint32_t size;
|
||||||
|
Loading…
Reference in New Issue
Block a user