DOCUMENT:Q157738  11-JAN-2000  [mspress]
TITLE   :DEV INTL SFTWRE WIN 95&WIN NT Corrections and Comments
PRODUCT :Microsoft Press
PROD/VER::
OPER/SYS:
KEYWORDS:kbdocerr

======================================================================
-------------------------------------------------------------------------------
The information in this article applies to:

 - MSPRESS Developing International Software ISBN 1-55615-840-8 
-------------------------------------------------------------------------------

SUMMARY
=======

This article contains comments, corrections, and information on known errors
relating to the Microsoft Press book "Developing International Software for
Windows 95 and Windows NT."

The following topics are covered:

 - Page 8: Far Eastern Languages No Longer Require Separate SDK

 - Page 46: szString2 Parameter Missing In szString[cbMaxSize]

 - Page 65: Lead-Byte Ranges Incorrect

 - Page 80: Delete Ref To "hantsu" And "kangxi"

 - Page 318: Code Page 936 Incomplete

 - Page 484: Update CP1257

 - Page 501: Add CP864 (Dos-Arabic) To Appendix H

 - Page 565: Update For Windows NT 3.51 Availability Dates

 - Page 706: Czech Republic Subsidiary Info Out Of Date

 - Appendix B: Characters u acute and AE are omitted

MORE INFORMATION
================

In addition to a description of the book's problems, each entry in this document
might also include sections labeled "Correction" and "Comments." Please note
that the "Correction" section is worded for correcting the book and does not
necessarily address the problem introduced by the book error. The "Comments"
section contains specific information for working around the problem.

Far Eastern Languages No Longer Require Separate SDK
----------------------------------------------------

The chart on page 8, in the "Far Eastern" language row, suggests that Far Eastern
languages require the use of a separate Windows SDK/DDK. This is no longer
correct. Far Eastern languages now use the Windows SDK and DDK International
supplement, as do European, Middle Eastern, and Thai languages.


Page 46: szString2 Parameter Missing In szString[cbMaxSize]
-----------------------------------------------------------

Page 46:

Change

       char szString[cbMaxSize] = ConcatenateFourStrings(szString1, szCommand,
       szFilename, ".");

to

       char szString[cbMaxSize] = ConcatenateFiveStrings(szString1, szCommand,
       szString2, szFilename, ".");

Page 65: Lead-Byte Ranges Incorrect
-----------------------------------

Page 65, figure 3-5:
Change lead byte range as follows:
Chinese (Simplified): 0x81-0xfe

Note that for 16-bit Windows the lead byte ranges of Chinese and Korean are
different. The correct lead byte ranges for 16-bit Windows are:

   CP936 (CHS - GB) 0xa1-0xfe
   CP949 (KOR - Wansung) 0xa1-0xfe
   CP950 (CHT - Big Five) x81-0xfe


Page 80:  Delete Ref To "hantsu" And "kangxi"
---------------------------------------------

*hanzi* and *hantsu* are two different romanizations that represent the same
pronunciation. *kangxi* is not an alternate pronunciation for *hanzi*, but
rather is the name of the second Qing Emperor Kangxi

Correction:
Page 80: Remove reference to "hantsu" and "kangxi."

Page 318: Code Page 936 Incomplete
----------------------------------

After the publication of "Developing International Software for Windows 95 and
Windows NT," code page 936 was extended to include all Unicode CJK ideographs.
The new code page 936 is the new standard used in Windows 95 and Windows NT
editions sold in the People's Republic of China.

The new code page 936 can be found on the CD accompanying "The Unicode Standard,
Version 2.0" in:

   \DOS\MAPPINGS\VENDORS\MICSFT\WINDOWS\CP936.TXT


Page 484:  Update CP1257
------------------------

On page 484, the Baltic code page 1257 needs to be updated.

