CSize CDC::GetTextExtent(
const CString& str
) const;
Проект юникодный. При вызове этого метода с русской строкой при выставленной английской локали возвращается ширина в два раза меньшая действительности. Если вызывать с английской строкой все ок. Та же ерунда и с азиатскими языками. Как я понимаю происходит из-за несоответствия чарсетов.
Если выставлять локаль с чарсетом соответствующим строке все работает нормально, но так делать не хотелось бы.
Также пробовал и апишный GetTextExtentPoint32W
Никто не сталкивался? (проверено на в2к3 и в2к8)