Fix setting text x or y to 0

Because of the use of the construction "@x = x or @x" there was no way
to set x (or y) to 0, since 0 is falsy.  Fix to use separate outer tests
and unconditional assignment.