Leaked source code of windows server 2003
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.

148 lines
7.2 KiB

  1. /************************************************************/
  2. /* Windows Write, Copyright 1985-1990 Microsoft Corporation */
  3. /************************************************************/
  4. ** 21-January-1988
  5. MS-WRITE for version 2.0 of Windows is a weird bird in that it
  6. cannot be compiled with standard tools (ie: MASM 5.0 etc.). You will
  7. need to set up a separate environment from which to make it using the
  8. tools in the \WRITE\TOOLS subdirectory. We are sorry for this inconvenience
  9. and will attempt to remedy this in future versions of MS-WINDOWS.
  10. Sincerely,
  11. OEM Support Group
  12. ** 27-February-1989
  13. pault
  14. I am trying to remove the above restriction. The Win "DEV" SLM project is
  15. being used to build MS-WRITE for Windows 3.0, currently without problems.
  16. Make sure autoexec references are made/added as follows:
  17. set path=\dev;\dev\tools
  18. set include=\dev\inc
  19. set lib=\dev\lib
  20. WRITE is the makefile for this project. DO NOT USE MAKEFILE -- I do not
  21. know where it came from or why it's here, and of course we may learn that
  22. things are not currently as rosy as we believe, but this is how I *THINK*
  23. the product has been made in the past...
  24. MAKE WRITE MAKE "DEBUGDEF=-DDEBUG" "DFLAGS=/Zd" WRITE
  25. builds the standard builds a debugging version
  26. release version
  27. ** 28-March-1989
  28. pault
  29. The above procedure was not generating quite the same WRITE.EXE as we've
  30. previously had (Win 2.x). In talking with anyone who's ever been involved
  31. at all, this is the information I have learned:
  32. 1. Nobody wants this product or claims responsibility for it.
  33. 2. It has been a nightmare for everyone who has worked on, with,
  34. or around it.
  35. 3. The international version was incorporated at some time during
  36. 2.x and is now "built in".
  37. 4. There was at one time an online help system designed which was
  38. never included in a shipped version.
  39. 5. The 6 or 8 batch files, .libs, and makefiles "makefile" and
  40. "wrtmake" are for the 2.x version; since we have since grown up
  41. I am removing them...
  42. 6. The K*.* files (or *.K* files) apply to the Kanji make process and
  43. they have N-O-T been updated yet, but are being left in the project
  44. (i.e. they must be modified or add to the "write" makefile). Also
  45. see the file EDM.EDM (hey, file naming is our specialty here at MS).
  46. I have made mods to the project and "write" makefile to incorporate the
  47. subtle changes from 2.x. Variations of the make process are/will be
  48. documented inside the makefile.
  49. ** 8-June-1989
  50. pault
  51. In order to ease localization of this product, all string-related info
  52. in GLOBDEFS.H should really be moved to WRITE.RC because that's where
  53. it belongs and it'll also make things a lot cleaner. [True for Kanji?]
  54. ** 31-August-1989
  55. pault
  56. Due to major changes in Write.rc and the split into Write.dlg, whoever
  57. takes on the task of localization to Intl or Kanji should be sure to
  58. start over with the new Write.rc and Write.dlg.
  59. ** 18-October-1989
  60. pault
  61. I've just made a major revision with regard to font handling in Write.
  62. The first one was to make sure that the endmark is always displayed in
  63. the system font. The Kanji version already ensured this so I grouped
  64. all the code concerning this under the define 'SYSENDMARK', and enabled
  65. it in the Z version.
  66. The second one was to revamp font enumeration... (under 'NEWFONTENUM')
  67. Old method: Call EnumFonts to get a list of fonts available, and "filter
  68. out" fonts which did not match our desired aspect ratio (based
  69. on the overall display dimensions). In addition, any fonts
  70. which were not the ANSI character set (i.e. the tmCharSet or
  71. lfCharSet fields in the TEXTMETRICS and LOGFONT structures,
  72. respectively) were "swallowed". A specific byproduct of this
  73. was that screen fonts such as Modern, Script, Symbol, etc.
  74. could not be used in Write.
  75. New method: Call EnumFonts to get a list of fonts available. No filtering-
  76. out is done. The major problem here became an issue with the
  77. Write file format: the font name and font family are stored in
  78. the document but naturally not the appropriate character set
  79. value (since only ANSI had been previously allowed). So now
  80. when we read a new document in, we enumerate all the fonts and
  81. then for each font in the doc we try to match up the correct
  82. character set value.
  83. This slows things down ever-so-slightly and we also have the
  84. possibility of getting confused if someone names a font of one
  85. character set the same as one of a different character set, but
  86. there wasn't much alternative -- it was either make this kind
  87. of guess or revise the file format which would have created a
  88. lot more problems at this point.
  89. ** 23-October-1989
  90. FernandD has worked on the localization issue mentioned above and checked
  91. in changes for Rel 1.46
  92. ** 24-October-1989
  93. pault
  94. One change involved in the above NEWFONTENUM was to use FORM1.C instead
  95. of the (presumably) faster FORMAT.ASM. So this sparks the idea to keep
  96. a list of some performance ideas for future use...
  97. done? task
  98. ----- ----
  99. 1) handcode critical routines (including the use format.asm
  100. instead of form1.c)
  101. 2) make use of register vars
  102. 3) chipa suggests breaking up really large segments, and eliminating
  103. very small ones
  104. X 4) remove inefficient lockdown of dialog procs, etc. not sure
  105. why this is currently done but it forces a large amount of
  106. code to be fixed at write startup, and this hampers the general
  107. idea of movable segments in a winapp!
  108. 5) remove use of C run-time libs
  109. ** 25-October-1989
  110. It has just been decided to remove support for ExtDeviceMode from Write
  111. (primarily because none of the other apps had it!) This means that when
  112. you change Printer.Setup inside Write, that affects the global Windows
  113. printer settings (rather than just those for the current Write session).