9 ms·
What actual purpose do accent characters in ISO-8859-1 and Windows 1252 serve?
- scelerat 2y agoTLDR, you combine/precede naked accent characters with the backspace character on your output device (probably a printer) to get accented characters.
- Dylan16807 2y agoIf you focus on printers I think you're missing the point of the question. It's about why it's in this character set made for interactive use on a screen. Printers are an obvious answer for a different question.
- jandrese 2y agoEarly computers didn't have screens. Their output was via typewriters called teletypes.
- Dylan16807 2y agoISO 8859-1 did not exist back then. Edit: Its 1983 predecessor that added accented characters was made for the VT220, and it used a buffer of 8 bit character codes, no way to combine. (Some of those terminals could be sent a limited number of custom characters to store in RAM, but that's a very different mechanism as far as I can tell.) Edit 2: I made an error before, the naked accents were not in the predecessor, they were even newer.
- bhaak 2y agoWhy? Back in the day you could output a text file directly onto the printer and it would print, possibly interpreting control characters like backspace or carriage return to overwrite existing characters. For that, the printer would also need to interpret the characters in the correct character set.
- Dylan16807 2y agoBut who would design a character set that only works properly on printers in 1985? Hence the question of whether and which operating systems properly supported that kind of use.
- akira2501 2y agoWe didn't start putting computers on everyone's desk until the mid 90s. Prior to that printed output dominated businesses.
- Dylan16807 2y agoIt's still a pretty crazy idea to add something that only works on printers at that time. It's very much worth asking about OS support, and "it's there because printers" leaves a lot of story untold, it's not a sufficient answer.
- akira2501 2y agoWe did printing with heads on specialized form paper. If you wanted to change the font you opened up the printer, took out the head, and replaced it with a new head. The character set standard defined how the head was physically manufactured. You want all the printers in your fleet to produce identical output. In 1985 "OS Support" meant picking up the phone and talking to the vendor directly.
- numpad0 2y agoA "printer" in 1985 wasn't necessarily a PostScript raster printer. Presumably.
- bhaak 2y agoIt's not "only". A similar question is why does ASCII have a control character for ringing a bell? The answer is that the character sets were designed with specific hardware in mind and often with backwards compatibility. The accented characters were in use for typewriter and printer with a typewriter like interface or even hardware.
- PaulHoule 2y agoIt was a common technique back in the day with both dot matrix and "letter quality" printers to print a line and then go back and print it again to either get a bold effect by printing the same characters twice or to overlay one character on top of another. If the spacing was right you could have drawn accented characters that way.
- EvanAnderson 2y agoThose kinds of printers were delightfully mechanical. Writing a little loop in GW-BASIC to grab key-at-a-time input (INKEY$) and writing it out to the parallel port was a ton of fun. You could create overstrike-type output like that easily. It also almost felt like controlling a robot. (I mean, you really were...)
- hnlmorg 2y agoMan pages on some unixes (inc macOS) still do bold-type this way. It’s literally a char(8) backspace followed by the previous character again.
- Muromec 2y agoIt's a "feature" typewriters had. On mechanical ones you had to manually move the carriage to the left after the bell rang indicating you are out of space in the line, thus "Carriage Return" and also move paper up to move to the next line.
- swatcoder 2y agoThe purpose is more obvious if you understand what makes \r and \n different, and why both existed. But I guess that's becoming lost knowledge now. Ultimately, many "character sets" combined printable characters, cursor/head control, and record boundaries into one serialized byte stream that could be used by terminals, printers, programs for all sorts of purposes.
- pavlov 2y agoIt’s a shame that ASCII unit/record/group boundary characters were practically never used, at least since microcomputers took over. Instead we’re stuck with broken replacements like CSV.
- yjftsjthsd-h 2y agoRight? And they're a really obvious solution to a problem that we somehow still have even though they've been around forever. The only problem I've ever seen is that there's no good way to type or display them
- deleted 2y ago[deleted]
- jandrese 2y agoIt is a bit of a chicken and egg problem here. If those characters were used then at least for CSV support better text editors would find a way to handle them. Since they aren't nobody wants to try to use them in a CSV like file.
- otabdeveloper4 2y agoIf there was a good way to type of display them, then normal people would be typing them every day (say, pasting them into comment forms or whatever), and then we would need to have some standard for quoting them.
- qsort 2y agoASCII separators are equally as broken. How do you represent a string containing the record separator in a record-separated file? Any such solution will always be broken, proof is left as an exercise for the reader. Hint: use Ogden's lemma.
- hsdropout 2y agoI sometimes use these in Windows when I expand characters with FormD[0] as part of username validation. If the expanded count doesn't match, a diacritic might be present. [0] https://learn.microsoft.com/en-us/dotnet/api/system.text.normalizationform?view=net-8.0#fields https://learn.microsoft.com/en-us/dotnet/api/system.text.nor...
- BugsJustFindMe 2y ago> they're all pretty much useless on their own for anything besides ASCII art. The asker completely ignores that asking questions about accent marks, like they themselves are doing in that very post, would be a lot more annoying without being able to write said accent marks.
- keybored 2y agoUse/mention distinction. They’re saying that they don’t see the use.
- BugsJustFindMe 2y agoFor character sets, typing is use, so the asker is directly using them in order to ask what their use is. It's sufficient for their use to be talking about them.
- dullcrisp 2y agoI’d like to tell you about the new Glőrbl character that I invented. You can use it for referring to the new Glőrbl character that I invented.
- BugsJustFindMe 2y agoThat's cute, except you don't need to invent anything new here. There are already accent marks used in the character set. Note that they did not ask why there are symbols ÀÁÂ etc, so the presence of accents is already understood and accepted. And given that the character set is constructed to include accented letters, it is extremely reasonable to include the ability to talk about the accent marks themselves. Otherwise you would have to resort to the quite clumsy "the thing on top of àìòèù" to introduce any discussion of the uses of grave accents to people who don't yet know what the phrase "grave accent" means instead of just writing "`", which would be akin to saying that we don't need to write the letter "A" by itself to talk about the letter "A" and could instead say things like "the letter at the beginning of the words Apple and Among". Like...yes...you can do that. But it's less good than the alternative of not doing that.
- Theodores 2y agoMy younger self would have used the umlaut character for 'ditto'. To some extent the character set was still evolving, for example the Euro sign was not around until decades later and that would need to be bolted together with backspace characters or escape codes, maybe even downloaded characters, with the printer specific manual (Epson) studied at great length. In the DOS era (and before with home micros that were programmed in BASIC) it was quite normal to compose things for the printer that you had no expectation of seeing on screen, not that anyone read much on screen (as everyone had vast piles of paper on their desk). Until quite recently some POS systems were very much tied in to a very specific printer, at least these character sets were a step forward from hard coding a BASIC program to an exact make and model of printer.
- rmccue 2y agoNever heard of an umlaut being used for a ditto mark, usually it’s a double quote: " https://en.wikipedia.org/wiki/Ditto_mark https://en.wikipedia.org/wiki/Ditto_mark Guessing maybe there’s some keyboards which were missing quote/prime characters but had umlauts?
- Theodores 2y agoCreative use of early Epson printers was something I wasted a lot of time with, never with a word processor, because they did not really exist unless you paid hundreds of pounds to get one. I was coding forms for tabular data, doing silly things because the printed manual made that too tempting, so any excuse to use a character or escape code sequence was fair game. This was in an era when handwriting was commonly used so the convention for 'ditto' could be freestyled by me to be middle dots, umlauts or anything CHR(). The convenience of the keyboard, in an era before the PC was not really there.
- bhaak 2y ago> Having an OS drawing characters on a bitmap display, a prerequisite to composing, is a very new development, way more recent than the character definitions leading to above encoding. New? Some computers of the 1980s could already do this. At least the 16 bit home computers had bitmap drawn characters on the screen. Edit: Looks like somebody doesn't believe that computers in the 80s had such a thing. > On the Amiga, rendering text is similar to rendering lines and shapes. The Amiga graphics library provides text functions based around the RastPort structure, which makes it easy to intermix graphics and text. > In order to render text, the Amiga needs to have a graphical representation for each symbol or text character. These individual images are known as glyphs. The Amiga gets each glyph from a font in the system font list. At present, the fonts in the system list contain a bitmap of a specific point size for all the characters and symbols of the font. https://wiki.amigaos.net/wiki/Graphics_Library_and_Text https://wiki.amigaos.net/wiki/Graphics_Library_and_Text
- surfingdino 2y agoThey exist so that typists can insert random characters that look similar to what they actually meant to type. This has a nice income-generating effect for developers who know how to handle incorrectly encoded data. I make good money fixing data processing pipelines written to expect utf-8 only to be given something else.
- cryptonector 2y agoYup, ASCII was a multi-byte character set, using overstrike with BS (backspace). Little-known fact, that. There's still a holdover of this in terminal apps, which use this for underscoring and bolding.
- jfim 2y agoI'm surprised it wasn't mentioned, but they were also used for text entry in some text editing applications. For example, one could type ë by entering ¨ then following with e. The ¨ would be displayed at the position where the combined character would be, while waiting for the second character to be entered. Once the second character is entered, the display would be updated with the correct combined character.
- mattigames 2y agoThat's how accent marks still work on Spanish keyboards, these are used less these days as autocorrect does it for you.
- timonoko 2y agoIn ADM-3 (or some such) there was only one backspace+overstrike character and it was underscore. So Ä and Ö was marked thus. Otherwise HYVÄÄ YÖTÄ was HYV{{ Y|T{, which was only little miserable. But if you changed the ROM into Swedish ROM, {a|b} become äaöbå, which was basically unreadable.
- bhaak 2y agoNeither on SE nor here I could find a mention of dead keys. https://en.wikipedia.org/wiki/Dead_key https://en.wikipedia.org/wiki/Dead_key I can't claim I know how they relate exactly to the accented characters being encoded in character sets but they seem to be at least historically an influence. Pressing a dead key which doesn't advance the cursor and then overwrite the basic character over it is certainly faster than using backspace (also cheaper if you think about character pricing). That the ECMA specs only talk about using BACKSPACE is surprising. At least those OS I used only supported the dead key approach but of course that was decades after the specs were written.