Answer
This is determined by the underlying Java locale's own standard number-formatting rules for the language being printed in — different locales use different standard minus-sign glyphs by default in Java's own number formatting, which is why the character differs by language even though the report layout itself hasn't changed. The fix is to edit the report layout and define a custom, hardcoded negative-number format and symbol directly in the layout, rather than relying on the locale-driven default formatting. This hardcoded format then gets used consistently for every locale/language the report is printed in, sidestepping the OCR-incompatible long-minus character, though it does mean the negative-number format is no longer locale-sensitive at all once hardcoded this way.