Here is a more recent version of code page 1257 (as of 7 September 1995):

   0x00 - 0x0000 - ;Null
   0x01 - 0x0001 - ;Start Of Heading
   0x02 - 0x0002 - ;Start Of Text
   0x03 - 0x0003 - ;End Of Text
   0x04 - 0x0004 - ;End Of Transmission
   0x05 - 0x0005 - ;Enquiry
   0x06 - 0x0006 - ;Acknowledge
   0x07 - 0x0007 - ;Bell
   0x08 - 0x0008 - ;Backspace
   0x09 - 0x0009 - ;Horizontal Tabulation
   0x0a - 0x000a - ;Line Feed
   0x0b - 0x000b - ;Vertical Tabulation
   0x0c - 0x000c - ;Form Feed
   0x0d - 0x000d - ;Carriage Return
   0x0e - 0x000e - ;Shift Out
   0x0f - 0x000f - ;Shift In
   0x10 - 0x0010 - ;Data Link Escape
   0x11 - 0x0011 - ;Device Control One
   0x12 - 0x0012 - ;Device Control Two
   0x13 - 0x0013 - ;Device Control Three
   0x14 - 0x0014 - ;Device Control Four
   0x15 - 0x0015 - ;Negative Acknowledge
   0x16 - 0x0016 - ;Synchronous Idle
   0x17 - 0x0017 - ;End Of Transmission Block
   0x18 - 0x0018 - ;Cancel
   0x19 - 0x0019 - ;End Of Medium
   0x1a - 0x001a - ;Substitute
   0x1b - 0x001b - ;Escape
   0x1c - 0x001c - ;File Separator
   0x1d - 0x001d - ;Group Separator
   0x1e - 0x001e - ;Record Separator
   0x1f - 0x001f - ;Unit Separator
   0x20 - 0x0020 - ;Space
   0x21 - 0x0021 - ;Exclamation Mark
   0x22 - 0x0022 - ;Quotation Mark
   0x23 - 0x0023 - ;Number Sign
   0x24 - 0x0024 - ;Dollar Sign
   0x25 - 0x0025 - ;Percent Sign
   0x26 - 0x0026 - ;Ampersand
   0x27 - 0x0027 - ;Apostrophe
   0x28 - 0x0028 - ;Left Parenthesis
   0x29 - 0x0029 - ;Right Parenthesis
   0x2a - 0x002a - ;Asterisk
   0x2b - 0x002b - ;Plus Sign
   0x2c - 0x002c - ;Comma
   0x2d - 0x002d - ;Hyphen-Minus
   0x2e - 0x002e - ;Full Stop
   0x2f - 0x002f - ;Solidus
   0x30 - 0x0030 - ;Digit 0
   0x31 - 0x0031 - ;Digit 1
   0x32 - 0x0032 - ;Digit 2
   0x33 - 0x0033 - ;Digit 3
   0x34 - 0x0034 - ;Digit 4
   0x35 - 0x0035 - ;Digit 5
   0x36 - 0x0036 - ;Digit 6
   0x37 - 0x0037 - ;Digit 7
   0x38 - 0x0038 - ;Digit 8
   0x39 - 0x0039 - ;Digit 9
   0x3a - 0x003a - ;Colon
   0x3b - 0x003b - ;Semicolon
   0x3c - 0x003c - ;Less-Than Sign
   0x3d - 0x003d - ;Equals Sign
   0x3e - 0x003e - ;Greater-Than Sign
   0x3f - 0x003f - ;Question Mark
   0x40 - 0x0040 - ;Commercial At
   0x41 - 0x0041 - ;A
   0x42 - 0x0042 - ;B
   0x43 - 0x0043 - ;C
   0x44 - 0x0044 - ;D
   0x45 - 0x0045 - ;E
   0x46 - 0x0046 - ;F
   0x47 - 0x0047 - ;G
   0x48 - 0x0048 - ;H
   0x49 - 0x0049 - ;I
   0x4a - 0x004a - ;J
   0x4b - 0x004b - ;K
   0x4c - 0x004c - ;L
   0x4d - 0x004d - ;M
   0x4e - 0x004e - ;N
   0x4f - 0x004f - ;O
   0x50 - 0x0050 - ;P
   0x51 - 0x0051 - ;Q
   0x52 - 0x0052 - ;R
   0x53 - 0x0053 - ;S
   0x54 - 0x0054 - ;T
   0x55 - 0x0055 - ;U
   0x56 - 0x0056 - ;V
   0x57 - 0x0057 - ;W
   0x58 - 0x0058 - ;X
   0x59 - 0x0059 - ;Y
   0x5a - 0x005a - ;Z
   0x5b - 0x005b - ;Left Square Bracket
   0x5c - 0x005c - ;Backslash
   0x5d - 0x005d - ;Right Square Bracket
   0x5e - 0x005e - ;Circumflex
   0x5f - 0x005f - ;Low Line
   0x60 - 0x0060 - ;Grave
   0x61 - 0x0061 - ;a
   0x62 - 0x0062 - ;b
   0x63 - 0x0063 - ;c
   0x64 - 0x0064 - ;d
   0x65 - 0x0065 - ;e
   0x66 - 0x0066 - ;f
   0x67 - 0x0067 - ;g
   0x68 - 0x0068 - ;h
   0x69 - 0x0069 - ;i
   0x6a - 0x006a - ;j
   0x6b - 0x006b - ;k
   0x6c - 0x006c - ;l
   0x6d - 0x006d - ;m
   0x6e - 0x006e - ;n
   0x6f - 0x006f - ;o
   0x70 - 0x0070 - ;p
   0x71 - 0x0071 - ;q
   0x72 - 0x0072 - ;r
   0x73 - 0x0073 - ;s
   0x74 - 0x0074 - ;t
   0x75 - 0x0075 - ;u
   0x76 - 0x0076 - ;v
   0x77 - 0x0077 - ;w
   0x78 - 0x0078 - ;x
   0x79 - 0x0079 - ;y
   0x7a - 0x007a - ;z
   0x7b - 0x007b - ;Left Curly Bracket
   0x7c - 0x007c - ;Vertical Line
   0x7d - 0x007d - ;Right Curly Bracket
   0x7e - 0x007e - ;Tilde
   0x7f - 0x007f - ;Delete
   0x80 - 0x0080
   0x81 - 0x0081
   0x82 - 0x201a - ;Low Single Comma Quotation Mark
   0x83 - 0x0083 - ;Not Used
   0x84 - 0x201e - ;Low Double Comma Quotation Mark
   0x85 - 0x2026 - ;Horizontal Ellipsis
   0x86 - 0x2020 - ;Dagger
   0x87 - 0x2021 - ;Double Dagger
   0x88 - 0x0088
   0x89 - 0x2030 - ;Per Mille Sign
   0x8a - 0x008a
   0x8b - 0x2039 - ;Left Pointing Single Guillement
   0x8c - 0x008c
   0x8d - 0x00a8 - ;Diaeresis
   0x8e - 0x02c7 - ;Hacek
   0x8f - 0x00b8 - ;Cedilla
   0x90 - 0x0090
   0x91 - 0x2018 - ;Left Single Quotation Mark
   0x92 - 0x2019 - ;Right Single Quotation Mark
   0x93 - 0x201c - ;Left Double Quotation Mark
   0x94 - 0x201d - ;Right Double Quotation Mark
   0x95 - 0x2022 - ;Bullet
   0x96 - 0x2013 - ;En Dash
   0x97 - 0x2014 - ;Em Dash
   0x98 - 0x0098 - ;Not Used
   0x99 - 0x2122 - ;Trade Mark Sign
   0x9a - 0x009a
   0x9b - 0x203a - ;Right Pointing Single Guillement
   0x9c - 0x009c
   0x9d - 0x00af - ;Macron
   0x9e - 0x02db - ;Ogonek
   0x9f - 0x009f
   0xa0 - 0x00a0 - ;No-Break Space
   0xa1 - 0xf8fc - ;Undefined -> EUDC
   0xa2 - 0x00a2 - ;Cent Sign
   0xa3 - 0x00a3 - ;Pound Sign
   0xa4 - 0x00a4 - ;Currency Sign
   0xa5 - 0xf8fd - ;Undefined -> EUDC
   0xa6 - 0x00a6 - ;Broken Bar
   0xa7 - 0x00a7 - ;Section Sign
   0xa8 - 0x00d8 - ;O Stroke
   0xa9 - 0x00a9 - ;Copyright Sign
   0xaa - 0x0156 - ;R Cedilla
   0xab - 0x00ab - ;Left Pointing Guillement
   0xac - 0x00ac - ;Not Sign
   0xad - 0x00ad - ;Soft Hyphen
   0xae - 0x00ae - ;Registered Sign
   0xaf - 0x00c6 - ;AE
   0xb0 - 0x00b0 - ;Degree Sign
   0xb1 - 0x00b1 - ;Plus-Minus Sign
   0xb2 - 0x00b2 - ;Superscript 2
   0xb3 - 0x00b3 - ;Superscript 3
   0xb4 - 0x00b4 - ;Acute
   0xb5 - 0x00b5 - ;Micro Sign
   0xb6 - 0x00b6 - ;Pilcrow Sign
   0xb7 - 0x00b7 - ;Middle Dot
   0xb8 - 0x00f8 - ;o Stroke
   0xb9 - 0x00b9 - ;Superscript 1
   0xba - 0x0157 - ;r Cedilla
   0xbb - 0x00bb - ;Right Pointing Guillement
   0xbc - 0x00bc - ;Fraction 1/4
   0xbd - 0x00bd - ;Fraction 1/2
   0xbe - 0x00be - ;Fraction 3/4
   0xbf - 0x00e6 - ;ae
   0xc0 - 0x0104 - ;A Ogonek
   0xc1 - 0x012e - ;I Ogonek
   0xc2 - 0x0100 - ;A Macron
   0xc3 - 0x0106 - ;C Acute
   0xc4 - 0x00c4 - ;A Diaeresis
   0xc5 - 0x00c5 - ;A Ring Above
   0xc6 - 0x0118 - ;E Ogonek
   0xc7 - 0x0112 - ;E Macron
   0xc8 - 0x010c - ;C Hacek
   0xc9 - 0x00c9 - ;E Acute
   0xca - 0x0179 - ;Z Acute
   0xcb - 0x0116 - ;E Dot Above
   0xcc - 0x0122 - ;G Cedilla
   0xcd - 0x0136 - ;K Cedilla
   0xce - 0x012a - ;I Macron
   0xcf - 0x013b - ;L Cedilla
   0xd0 - 0x0160 - ;S Hacek
   0xd1 - 0x0143 - ;N Acute
   0xd2 - 0x0145 - ;N Cedilla
   0xd3 - 0x00d3 - ;O Acute
   0xd4 - 0x014c - ;O Macron
   0xd5 - 0x00d5 - ;O Tilde
   0xd6 - 0x00d6 - ;O Diaeresis
   0xd7 - 0x00d7 - ;Multiplication Sign
   0xd8 - 0x0172 - ;U Ogonek
   0xd9 - 0x0141 - ;L Stroke
   0xda - 0x015a - ;S Acute
   0xdb - 0x016a - ;U Macron
   0xdc - 0x00dc - ;U Diaeresis
   0xdd - 0x017b - ;Z Dot Above
   0xde - 0x017d - ;Z Hacek
   0xdf - 0x00df - ;Sharp ss
   0xe0 - 0x0105 - ;a Ogonek
   0xe1 - 0x012f - ;i Ogonek
   0xe2 - 0x0101 - ;a Macron
   0xe3 - 0x0107 - ;c Acute
   0xe4 - 0x00e4 - ;a Diaeresis
   0xe5 - 0x00e5 - ;a Ring Above
   0xe6 - 0x0119 - ;e Ogonek
   0xe7 - 0x0113 - ;e Macron
   0xe8 - 0x010d - ;c Hacek
   0xe9 - 0x00e9 - ;e Acute
   0xea - 0x017a - ;z Acute
   0xeb - 0x0117 - ;e Dot Above
   0xec - 0x0123 - ;g Cedilla
   0xed - 0x0137 - ;k Cedilla
   0xee - 0x012b - ;i Macron
   0xef - 0x013c - ;l Cedilla
   0xf0 - 0x0161 - ;s Hacek
   0xf1 - 0x0144 - ;n Acute
   0xf2 - 0x0146 - ;n Cedilla
   0xf3 - 0x00f3 - ;o Acute
   0xf4 - 0x014d - ;o Macron
   0xf5 - 0x00f5 - ;o Tilde
   0xf6 - 0x00f6 - ;o Diaeresis
   0xf7 - 0x00f7 - ;Division Sign
   0xf8 - 0x0173 - ;u Ogonek
   0xf9 - 0x0142 - ;l Stroke
   0xfa - 0x015b - ;s Acute
   0xfb - 0x016b - ;u Macron
   0xfc - 0x00fc - ;u Diaeresis
   0xfd - 0x017c - ;z Dot Above
   0xfe - 0x017e - ;z Hacek
   0xff - 0x02d9 - ;Dot Above

