Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
The regexp is far from matching the W3C definition of allowed font names. It allows any Unicode characters, though some characters need to be escaped using CSS escape notation and some imply a need for quotation marks around the name.
While the use of English in identifiers is often a practical choice, you should remember that the vast majority of people on Earth do not understand English, or understand it very little. There are large communities of programmers that use their own language. Besides, using any other language but English makes it more obvious which words are reserved words or predefined or library names as opposite to identifiers chosen by the programmer.
The structure looks OK. Nothing has been said about semantics (i.e., meanings) involved. The question “if there is another way, more clean to construct these same structure, like having the td in tr differents than the same in which the th are constructed to have them separated” just does not parse, still less make sense.