Index: Include/api_commdlg.sbp
===================================================================
--- Include/api_commdlg.sbp	(revision 1)
+++ Include/api_commdlg.sbp	(revision 141)
@@ -3,4 +3,24 @@
 #ifndef _INC_COMMDLG
 #define _INC_COMMDLG
+
+#ifdef UNICODE
+Const _FuncName_ChooseColor = "ChooseColorW"
+Const _FuncName_ChooseFont = "ChooseFontW"
+Const _FuncName_FindText = "FindTextW"
+Const _FuncName_GetOpenFileName = "GetOpenFileNameW"
+Const _FuncName_GetSaveFileName = "GetSaveFileNameW"
+Const _FuncName_GetFileTitle = "GetFileTitleW"
+Const _FuncName_PageSetupDlg = "PageSetupDlgW"
+Const _FuncName_PrintDlg = "PrintDlgW"
+#else
+Const _FuncName_ChooseColor = "ChooseColorA"
+Const _FuncName_ChooseFont = "ChooseFontA"
+Const _FuncName_FindText = "FindTextA"
+Const _FuncName_GetOpenFileName = "GetOpenFileNameA"
+Const _FuncName_GetSaveFileName = "GetSaveFileNameA"
+Const _FuncName_GetFileTitle = "GetFileTitleA"
+Const _FuncName_PageSetupDlg = "PageSetupDlgA"
+Const _FuncName_PrintDlg = "PrintDlgA"
+#endif
 
 TypeDef LPCOMMDLGHOOKPROC = *Function(hdlg As HWND, uiMsg As DWord, wp As WPARAM, lp As LPARAM) As ULONG_PTR
@@ -66,5 +86,16 @@
 Const CC_ANYCOLOR =             &H00000100
 TypeDef LPCCHOOKPROC = LPCOMMDLGHOOKPROC
-Type CHOOSECOLOR
+Type CHOOSECOLORW
+	lStructSize    As DWord
+	hwndOwner      As HWND
+	hInstance      As HINSTANCE
+	rgbResult      As DWord
+	lpCustColors   As *DWord
+	Flags          As DWord
+	lCustData      As DWord
+	lpfnHook       As LPCCHOOKPROC
+	lpTemplateName As LPCWSTR
+End Type
+Type CHOOSECOLORA
 	lStructSize    As DWord
 	hwndOwner      As HWND
@@ -77,5 +108,10 @@
 	lpTemplateName As LPCSTR
 End Type
-Declare Function ChooseColor Lib "comdlg32" Alias "ChooseColorA" (ByRef lpcc As CHOOSECOLOR) As BOOL
+#ifdef UNICODE
+TypeDef CHOOSECOLOR = CHOOSECOLORW
+#else
+TypeDef CHOOSECOLOR = CHOOSECOLORA
+#endif
+Declare Function ChooseColor Lib "comdlg32" Alias _FuncName_ChooseColor (ByRef cc As CHOOSECOLOR) As BOOL
 
 
@@ -118,9 +154,27 @@
 Const REGULAR_FONTTYPE =    &H0400
 TypeDef LPCFHOOKPROC = LPCOMMDLGHOOKPROC
-Type CHOOSEFONT
+Type CHOOSEFONTW
 	lStructSize            As DWord
 	hwndOwner              As HWND
 	hDC                    As HDC
-	lpLogFont              As *LOGFONT
+	lpLogFont              As *LOGFONTW
+	iPointSize             As Long
+	Flags                  As DWord
+	rgbColors              As DWord
+	lCustData              As LPARAM
+	lpfnHook               As LPCFHOOKPROC
+	lpTemplateName         As LPCWSTR
+	hInstance              As HINSTANCE
+	lpszStyle              As LPWSTR
+	nFontType              As Word
+	___MISSING_ALIGNMENT__ As Word
+	nSizeMin               As Long
+	nSizeMax               As Long
+End Type
+Type CHOOSEFONTA
+	lStructSize            As DWord
+	hwndOwner              As HWND
+	hDC                    As HDC
+	lpLogFont              As *LOGFONTA
 	iPointSize             As Long
 	Flags                  As DWord
