It's a bitwise exclusive or. In this case, it's used to toggle the bold property of the font style.
For a good explanation of the various bitwise operators, see here.
The way xor works in particular is to set the resultant bit if and only if one of the input bits is set.
So, if we xor the value 1010 with 0010, we get:
1010
^ 0010
----
1000 (ie, we toggle that third digit).
If we then do the xor again:
1000
^ 0010
----
1010 (ie, we toggle that third digit back to its original value).
That's why it's a handy way to toggle a specific bit.