Hi Tony,
+ WideCharToMultiByte(CP_ACP, 0, This->desc.FaceName, -1, desc->FaceName, sizeof(desc->FaceName) / sizeof(CHAR), NULL, NULL);
sizeof(desc->FaceName) / sizeof(CHAR) won't give you the length of the string (remember that sizeof is evaluated at compile time, so the value is a constant)
Regards, Roderick