If I read the article correctly this happened at school.
Most schools have rules against T shirt slogans that are disruptive and/or offensive. Of course broad interpertation of the word disruptive has lead to incidents of head shaking nonsense.
But in this case I can not see how it could be argued that this T shirt is not disruptive. The wearer should have been sent to the office , told the shirt was unacceptable and given the choice to change or leave school.
Was it wrong for the other guy to punch him. Yes, but violence could have been prevented if the school administration had done their job.
Except for the part about the school being unaware of the shirt prior to the fight.
You can't really blame the school for this, the kid had the shirt on underneath another shirt. He took the top shirt off while walking to gym class and that is when the trouble started.
I love the kid's quote, "I'm not racist, I just hate black people".