The QR code generation does fail, depending on the locale if the decimal separator is not defined as a point.
This is caused by the library generating comma separated numbers in places where a point value is expected, for example <g transform="scale(10,811)"> instead of <g transform="scale(10.811)"> on de_DE as the float is transformed with a comma as a decimal separator by the sprintf including it as a string, basically casting float to string in the process.
Imagick png is also affected by the locale, although I haven't figured out exactly why yet.