Trademark signUppercase O with umlaut
ASCII 153 is ™ on Windows and Ö in old DOS.
™ (Trademark Sign) is byte 153 in Windows-1252, Unicode U+2122. It marks a name or logo claimed as a trademark, and nobody has to register anything to use it. That's the difference from ®: in the US, ® is only for marks registered with the USPTO, while ™ just states the claim. The glyph is already small and raised, so wrapping it in a sup element in HTML shrinks it twice and lifts it above the line. Search and slugs can surprise you too. NFKC normalization turns ™ into the letters TM, so an index that normalizes stores Acme™ as AcmeTM, and a slug generator may produce acmetm. If you're digging through broken text, remember that ™ is also the last character of ’, the mangled apostrophe, so not every ™ on a damaged page is a trademark. Its own UTF-8 bytes are E2 84 A2, which misread as â„¢. The HTML entity is ™, and the registered sign ® is byte 174.
Ö (Capital O with Umlaut) is byte 153 in code page 437, the original IBM PC character set, and maps to Unicode U+00D6. Windows-1252 has the trademark sign ™ at 153, so German DOS text read as Windows-1252 turns Österreich into ™sterreich. Code page 850 kept Ö at 153 too. Small ö is 148 in DOS.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 153 is ™.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u2122\n"); /* UTF-8: E2 84 A2 */unsigned char b = 153; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 153 0x99 */return 0;}
#include <stdio.h>int main(void) {/* Byte 153 is Ö only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0x99 is invalid and prints as garbage, often �. */putchar(153);/* char is signed on x86, so a plain char holding 0x99 is -103.Use unsigned char when you compare or index by byte value. */char c = (char)153;unsigned char u = 153;printf("\n%d %d\n", c, u); /* -103 153 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u00D6\n"); /* C3 96 */return 0;}
Ö is also ASCII 214 on Windows, which has the full guide.
No. The usual practice is to mark the first or most prominent use on a page, like the logo or the first mention in the text, and leave later mentions plain. Repeating it every time adds clutter without making the claim any stronger. For questions about protecting your own mark, a trademark lawyer is the person to ask.
™ claims a mark used on goods, and ℠ (U+2120) claims one used for services, like a restaurant chain or a bank. Neither requires registration. ℠ isn't in Windows-1252 or code page 437, and some fonts leave it out, so check that it actually renders before putting it in a logo line or footer.
Alt+153 without a zero reads the DOS table, where 153 is Ö. Alt+0153 reads Windows-1252 and gives ™. The two tables only agree on the ASCII range below 128, so every code above that gives a different character depending on whether the zero is there.
That ™ is a capital Ö. DOS code pages keep Ö at byte 153, and Windows-1252 puts the trademark sign there, so Österreich and Öl come out with a ™ in front. Lowercase ö breaks at the same time, into ”, which confirms the diagnosis. ICU's converter fixes the file: `uconv -f ibm-850 -t utf-8 old.txt > new.txt`.
Alt+153 without a zero reads the DOS table, where 153 is Ö. Alt+0153 reads Windows-1252 and gives ™. The two tables only agree on the ASCII range below 128, so every code above that gives a different character depending on whether the zero is there.
That ™ is a capital Ö. DOS code pages keep Ö at byte 153, and Windows-1252 puts the trademark sign there, so Österreich and Öl come out with a ™ in front. Lowercase ö breaks at the same time, into ”, which confirms the diagnosis. ICU's converter fixes the file: `uconv -f ibm-850 -t utf-8 old.txt > new.txt`.