Characters > 127 are not overlayed correctly in v1.23.3

Support and queries relating to all previous versions of ZoneMinder
Locked
phdonnelly
Posts: 2
Joined: Sun Aug 31, 2008 4:18 am

Characters > 127 are not overlayed correctly in v1.23.3

Post by phdonnelly »

It looks like any characters > 127 entered into the Timestamp field are not overlayed correctly on the image, garbage is displayed instead (see image here: Image, it should read 026.41º, IE the degree symbol, ascii char 167). That's a screenshot from a custom overlay I'm working on, but the standard timestamp one suffers exactly the same issue.


I dug around in the code, and the actual overlay is performed in zm_image.cpp's Image::Annotate function, which basically involves a lookup to zm_font.h to translate each character into a bitmap using a char array. zm_font.h actually has correct bitmaps for all 255 possible values, and since the transition from valid char to garbage data occurs precisely at 128 I assume there's some sort of signed/unsigned issue at work, but I've been over the code at least a dozen times and just can't seem to find where the issue is.
Locked