An earlier article explored the history of codepage 852 (Latin-2 PC codepage) in released and pre-release versions of DOS and OS/2. At the time of this writing (June 2025), the earliest OS/2 build with some form of CP852 support including keyboard layouts and explicit knowledge of countries using CP852 (Czechoslovakia, Hungary, Poland, Yugoslavia) was OS/2 2.0 build 6.64 from March/April 1990. The first officially released OS with CP852 support was DOS 5.0 in June 1991.

There is confusion as to how old CP852 is. IBM’s globalization registry suggests that CP852 is from 1993, but that is patently impossible because it was included in the DOS 5.0 release in 1991. And the article referenced above clearly demonstrates that CP852 existed in early 1990.
In fact there is every reason to think that CP852 is a contemporary of CP855 (Cyrillic PC codepage) which is supposedly from 1988, or perhaps even a contemporary of CP850 (Latin-1 PC) from 1986.
It is apparent that codepages 850, 852, and 855 are closely related to the work done at ECMA and ISO in the mid-1980s, and correspond to ISO 8859-1, 8859-2, and 8859-5, respectively. While the original IBM PC character set provided some support for languages besides English, the support was imperfect and rather ad-hoc. The ECMA and ISO working groups took a much more systematic approach and designed character sets suitable “for general purpose applications in typical office environments”, covering specific sets of languages.
IBM modified the ECMA/ISO code pages for use in the PC. Essentially IBM took the characters needed to support the given languages, but rearranged them to preserve a good chunk of the most useful glyphs in CP437 used by text-based applications. This task was made possible by the fact that the ECMA/ISO code pages did not place any characters in the 80h-9Fh range, leaving 32 positions unused.
Latin Alphabet No. 2 (aka ISO 8859-2) as defined by ECMA-94 (2nd Edition, 1986) was deemed to be suitable for writing the following languages: Albanian, Czech, English, German, Hungarian, Polish, Romanian, Serbo-Croatian, Slovak, Slovenian, and Swedish (note that English, German, and Swedish were also covered by Latin Alphabet No. 1). IBM’s CP852 covered the same languages as ISO 8859-2.
Culture Clash
There was a notable clash between international standards organizations (and multinational companies) and PC users. Anyone who needed to implement and support internationalization tried to minimize the total number of code pages and maximize the number of languages a given code page would support. Yet PC end users invariably only cared about their own language plus making Norton Commander look good—that is, preserving the maximum amount of semi-graphical characters from CP437.
The motivation of the standards bodies is obvious—nobody actually thought that having one code page per language would be particularly useful. The view of the end users may seem myopic, but it was practical; if someone, say, lived in Poland and needed to communicate with people in Hungary, Slovakia, Croatia, and Slovenia, they almost always used English or perhaps German and not Hungarian, Slovak, Croatian, and Slovenian to do so.
In other words, almost no one using one of the languages covered by CP852 had a need to use all of the languages covered by CP852.
CP852, 1988
Just recently a rather curious set of floppies came to light. It included an original IBM floppy titled “NLS 4.00”, part number 07F8889, which contains National Language Support (NLS) for IBM DOS 4.0 beyond what was shipped on the IBM DOS 4.0 disks.
The NLS 4.00 disk supports Greek (CP851), Icelandic (CP861), Turkish (CP853), plus more or less all Eastern Bloc countries using CP852 (Latin-2) and CP855 (Cyrillic). CP852 covers Albanian, Czech, German (GDR), Hungarian, Polish, Romanian, Slovak, and “Yugoslav-Latin”. CP855 additionally covers Bulgarian, Serbian, and “Cyrillic” (with country code 007 or USSR). The files on the disk are dated November 4, 1988. Notably this is just a few months after the initial release of IBM DOS 4.0 (June 1988).
Thus there is proof that IBM had functioning CP852 (and CP855) support at least as far back as November 1988. The mystery is what this disk was. It was mass produced (with the obligatory Made in Denmark label) and had an IBM part number, but was it ever listed in some IBM catalog? Who exactly offered it, and who could order it?

