From 644625d7d6013420db5f190593093eccfb12a636 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 7 Dec 2020 16:48:33 +0530 Subject: [PATCH] Also return the localized language name for SAPI voices --- src/calibre/utils/windows/winsapi.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/calibre/utils/windows/winsapi.cpp b/src/calibre/utils/windows/winsapi.cpp index 03bc1461b0..9d4655de9d 100644 --- a/src/calibre/utils/windows/winsapi.cpp +++ b/src/calibre/utils/windows/winsapi.cpp @@ -212,6 +212,12 @@ Voice_get_all_voices(Voice *self, PyObject *args) { if (LCIDToLocaleName(lcid, buf, LOCALE_NAME_MAX_LENGTH, 0) > 0) { pyobject_raii pyval(PyUnicode_FromWideChar(buf, -1)); if (!pyval) return NULL; if (PyDict_SetItemString(dict.ptr(), "language", pyval.ptr()) != 0) return NULL; + wchar_t display_name[1024]; + int res = GetLocaleInfoEx(buf, LOCALE_SLOCALIZEDDISPLAYNAME, display_name, sizeof(display_name)/sizeof(display_name[0])); + if (res > 0) { + pyobject_raii pd(PyUnicode_FromWideChar(display_name, -1)); if (!pd) return NULL; + if (PyDict_SetItemString(dict.ptr(), "language_display_name", pd.ptr()) != 0) return NULL; + } } } if (PyList_Append(ans.ptr(), dict.ptr()) != 0) return NULL;