Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

In which Windows version did Windows ANSI Western (cp 1252) first appear?

2 views
Skip to first unread message

Alf P. Steinbach

unread,
Oct 13, 2011, 10:34:09 PM10/13/11
to
I would like as definitive a reference as possible for which version of
Windows introduced the Windows ANSI Western character encoding.

My prime suspects are Windows 1.0 (common sense) and Windows 3.1.

Windows 3.1 was claimed by implication by a Microsoft book available on
MSDN. It states that the encodings used by Windows 95 were introduced in
Windows 3.1. I do not regard that as any definitive reference or even
especially trustworthy, since it's overly vague and since it implies
some falsehoods (e.g. codepage 437, the original IBM PC character set).

Cheers,

- Alf

Jeroen Mostert

unread,
Oct 14, 2011, 2:27:17 PM10/14/11
to
On 2011-10-14 04:34, Alf P. Steinbach wrote:
> I would like as definitive a reference as possible for which version of
> Windows introduced the Windows ANSI Western character encoding.
>
> My prime suspects are Windows 1.0 (common sense) and Windows 3.1.
>
The French Wikipedia claims it was developed in 1990 and released together
with Windows 3.0, though it doesn't cite sources.

A lower limit would seem to be given by the fact that ISO-8859-1 (on which
Windows-1252 is based by filling in the gaps) was first officially published
in 1987. Windows 2.0 was released at the end of that year (both facts from
the English Wikipedia). My money's on 3.0 being correct.

If you want a definitive answer, you could try asking Michael Kaplan
(http://blogs.msdn.com/b/michkap/). He seems like the guy who could ferret
out this sort of thing.

--
J.

Alf P. Steinbach

unread,
Oct 14, 2011, 3:07:37 PM10/14/11
to

Thank you.

I finally found an authoritative quote by Charles Petzold in the 5th
edition of "Programming Windows", stating that it was in Windows 1.0 and
quoting the entire character set table from the Windows 1.0 programmer's
reference.

http://stackoverflow.com/questions/7762464/in-which-windows-version-did-windows-ansi-western-cp-1252-first-appear/7763504#7763504

Note: I answered my own question and provided a link to where I found
the information on the net. It's a PDF of the entire book. Even though
that book/edition is now outdated I think the PDF must be *illegal*. I
do have the 3rd edition myself. Unfortunately, since the 3rd edition
targets 16-bit Windows 3.1 it doesn't have the Unicode discussion.

In short:

* Assuming you're right about the French Wikipedia, it is wrong.
Unfortunately I don't know French, so I can't correct.

* ISO-8859-1 was published in March 1985, not in 1987.

* The Windows ANSI characters set was introduced with Windows 1.0,
a little later in 1985 (although I believe Microsoft were working
from drafts, not from final standard: work on Windows started two
years earlier...).

Cheers & thanks,

- Alf

Jeroen Mostert

unread,
Oct 14, 2011, 5:08:32 PM10/14/11
to
On 2011-10-14 21:07, Alf P. Steinbach wrote:
> On 14.10.2011 20:27, Jeroen Mostert wrote:
>> On 2011-10-14 04:34, Alf P. Steinbach wrote:
>>> I would like as definitive a reference as possible for which version of
>>> Windows introduced the Windows ANSI Western character encoding.
>>>
>>> My prime suspects are Windows 1.0 (common sense) and Windows 3.1.
>>>
>> The French Wikipedia claims it was developed in 1990 and released
>> together with Windows 3.0, though it doesn't cite sources.
>>
>> A lower limit would seem to be given by the fact that ISO-8859-1 (on
>> which Windows-1252 is based by filling in the gaps) was first officially
>> published in 1987. Windows 2.0 was released at the end of that year
>> (both facts from the English Wikipedia). My money's on 3.0 being correct.
>>
>> If you want a definitive answer, you could try asking Michael Kaplan
>> (http://blogs.msdn.com/b/michkap/). He seems like the guy who could
>> ferret out this sort of thing.
>
> Thank you.
>
> I finally found an authoritative quote by Charles Petzold in the 5th edition
> of "Programming Windows", stating that it was in Windows 1.0 and quoting the
> entire character set table from the Windows 1.0 programmer's reference.
>
Ah, neat.

> * Assuming you're right about the French Wikipedia, it is wrong.
> Unfortunately I don't know French, so I can't correct.
>

My French is good enough to read and interpret the article, but I won't try
my hand at correcting it.

> * ISO-8859-1 was published in March 1985, not in 1987.
>

Note that I said "officially published". Wikipedia said nothing about when
drafts were published, and I have no reason to disbelieve that those were
available in 1985. But the standard, by your own quote, ended up with the
name "ANSI/ISO 885911987", which sort of gives it away.

> * The Windows ANSI characters set was introduced with Windows 1.0,
> a little later in 1985 (although I believe Microsoft were working
> from drafts, not from final standard: work on Windows started two
> years earlier...).
>

Yes, they were. And hence we were stuck with the confusing name "ANSI" for
years to come, even though Windows-1252 is only a modification of part of a
draft standard...

--
J.

Liviu

unread,
Oct 14, 2011, 9:54:28 PM10/14/11
to
"Alf P. Steinbach" wrote...
> On 14.10.2011 20:27, Jeroen Mostert wrote:
>>
>> If you want a definitive answer, you could try asking Michael Kaplan
>> (http://blogs.msdn.com/b/michkap/). He seems like the guy who could
>> ferret out this sort of thing.

Guess he could, indeed. He used to also post on
microsoft.public.win32.programmer.international
before MS "retired" its newsgroups.

> I finally found an authoritative quote by Charles Petzold in the 5th
> edition of "Programming Windows", stating that it was in Windows 1.0

Or perhaps some other v1.0x, for example there is a cryptic v1.03 note
about "support for all features of the international version" under MS'
own Windows Version History (http://support.microsoft.com/kb/32905).

> Note: I answered my own question and provided a link to where I found
> the information on the net. It's a PDF of the entire book. Even though
> that book/edition is now outdated I think the PDF must be *illegal*.

Probably twice so, given that watermark of "created with the
unregistered version of CHM2PDF Pilot" ;-)

> In short [...]
>
> * The Windows ANSI characters set was introduced with Windows 1.0

The exact answer may depend on precisely how you phrase the question.

The notion of an "ANSI codepage" different from the DOS OEM one may
well go back to Win v1.0x.

But it doesn't look like it was tied to or advertised as "1252" back at
the time. As late as the Win v3.1 sdk/ddk I can't find any explicit
reference to "1252" or "0x04E4", though for example 437 and other OEM
codepages are listed. Yet, versioninfo blocks of "040904E4" were already
commonplace by then.

The early Win32 SDKs had 1252 as "Windows 3.1 Latin (US, Western
Europe)", and some current ones still carry "3.1" in the designation,
for example http://msdn.microsoft.com/en-us/library/aa913244.aspx.

You may also find the following of interest:

* http://msdn.microsoft.com/en-us/library/dd317752(v=vs.85).aspx -
"Originally, Windows code page 1252, the code page commonly used for
English and other Western European languages, was based on an American
National Standards Institute (ANSI) draft. That draft eventually became
ISO 8859-1, but Windows code page 1252 was implemented before the
standard became final, and is not exactly the same as ISO 8859-1."

* http://support.microsoft.com/kb/197368 - "This article describes the
changes to code page 1252 used in Windows 98 and Windows 2000. The
new code page 1252 is a modified version of the original code page 1252
used in Microsoft Windows 95 and Microsoft Windows NT 4.0."

Cheers,
Liviu


0 new messages