The disk falls into a strange gray zone. It probably wasn’t offered in the West because it wasn’t needed there. But if it was offered beyond the Iron Curtain, it almost certainly wouldn’t have been in trade press or magazines.
It’s all the more curious because this NLS disk required IBM DOS 4.0 (effectively brand new at the time), and it also needed EGA and VGA hardware. Chances are good that it would have been sold with new IBM PCs or PS/2s… but who was buying those in the Comecon countries in 1988? Then again, the NLS disk was found in the former Soviet Union and there’s every reason to think that’s been there since circa 1989 or 1990. So it had to get there somehow.
Origins
We can guess a little more about the origins of this national language support by examining the MS-DOS 5.0 OAK. The released MS-DOS 4.0 source code offers no real clues because it does not include any support for CP852 or CP855, and does not support any of the corresponding keyboard layouts either. That is unsurprising; those codepages and keyboard layouts were not supported in DOS 4.0 out of the box, which is why the NLS disk existed.
The MS-DOS 5.0 OAK does not include CP855 and the associated keyboards, but it does contain CP852.
The CP852 source files for EGA.CPI all contain the following comment:
; DATE CREATED:05-28-1987
If that is to be believed, CP852 must have been defined in 1987 and IBM already worked on the PC fonts to support it. That is plausible, because the Latin-2 character set was standardized by ECMA and ISO in 1986. (ECMA-94 was first published in 1985, but at that point it only contained the Latin-1 character set.)
The KEYBOARD.SYS source files in the MS-DOS 5.0 OAK offer further glimpses into the history of IBM’s NLS. Note that DOS national keyboard support is split into two functional parts. The actual KEYB utility can handle many keyboard layouts, but in itself it only handles the US layout. All the national keyboards are defined in KEYBOARD.SYS, which is read by the KEYB utility and used to translate scan codes to character codes.
The Yugoslav keyboard layout contains the following comment:
; WRITTEN: MJS 22.SEPTEMBER 1987
Who is MJS? The Polish keyboard layout offers a solid clue:
;; WRITTEN: Michael J. Saunders 2.OCTOBER 1987
The Czech, Hungarian, and Slovak layouts all contain the exact same comment as the Polish one. Whether they were all really created on the same date in October 1987 or just copied from the same source is anyone’s guess. But there was clearly some work ongoing in the Fall of 1987; note that this was after the release of DOS 3.3 but before DOS 4.0.
The Czech and Slovak layouts include one additional interesting comment:
;; Alterations created by Gyorgy Balint on behalf of IBM ROECE
;; 21.10.87 Basingstoke
There it is again—IBM ROECE, or Regional Organization for Eastern and Central Europe. Clearly in 1987, IBM ROECE was working on NLS for Eastern Bloc countries.
It is difficult to say when IBM ROECE might have had something to deliver to end users—it is possible that support for CP852 based on the DOS 3.3 NLS was delivered as early as 1987.
Thanks to the IBM “NLS 4.00” disk described above, we know that CP852 support was available in November 1988. It is entirely plausible that there was a similar “NLS 3.30” disk for DOS 3.3, perhaps some months earlier. Then again, maybe there wasn’t.
In any case, it should be possible to establish a rough CP852 timeline: IBM started working on support for CP852 and the associated languages on the PC platform in 1987. The support may have been completed before the end of 1987 and released in some form as an add-on for DOS 3.3.
In 1988, IBM released a NLS disk for DOS 4.0 with support for CP852 and country support for Czechoslovakia, Hungary, Poland, and Yugoslavia.
In early 1990, this support was integrated into the in-development OS/2 2.0. In early 1991, it was also integrated into DOS 5.0, and officially released in June 1991. In April 1992, OS/2 2.0 was released, about two years after it started supporting CP852.
Perhaps more information about the origins of CP852 will still came to light. Two years ago (that is, in 2023), the earliest known appearance of CP852 was in DOS 5.0 in 1991. Now we know that it appeared in OS/2 2.0 pre-releases about a year earlier, and that IBM had add-ons with CP852 support as early as 1988.
Acknowledgements
I would like to thank Georgy Galtsev for providing me with an image (and a photo) of the IBM NLS 4.00 diskette as well as a tape dump of MS-DOS 5.0 OAK.
Interesting!
First tangent: What was the cost to do a production run of disks at the time? I assume that the most expensive part was to print the labels. Don’t know how it would had been for stickers at the time, if IBM even used high quality laser printers in house for smaller series’s, but I remember that in the early 90’s it was viable to have a local printer print say 200 or so posters for usage a mix between hobby and commercial operation, with your logo and whatnot and space to write additional info. Like say a band or a DJ. In other words I would think that the cost would had been peanuts for IBM in the grand scheme even if they did a production run of a low quantity of disks.
“Who exactly offered it, and who could order it?” / “who was buying those in the Comecon countries in 1988?”
Possible customers could had been anyone in the west world that communicated with the former east bloc, including western countries embassies in the former east bloc. And of course anyone writing software or doing any other form of development/testing where they wanted to be compatible with the languages in question. Don’t know which companies this would be but I would think that major productivity software companies would had been interested.
My gut feeling is also that IBM took a chance in that somehow the relations with the east block would end up in a way that IBM might become a big enough supplier of hardware and software that it was worth the effort keeping DOS and OS/2 compatible with those languages even if there were almost zero paying customers at the time.
I know too little about the former east bloc in general, but since I know German good enough to read texts in German and watch documentaries and whatnot where people speak German clear enough, I’ve read and watched things that tells me that there were more or less no limit in what anyone in the west could give to an East German citizen as a gift. Officially the official way was that expensive/large items would go through the GENEX program where the East German state actually bought the items paid for by a western citizen, but I don’t think there were an actual technical limit on what you could just give to an East German citizens, within the limitations of what was generally allowed to bring in to East Germany. Thus you could probably just give your East German relative a PC. However I think you might not had been able to give them a hard disk or any floppy disks, so for a PS/2 computer you’d have to fit it with a 5.25″ A: drive as I think you could officially only buy 5.25″ disks in East Germany (they made licence built clones of TEAC drives for their domestic Robotron computers). Btw the most expensive items in the official GENEX catalogue were a full single family house (!!), one of the smaller BMWs (but still a brand new BMW, that due to it being sold through official channels had to be supported by the East German car repair things).
Sorry for going off on an East Germany tangent. Perhaps someone else could fill in what was possible in other east bloc countries at the time?
P.S. I’ve probably written this too many times already, but re the conflict of supporting multiple languages v.s. Norton Commander looking good: For general Swedish CP437 was good enough, which resulted in me hating the NLS things. I just needed the correct keyboard, but no COUNTRY.SYS and whatnot eating up conventional memory.
============
Suggestion for a future blog post topic:
How hard/easy was it for users to change the keyboard layout and character set in various operating systems (and versions thereof)? How common was it to do that? To what extent did different solutions for national keyboards and characters exist?
Also, perhaps a tangent off this, with the risk of it getting too boring/bureaucratic, perhaps something on how the decision process was and is for what the official keyboard layout is for different languages? If there are any cases where an actual conflict between official stances and users have resulted in the official stance changing it might actually be really interesting even to someone not that interested in keyboard layouts. Like a David-Goliath thing, kind of sort of.
Wikipedia* has a link to a site claiming that the Moscow Institute of Thermal Technology bought up to 100 IBM XT and AT systems in 1989. If accurate, that would point to a need for the Cyrillic code page in 1988. Later dates might be for the official releases after sanctions had been lifted.
Many of the Comecon computers had quick switching of keyboard between the necessary typing in the local language and the language that the software that ran on the foreign computer that was the starting point needed. I am hesitant to go further since translations of manuals for hardware I don’t possess is likely to be inaccurate.
The small company I worked for in the early 90s was able to make up labels with logos cheap. Print run needed only to be a little over 100 labels to be a lot less than the cost of the floppy.
* History of computing in the Soviet Union ref 68
For smaller runs, especially for disks that were not mass orderable (think pre-releases or update disks), IBM and Microsoft both used labels printed on dot-matrix printers. The NLS disk has the same kind of label as IBM DOS 4.0 and other IBM software of the era, and also has a proper IBM part number. Which suggests it was in some catalog, and maybe even in some announcement… but so far I haven’t found it.
The IBM ROECE organization existed at least since the late 60s, and its purpose was to sell IBM hardware into the Eastern Bloc countries. Finding any data is very difficult, but I take it as an established fact that IBM was selling systems to the Eastern Bloc for 20+ years before the Wall fell. But, again, it wasn’t talked about much.
As far as I know, keyboard layouts (for very obvious reasons) usually followed the local typewriters. One exception I can think of is the Polish “programmer” layout which–compared to the standard layout–makes it much easier to edit program source code.
Not exactly David vs Goliath, but codepage 866 backed by Microsoft successfully displaced codepage 855 (Cyrillic) promulgated by IBM in the former Soviet Union.
Maybe IBM ROECE unofficially endorsed the east bloc IBM 360 clones (ESER) and sold software and/or did consultancy for IBM compatible systems?
Re layout switching: Don’t know which versions this applied to, but somewhere around perhaps DOS 3.3 you could switch between US and local layout with CTRL+ALT+F1/F2, and you could also hold ALT to get “the other” layout. Or perhaps this was only a thing on a computer that weren’t aware of “enhanced keyboards” in any way? I.E a PC/XT or an AT or 386 with a BIOS that was old enough?
Re keyboard layouts being based on typewriter layouts:
To some extent this is probably true, but I don’t think it fully applies.
This sent me down on a rabbit hole.
The perhaps most common non-electric typewriter in Sweden were made by FACIT, and they also made electric versions. Their layout had almost nothing in common with modern keyboards. The only things that are at the same place are A-Z, the digits, and the key that produces ´ and `. Every other character, including the national ÅÄÖ, are at different places.
Another older mechanical typewriter, “Royal”, with Swedish ÅÄÖ, puts the ÅÄÖ at the same place as the Facit ones, so that layout must had existed before Facit. All other characters except A-Z and 2-0 (there were no 1 digit) are differs.
Yet another one called “Torpedo” also puts ÅÄÖ at the same place at the Facit ones, but again puts the other characters except A-Z and 0-9 at different places again.
The Alfaskop 3100 from 1969, which was the first in a series of 3270 compatible terminals (that I think used delay lines rather than electronic memory for the video memory, making them cheaper to produce as compared to the actual 3270), surprisingly has a layout that is pretty similar to the current one on modern computers. ÅÄÖ !”%&(),.-* are at the same place as on a modern computer.
But then something happened. I would guess that the Alfaskop 3100 used the IBM 3270 layout (I’ve never seen a Swedish keyboard 3270, they seem super rare), but people were probably used to the “Facit” layout , so on the Alfaskop 3500 ÅÄÖ moved to where they are on a Facit typewriter. # was added where it is on a modern keyboard, while ahift+4 has the $ sign unlike modern keyboards that has ¤ on shift+4 and $ on altgr+4.
Eventually the Alfaskop 4100 series moved ÅÄÖ to where they are on a modern computer.
Meanwhile in 1978 the Z80 based ABC80 computer were released and it’s layout is very like the current standard layout in Sweden. It was developed by DIAB and their previous product Seven S uses more or less the same layout.
My impression is that DIAB probably invented a layout and due to the ABC computers being so common among businesses, bureaucrats and whatnot it became the basis for the modern standard. Meanwhile various other computers used different layouts, notably almost every other computer had $ rather than ¤ on shift+4.
Actually the Ctrl-Alt-F1/F2 switching has been there since forever. See here: https://www.minuszerodegrees.net/manuals/IBM/IBM%20DOS%20Version%202.10%20-%20Reference%20-%20First%20Edition%20JAN84.pdf#page=548&zoom=auto,-255,32
Note that bitsavers also has an IBM DOS 2.10 Reference… but it’s not the same one. As best as I can tell, minuszerodegrees has the “international” version of the manual, with Appendix G that is not present in the US edition (on bitsavers). The old international versions of DOS are not very well documented at all, but there is evidence that IBM had them at least since PC DOS 1.1.
Since PC DOS 3.0, the most important international support moved to the standard US DOS disks (with KEYBxx.COM included where xx was FR, GR, IT, SP, UK). At the same time, IBM had separate NLS kits for other countries, but these required nonstandard hardware–namely a different character generator ROM.
With PC DOS 3.3, a much more comprehensive NLS was included, and at the same time I believe all new PCs and PS/2s sold since then had the ability to upload fonts to the VGA/MCGA/EGA/whatever display controller, so custom ROMs were no longer needed.
With the keyboard layouts, it is entirely possible that the details were highly country specific. In any case I would expect that IBM would try to not invent anything new and use whatever was already customary… unless it was a new country/language and there was nothing pre-existing. In countries where IBM already had national support for their terminals, I would expect they’d use that as a starting point.
>Not exactly David vs Goliath, but codepage 866 backed by Microsoft successfully displaced codepage 855 (Cyrillic) promulgated by IBM in the former Soviet Union.
I think adopted is a better word. At that time MS was still agile and smart enough to contact people with actual practical experience – the future authors of rusian dos 4.
Anyway, there was no battle of any kind. Both main and alternative encodings were introduced in the same article in “Microprocessor tools and systems” magazine, 1986/4*. The main encoding was meant for soviet PC clones (ES-183x) and the alternative for imported western PC and more advanced clones with reloadable character generator.
*) https://archive.org/details/MPSIS-1986-4/page/61/mode/1up
I know. “Backed” means Microsoft put their weight behind it (which they did), it doesn’t imply that they invented it (which they didn’t).
CP855 and CP866 had a different scope. CP866 was for the (then) Soviet Union, CP855 was for more or less all countries using Cyrillic.
The recollection at http://rdos401.org/ talks about a “struggle” with IBM as to whether CP855 or CP866 should be used. You can call it a battle or not.
>CP855 and CP866 had a different scope. CP866 was for the (then) Soviet Union, CP855 was for more or less all countries using Cyrillic.
There are differences, but cp855 is still a variant of main encoding with
letters in place of pseudographic symbols at 0xc0-0xdf, which makes it
very inconvenient to use with a significant amount of software.
I wonder in which countries it was popular.
According to this https://en.wikibooks.org/wiki/Character_Encodings/Code_Tables/MS-DOS/Code_page_855 : “At one time [CP855] was widely used in Serbia, Macedonia and Bulgaria, but it never caught on in Russia, where code page 866 was more common.” As far as I can tell, CP855 includes a number of Cyrillic characters used in Serbia/North Macedonia/Bulgaria that are not present in CP866. Which is understandable because CP866 was not designed to support those countries.
@Michal:
Re “PC DOS US disks containing FR, GR, IT, SP, UK” and “separate NLS kits for other countries, but these required nonstandard hardware–namely a different character generator ROM”: I’m not at the place where I have my old DOS 2 disks and documentation, so I can’t check what those contain. But either way, KEYBSV for Sweden (and Finland) didn’t require any additional ROM. I assume it was just a slightly altered DOS disk. Some time in the future I’ll have to check what actually differs.
WinworldPC seems to not have any version called “Swedish” before 3.30.
It also says that MS-DOS 3.21 was the first version adding support for “enhanced keyboards”.
@Vlad:
Were there soviet PC clones called ES 183x?
Or is that an incorrect translation from Cyrillic to Latin that shouldn’t happen? Thinking about that East German company Robotron made a PC clone called EC1834 and if anyone thought it was Soviet then the C could had turned into an S. Anyways, since it was German I assume it ran the same German version of DOS as West German PC clones.
=====
In general re 855 vs 866:
I would think that a major difference would likely had been that the Soviet Union in general didn’t have much reason for being able to write non-English characters in the Latin alphabet, while in particular in Serbia and Macedonia there would had been important to be able to read/write all characters used in the other parts of the former Yugoslavia. And also for all the 855 countries there would likely had been reason to be able to read/write other neighboring countries characters in general, although perhaps less important as the languages also differed.
The East German PC clones typically had either DCP (DOS with some special utilities) or MUTOS (Unix variant). At least one version of DCP included both a Russian keyboard utility and document converter for Russian.
The Soviet Poisk had keys with up to 5 symbols printed depicting the Russian or English value of the key and the shifted value for the key plus a special symbol with an access method I don’t recall.
> I would think that a major difference would likely had been that the Soviet Union in general didn’t have much reason for being able to write non-English characters in the Latin alphabet,
Nominally, about a third of USSR republics have used non-english latin, but principal language was russian and main/alternative encodings were designed for russian. Even cyrillic languages like ukrainian/belarusian had to use separate from cp866 code pages: cp1125/cp1131.
> Were there soviet PC clones called ES 183x?
I’m talking about ES PC(ЕС ПЭВМ) series 1834/35/39. There is also 184x series, but it’s a little newer.
> Or is that an incorrect translation from Cyrillic to Latin that shouldn’t happen?
It’s indeed EC in russian (and german apparently): “ЕС ЭВМ – Единая система электронных вычислительных машин”. But it’s customary translated like ES, see https://en.wikipedia.org/wiki/ES_EVM
Re special ROMs, see here: https://int10h.org/blog/2024/10/missing-ibm-pc-localization-disks-roms/ Danish, Norwegian, and Portuguese NLS used those (and Hebrew too). You’re right that Swedish did not, so it could have been part of standard DOS. I guess Sweden was not considered big enough (neither was Belgium and Switzerland).
CP855 was not suitable for writing Slavic Latin languages. It included so many characters used in Cyrillic languages that there was no room for anything else (beyond ASCII).
I don’t know if Ukrainian/Belarusian “had to” use separate code pages… but CP1125 exists because independent Ukraine re-added the letter Ґ/ґ which was not part of the Cyrillic alphabet when CP866 was designed. That is to say, CP866 might have accommodated this in theory, but in practice it could not because the letters were not in use at the time. An example of “real world” interfering with technology 🙂
The Ґ letter isn’t that important, there are only a few words with it, you just have to remember them. What is important is the absence of cyrillic І, which forces to use latin I, which messes up collation.
I fear the argument “never mind we can’t print the entire alphabet using this codepage, the missing letters aren’t that important” does not really fly. At the same time, I agree that there is a big difference between “complete” and “usable”. I suspect that at one time or another, there were quite a few countries where imperfect codepages were used, because in the end something is better than nothing.
@Vlad:
Oh, so were there an East German and a Soviet computer that both were called EC1834?
@Michal:
That int10 blog post, and the post it links to, is interesting.
This also makes me question why there was a focus on having the ¤ symbol in particular on Swedish keyboards, but also apparently to no use on the Danish/Norwegian code page.
It feels like it was a result between a fight between people wanting some currency symbol, and some people not wanting the dollar sign, resulting in computers having ¤ instead of $ as a compromise in both being able to actually type BASIC program syntax but also not have a symbol that is for a foreign currency.
The ISO646 page on Wikipedia refers to some standards. I bet that it costs money to get a copy of any of them.
https://en.wikipedia.org/wiki/ISO/IEC_646
Btw I wonder if the reference to SEN 850200 Annex B and C links to the wrong SEN? It links to Sigsoft Software Engineering Notes, but since it only applies to the Swedish versions of ISO 646 I would think that it’s rather Svenska Elektriska Nämnden, roughly translated as the Swedish electric (or electricity) board, which is one of the standardization organs. The other was SIS which is correctly linked on that wikipedia page.
Luke warm take: I think it should be illegal to use pay walled standards for things that people come across in their everyday life, be it professionally or privately.
Apparently there is an IBM code page for the Swedish ISO 646 encoding
https://en.wikipedia.org/wiki/Code_page_1018
That page refers to SFS 4017. On one hand that is great, SFS is published by the government. On the other hand that is bad as 4017 isn’t a valid number. Don’t know if it changed at some point in time but the current scheme is year:number where the number restarts at 1 (or something similar) for each year.
I highly recommend looking at ECMA standards because a) they’re not paywalled, and b) often the ISO standards were based on a slightly older ECMA standards.
Yes, the fights over ¤ vs $ were real.
SFS 4017 presumably refers to this: https://sales.sfs.fi/en/index/tuotteet/SFS/SFS/ID2/4/1524.html.stx#
> Oh, so were there an East German and a Soviet computer that both were called EC1834?
Sorry, I was unclear. It’s the same computer. I should’ve said “eastern bloc” clones instead of soviet ones. Well, technically, ES-183x series were eastern bloc clones: 1834/35 were robotrons and 1839 was правец, but ES-184x series were soviet.
I’m mostly interested in knowing which date/year the standards are from.
The fact that the oldest and newest Alfaskop terminals had the modern layout for ÅÄÖ, while the in-between terminals had the same ÅÄÖ layout as typewriters used to have seems like there must had been some sort of fight between the two different versions.
Good catch that SFS refers to a standardization organ in Finland. For some reason I didn’t even think about doing a picture search for kirjoituskone which is the Finnish word for type writer.
Oh boy, this is a rabbit hole!
It seems that there were loads of different layouts. In particular it seems like an older Finnish standard was to have QWERTYUIOP like on the English/US layout, while the middle row has most English characters shifted rightwards one step, XASDFGHJKLÖ, and the lower row is ZÅÄCVBNM. It must had been hard to readjust both to the modern layout and also between Finnish and English/US layouts. It also seems that the old Swedish layout with ZXCVBNMÅÄÖ was at least not uncommon. Also since afaik Å is only used in Swedish but not Finnish, a German typewriter would also work albeit you end up with yet another layout. One of the pictures I found is of a typewriter with Germany letters and layout. Also it seems like there were mechanical typewriters with the modern layout, with Å to the right of P and ÖÄ to the right of L.
Given that there were a general need for a standardization between Sweden and Finland, and perhaps also a need to not deviate more than necessary from other language keyboards, I think that Sweden and Finland agreed on a new layout largely based on the German layout, except keeping QWERTY rather than QWERTZ, and obviously replacing Ü with Å.
It’s a bit hard to search for old (West) German keyboards as afaik most (West) German computers were Apple II clones rather than their own design, or a German version of a foreign computer (Commodore, IBM and whatnot). Looking at the Basis 108, an Apple II clone, it seems like all shift+digit except 3 and 4 matches the Swedish/Finnish layout (can’t tell what shift+3 is, while shift+4 is $), and also the three keys to the right of M also is the same, both shifted and unshifted.
While going down this rabbit hole, it seems like typewriters in Norway also have had various layouts. Found a page with a picture of a Smith-Corona from 1941 that has the Swedish layout but with the Norwegian/Danish equivalent of ÄÖ. But there also seems to have been a version with Å to the right of L while the Danish/Norwegian equivalent to ÖÄ sits to the right of M. (Seen on two typewriters that are way newer than WW2).
An antique Remington Standard typewriter seems to have the equivalent of Ä to the right of L, while it has an actual Ö to the right of M, and no Å. Weird.
Denmark seems to have had it’s current layout since many years, where an old Remington has that layout. However a picture search for “skrivemaskine” also shows at least one with the Norwegian layout, but also weirdness like one with Å to the right of M like the old Norwegian and Swedish layout, but then the equivalent of Ä to the right of P while to the right of L is first a non-letter key and then the equivalent of Ö.
It’s a bit unfortunate that the English Wikipedia article with a list of QWERTY keyboard layouts doesn’t seem to list anything that happened before say the PC. I.E it mentions some things that have changed over the years since the first PCs were adapted to various languages, but nothing about old typewriter layouts.
This PDF https://bitsavers.org/pdf/ibm/typewriter/wheelwriter/S544-4210-0_IBM_Personal_Wheelwriter_1_Typewriter_6781_Operators_Guide_198803.pdf contains typewriter layout diagrams, although it is rather new (1988). I could not quickly find layouts in the older IBM typewriter manuals.
FYI, if you see “IBM WT” somewhere, it means “World Trade”, as in “not USA”.
Another data point: https://bitsavers.org/pdf/dec/terminal/vt220/EK-VT220_UG-003_VT220_Owners_Manual_198412.pdf Appendix C shows DEC terminal keyboard layouts, 1984.
In the case of Mexico in the early years all computers and many typewriters came from the USA so US keyboard and fonts. It was accepted to replace Á-Ú->A-U, Ñ->N, Ü->U, etc. (even wen sometimes changed the words).
Also the majority of software was in English, it was normal to change the DOS code page several times a day between CP437 and CP850, with the reverse “norton commander” problem that when you view a document written in CP80 with the CP 437 á, é, ñ, etc. is changed.
This affair didn’t change until about Windows 3.1.
By the way in Mexico always have seen 2 keyboards, Spain and Latin America that change the position of punctuation and other characters.
Another problem was that the manufacturers probably thought that for Spanish supporting Spain was enough, this is alright for keyboard and fonts, but for thousands and decimal separator Mexico uses “,” for thousands and “.” for decimal. The inverse is for Spain which make numeric quantities look wrong.
By the way, I can’t remember any single DOS software that supported the DOS NLS support for date and time formats.
I can’t find when Mexico received proper support but I think it was until Windows 95.
Of course today if somebody write a document replacing ñ->n, etc. will be criticized.
MiaM: The ⌑ (Square lozenge) was used in the IBM BCD (Binary Coded Decimal) in punch cards, according to Wikipedia was used in banking and other purposes.
Thanks for the comments/pointers.
I think the “layout war” for Swedish and Finish keyboards happened in the 1970’s or earlier, as every keyboard layout I’ve seen for 1980’s devices have the modern placement for ÅÄÖ.
I decided do delve even deeper into this rabbit hole.
Unfortunately many pictures tend to be of potato quality on web sites created 20+ years ago.
Perhaps the most interesting is that the IBM 026 thing that is used to create punch cards were available in a version with the old Swedish layout, but with Danish/Norwegian characters!
http://www.datormuseum.se/computers/ibm/ibm-026.html
A tell tale that IBM sold few if any terminals in Sweden is that they didn’t use the Swedish keyboard layout in the advertisements for their color terminals! Of all places I found an ad in a golf magazine, obviously intended for executives…
https://www.e-magin.se/paper/tnvx7xpn/paper/68#/paper/tnvx7xpn/68
As for 1980’s computers, the Nokia MikroMikki 1 uses the modern ÅÄÖ placement
https://geekhack.org/index.php?topic=51151.0
Norsk Data made terminals, that I’ve always thought where OEMs made by Siemens. Turns out that it was the other way around, sort of. I.E. they were made by the Norwegian company Tandberg (more known for their high end cassette decks that still fetch about EUR 2000 on auction sites (!!!)) and sold both as Norsk Data and Siemens.
US layout: https://www.wiumlie.no/2017/notis/tos.html
Siemens branded with US layout but clearly the PCB is labeled Tandberg:
http://retro.co.za/ccc/TDV2200/
They were sold as Siemens with Germany layout, annoying “steal things from eBay” site but if you zoom in the picture it’s clearly a German keyboard:
https://picclick.de/Siemens-Tastatur-MTS-2000-Serial-No-377513-286683684037.html
I actually couldn’t find any picture of a Norwegian keyboard, but it was also sold with the modern Swedish/Finish layout:
https://terminals-wiki.org/wiki/index.php/Tandberg_TDV_2200
Btw, I already knew that the VIC 20 and later C64 had the modern placement for ÅÄÖ, but it’s interesting to see that the char rom and kernal rom were mask programmed, and also by NEC rather than by Commodore/MOS :O
Also someone repaired a VIC 20 in 1989 :O
https://techblog.se/retro/vic-20/vic-20-the-swede/
Would it be possible to upload this NLS 4.00 floppy somewhere? Thanks in advance for your time and understanding!
Codepage 853 is often overlooked. Yes, I think it was partially intended for Turkish (although didn’t they migrate to another codepage later?), but it also worked for Esperanto, “la universala lingvo” (which isn’t too common).
Mi eklernis la esperantan jam de 1998. I bought a copy of DR-DOS 7.03 (circa 1999) online in 2004, and it had (undocumented) cp853 (IIRC with lowercase ‘j^’ missing). But that is display only, no KEYB or COUNTRY.SYS or (system) CHCP support. What is NLSFUNC again, for UCASE char uppercasing? And COUNTRY.SYS is more for currency and time format, right? (I know I briefly setup a test FreeDOS floppy for someone for Greek, years ago.) Sorry, as an American, I’m somewhat naive and have no direct need for this stuff, sadly. So my knowledge and experience are incomplete.
FreeDOS (EGA.CPX) supports cp853 also with FD KEYB.
IIRC, the “official” Latin-3 codepage is 913. Not sure what IBM OSes support it (presumably OS/2), but there is a freeware version in ISOLATIN.CPI at Kosta Kostis’ website, IIRC. I did test that in DOS a bit.
There were also some TSRs (“iloj”) and various text editors that supported E-o text (Mined, GNU Emacs).
I used to be a paying member of E-USA (tiel nomata “ELNA”), but I stopped around 2013. So I did read a lot of jhurnaloj kaj libroj, and I still have a small but impressive collection. But I never did a lot of writing (news://soc.culture.esperanto ?? or maybe some IRC chat). Mia scipovo paneis iomete. I do still like languages, but these days I’m just toying around with some very minor text programming in classic Pascal (or Oberon or C or QBasic or Rexx or …).
Yes, Turkish later switched to code page 857. Finally, in Windows 95, Microsoft also introduced code page 775 for the Baltic languages. Also, code pages 854 and 220 existed at one point for Spanish and Catalan, and included characters such as the dotted L.
Also, code pages 852, 1250 (and the ISO 8859-2 character sets) were inadequate for Slovenian, because along side čšž, for dictionary purpose, we also use è, ê, and ò, which are not available in any of those code pages, that, and we have an officially recognized Italian minority as well, which needs their àèìòù, so a separate character set for former Yugoslavia, which is basically code page 852/1250/8859-2, but with àèêìòôùû instead of the Polish and Czech ąęěłńřżů (ś and ź can remain for Montenegrin) would have been better – would have allowed writing all of the languages spoken on the territory that use the Latin script (Albanian, Aromanian, Bosnian, Croatian, (Daco-)Romanian, German, Hungarian, Istro-Romanian, Italian, Megleno-Romanian, Montenegrin, Serbian, Slovak (in Vojvodina), and Slovenian), and even the neighboring Friulian language could be written in this. With adequate care, they could even be made compatible with code pages 850, 1252, and the ISO 8859-1 character set for overlapping characters, making cross-border compatibility possible.
That’s fascinating. I guess this shows the practical limits of 8-bit coding. And how a character set designed for a certain set of languages may be inadequate in (some) countries where those languages are used.
I will just throw in that some editors, like WordPerfect (certainly version 5.1) were not limited to 8-bit coding and could combine more or less any supported character within a single document.