Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

7.0 KiB

/************************************************************/
/* Windows Write, Copyright 1985-1990 Microsoft Corporation */
/************************************************************/

** 21-January-1988

MS-WRITE for version 2.0 of Windows is a weird bird in that it
cannot be compiled with standard tools (ie: MASM 5.0 etc.). You will
need to set up a separate environment from which to make it using the
tools in the \WRITE\TOOLS subdirectory. We are sorry for this inconvenience
and will attempt to remedy this in future versions of MS-WINDOWS.

Sincerely,

OEM Support Group

** 27-February-1989
pault

I am trying to remove the above restriction. The Win "DEV" SLM project is
being used to build MS-WRITE for Windows 3.0, currently without problems.
Make sure autoexec references are made/added as follows:
set path=\dev;\dev\tools
set include=\dev\inc
set lib=\dev\lib

WRITE is the makefile for this project. DO NOT USE MAKEFILE -- I do not
know where it came from or why it's here, and of course we may learn that
things are not currently as rosy as we believe, but this is how I *THINK*
the product has been made in the past...

MAKE WRITE MAKE "DEBUGDEF=-DDEBUG" "DFLAGS=/Zd" WRITE
builds the standard builds a debugging version
release version


** 28-March-1989
pault

The above procedure was not generating quite the same WRITE.EXE as we've
previously had (Win 2.x). In talking with anyone who's ever been involved
at all, this is the information I have learned:

1. Nobody wants this product or claims responsibility for it.
2. It has been a nightmare for everyone who has worked on, with,
or around it.
3. The international version was incorporated at some time during
2.x and is now "built in".
4. There was at one time an online help system designed which was
never included in a shipped version.
5. The 6 or 8 batch files, .libs, and makefiles "makefile" and
"wrtmake" are for the 2.x version; since we have since grown up
I am removing them...
6. The K*.* files (or *.K* files) apply to the Kanji make process and
they have N-O-T been updated yet, but are being left in the project
(i.e. they must be modified or add to the "write" makefile). Also
see the file EDM.EDM (hey, file naming is our specialty here at MS).

I have made mods to the project and "write" makefile to incorporate the
subtle changes from 2.x. Variations of the make process are/will be
documented inside the makefile.


** 8-June-1989
pault

In order to ease localization of this product, all string-related info
in GLOBDEFS.H should really be moved to WRITE.RC because that's where
it belongs and it'll also make things a lot cleaner. [True for Kanji?]


** 31-August-1989
pault

Due to major changes in Write.rc and the split into Write.dlg, whoever
takes on the task of localization to Intl or Kanji should be sure to
start over with the new Write.rc and Write.dlg.


** 18-October-1989
pault

I've just made a major revision with regard to font handling in Write.
The first one was to make sure that the endmark is always displayed in
the system font. The Kanji version already ensured this so I grouped
all the code concerning this under the define 'SYSENDMARK', and enabled
it in the Z version.

The second one was to revamp font enumeration... (under 'NEWFONTENUM')

Old method: Call EnumFonts to get a list of fonts available, and "filter
out" fonts which did not match our desired aspect ratio (based
on the overall display dimensions). In addition, any fonts
which were not the ANSI character set (i.e. the tmCharSet or
lfCharSet fields in the TEXTMETRICS and LOGFONT structures,
respectively) were "swallowed". A specific byproduct of this
was that screen fonts such as Modern, Script, Symbol, etc.
could not be used in Write.

New method: Call EnumFonts to get a list of fonts available. No filtering-
out is done. The major problem here became an issue with the
Write file format: the font name and font family are stored in
the document but naturally not the appropriate character set
value (since only ANSI had been previously allowed). So now
when we read a new document in, we enumerate all the fonts and
then for each font in the doc we try to match up the correct
character set value.

This slows things down ever-so-slightly and we also have the
possibility of getting confused if someone names a font of one
character set the same as one of a different character set, but
there wasn't much alternative -- it was either make this kind
of guess or revise the file format which would have created a
lot more problems at this point.


** 23-October-1989

FernandD has worked on the localization issue mentioned above and checked
in changes for Rel 1.46


** 24-October-1989
pault

One change involved in the above NEWFONTENUM was to use FORM1.C instead
of the (presumably) faster FORMAT.ASM. So this sparks the idea to keep
a list of some performance ideas for future use...

done? task
----- ----
1) handcode critical routines (including the use format.asm
instead of form1.c)
2) make use of register vars
3) chipa suggests breaking up really large segments, and eliminating
very small ones
X 4) remove inefficient lockdown of dialog procs, etc. not sure
why this is currently done but it forces a large amount of
code to be fixed at write startup, and this hampers the general
idea of movable segments in a winapp!
5) remove use of C run-time libs

** 25-October-1989

It has just been decided to remove support for ExtDeviceMode from Write
(primarily because none of the other apps had it!) This means that when
you change Printer.Setup inside Write, that affects the global Windows
printer settings (rather than just those for the current Write session).