@@ -136,5 +190,10 @@
 	nSizeMax               As Long
 End Type
-Declare Function ChooseFont Lib "comdlg32" Alias "ChooseFontA" (ByRef lpcf As CHOOSEFONT) As BOOL
+#ifdef UNICODE
+TypeDef CHOOSEFONT = CHOOSEFONTW
+#else
+TypeDef CHOOSEFONT = CHOOSEFONTA
+#endif
+Declare Function ChooseFont Lib "comdlg32" Alias _FuncName_ChooseFont (ByRef cf As CHOOSEFONT) As BOOL
 
 
@@ -160,5 +219,18 @@
 Const FR_HIDEWHOLEWORD =              &H00010000
 TypeDef LPFRHOOKPROC = LPCOMMDLGHOOKPROC
-Type FINDREPLACE
+Type FINDREPLACEW
+	lStructSize      As DWord
+	hwndOwner        As HWND
+	hInstance        As HINSTANCE
+	Flags            As DWord
+	lpstrFindWhat    As LPWSTR
+	lpstrReplaceWith As LPWSTR
+	wFindWhatLen     As Word
+	wReplaceWithLen  As Word
+	lCustData        As LPARAM
+	lpfnHook         As LPFRHOOKPROC
+	lpTemplateName   As LPCWSTR
+End Type
+Type FINDREPLACEA
 	lStructSize      As DWord
 	hwndOwner        As HWND
@@ -173,5 +245,10 @@
 	lpTemplateName   As LPCSTR
 End Type
-Declare Function FindText Lib "comdlg32" Alias "FindTextA" (ByRef lpfr As FINDREPLACE) As BOOL
+#ifdef UNICODE
+TypeDef FINDREPLACE = FINDREPLACEW
+#else
+TypeDef FINDREPLACE = FINDREPLACEA
+#endif
+Declare Function FindText Lib "comdlg32" Alias _FuncName_FindText (ByRef fr As FINDREPLACE) As BOOL
 
 
@@ -204,5 +281,27 @@
 Const OFN_ENABLESIZING =           &H00800000
 TypeDef LPOFNHOOKPROC = LPCOMMDLGHOOKPROC
-Type OPENFILENAME
+Type OPENFILENAMEW
+	lStructSize       As DWord
+	hwndOwner         As HWND
+	hInstance         As HINSTANCE
+	lpstrFilter       As LPCWSTR
+	lpstrCustomFilter As LPWSTR
+	nMaxCustFilter    As DWord
+	nFilterIndex      As DWord
+	lpstrFile         As LPWSTR
+	nMaxFile          As DWord
+	lpstrFileTitle    As LPWSTR
+	nMaxFileTitle     As DWord
+	lpstrInitialDir   As LPCWSTR
+	lpstrTitle        As LPCWSTR
+	Flags             As DWord
+	nFileOffset       As Word
+	nFileExtension    As Word
+	lpstrDefExt       As LPCWSTR
+	lCustData         As LPARAM
+	lpfnHook          As LPOFNHOOKPROC
+	lpTemplateName    As LPCWSTR
+End Type
+Type OPENFILENAMEA
 	lStructSize       As DWord
 	hwndOwner         As HWND
@@ -226,7 +325,12 @@
 	lpTemplateName    As LPCSTR
 End Type
-Declare Function GetOpenFileName Lib "comdlg32" Alias "GetOpenFileNameA" (ByRef lpofn As OPENFILENAME) As BOOL
-Declare Function GetSaveFileName Lib "comdlg32" Alias "GetSaveFileNameA" (ByRef lpofn As OPENFILENAME) As BOOL
-Declare Function GetFileTitle Lib "comdlg32" Alias "GetFileTitleA" (lpszFile As LPCSTR, lpszTitle As LPSTR, cbBuf As Word) As Integer
+#ifdef UNICODE
+TypeDef OPENFILENAME = OPENFILENAMEW
+#else
+TypeDef OPENFILENAME = OPENFILENAMEA
+#endif
+Declare Function GetOpenFileName Lib "comdlg32" Alias _FuncName_GetOpenFileName (ByRef ofn As OPENFILENAME) As BOOL
+Declare Function GetSaveFileName Lib "comdlg32" Alias _FuncName_GetSaveFileName (ByRef ofn As OPENFILENAME) As BOOL
+Declare Function GetFileTitle Lib "comdlg32" Alias _FuncName_GetFileTitle (lpszFile As LPCTSTR, lpszTitle As LPTSTR, cbBuf As Word) As Integer
 
 
@@ -255,5 +359,21 @@
 TypeDef LPPAGESETUPHOOK = LPCOMMDLGHOOKPROC
 TypeDef LPPAGEPAINTHOOK = LPCOMMDLGHOOKPROC
