Index: base/applications/charmap/charmap.c =================================================================== --- base/applications/charmap/charmap.c (revision 59673) +++ base/applications/charmap/charmap.c (working copy) @@ -19,6 +19,10 @@ HICON hBgIcon; SETTINGS Settings; +/* GetUName prototype */ +typedef int (WINAPI * GETUNAME)(WORD wCharCode, LPWSTR lpbuf); +GETUNAME GetUName; + /* Font-enumeration callback */ static int @@ -247,6 +251,22 @@ } } + +extern VOID UpdateStatusBar(WCHAR wch) +{ + + /* if all else fails */ + if(GetUName) + { + WCHAR buff[MAX_PATH]; + WCHAR szDesc[MAX_PATH]; + GetUName(wch,szDesc); + + swprintf(buff,L"U+%04X: %s",wch,szDesc); + SendMessage(hStatusWnd,SB_SETTEXT,SB_SIMPLEID,(LPARAM)buff); + } +} + static void ChangeView(HWND hWnd) @@ -557,6 +577,18 @@ iccx.dwICC = ICC_TAB_CLASSES; InitCommonControlsEx(&iccx); + /* Loading the GetUName function */ + HINSTANCE hGetUName = NULL; + hGetUName = LoadLibraryW(L"getuname.dll"); + if(hGetUName != NULL) + { + GetUName = (GETUNAME) GetProcAddress(hGetUName,"GetUName"); + if(GetUName == NULL) + { + FreeLibrary(hGetUName); + } + } + if (RegisterMapClasses(hInstance)) { hRichEd20 = LoadLibraryW(L"RICHED20.DLL"); Index: base/applications/charmap/lrgcell.c =================================================================== --- base/applications/charmap/lrgcell.c (revision 59673) +++ base/applications/charmap/lrgcell.c (working copy) @@ -140,7 +140,10 @@ EndPaint(hwnd, &ps); + UpdateStatusBar(infoPtr->pActiveCell->ch); + break; + } case WM_DESTROY: Index: base/applications/charmap/precomp.h =================================================================== --- base/applications/charmap/precomp.h (revision 59673) +++ base/applications/charmap/precomp.h (working copy) @@ -74,6 +74,7 @@ /* charmap.c */ extern VOID ChangeMapFont(HWND hDlg); +extern VOID UpdateStatusBar(WCHAR wch); /* settings.c */ extern void LoadSettings(void);