Page 501: Add CP864 (Dos-Arabic) To Appendix H
Arabic code page 864 should be added to appendix H.
--------------------------------------------------------------------------------------------------

Microsoft Press is working to include this code page in future editions of this
book.

Page 565: Update For Windows NT 3.51 Availability Dates
Update to appendix P (pages 565-566):
---------------------------------------------------------------------------------------------

Below is updated information regarding localized Microsoft Windows NT 3.51
Workstation and Server availability:

LANGUAGE              NTW 3.51      NTS 3.51
==================    ========      ========
English
(floppies)            05/30/95      05/30/95
(CD's)                05/31/95      05/31/95

German                06/09/95      06/09/95
French                06/26/95      06/26/95
Spanish               06/27/95      06/27/95
Italian               07/14/95      07/11/95
Dutch                 07/24/95      07/24/95
Swedish               07/27/95      07/27/95
Norwegian             08/14/95      English only
Finnish               English +90   English only
Danish                English +90   English only
Brazilian             English +90   English +90

Japanese              WIN95J +30    WIN95J +30
Chinese (Taiwan)      3.51J +60     3.51J +60
Korean                3.51J +90     3.51J +90
Chinese (PRC)         3.51J +90     3.51J +90

Page 706: Czech Republic subsidiary info out of date
----------------------------------------------------

On the chart of Microsoft Subsidiaries, page 706, the entry for the Czech
Republic is now out of date. The subsidiaries for the Czech Republic and
Slovakia are now different offices. Their international dialing codes have also
changed.

The new entries are

   Microsoft s.r.o.
   Eltodo Centrum
   Novodvorska 1010/14 B
   142 00 Praha 4
   CZECH REPUBLIC

   Phone (420)(2) 611 97 111
   Fax (420)(2) 611 97 100

   Microsoft Slovakia s.r.o.
   Vidlicova 9
   P.O. Box 88
   830 00 Bratislava
   Slovakia

   Microsoft s.r.o. Phone (421) (7) 37 63 02
   Microsoft s.r.o. Fax (421) (7) 37 66 17


Appendix B: Characters u acute and AE are omitted
-------------------------------------------------

Appendix B, page 266:
The characters u acute and AE need to be included in the Icelandic listing.


Microsoft Press is committed to providing informative and accurate books. All
comments and corrections listed above are ready for inclusion in future
printings of this book. If you have a later printing of this book, it may
already contain most or all of the above corrections.

Additional query words: mspress ms_press press bookbug

======================================================================
Keywords          : kbdocerr 
Technology        : kbMSPressSearch
Version           : :

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 2000.