149 lines
7 KiB
Plaintext
149 lines
7 KiB
Plaintext
/************************************************************/
|
|
/* 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).
|