-Type PAGESETUPDLG 
+Type PAGESETUPDLGW
+	lStructSize             As DWord
+	hwndOwner               As HWND
+	hDevMode                As HGLOBAL
+	hDevNames               As HGLOBAL
+	Flags                   As DWord
+	ptPaperSize             As POINTAPI
+	rtMinMargin             As RECT
+	rtMargin                As RECT
+	hInstance               As HINSTANCE
+	lCustData               As LPARAM
+	lpfnPageSetupHook       As LPPAGESETUPHOOK
+	lpfnPagePaintHook       As LPPAGEPAINTHOOK
+	lpPageSetupTemplateName As LPCWSTR
+	hPageSetupTemplate      As HGLOBAL
+End Type
+Type PAGESETUPDLGA
 	lStructSize             As DWord
 	hwndOwner               As HWND
@@ -271,5 +391,11 @@
 	hPageSetupTemplate      As HGLOBAL
 End Type
-Declare Function PageSetupDlg Lib "comdlg32" Alias "PageSetupDlgA" (ByRef lppsd As PAGESETUPDLG) As BOOL
+#ifdef UNICODE
+TypeDef PAGESETUPDLG = PAGESETUPDLGW
+#else
+TypeDef PAGESETUPDLG = PAGESETUPDLGA
+#endif
+
+Declare Function PageSetupDlg Lib "comdlg32" Alias _FuncName_PageSetupDlg (ByRef psd As PAGESETUPDLG) As BOOL
 
 
@@ -304,7 +430,32 @@
 TypeDef LPSETUPHOOKPROC = LPCOMMDLGHOOKPROC
 #ifdef _WIN64
-Type PRINTDLG
-#else
-Type Align(1) PRINTDLG
+Type PRINTDLGW
+#else
+Type Align(1) PRINTDLGW
+#endif
+	lStructSize         As DWord
+	hwndOwner           As HWND
+	hDevMode            As HGLOBAL
+	hDevNames           As HGLOBAL
+	hDC                 As HDC
+	Flags               As DWord
+	nFromPage           As Word
+	nToPage             As Word
+	nMinPage            As Word
+	nMaxPage            As Word
+	nCopies             As Word
+	hInstance           As HINSTANCE
+	lCustData           As LPARAM
+	lpfnPrintHook       As LPPAGEPAINTHOOK
+	lpfnSetupHook       As LPSETUPHOOKPROC
+	lpPrintTemplateName As LPCWSTR
+	lpSetupTemplateName As LPCWSTR
+	hPrintTemplate      As HGLOBAL
+	hSetupTemplate      As HGLOBAL
+End Type
+#ifdef _WIN64
+Type PRINTDLGA
+#else
+Type Align(1) PRINTDLGA
 #endif
 	lStructSize         As DWord
@@ -328,5 +479,10 @@
 	hSetupTemplate      As HGLOBAL
 End Type
-Declare Function PrintDlg Lib "comdlg32" Alias "PrintDlgA" (ByRef lppd As PRINTDLG) As BOOL
+#ifdef UNICODE
+TypeDef PRINTDLG = PRINTDLGW
+#else
+TypeDef PRINTDLG = PRINTDLGA
+#endif
+Declare Function PrintDlg Lib "comdlg32" Alias _FuncName_PrintDlg (ByRef pd As PRINTDLG) As BOOL
 
 
