Мое приложение использует wxPython и работает в Linux и Windows без изменений. Проблема заключается в отображении шрифтов. В Linux это выглядит идеально, но в Windows знак «-» полностью разбит, а текст не такой приятный. Вот несколько сравнительных фотографий:
Посмотрите, как знак минус в блоке «Добавить» не работает в Windows. Это делается путем преобразования стандартного дефиса в символ Unicode, чтобы получить полноразмерный минус. Я предполагаю, что этот символ не существует в шрифте по умолчанию, используемом в Windows. Другие вещи выглядят плохо в Windows, но несколько терпимы.
Код, который я использую, выглядит следующим образом:
if (text == '-'): text = u'\u2212' #unicode has a better minus
s = self.dc.GetTextExtent(text)
self.dc.DrawText(text, x_position, y_position - int(s[1]/2))
Каков самый простой независимый от платформы способ получить приличный знак минус и в Windows? Есть ли свободно лицензированный шрифт, который я могу включить в приложение, которое содержит это? Как мне использовать его в wxPython?
Я не хочу устанавливать шрифты в системе и не хочу использовать символ дефиса "-", потому что он выглядит ужасно на этих диаграммах из-за его размера.